LaTeX-Kompendium: Für Mathematiker

Aus Wikibooks


Einführung[Bearbeiten]

Ein Hinweis gleich vorweg, unter Wikibooks gibt es mehrere Projekte zum Thema LaTeX, die im LaTeX-Kompendium zusammengefasst werden. Falls Sie also kein spezielles Interesse an der Darstellung mathematischer Formeln oder Texte unter LaTeX haben, sich aber trotzdem mit LaTeX beschäftigen wollen oder müssen, ist vielleicht ein anderer Buchband des LaTeX-Kompendium wie etwa der LaTeX-Kompendium: Schnellkurs oder das LaTeX-Wörterbuch interessanter für Sie.

Allgemeine Informationen zu LaTeX finden Sie ebenfalls im LaTeX-Kompendium.

Programme zum TeXen[Bearbeiten]

Um zu "TeXen", d.h. TeX-Quellcode zu erstellen, eignen sich prinzipiell alle Texteditoren, ob nun z.B. KWrite unter Linux, Notepad unter Windows oder plattformunabhängig Vim oder Emacs. Auch Textverarbeitungsprogramme wie Word oder OpenOffice sind geeignet. Beim Abspeichern muss dann jedoch darauf geachtet werden, dass der Text in einer reinen Textdatei (also keiner formatierten Word-Datei o.ä.) und mit der Endung .tex gespeichert wird. Weitaus geeigneter sind jedoch Entwicklungsumgebungen (IDEs, integrated development environments), die speziell für den TeX-Einsatz konzipiert wurden. Unter Windows gehören die TeX-IDEs TeXnicCenter, LaTeXEditor und WinShell zu den gängigsten; unter Linux für KDE z.B. Kile und für GTK z.B. Gummi. Ferner lassen sich einige Editoren wie die bereits erwähnten Vim und Emacs zu einem IDE erweitern.

Zum Übersetzen der TeX-Dateien wird ein TeX-Compiler benötigt. Unter Linux findet man den in jeder besseren Paketauswahl; für Windows ist der unter GNU-Lizenz laufende TeX-Compiler MiKTex wohl der am weitesten verbreitete. Mit einem solchen Übersetzungsprogramm können die TeX-Datei, mittels des Befehls

latex MeineTestdatei.tex

in eine dvi-Datei umgewandelt werden oder z.B. per

pdflatex MeineTestdatei.tex

in eine pdf-datei. Der Übersetzer erstellt eine gleichnamige dvi- bzw. pdf-Datei, im Beispiel also MeineTestdatei.dvi bzw. MeineTestdatei.pdf.
Entwicklungsumgebungen nehmen einem diese Arbeit i.a.r. ab, sodass man nur noch einen Button anzuklicken oder einen Short-Cut einzutippen braucht.

Weitere Informationen zur Installation eines TeX-Übersetzers finden Sie im LaTeX-Kompendium: Schnellkurs.

Nützliche Helfer[Bearbeiten]

Um die DVI-Datei zu verarbeiten, gibt es viele Möglichkeiten. Man kann die Datei zum Beispiel mit Yap (Yet another previewer) betrachten und drucken (ist in MiKTex integriert) oder mit dem Befehl dvips MeineTestdatei.dvi -o MeineTestdatei.ps in eine gleichnamige PostScript-Datei umwandeln, welche man zum Beispiel mit Ghostview betrachten und drucken kann. Eine weitere Möglichkeit besteht darin, sie mittels dem im Ghostscript enthaltenen Programm dvipdf mit dem gleichnamigen Befehl in eine PDF-Datei zu konvertieren. Im Beispiel also durch dvipdf MeineTestdatei.dvi MeineTestdatei.pdf.

Grundlegendes und grundlegende Anweisungen[Bearbeiten]

LaTeX stellt grundsätzlich zwei Werkzeuge zur Verfügung, erstens eine Reihe von Befehlen, beginnend mit einem Backslash \ gefolgt von Buchstaben, und zweitens der Möglichkeit Umgebungen auszuzeichnen. Eine Umgebung, z.B. meineBeispielUmgebung, beginnt mit dem begin- Befehl verknüpft mit dem Umgebungsnamen in geschweiften Klammern. Im Beispiel \begin{meineBeispielUmgebung} . Die Umgebung endet mit dem end- Befehl verknüpft mit dem Umgebungsnamen in geschweiften Klammern. Im Beispiel \end{meineBeispielUmgebung} . Das Grundgerüst einer jeden Umgebung sieht also folgendermaßen aus:

\begin{meineBeispielUmgebung}
      hier folgt der Text der Umgebung
\end{meineBeispielUmgebung}

Ein LaTeX-Dokument ist nun nichts anderes als ein in Umgebungen eingeteilter Text. Die grundlegende Umgebung, die jedes LaTeX- Dokument beinhaltet, ist die document- Umgebung. Sie umfasst das ganze LaTeX- Dokument und es existieren unzählige strukturelle Vorlagen, genannt Klassen, für diese Umgebung. Welche dieser Vorlagen man nutzen will, muß man vor dem Anfang der document- Umgebung festlegen. Dies geschieht durch den Befehl \documentclass[Klassenoption]{Klassenbezeichnung} , wobei Klassenbezeichnung für den Namen der Klasse steht, deren Aufbau genutzt werden soll und Klassenoption Eigenschaften des Dokumentes festlegt, die von der Klasse zur Verfügung gestellt werden. Gängige Klassen sind zum Beispiel: book, article, letter oder report. Beispiele für Klassenoptionen sind: 10pt, a4paper, letterpaper oder notitlepage. Eine Vorlage für ein LaTeX- Dokument könnte also wie folgt aussehen:

\documentclass[a4paper]{article}
\begin{document}
      Der Text des Dokuments.
\end{document}

Zusätzlich kann es noch hilfreich sein die Pakete amsmath und amssymb zu laden. Diese Pakete beinhalten einen erweiterten Formelsatz und einige wichtige Symbole. Das Paket babel mit der Option ngerman sollte man auch laden, um die Silbentrennung nach der neuen deutschen Rechtschreibung zu aktivieren. Wer sich nicht daran halten will, verwendet stattdessen german als optionales Argument.

Vorsicht: Die eigenständigen Pakete ngerman bzw. german sind obsolet und sollten nicht mehr verwendet werden.

 \documentclass[a4paper]{article}
 \usepackage{amsmath}
 \usepackage{amssymb}
 \usepackage[ngerman]{babel}
 \begin{document}
       Der Text des Dokuments.
 \end{document}

Die Mathematische Umgebung in LaTeX[Bearbeiten]

LaTeX setzt Mathematische Formeln nur im Mathematikmodus.

  • Eine Formel im Fließtext wird durch \( .... \) erzeugt.
  • Formeln, die abgesetzt vom Text zentriert in einer eigenen Zeile erscheinen sollen, lassen sich entweder durch \[ ... \] (nicht nummeriert) oder \begin{equation*}...\end{equation*} (mit Stern: keine Nummerierung, ohne Stern: Nummerierung) erzeugen.
  • Warum man den TeX-Befehl $$ ... $$ in LaTeX nicht verwenden sollte, findet man hier oder im LaTex2e-Sündenregister.
  • Eine einfache Umgebung für nummerierte Gleichungsketten bietet die Funktion \begin{align} ... \end{align} . Sie ersetzt dann \[ ... \]. (Die eqnarray-Umgebung sollte nicht verwendet werden, siehe LaTex2e-Sündenregister)
\\ erzeugt einen Zeilenumbruch in der Gleichung (mit entsprechender Nummerierung).
Der Befehl \nonumber in eine Zeile eingefügt, setzt für diese eine Zeile den Zähler aus.
align* anstelle von align stellt die Nummerierung für die gesamte Gleichungskette aus.

Erweiterte Pakete[Bearbeiten]

Die "American Mathematical Society" stellt einige Pakete zur Verfügung, die

  • einen besseren Mathematiksatz, besonders verbesserte Abstände und Zeichengrößen
  • weitere mathematische Symbole
  • mehr Befehle, spezielle Umgebungen z.B. für Sätze, Lemmata, Beweise, ...
  • und bessere Unterstützung für mehrzeilige Gleichungsketten mitbringen

Zu den Paketen gehören u.a. amsmath, amssymb, amsfonts, amsthm, amsbsy und einige mehr.

Nähere Informationen und Dokumentation auf www.ams.org/tex/amslatex

Eine nützliche Erweiterung der AMS-Pakete liefert das mathtools-Paket.

Für eine Vertauschung der Bedeutung des Punktes und des Kommas in Zahlen bietet sich das Paket ziffer an. Sein Einbinden ermöglicht die korrekte Darstellung von Dezimalzahlen mit Komma und Tausender-Trennpunkt nach der im deutschen Sprachraum üblichen Schreibweise.

Mathematische Texte[Bearbeiten]

Um Mathematische Formeln in darzustellen muß man lediglich \( hier die Formel \) in seinen Text unterbringen. Dies bewirkt, daß die Formel in der selben Zeile dargestellt wird wie der davor und dahinter liegende Text.
Bsp.:
Dies ist eine Formel in der Zeile:

Für alle Zahlen \(a_1 \dots a_n\) gilt \dots

"Für alle Zahlen gilt ..." .

Will man die Formel in einer eigenen Zeile darstellen, so setzt man die Formel zwischen \[ hier die Formel \]
Bsp.:

Für alle Zahlen \[a_1 \dots a_n\] gilt \dots

Für alle Zahlen

gilt ...

Brüche[Bearbeiten]

Brüche stellt man mit dem Befehl \frac{Zähler}{Nenner} dar.
Bsp.:

\(\frac{2+dc}{9}\) 

bzw. in der Wikisyntax:

<math>\frac{2+dc}{9}</math> 

wird zu

.

Steht im Zähler als auch im Nenner lediglich ein Zeichen, kann die abkürzende Schreibweise, wie z. B.

\(\frac x2\)

für , verwendet werden.

Indizes[Bearbeiten]

Wie oben schon gesehen sind Indizes sehr einfach darzustellen. Man schreibt einfach an den Buchstaben ein "_" und dann den Index. Also z.B.

\(a_1\)

Will man mehrere Ebenen von Indizes haben muß man lediglich

\(a_{b_c}\)

schreiben.
Sieht dann also so aus

Dies kann man dann natürlich noch viel weiter führen.

Hochstellungen[Bearbeiten]

Hochstellungen erreicht man mit "^". Also wieder

\(a^2\)

Wird zu

Die Verkettung ist auch wieder wie oben.

\(a^{2^3}\)

Sowohl Hoch- und Tiefstellung ist auf zwei Arten möglich:

a^2_B
{a^2}_B

Summen[Bearbeiten]

Um das Summenzeichen mit Anfangs- und Endwert darzustellen, benutzt man folgende Syntax

\(\sum \limits_{Anfangswert}^{Endwert}\)

z.B.

\(\sum \limits_{i=1}^n i = \frac{n(n+1)}{2}\)

Produkte[Bearbeiten]

Die Rechenzeichen werden wie folgt erstellt:

mit

\(a \cdot b \)

mit

\(a \times b \)

Die Syntax für das Produktzeichen lautet

\(\prod \limits_{Anfangswert}^{Endwert}\)

z.B.

\(\prod \limits_{i=1}^{n+1}i = 1\cdot 2\cdot\dots\cdot n\cdot (n+1) \)

wird zu

Binome[Bearbeiten]

mit

\binom{a}{b} 

oder mit

\( {a \choose b} \)

Integrale[Bearbeiten]

  • Einfachintegrale

Integrale werden analog zu sum und prod geschrieben.

\(\int_0^3 x^2 dx = 9\)

Das Ergebnis sieht dann so aus:

Falls man komplexere Ausdrücke als Grenzen hat, sollte man sie in {} setzen. Möchte man die Grenzen unter bzw. über das Integralzeichen setzen, kann man \limits nutzen:

\(\int\limits_0^3 x^2 dx = 9\)

Ergebnis:

Wer Wert auf eine gute Erscheinung des "dx" legt, kann z.B. folgenden Code verwenden:

\(\int_0^3 x^2 \,\mathrm{d}x = 9\)

Ergebnis:

  • Doppel- und Mehrfachintegrale

Für Doppelintegrale setzt man einfach ein weiteres i vor das int. Für drei noch ein i und so weiter.

\(\iint_a^b\) und \(\iiint_a^b\)
und

Außerdem kann man auch noch, wenn man beispielsweise n Integrale berechnen muß, folgendes verwenden:

\(\idotsint_a^b\)

Wurzeln[Bearbeiten]

Quadratische und n-te Wurzeln lassen sich darstellen durch:

\(\sqrt{x}\) bzw. \(\sqrt[n]{x}\)

wird zu

bzw.

Limes[Bearbeiten]

Auch der Limes verwendet eine ähnliche Syntax wie die oben genannte.

\lim\limits_{n \to \infty}\frac{1}{n}=0

Stellt sich dann so dar

Matrizen[Bearbeiten]

Um Matrizen darzustellen, benutzt man die Array-Umgebung:

\left(
   \begin{array}{ccc}
     a_{11} & \cdots & a_{1n} \\
     \vdots & \ddots & \vdots \\
     a_{m1} & \cdots & a_{mn}
   \end{array}
\right)

Das sähe dann so aus:

Eine Matrix ist also in TeX/LaTeX eine umklammerte Tabelle. Was bedeutet nun der obige Quelltext?

  • Als erstes schreibt man \left(, was den Vorteil hat, daß sich die Klammergröße an die Größe der Matrix anpaßt. Schreibt man nur (, macht TeX daraus eine Klammer in normaler Größe, die hier natürlich zu klein ist.
  • Eingeleitet wird die Tabelle selber durch den Befehl \begin{array}{ccc}.
    Der Parameter {ccc} bedeutet, daß es drei Spalten gibt, die alle zentriert ausgerichtet werden. Würde man beispielsweise {rcl} schreiben, würde die erste Spalte rechtsbündig, die mittlere zentriert und die dritte Spalte linksbündig dargestellt.
  • Die einzelnen Matrixeinträge werden durch ein & getrennt, eine neue Zeile wird durch \\ eingeleitet.
  • Schließlich muß man noch durch \end{array} die Array-Umgebung schließen.
  • Für die schließende Klammer (und auch, um den Compiler zufriedenzustellen) muß man noch \right) eingeben - fertig.

Sonderzeichen[Bearbeiten]

Kleiner gleich, größer gleich, ungleich; klein gegen, groß gegen, plus/minus, minus/plus:

\(1 \le 2 \ge 0 \neq 4\), \quad \(1 \ll 10^{20} \gg 10^{-5} \pm \mp\) 

Durchstreichungen[Bearbeiten]

Es gibt noch viele weitere tolle Darstellungen, die einfach zu realisieren sind. Zum Beispiel kann mit dem Paket cancel, welches durch den Befehl \usepackage{cancel} in der Präambel verfügbar gemacht wird, einfache Durchstreichungen, wie sie zum Beispiel beim Kürzen vorkommen, vornehmen. Ein Beispiel kann hier leider nicht angebracht werden, da der Math-Parser den Befehl nicht kennt - aber mit diesem Quellcode-Fragment kann der Effekt schnell mal ausprobiert werden:

\(\frac{13}{39} = \cancel{{\frac{13}{13}}} \cdot \frac{1}{3}\)
\(\frac{13}{39} = \frac{\cancel{13} \cdot 1}{\cancel{13} \cdot 3}\)
\(\frac{13}{39} = \cancelto{1}{\frac{13}{13}} \frac{1}{3}\)

Polynome[Bearbeiten]

Mit diesen Dingen sind die Grenzen jedoch noch lange nicht erreicht. Wenn hierdurch das Interesse geweckt wurde, dann sollte mal ein Blick auf das Paket polynom geworfen werden. Hiermit wird in etwa deutlich, was sich alles realisieren läßt.

Formelkommentare[Bearbeiten]

Häufig hat man komplizierte Formeln mit mehreren Umformungsschritten zu setzen. Zur besseren Verständlichkeit des Textes ist es sinnvoll, zu kommentieren was man tut (Ausklammern, Zusammenfassen, Faktorisieren, mit 3 multiplizieren etc.). An die Stelle im Text, an der die kommentierte Formel stehen soll, kann man z. B. eintragen:

\begin{align}
    r &= 2(x + x^2)  && \left|\  \text{Ausklammern} \right. \\
    r &= 2x(1 + x) 
\end{align}

Das ganze sieht dann so aus:

Dies erzeugt eine einfache erläuterte Äquivalenzumformung einer Formel. Die Formel ist wie in der align-Umgebung üblich per Und-Zeichen ausgerichtet, hier in der gängigen Variante der Ausrichtung am Gleichheitszeichen. Die senkrechten Striche, die die Kommentare von den Formeln abgrenzen, stehen durch die &-Konstruktion untereinander und aneinander ausgerichtet, wobei die einzelnen Spalten jeweils abwechselnd rechts und links ausgerichtet werden. Um den Kommentar in der dritten Spalte ebenfalls links auszurichten, wird durch && eine leere Spalte eingefügt. Natürlich sind statt \text{} auch noch andere Befehle wie \textit{} (kursiver Text) \textbf{} (fetter Text) u. ä. möglich. Obiges Minimalbeispiel sollte aber den ersten Einstieg erleichtern.

Referenzieren[Bearbeiten]

Mit dem \label-Attribut kann man in LaTeX Anker für Verweise setzen, beispielsweise in einer Formel:

\begin{equation}
   r_1^2 = x^2 + y^2
   \label{eq:formel}
\end{equation}

Mit dem Befehl \ref{eq:formel} kann man auf diesen Anker verweisen und referenziert in diesem Beispiel die Formelnummer, die durch die equation-Umgebung gesetzt wird. Mit dem Befehl \pageref{eq:formel} wird auf die Seitennummer derjenigen Seite verwiesen, auf der diese Formel steht. Ist ein Verweis auf die Formel in der Form (Nummer der Formel) gewünscht, so sollte man den Befehl \eqref{eq:formel} verwenden.

weitere Artikel zum gleichen Thema[Bearbeiten]