Samstag, 30. April 2011

LaTeX Befehle als Text

LaTeX Befehle einfach als Text innerhalb eines LaTeX Dokuments darzustellen ist nicht so einfach, da die Befehle als Befehle aufgefasst und umgesetzt werden.

verb
Einzelne Zeilen lassen sich mit dem Befehle darstellen:
\verb+\documentclass{article}+

Wichtig hierbei ist, dass das Zeichen hinter \verb nicht in dem darzustellenden Code vorkommt. Zum Beispiel \verb+$sin(x)+cos(x)=1$+ geht nicht! Was auch nicht geht ist: \verb*\documentclass{article}* da das * Zeichen benützt wird um die Leerzeichen zwischen den einzelnen Begriffen des Quellcode hervorzuheben.

verb und Leerzeichen
Die Eingabe: \verb*|$sin(x) + cos(x) = 1$|
Die Ausgabe:


Verbatim
Innerhalb der Verbatim Umgebung wird alles als Text ausgeben.

\begin{verbatim}
das ist ein Test
\end{verbatim}

Verbatim*\\
Wie die Verbatim Umgebung mit dem Unterschied, dass hier wieder die Leerzeichen hervorgehoben werden.

\begin{verbatim*}
das ist ein Test
\end{verbatim*}

\includepdf leerzeichen

Ein typisches Problem bei \includepdf sind Dateien die Leerzeichen im Namen haben. Da es schon auf der zweiten Seite der Dokumentation heißt: "(The filename must not contain any blanks!)" werden Leerzeichen in Dateinamen bei diesem Paket nicht unterstützt.  Leerzeichen sind nun mal für einige Menschen, unter anderem auch aus meiner Sicht, keine Zeichen die innerhalb eines Dateinamen etwas zu suchen haben. Da wir uns mit der Ansicht in der Minderheit befinden ;) hier eine Lösung dafür:


\documentclass{article}
\usepackage{grffile}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{Test X}
\end{document}


Damit lässt sich nun auch die Datei "Test X.pdf" einbinden. Sollte das nicht helfen -> umbenennen der Datei.

Latex logisches und, oder, nicht ...

LaTeX bietet auch für die Logik die passenden Symbole, hier sind einmal diejenigen dargestellt, die ich damals in Logik am häufigsten gebraucht habe:

$\wedge$
$\land$
$\vee$
$\lor$
$\neg$¬
$\bigwedge$
$\bigvee$
$\equiv$
$\iff$
$\Leftarrow$
$\leftarrow$
$\Rightarrow$
$\to$
$\top$T
$\bot$

Latex Trennung vorgeben

Die Trennung von Wörtern geschieht normalerweise automatisch anhand vorgegebener Regeln wie sie zum Beispiel in den Paketen german und ngerman enthalten sind.

Anzeigen der Trennung
Mit dem Befehl \showhyphens{Testwort} kann man sich anzeigen lassen wo das Wort getrennt wird. Da ich LaTeX per Konsole benütze erfolgt die Ausgabe dort.

Ändern der Trennung
Der Befehl \hyphenation{Testwort} legt die Trennung fest, d.h. es wird nicht mehr getrennt. Es können auch mehrere Wörter zusammengefasst werden zum Beispiel\hyphenation{Test-wort Latex}.

Trennung verhindern
Um die Trennung von Wörtern allgemein zu verhindern wird \hyphenpenalty (eine Art Bestrafungswert für Worttrennung) auf 10000 gesetzt.

\hyphenpenalty=10000

Jedes penalty das 10.000 oder größer ist, ist so groß das LaTeX dort niemals trennen wird. Andersrum ist es so, wenn das penalty -10.000 oder kleiner ist, wird LaTeX dort immer trennen.

Trennung von Wörtern mit Umlauten
Wenn Wörter mit Umlauten getrennt werden sollen, ist es ratsam das Paket fontenc einzubinden.

\usepackage[T1]{fontenc}

Freitag, 29. April 2011

kleiner als Latex

Bei dem kleiner als Zeichen handelt es sich um ein Verhältniszeichen. Das normale kleiner als Zeichen ist < . Ist etwas viel kleiner als wird der Befehl \ll benützt. Und wenn etwas sehr viel kleiner als etwas ist, dann kann der Befehl \lll benutzt werden, der setzt aber voraus, dass das Paket amssymb eingebunden wird.

Beispiel für kleiner als und viel kleiner als

\documentclass{article}
\begin{document}
a kleiner als b \\
$a < b $ \\
a viel kleiner als b \\
$a \ll b $ \\
\end{document}


Beispiel für viel kleiner als

\documentclass{article}
\usepackage{amssymb}
\begin{document}

a sehr viel kleiner als b\\
$a \lll b$\\

\end{document}

Donnerstag, 28. April 2011

Tabelle feste Breite zentriert / rechtsbündig

Nachdem der letzte Post bereits gezeigt hat, wie sich Tabellen mit fester Spaltenbreite setzen lassen, hier der Hinweis wie man die Ausrichtung dieser Spalten ändern kann. Da bisher nur Blocksatz möglich ist.

Nach wie vor wird die Standard Tabellenumgebung tabular genutzt, zusätzlich wird noch das Paket tabularx gebraucht, da drei neue Spaltentypen eingeführt werden.

Linksbündige Spalte mit einer festen Breite:
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}

Zentrierte Spalte fester Breite:
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

Rechtsbündige Spalte fester Breite:
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}




\documentclass{article}
\usepackage{tabularx}

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\begin{document}


\begin{tabular}{|L{1cm}|C{2cm}|R{3cm}|}
\hline
1 cm breit & 2 cm breit & 3 cm breit \\
\hline
Test 1 & Test 2 & Test 3\\
\hline
Links & Zentriert & Rechts \\
\hline
Ist & der Text auch nicht & zu lang?\\
\hline
\end{tabular}

\end{document}

Tabelle Spaltenbreite definieren

Bei Verwendung der Standardtabelle bekommt jede Spalte genau den Platz den sie braucht. Das kann dazu führen, dass die Tabelle unter Umständen zu breit wird bzw. komisch aussieht wenn zum Beispiel die Breite des Inhalts der Spalten sich in den Zeilen stark unterscheidet.


Eine Möglichkeit die Breite der Spalten zu definieren ist der p-Operator der Tabellenumgebung. Dadurch kann den Spalten eine Breite vorgegeben werden. Der Nachteil dieser Methode ist, dass der Inhalt der Spalten im Blocksatz ausgerichtet wird.

Beispiel:
\documentclass{article}
\begin{document}
\begin{tabular}{|p{1cm}|p{2cm}|p{3cm}|}
\hline
1 cm breit & 2 cm breit & 3 cm breit \\
\hline
Test 1 & Test 2 & Test 3\\
\hline
\end{tabular}
\end{document}

Mittwoch, 27. April 2011

Fußnote in einer Tabelle

Fußnoten können ansich nicht innerhalb von Tabellen verwendet werden, da man nicht genau weiß wo innerhalb des Dokumentes die Tabelle letztendlich stehen wird. Daher wäre die Nummerierung der Fußnoten ein Problem.

Mit Hilfe des Paketes tabularx lassen sich Fußnoten auch innerhalb von Tabellen verwenden. Hier mal ein abgewandeltes Beispiel für eine Tabelle mit Fußnote unter der zu Hilfenahme von tabularx:


\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{8cm}{|X|X|X|X|}
\hline
In dieser Tabelle & hat jede Zelle genau die & gleich Breite & nämlich gerade 2cm \\
\hline
Und wie man & dabei\footnote{Fußnote} leicht erkennen kann & reicht diese Breite nicht bei allen & Spalten aus um den gesamten Text darzustellen. \\
\hline
\end{tabularx}

\end{document}

Das Beispiel stammt aus einem Knol zu diesem Paket, in dem es um den Zeilenumbruch in Tabellenspalten  geht.

LaTeX farbiger Text

Mit dem Paket xcolor kann farbiger Text geschrieben werden. Der Befehl dazu ist \textcolor{Farbe}{Text} und standardmäßig sind die folgenden Farben vorhanden:
red, green, blue, cyan, magenta, yellow, black, white , darkgray, gray, lightgray

Beispiel:

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{xcolor}
\begin{document}
\textcolor{red}{red}, \textcolor{green}{green}, \textcolor{blue}{blue}, \textcolor{cyan}{cyan}, \textcolor{magenta}{magenta}, \textcolor{yellow}{yellow}, \textcolor{black}{black}, \fcolorbox{black}{white}{\textcolor{black}{white}}, \textcolor{darkgray}{darkgray}, \textcolor{gray}{gray}, \textcolor{lightgray}{lightgray}

\end{document}

Neben der Farbe der Schrift kann damit auch Farbe der Seite geändert (daher auch die Textfarbe white) und zudem farbige Boxen und Rahmen erzeugt werden.

Fußnoten ohne Nummer

Wie können Fußnoten ohne Nummer dargestellt werden? Die Frage geht so ein bisschen in die Richtung von wie kann man den Zähler der Fußnoten ändern. Mit dem gleichen Befehl, mit dem die Zählart geändert wird, kann auch erreicht werden, dass die Fußnoten ganz ohne Nummer dargestellt werden.

\renewcommand{\thefootnote}{}

Beispiel:

\documentclass{article}
\usepackage[latin1]{inputenc}
\begin{document}

\renewcommand{\thefootnote}{}
In diesem Text stehen die Fußnoten\footnote{Eine Fußnote.} am Ende\footnote{Ende.} \newpage
Der Seitenumbruch ist nur da, um den Effekt auf die Fußnoten zu zeigen.

\end{document}


Mehr zum Thema: LaTeX und Fußnoten

Quelle anstelle Literatur

Für ein Dokument gibt es eine vordefinierte Auswahl an Bezeichner wie etwa das Inhaltsverzeichnis (contents) oder Literaturverzeichnis (ref bzw. bib). Die Name bzw. der Text der bei ihrer Verwendung angezeigt werden soll, lässt sich mit dem Befehl \renewcommand{\<Bezeichner>name}{Neue Bezeichnung} ändern.

Die Besonderheit hier ist, dass die Bezeichnung für das Literaturverzeichnis bei den Dokumentenklassen nicht gleich ist. Bei der Klasse article heisst es ref und bei report und book bib, daher die zwei folgenden Beispiele.

Article Variante

\documentclass{article}
\usepackage{ngerman}
\renewcommand{\refname}{Quellen} % article
\begin{document}

Quelle anstelle Literatur
...
Text
...

\begin{thebibliography}{9}
% ...
\end{thebibliography}
\end{document}

Report und Book Variante

\documentclass{article}
\usepackage{ngerman}
\renewcommand{\bibname}{Quellen} %report und book

\begin{document}
Quelle anstelle Literatur
...
Text
...

\begin{thebibliography}{9}
% ...
\end{thebibliography}
\end{document}


3. Variante
Da sich die Namen nicht geseitig stören, ist es auch möglich beide Varianten zusammen einzusetzen.

\documentclass{article}
\usepackage{ngerman}
\renewcommand{\bibname}{Quellen} %report und book
\renewcommand{\refname}{Quellen} % article
\begin{document}
Quelle anstelle Literatur
...
Text
...

\begin{thebibliography}{9}
% ...
\end{thebibliography}
\end{document}

Text und Bild nebeneinander

Wenn neben einem Bild Text gesetzt werden soll kann dies u.a. mit einer Minipage Konstruktion gemacht werden, oder alternativ wie hier gezeigt wird, mit dem Paket sidecap.

Als Hinweis, das Aussehen hängt stark von der gewählten Breite und der Größe der Seitenränder ab, so dass man ein bisschen probieren muss bis man das gewünschte Ergebnis erzielt.


\documentclass{article}
\usepackage[pdftex]{graphicx}
\usepackage{sidecap}
\usepackage{german}
\usepackage[left=1cm]{geometry}
\begin{document}
\begin{SCfigure}
\centering
\includegraphics[width=0.5\textwidth]{logo-SF}%Name der Bilddatei
\caption{Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.Hier kann ganz viel Text neben diesem Bild stehen, aber leider gibt es nicht wirklich viel dazu zu sagen, so dass wir an dieser Stellen enden.}
\end{SCfigure}
\end{document}

Zwei Tabellen nebeneinander

Um zwei Tabellen nebeneinander darzustellen gibt es die Möglichkeit diese zwei innerhalb einer dritten Tabelle unterzubringen. Der Effekt ist dann, dass die zwei Tabellen nebeneinander sind. Alternativ lässt sich das auch mit der Verwendung von Minipage realisieren.

\documentclass{article}
\begin{document}

\begin{tabular}{ll}
\begin{tabular}{ccc}
A & B & C \\
\cline{1-3}
1 & 2 & 3 \\
\cline{1-3}
C & B & A \\
\end{tabular}
&
\begin{tabular}{ccc}
D & E & F \\
\cline{1-3}
4 & 5 & 6 \\
\cline{1-3}
F & E & D \\
\end{tabular}
\end{tabular}

\end{document}

LaTeX Fußnoten am Ende

Fußnoten sind eine reichhaltige Fragenquelle im Zusammenhang mit LaTeX. Um Fußnoten an das Ende eines Textes zu setzen kann das Paket endnotes benützt werden.



\documentclass{article}
\usepackage{endnotes}
\usepackage[latin1]{inputenc}
\begin{document}

In diesem Text stehen die Fußnoten\endnote{Eine Fußnote.} am Ende\endnote{Daher auch der Name Endnotes.} \newpage
Der Seitenumbruch ist nur da, um den Effekt auf die Fußnoten zu zeigen.

% Damit werden die Fußnoten am Ende eingefügt:

 { \parindent 0pt
     \parskip 2ex
    \def\enotesize{\normalsize}
     \theendnotes   }

\end{document}


Für den Fall, dass man bereits die Fußnoten mit dem Befehl \footnote in den Text eingebunden hat, fügt man folgendes vor dem Text ein: \let\footnote=\endnote

\documentclass{article}
\usepackage{endnotes}
\usepackage[latin1]{inputenc}
\begin{document}
\let\footnote=\endnote

In diesem Text stehen die Fußnoten\footnote{Eine Fußnote.} am Ende\footnote{Daher auch der Name Endnotes.} \newpage
Der Seitenumbruch ist nur da, um den Effekt auf die Fußnoten zu zeigen.

% Andernfalls steht Notes über den Fußnoten
\renewcommand{\notesname}{Fußnoten}

 { \parindent 0pt
     \parskip 2ex
    \def\enotesize{\normalsize}
     \theendnotes   }

\end{document}

Sonntag, 24. April 2011

Querformat Text zweispaltig

Eine Frage die ich bisher nur einmal hatte. Wie kann man einen zweispaltigen Text im Querformat darstellen? Interessant daran war, dass das Einfügen der Option landscape bei der Dokumentenklasse erstmal nichts bewirkt hatte. Erst nachdem auch das Paket lscape miteingebunden wurde, kann es zu dem gewünschten Aussehen.


\documentclass[landscape,twocolumn]{article}
\usepackage{lscape}
\begin{document}
Dieser Text dient nur als Beispiel. Der Text soll in zwei Spalten gesetzt werden. Dabei soll die Ausrichtung des Papiers im Querformat erfolgen.

\newpage
 Dieser Seitenumbruch ist nur hier, damit man sieht, dass es auch wirklich in zwei Spalten dargestellt wird.

\end{document}

Freitag, 22. April 2011

includepdf mehrere seiten

Mit Hilfe des Paketes Pdfpagespdfpages lassen sich nicht nur ganze PDF Dateien oder Seiten aus einer PDF Datei einfach einbinden, es bietet einem auch noch andere Möglichkeiten, wie etwa mehrere Seiten der ursprünglichen Datei auf einer neuen Seite einzubinden.

Dazu wird die Option nup verwendet, hier im Beispiel werden alle Seiten der Datei Test eingebunden, dabei werden jeweils 4 zu einer neuen Seite zusammengefügt.

\includepdf[pages=-, nup=2x2]{Test}


Neben der Option nup, besitzt es noch ein paar andere Eigenschaften wie pages, womit festgelegt wird welche Seiten eingebunden werden, und landscape mit dem die Ausrichtung geändert werden kann.

Verbatim Schriftgröße

Bereits im ersten Post ging es darum wie die Schriftgröße bei LaTeX  verändert werden kann.

In der Verbatim Umgebung funktioniert das Ändern der Schriftgröße anders, da die Befehle innerhalb dieser Umgebung keine Wirkung besitzen. Um in Verbatim eine andere Schriftgröße zu nutzen muss diese außerhalb der Umgebung verändert werden. Zum Beispiel in dem die Verbatim Umgebung selbst in eine andere Schriftgrößen Umgebung wie small oder tiny gepackt wird.

\documentclass{article}
\begin{document}
\begin{verbatim}
Test
\end{verbatim}

\begin{small}
\begin{verbatim}
Test
\end{verbatim}
\end{small}

\begin{tiny}
\begin{verbatim}
Test
\end{verbatim}
\end{tiny}

\end{document}

Eleganter geht es mit der Verwendung des Paktes Fancyvrb mit ihm kann neben der Schriftgröße auch die Schriftart geändert werden. Und es bietet die Möglichkeit der Nummerierung und die Verwendung von Verbatim innerhalb von Fußnoten an.


\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[fontsize=\small]
Test
\end{Verbatim}
\begin{Verbatim}[fontsize=\tiny]
Test
\end{Verbatim}
\end{document}

Aufzählung LaTeX a b c

Im Bereich Aufzählung wird oft nach der alphabetischen Auflistung gefragt,
daher habe ich das einmal vor Jahren in einem meiner Kurse als Beispiel genommen, wie neue Kommandos eingeführt werden können. Der Code dazu findet sich hier: Latex Kurs 2

Wesentlich eleganter ist es die Darstellungsymbole der Auflistung zu ändern. Mit \renewcommand{\labelenumi}{\alph{enumi})} wird aus einer nummerierten Auflistung eine alphabetische.

\documentclass{article}
\begin{document}

\renewcommand{\labelenumi}{\alph{enumi})}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}

\end{document}

Ergibt:

a) Eins
b) Zwei
c) Drei

Die runde Klammer kann auch weggelassen werden:
\documentclass{article}
\begin{document}

\renewcommand{\labelenumi}{\alph{enumi}}
\begin{enumerate}
\item Eins
\item Zwei
\item Drei
\end{enumerate}

\end{document}

Ergibt dann:

a Eins
b Zwei
c Drei

Darstellen eines Backslash

Wie lässt sich ein Backslash in LaTeX darstellen?

Innerhalb von Text wird dazu der Befehl \textbackslash verwendet.
Innerhalb der Mathematik Umgebung ist es \backslash .

Eine weitere typische Frage im Zusammenhang mit dem Backslash ist, LaTeX escapen bzw. LaTeX Sonderzeichen escapen, hierfür ist der Backslash die Antwort. Um in LaTeX Sonderzeichen zu escapen wird der Backslash \ benutzt.

Zum Beispiel:
\$

LaTeX Datum automatisch

Für den Fall, dass die Titelumgebung genutzt wird, wird das aktuelle Datum automatisch eingefügt.

\documentclass[a4paper, 12pt, twoside]{article}
\title{Titel}
\author{Autor}
\begin{document}
\maketitle
...
\end{document}

Alternativ lässt sich das aktuelle Datum auch mit \today an einer beliebigen Stelle einfügen. Die Darstellung des Datum hängt dabei von der verwendeten Sprache bzw. Sprachpaket ab.

\documentclass{article}
\begin{document}
Text \today Text
\end{document}

Ergibt: Text April 22, 2011Text

So dass noch ein zusätzliches Leerzeichen eingefügt werden sollte:

\documentclass{article}
\begin{document}
Text \today \ Text
\end{document}

Ergibt dann: Text April 22, 2011 Text

Latex erste Seite ohne Seitenzahl

Soll die erste Seite ohne Seitenzahl dargestellt werden, erreicht man dies durch den \thispagestyle{empty}, damit wird die Seitenzahl nicht angezeigt. Bei allen anderen Seiten wird die Seitenzahl angezeigt. Die Seite wird auch mitgezählt. Der Befehl funktioniert nicht nur bei der ersten Seite, sondern bei allen anderen auch.

\begin{document}
\thispagestyle{empty}
Test Text damit etwas auf der ersten Seite steht.
\newpage
Test Text damit etwas auf der anderen Seite steht.
\end{document}


Soll die erste Seiten nicht nur ohne Seitenzahl angezeigt werden, sondern zudem auch nicht mit gezählt werden, d.h. die zweite Seite soll die Seitenzahl 1 tragen, wird der Zähler der Seiten manipuliert. Mit \setcounter{page}{1} wird er auf eins gesetzt.


\documentclass[a4paper, 12pt, twoside]{report}
\begin{document}

\thispagestyle{empty}
Test Text damit etwas auf der ersten Seite steht.
\newpage
\setcounter{page}{1}
Test Text damit etwas auf der anderen Seite steht.
\newpage
Test Text damit etwas auf der anderen Seite steht.
\end{document}

Leerzeichen im Mathemodus

Da Leerzeichen im Mathemodus ignoriert werden müssen diese per Befehl eingefügt werden. Soll etwa ein Leerzeichen zwischen x und y eingefügt werden, kann es so gemacht werden:

$x\;y$

Daneben gibt es noch weitere Abstandsbefehle, die entweder kürzer als ein Leerzeichen sind $x\!y$, $x\,y$ und $x\:y$, gleich lang $x\;y$, oder länger als dieses $x\quad y$ und $x\qquad y$.

Latex Text im Mathemodus

Innerhalb des Mathemodus kann der Text nicht so wie normal geschrieben werden, da in diesem Modus Leerzeichen ignoriert werden und die Buchstaben kursiv angezeigt werden.

...
\begin{document}
Test Text $a^{2} + b^{2} \textrm{ Text im Mathemodus } = c^{2} $
\end{document}

Wird das Paket amsmath verwendet, reicht der Befehl \text{...}

...
\usepackage{amsmath}
\begin{document}
Test Text $a^{2} + b^{2} \text{ Text im Mathemodus } = c^{2} $
\end{document}

Es empfiehlt sich die Leerzeichen innerhalb der geschweiften Klammern zu benützen, da sie außerhalb keine Wirkung besitzen.

Latex Titel ohne Datum

Wie bekommt man es hin, dass die Titelseite bzw. der Titel ohne Datum dargestellt wird? Einfach den Befehl \date weglassen bringt nichts.

Wenn man eine Titelseite bzw. einen Titel ohne Datum haben will, verwendet man den \date Befehl so:

\date{}

Das Ergebnis ist nun ein Titel ohne Datum.

Etwas ausführlicher:

\title{Titel der Arbeit}
\author{Autor}
\date{}
\begin{document}
\maketitle
...
\end{document}