Technik:LaTeX:Erste Schritte

Aus Wikiludia
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Steilkurs zu Latex für die Übungsblätter

Die einfache Seite

Kopieren Sie sich folgendes in Ihren Editor:

%% 
\documentclass{article}
%% 
\usepackage{amsmath, amssymb}  
\usepackage[german]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
%% 
\begin{document}  
\end{document}

Die Bedeutung insbesondere der ersten Zeilen bis \begin{document} soll uns zunächst einmal nicht interessieren.

Wichtig ist lediglich, was zwischen \begin{document} und \end{document} steht.

Hier steht der Text, der dann später ausgegeben werden soll.

Versuchen Sie sich an folgendem Beispiel:

%% 
\documentclass{article}
%% 
\usepackage{amsmath, amssymb}  
\usepackage[german]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
%% 
\begin{document}  
Hallöchen Welt
\end{document}

Wenn Sie dieses Dokument "Texen", das heißt, wenn Sie etwa unter Linux einfach den Befehl Latex (+Dateiname) eingeben, dann wird eine dvi-Datei erzeugt, die Sie sich etwa unter xdvi (+Dateiname) ansehen können.

(Es wurde bewusst ein Wort mit ö verwendet, um zu zeigen, dass auch Umlaute erzeugt werden können.)

Einfache Formatierungen und Formeln

Zeilenumbrüche macht man mit doppeltem umgedrehten Schrägstrich: \\

Beispiel:

\begin{document}  
Hallöchen Welt
\\ Und noch einmal Hallo
\end{document}

Formeln im Formel-Stil schreibt man eingegrenzt durch zwei Dollarzeichen:

$a+b$ usw.

Wichtig für die Übungsblätter dürften die Zeichen "größer oder gleich" sein:

$a \geq b$

oder auch "kleiner oder gleich":

$a\leq b$ 

Tabellen

Hier ein vollständiges Latex-Programm mit einer Tabelle:

%%
\documentclass{article}
%%
\usepackage{amsmath, amssymb}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
%%
\begin{document}
Eine Tabelle
\\ \begin{tabular}{c|c|c|}
& s1 & s2 \\ \hline
s1 & (a,a') & (b,b') \\ \hline
s2 & (c,c') & (d,d')\\ \hline
\end{tabular}
\\ Das ist eine leere Tabelle
\end{document}

Abbildungen und Graphiken

Abbildungen und Graphiken kann man mit dem LaTeX Paket graphicx einbinden (\usepackage{graphicx}). Die eigentliche Einbindung \includegraphics{Dateiname} ohne Endung. Für die Größe kann man ein optionales Argument verwenden. Als Umgebung wird oft die figure-Umgebung verwendet. Abbildungen werden dann vom Text abgesetzt und nummeriert:

\begin{figure}
\includegraphics[width=\textwidth]{Dateiname}
\caption{
\label{fig:Markierung}
Bildunterschrift
}
\end{figure}

Ein optionales Argument ermöglicht Einfluss auf die Platzierung zu nehmen.

Für die beschriebene Einbindung eignen sich .eps Dateien, in die man viele Dateitypen exportieren kann. Um Platz zu sparen bietet es sich an, die .eps-Dateien mit "gzip" zu packen und als ".eps.gz" einzubinden - dvips kann das automatisch dekomprimieren.

Verwendet man pdflatex, so lassen sich auch u.A. .jpeg-Dateien ohne Probleme direkt einbinden.

Nahezu beliebige Formate können unter Linux (mit installiertem "imagemagick", dazu gehört das "convert" Programm) folgendermaßen eingebunden werden:

\DeclareGraphicsRule{.gif}{eps}{.gif.bb}{`convert #1 eps:- }

Dazu müsst ihr aber auch noch für jede .gif-Datei eine passende .gif.bb anlegen (dort steht die Größe drin), das geht folgendermaßen:

convert irgendwas.gif eps:- | grep BoundingBox > irgendwas.gif.bb

Bäume

Um in LaTeX Spielbäume zu zeichnen, muß man die Pakete pstricks, pst-tree und pst-node mit dem Befehl \usepackage{pstricks, pst-tree, pst-node} im Kopf seines TeX-Dokuments einbinden. Weiter ist zu beachten, daß dann nicht mehr direkt aus dem TeX-Quelltext ein PDF-Dokument erzeugt werden kann - vielmehr muß folgende Erstellungsreihenfolge eingehalten werden: TeX -> DVI -> PS -> PDF. Hier nun ein Beispielbaum, an dem die wichtigsten Befehle erklärt werden sollen:

\documentclass{article}
\usepackage[latin1] {inputenc}
\usepackage{ngerman,latexsym}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{pstricks, pst-tree, pst-node}
\begin{document}
\pstree{\Tcircle{Root}}
 {
  \pstree{\Tcircle{N1}\tlput{a1}}
   {
    \pstree{\Tcircle[name=subnode1]{SN1}\tlput{b1}}
     {
      \Tcircle{.}\tlput{c1}
      \Tcircle{.}\trput{c2}
     }
    \pstree{\Tcircle[name=subnode2]{SN2}\trput{b2}}
     {
      \Tcircle{.}\tlput{c1}
      \Tcircle{.}\trput{c2}
     }
   }
  \pstree{\Tcircle{N2}\trput{a2}}
   {
    \pstree{\Tcircle[name=subnode3]{SN3}\tlput{d1}}
     {
      \Tdia{.}\tlput{c1}
      \Tdia{.}\trput{c2}
     }
    \pstree{\Tcircle[name=subnode4]{SN4}\trput{d2}}
     {
      \Tdia{.}\tlput{c1}
      \Tdia{.}\trput{c2}
     }
   }
  \ncline[linestyle=dotted]{subnode1}{subnode2}
  \nccurve[linestyle=dashed,angleA=-90,angleB=-90,ncurv=5]{->}{subnode3}{subnode4}
 }
\end{document}

Wie man am Beispiel sieht, wird die Baumstruktur so erzeugt:

\pstree{KNOTEN}
 {
  AST1
  AST2
  ...
 }
  • Ein Ast kann entweder ein Unterbaum, oder aber ein Blatt sein. Komplexere Baumstrukturen können so rekursiv erzeugt werden.
  • Blätter werden, genau wie Knoten erzeugt. Ich möchte hier 3 Möglichkeiten nennen:
    • \TR{Text} druckt nur den Text
    • \Tcircle{Text} setzt den Text in einen Kreis
    • \Tdia{Text} setzt den Text in eine Raute
  • Mit den Befehlen \tlput{Beschriftung} bzw. \trput{Beschriftung} neben einem Knoten/Blatt kann man auf der linken bzw. rechten Seite des zu ihm führenden Astes den Text "Beschriftung" setzen.

Will man noch zusätzliche Verbindungslinien einfügen, so muß man den Start und Endknoten mit dem Befehl [name=...] noch einen internen Namen zuweisen.

  • Mit \ncline{a}{b} wird eine gerade Linie vom Punkt a zum Punkt b gezogen
    • Der optionale Parameter linestyle beeinflußt das Aussehen der Linie (hier gepunktet)
  • Mit \nccurve{a}{b} kann man Kurven zeichen. Die zusätzliche geschweifte Klammer in unserem Beispiel vor der Definition des Anfangs und Endpunkts bewirkt, daß statt einer Linie ein Pfeil gezeichnet wird.
    • angleA gibt an, in welchem Winkel der Startpunkt verlassen werden soll
    • angleB gibt an, in welchem Winkel der Endpunkt erreicht werden soll.
    • ncurv Wie stark die Biegung sein soll (wobei negative Werte in die andere Richtung biegen)

Mathematische Formeln

Binäre Operatoren und Vergleiche

Binäre Operatoren
\mathcal q (\amalg) \mathcal q
\setminus \setminus
\pm \pm
\mp \mp
\mathcal{t} \mathcal{u}
(\sqcap und \sqcup)
\mathcal{tu}
\star \star
\bullet \bullet
\cap \cap
\cdot \cdot
\circ \circ
\cup \cup
\dagger \dagger
\mathcal{z} (\ddagger) \mathcal z
\times \times
\triangle \triangle
\oplus \otimes \oplus\ \otimes
\triangleright \triangleleft \triangleright\ \triangleleft
\vee \vee
\wedge \wedge
\wr \wr
Binäre Vergleiche
\approx \approx
\mid \mid
\cong \cong
\models \models
\equiv \equiv
\frown \frown
\| \|
\in \ni \in \ni
\perp \perp
\le oder \leq \le\mathrm{oder}\leq
\ge oder \geq \ge\mathrm{oder}\geq
\sim \sim
\simeq \simeq
\smile \smile
\matcal{vw}
(\sqsubseteq und \sqsupseteq)
\mathcal{vw}
\subset \subset
\subseteq \subseteq
\supset \supset
\subseteq \subseteq
\vdash \vdash
Negation
\not< \not<
\not> \not>
\not= \neq \ne \not=\ \neq\ \ne
\not\approx \not\approx
\not\cong \not\cong
\not\equiv \not\equiv
\not\ge \not\ge
\not\in \notin \not\in \notin
\not\le \not\le
\not\simeq \not\simeq
\not\subset \not\subset
\not\subseteq \not\subseteq
\not\supset \not\supset
\not\supseteq \not\supseteq
\neg \neg

Hoch- und Tiefstellungen

hochgestellt a^2 a2
tiefgestellt a_2 a2
Gruppierung a^{2+2} a2 + 2
a_{i,j} ai,j
Kombination hoch & tief sowohl x_2^3 als auch x^3_2 ergibt x_2^3
Ableitung (richtig) x' x'
Ableitung (akzeptabel) x^\prime x^\prime
Ableitung (falsch) x\prime x\prime
Summe \sum_{k=1}^N k^2 \sum_{k=1}^N k^2
Produkt \prod_{i=1}^N x_i \prod_{i=1}^N x_i
Limes \lim_{n \to \infty}x_n \lim_{n \to \infty}x_n
Exponentialfunktion e^{- \alpha \cdot x^2}  e^{- \alpha \cdot x^2}
Integral \int_{-N}^{N} e^x\, dx \int_{-N}^{N} e^x\,\mathrm{dx}
Mehrfach Integral \iint_a^b \iiint_a^b \iint_a^b \iiint_a^b
Ringintegral \oint_c \oint_c
A adjungiert A^\dagger A^\dagger

Mathematische Akzente

Vektorpfeil \vec a \vec a
Zeitableitung \dot a \dot a
Umlaute \ddot a \ddot a
Vektor-Zeitableitung \dot\vec a \dot\vec a
a quer \bar a \bar a
a Tilde \tilde a \tilde a
a Dach \hat a \hat a
Akzent Grave \grave a \grave a
Akzent Acute \acute a \acute a
Hatschek \check a \check a
Breve \breve a \breve a

Sonstige Markierungen

Überstreichen \overline { ... } \overline { ABC }
Unterstreichen \underline { ... } \underline { ABC }
Pfeil drüber \overrightarrow { ... } \overrightarrow { ABC }
Pfeil drüber \overleftarrow { ... } \overleftarrow { ABC }
Dach drüber \widehat { ... } \widehat { ABC }
Klammer drüber \overbrace { ... } \overbrace { ABC }
Klammer drunter \underbrace { ... } \underbrace { ABC }

Funktionsnamen

\arccos arccos
\arcsin arcsin
arctan arctan
\arg \arg
\cos cos
\cosh cosh
\cot cot
\coth coth
\csc csc
\deg deg
\det det
\dim \dim
\exp exp
\gcd gcd
\hom \hom
\inf \inf
\ker \ker
\lg lg
\lim \lim
\liminf \liminf
\limsup \limsup
\ln ln
\log log
\max max
\min min
\Pr \Pr
\sec sec
\sin sin
\sinh sinh
\sup \sup
\tan tan
\tanh tanh
\bmod amod b

Brüche, Matrizen, mehrzeilige Gleichungen

Brüche \frac{2}{4} oder {2 \over 4} \frac{2}{4}
Binomialkoeffizienten {n \choose k} {n \choose k}
Matrizen \begin{pmatrix} x & y \\ z & v \end{pmatrix} \begin{pmatrix} x & y \\ z & v \end{pmatrix}
\begin{bmatrix} 0 & \cdots & 1 \\ \vdots & \ddots & \vdots \\ 2 & \cdots & 3\end{bmatrix} \begin{bmatrix} 0 & \cdots & 1 \\ \vdots & \ddots & \vdots \\ 2 & \cdots & 3\end{bmatrix}
\begin{Bmatrix} x & y \\ z & v \end{Bmatrix} \begin{Bmatrix} x & y \\ z & v \end{Bmatrix}
\begin{vmatrix} x & y \\ z & v \end{vmatrix} \begin{vmatrix} x & y \\ z & v \end{vmatrix}
\begin{Vmatrix} x & y \\ z & v \end{Vmatrix} \begin{Vmatrix} x & y \\ z & v \end{Vmatrix}
\begin{matrix} x & y \\ z & v \end{matrix} \begin{matrix} x & y \\ z & v \end{matrix}
Fallunterscheidungen f(n)=\begin{cases} n/2, & \mbox{wenn }n\mbox{ gerade} \\ 3n+1, & \mbox{wenn }n\mbox{ ungerade} \end{cases} f(n)=\begin{cases} n/2, & \mbox{wenn }n\mbox{ gerade} \\ 3n+1, & \mbox{wenn }n\mbox{ ungerade} \end{cases}
mehrzeilige Gleichungen \begin{matrix}f(n+1)&=& (n+1)^2 \\ \ &=& n^2 + 2n + 1\end{matrix} \begin{matrix}f(n+1)&=& (n+1)^2 \\ \ &=& n^2 + 2n + 1\end{matrix}

Klammern und Begrenzungssymbole

Runde Klammern \left( A \right) \left( A \right)
Eckige Klammern \left[ A \right]

\lbrack \rbrack

\left[ A \right]

[]

Geschweifte Klammern \left\{ A \right\}

\lbrace \rbrace

\left\{ A \right\}

{}

\left\lfloor A \right\rfloor \left\lfloor A \right\rfloor
\left\lceil A \right\rceil \left\lceil A \right\rceil
Gewinkelte Klammern \left\langle \right\rangle \left\langle A \right\rangle
Betragsstriche \left| A \right|

\vert

\left| A \right|

\vert

Matrix \left\| A \right\|

\Vert

\left\| A \right\|

\Vert

Verwendung von \left. und \right., wenn man keinen Abgrenzer anzeigen will : \left. {A \over B} \right\} \to X \left. {A \over B} \right\} \to X

Pfeile

\downarrow \downarrow
\Downarrow \Downarrow
\hookleftarrow \hookleftarrow
\hookrightarrow \hookrightarrow
\leftarrow \leftarrow
\Leftarrow \Leftarrow
\leftrightarrow \leftrightarrow
\Leftrightarrow \Leftrightarrow
longleftarrow \longleftarrow
Longleftarrow \Longleftarrow
\Longleftrightarrow \Longleftrightarrow
\longmapsto \longmapsto
\longrightarrow \longrightarrow
\Longrightarrow \Longrightarrow
\mapsto \mapsto
\nearrow \nearrow
\nwarrow \nwarrow
\rightarrow \rightarrow
\Rightarrow \Rightarrow
\searrow \searrow
\swarrow \swarrow
\uparrow \uparrow
\Uparrow \Uparrow
\updownarrow \updownarrow
\Updownarrow \Updownarrow

Platz zwischen Zeichen

Für manuelle Kontrolle der Leerzeichen stellt Tex folgende Befehle zur Verfügung.

8fach a \qquad b a \qquad b
4fach a \quad b a \quad b
viel Platz a\ b a\ b
mittel Platz a\;b a\;b
wenig Platz a\,b a\,b
kein Platz ab ab\,
negativer Platz a\!b a\!b


Weitere Links

Eine schöne Zusammenfassung für das Arbeiten mit Latex und wiki gibts es auf Wikipedia. Ansonsten ist dante immer eine gute Anlaufstelle für Probleme mit (La-)TeX

Meine Werkzeuge