Commit 26062ec4 authored by Bernhard Grotz's avatar Bernhard Grotz

Erster Commit.

parents
# Ignore any directories named "_build" ,but still
# notice regular files and symbolic links with
# that name.
_build/
.hg/
# Ignore this specific file
grundkurs-latex.pdf
.hgignore
*.log
Lizenz
======
Diese Dokumentation wird unter folgender Lizenz veröffentlicht:
Creative Commons 3.0 by-nc-sa
Weitere Informationen hierzu gibt es unter folgender Adresse:
http://creativecommons.org/licenses/by-nc-sa/3.0/
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/LaTeX.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/LaTeX.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/LaTeX"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/LaTeX"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
make -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
Grundkurs LaTeX
===============
In dieser Dokumentation aus der `Grund-Wissen <http://www.grund-wissen.de>`_
-Reihe geht es um eine Einführung in die Textsatzungs-Sprache LaTeX.
Das Projekt verwendet `Sphinx <http://sphinx-doc.org/>`_ als Programm zum
Erstellen der HTML- bzw. PDF-Dokumente. Die Dokumentation wird kontinuierlich
ausgebaut, Unterstützung bei der Weiterentwicklung ist gerne willkommen.
Eine HTML-Version dieser Seite ist unter folgender Adresse abrufbar:
http://www.grund-wissen.de/informatik/latex/
Lokale Kopien und eigene Änderungen
-----------------------------------
Um lokale Kopien der Dokumentation zu erstellen, müssen einige Pakete
installiert sein. Unter Debian, Ubuntu oder Linux Mint können diese
folgendermaßen installiert werden:
.. code-block:: bash
aptitude install python3-setuptools
easy_install3 -U Sphinx
Anschließend kann das Repository heruntergeladen werden:
.. code-block:: bash
git clone https://github.com//grund-wissen/grundkurs-latex.git
Im Projektverzeichnis können dann aus den Quelldateien wahlweise HTML-Seiten
oder ein PDF-Dokument erstellt werden:
.. code-block:: bash
# HTML-Seiten erzeugen:
make html
# PDF-Dokument erzeugen:
make latexpdf
Die fertigen Dokumente befinden sich anschließend im Verzeichnis ``_build/html``
beziehungsweise ``_build/latex``.
Sollen eigene, lokale Änderungen an der Dokumentation in dieses Repository
übernommen werden, so wird um einen entsprechenden Pull-Request gebeten.
Herzlichen Dank an alle Mitwirkenden!
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.grund-wissen.de" />
{% extends "!layout.html" %}
{% block rootrellink %}
<li><a href="{{ pathto('home') }}">Home</a>&nbsp;|&nbsp;</li>
<li><a href="{{ pathto('index') }}">LaTeX</a> &raquo;
{% endblock %}
{% block header %}
{% endblock %}
import sys, os
sys.path.append(os.path.abspath('_exts'))
extensions = [
'matplotlib.sphinxext.mathmpl',
'matplotlib.sphinxext.only_directives',
'matplotlib.sphinxext.plot_directive',
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.pngmath',
'sphinx.ext.ifconfig',
'sphinx.ext.viewcode',
# "sphinxcontrib.blockdiag",
# "sphinxcontrib.seqdiag",
]
# 'ipython_console_highlighting',
# 'inheritance_diagram',
# 'numpydoc', 'lily',
templates_path = ['_templates']
source_suffix = '.rst'
master_doc = 'index'
project = 'Grundkurs LaTeX'
htmlhelp_basename = 'Grundkurs LaTeX'
html_short_title = 'Grundkurs LaTeX'
version = '0.0.5b'
release = '0.0.5b'
copyright = '2015-2016, Bernhard Grotz'
language = 'de'
spelling_lang = 'de_DE'
pygments_style = 'sphinx'
html_theme = 'sphinxdoc'
html_logo = "logo.png"
html_favicon = "favicon.ico"
html_static_path = ['_static']
html_last_updated_fmt = '%d. %b %Y'
html_use_smartypants = True
html_additional_pages = {'home': 'home.html'}
html_domain_indices = False
html_use_index = True
html_show_sourcelink = True
html_show_sphinx = False
html_show_copyright = False
html_search_language = 'en'
html_search_options = {'type': 'default'}
# latex_logo = "logo.png"
latex_preamble = r'''
\usepackage[T1]{fontenc}
\usepackage[version=3]{mhchem}
\usepackage{amsmath, units, cancel,soul}
\usepackage{amsfonts, mathrsfs, amssymb, color}
\usepackage{nicefrac,marvosym,mathtools,wasysym,textcomp,gensymb}
\setcounter{secnumdepth}{-1}
\setlength{\headheight}{15pt}
\setcounter{tocdepth}{2}
\sloppy
'''
pngmath_latex_preamble = latex_preamble
latex_elements = {
"preamble": latex_preamble,
"babel": "\\usepackage[ngerman]{babel}",
"classoptions": 'oneside,openany',
"papersize": 'a4paper',
"pointsize": '12pt',
"fontpkg": '',
"fncychap": '\\usepackage[Conny]{fncychap}'
}
latex_domain_indices = False
# latex_show_pagerefs = True
latex_documents = [
('index', 'grundkurs-latex.tex', 'Grundkurs LaTeX',
'Bernhard Grotz', 'manual'),
]
intersphinx_mapping = {
'gw':('http://grund-wissen.de/', None),
'gwm':('http://grund-wissen.de/mathematik/', None),
'gwp':('http://grund-wissen.de/physik/', None),
'gwe':('http://grund-wissen.de/elektronik/', None),
'gwl': ('http://grund-wissen.de/linux/', None),
'gwic':('http://grund-wissen.de/informatik/c/', None),
'gwip':('http://grund-wissen.de/informatik/python/', None),
}
.. _Einführung:
Einführung
==========
LaTeX-Quellcode wird üblicherweise in Dateien mit der Endung ``tex``
geschrieben. Mit dem Programm ``pdflatex`` kann daraus ein PDF-Dokument erstellt
werden.
.. _Ein Latex-Minimalbeispiel:
Ein Latex-Minimalbeispiel
-------------------------
Eine minimale LaTeX-Quelldatei sieht beispielsweise folgendermaßen aus:
.. code-block:: tex
% Datei: hallo-welt.tex
% Papierformat, Schriftgröße und Dokumentklasse festlegen:
\documentclass[a4paper, 12pt]{article}
% Beginn des Dokuments:
\begin{document}
Hallo Welt!
% Ende des Dokuments:
\end{document}
.. index:: Kommentar
Bei allen Zeilen, die mit einem Prozentzeichen (``%``) beginnen, handelt es sich um
Kommentare, die von LaTeX beim Übersetzen des Quellcodes in eine PDF-Datei
ignoriert werden.
Wird der obige Quelltext als Datei ``hallo-welt.tex`` in einem beliebigen
Verzeichnis gespeichert, so kann in einer Shell durch einen Aufruf von
``pdflatex hallo-welt.tex`` in diesem Verzeichnis das entsprechende PDF-Dokument
``hallo-welt.pdf`` erstellt werden.
.. _Aufbau eines LaTeX-Dokuments:
Aufbau eines LaTeX-Dokuments
----------------------------
.. index:: \documentclass{}
In der ersten Zeile einer ``.tex``-Datei wird mit der Anweisung
``\documentclass`` die Dokumentklasse festgelegt. Neben den auf amerikanische
Layout-Formate zugeschnittenen Standard-Klassen ``article``, ``report`` und
``book`` können auch die europäischen Formate ``scrartcl`` für kurze Artikel,
``scrreprt`` für (längere) Berichte und ``scrbook`` für Bücher gewählt werden.
Zudem gibt es beispielsweise die Dokumentklassen ``scrlettr`` für Briefe und
``beamer`` für Präsentationen.
Allgemein hat die ``\documentclass``-Anweisung folgende Syntax:
.. code-block:: tex
\documentclass[optionen]{dokumentklasse}
Optionale Argumente werden allgemein in eckige Klammern gesetzt und können
weggelassen werden, notwendige Argumente werden in geschweifte Klammern gesetzt.
Mögliche Optionen für Dokumentklassen sind beispielsweise:
.. list-table::
:name: tab-documentclass-optionen
:widths: 50 50
* - Option
- Beschreibung
* - ``10pt`` oder ``12pt``
- Festlegung der Standard-Schriftgröße
* - ``oneside`` oder ``twoside``
- Erstellen einseitiger oder zweiseitiger Dokumente
* - ``twocolumn``
- Zweispaltige Textausgabe
* - ``noparskip`` oder ``halfparskip``
- Festlegung des Abstands zwischen Absätzen
.. index:: Präambel, \usepackage{}
.. _Präambel:
In den darauf folgenden Zeilen, der so genannten "Präambel" einer LaTeX-Datei,
können mit der Anweisung ``\usepackage`` Zusatzpakete geladen werden. Durch eine
passende Auswahl an solchen Paketen kann LaTeX bei bestmöglicher Performance auf
die jeweilige Aufgabe angepasst werden.
Die ``\usepackage``-Anweisung hat allgemein folgende Syntax:
.. code-block:: tex
\usepackage[optionen]{paketname}
Häufig genutzte Pakete sind beispielsweise ``graphicx`` zum Einbinden von
Bildern oder ``color`` zum Drucken von farbigem Text. Viele Pakete werden ohne
eine Angabe von Optionen geladen. Solche Pakete können auch folgendermaßen
importiert werden:
.. code-block:: tex
\usepackage{paket1, paket2, ...}
Anschließend beginnt das eigentliche Dokument. Es wird von ``\begin{document}``
und ``\end{document}`` eingeschlossen.
Eine :ref:`Gliederung eines Dokuments <Abschnitte und Überschriften>` in Kapitel
(möglich in den Dokumentklassen ``scrbook`` und ``scrreprt``) und Abschnitte
(möglich in allen Dokumentklassen) ist durch die Anweisungen ``\chapter{}``
beziehungsweise ``\section{}`` an den entsprechenden Stellen möglich. Wahlweise
kann anhand dieser Untergliederungen auch ein Inhaltsverzeichnis durch die
Anweisung ``\tableofcontents`` erstellt und an der entsprechenden Stelle in das
Dokument eingefügt werden.
Ein etwas ausführlicheres Beispiel eines LaTeX-Dokuments sieht somit
folgendermaßen aus:
.. code-block:: tex
\documentclass[a4paper, 12pt]{scrbook}
\begin{document}
% Inhaltsverzeichnis anzeigen:
\tableofcontents
% Neue Seite beginnen:
\newpage
% Überschrift eines Kapitels:
\chapter{Einleitung}
...
\newpage
% Überschrift eines Kapitels:
\chapter{Theoretische Grundlagen}
% Überschrift eines Abschnittes:
\section{Allgemeines}
...
% Überschrift eines Abschnittes:
\section{Konkreteres}
...
\end{document}
.. :emphasize-lines: 3,5
Die Anweisung ``\newpage`` bewirkt hierbei, dass an der entsprechenden Stelle
eine neue Seite angefangen wird.
.. index:: Sprachunterstützung
.. _Umlaute und deutsche Sprachunterstützung:
.. rubric:: Umlaute und deutsche Sprachunterstützung
LaTeX ist ursprünglich für den englischen Sprachraum entwickelt worden. Es gibt
allerdings Zusatzpakete, die eine Erkennung von beispielsweise deutschen
Umlauten sowie passender Silbentrennung ermöglichen.
In der :ref:`Präambel <Präambel>` eines deutschsprachigen LaTeX-Dokuments
sollten folgende Pakete geladen werden:
.. code-block:: tex
% deutsche Silbentrennung aktivieren:
\usepackage[ngerman]{babel}
% deutsche Umlauten erlauben:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
Sollte die deutsche Version des Sprachpakets ``babel`` nicht gefunden werden, so
muss das Paket ``texlive-lang-german`` nachinstalliert werden (``sudo aptitude
install texlive-lang-german``).
.. index:: pdflatex, Hilfsdatei
.. _Erstellen eines PDF-Dokuments aus einer Quelldatei:
Erstellen eines PDF-Dokuments aus einer Quelldatei
--------------------------------------------------
Aus einer ``tex``-Quelldatei kann in einer Shell mittels ``pdflatex`` ein
gleichnamiges PDF-Dokument erstellt werden. Die Syntax dabei lautet:
.. code-block:: bash
pdflatex datei.tex
Neben dem fertigen Dokument ``datei.pdf`` erzeugt der obige Aufruf zusätzlich
automatisch weitere Dateien, beispielsweise ``datei.aux``, ``datei.log`` und
``datei.toc``. In diesen Dateien werden nötige Hilfsinformationen über interne
Sprungstellen (beispielsweise Fußnoten und Zitate), die Ausgabe des letzten
Aufrufs von ``pdflatex`` oder die Seitenangaben des aktuellen
Inhaltsverzeichnisses abgelegt.
.. list-table::
:name: tab-hilfsdateien
:widths: 20 50
* - Hilfsdatei
- Bedeutung
* - ``.log``
- Protokoll des letzten LaTeX-Aufrufs
* - ``.aux``
- Hilfsdatei für Querverweise
* - ``.toc``
- Inhaltsverzeichnis
* - ``.lof``
- Abbildungsverzeichnis
* - ``.lot``
- Tabellenverzeichnis
* - ``.idx``
- Index-Register
Üblicherweise kann man die automatisch erzeugten Hilfsdateien weitgehend außer
Acht lassen. Eine Besonderheit liegt jedoch darin, dass LaTeX die Seitenzahlen
für das Inhaltsverzeichnis erst dann komplett in die ``.toc``-Datei schreiben
kann, wenn die Quelldatei vollständig übersetzt ist. Um nach einer Veränderung
einer ``tex``-Quelldatei ein aktualisiertes Inhaltsverzeichnis in der
``pdf``-Druckversion zu erhalten, muss ``pdflatex`` daher ein zweites Mal
aufgerufen werden. Gleiches gilt für Änderungen im Index-Register oder im
Literaturverzeichnis: Auch hier werden erst im Laufe des Übersetzungsvorgangs
die Änderungen in die entsprechenden Hilfsdateien geschrieben, so dass die
gemachten Änderungen erst bei einem zweiten Übersetzungsvorgang berücksichtigt
werden können.
.. Fehlermeldungen..
.. _Grundlegende Konzepte in LaTeX:
Grundlegende Konzepte in LaTeX
------------------------------
Im folgenden sollen einige Prinzipien, die für das Arbeiten mit LaTeX von
Bedeutung sind, in einer knappen Zusammenfassung vorgestellt werden.
.. _Anweisungen, Deklarationen und Umgebungen:
.. rubric:: Anweisungen, Deklarationen und Umgebungen
In LaTeX gibt es dreierlei Arten von "Steuerelementen", die den Ablauf des
Übersetzungsvorgangs beeinflussen können:
.. _Anweisung:
* **Anweisungen** haben folgende Syntax:
.. code-block:: tex
\anweisungsname[optionale-argumente]{pflicht-argumente}
Alle Anweisungen beginnen also mit einem Backslash-Zeichen, gefolgt vom
eigentlichen Namen der Anweisung. Der Anweisungsname wird allgemein durch ein
Leerzeichen oder durch ein Sonderzeichen beendet. [#]_
Der erstere Fall tritt häufig bei Anweisungen auf, die ohne weitere Argumente
aufgerufen werden, wie beispielsweise ``\newpage``. Der zweite Fall tritt
stets ein, wenn der Anweisung beim Aufruf optionale oder obligatorische
Argumente übergeben werden, denn auch die Zeichen ``[`` und ``{`` sind
Sonderzeichen. Ebenso ist es nach dieser Regel allerdings auch möglich, in
einer mathematischen Formel beispielsweise ``\alpha_1`` für ein
:math:`\alpha`-Zeichen mit dem Index :math:`1`, also :math:`\alpha_1` zu
schreiben.
Anweisungen sind in LaTeX elementare Bausteine, sie können also nicht weiter
ineinander verschachtelt werden. Daher ist es beispielsweise nicht möglich,
innerhalb einer ``\textbf{}``-Anweisung, die den in den geschweiften Klammern
stehenden Text in Fettdruck ausgibt, mittels ``\newline`` einen manuellen
Zeilenwechsel zu erzwingen. Anweisungen beziehen sich daher meist auf einzelne
Textteile innerhalb einer Zeile oder innerhalb eines Absatzes.
.. _Deklaration:
* **Deklarationen** sind lokale Bereiche innerhalb eines LaTeX-Dokuments, die
innerhalb von geschweiften Klammern gesetzt sind, also von ``{`` und ``}``
umschlossen sind.
.. code-block:: tex
{
... Inhalt ...
}
Der Vorteil von Deklarationen liegt darin, dass es Anweisungen wie ``\small``
(Verkleinerung der Schriftart) gibt, die sich normalerweise auf den gesamten
nachfolgenden Text auswirken -- bis zum Ende des Dokuments, oder bis ihre
Wirkung durch eine andere Anweisung aufgehoben wird -- im obigen Beispiel
durch ``\normalsize``.
Begrenzt man den gewünschten Textabschnitt, der kleingedruckt erscheinen soll,
allerdings mit geschweiften Klammern und schreibt unmittelbar nach der
öffnenden Klammer ``{`` die Anweisung ``\small``, so wird deren Wirkung mit
der schließenden Klammer ``}`` wieder aufgehoben.
Mittels Deklarationen kann die Wirkung einzelner Anweisungen somit auch auf
mehrere Zeilen oder Absätze ausgeweitet werden.
.. _Umgebung:
* **Umgebungen** haben stets folgende Syntax:
.. code-block:: tex
\begin{umgebung}
... Inhalt ...
\end{umgebung}
Umgebungen schaffen ebenso wie Deklarationen einen lokalen Bereich, in dem
bestimmte Bearbeitungsmerkmale wie Schriftgröße, Textbreite, Textausrichtung
oder ähnliches von den übrigen Text verschieden sein können. In LaTeX
existieren zahlreiche vordefinierte Umgebungen, die eigene Änderungen mit sich
bringen; im Kapitel :ref:`Wichtige Umgebungen <wichtige Umgebungen>` werden
einige davon näher vorgestellt.
Neben den lokalen Änderungen, welche die jeweiligen Umgebungen von sich aus
vornehmen, können auch innerhalb von Umgebungen mittels entsprechender
Anweisungen zusätzliche lokale Änderungen manuell vorgenommen werden.
.. rubric:: Text- und Formelmodus
In LaTeX werden zwischen drei verschiedenen Arten von Text unterschieden:
* Im so genannten "Absatzmodus" wird Text als eine gewöhnliche Sequenz von
Wörtern angesehen, die bei Bedarf automatisch auf mehrere Zeilen aufgeteilt
wird (inklusive automatischer Silbentrennung). Dieser Modus ist Standard bei
der Eingabe von Text.
* Im so genannten "LR-Modus" wird Text ebenfalls als Sequenz von Wörtern
angesehen, die von links nach rechts abgearbeitet beziehungsweise übersetzt
wird; im Gegensatz zum Absatzmodus kann in diesem Modus allerdings kein
Zeilenumbruch zwischen den Wörtern stattfinden.
* Im so genannten "Mathematik-Modus" werden die die eingegebenen Buchstaben und
Symbole als Teil einer Formel interpretiert. Hierbei werden beispielsweise
Leerzeichen, die zwischen einzelnen Buchstaben stehen, ignoriert; dafür sind
bestimmte Syntax-Elemente wie ``^`` oder ``_`` zum Hoch- beziehungsweise
Tiefstellen von Textelementen ausschließlich in diesem Modus erlaubt.
Da sich der Absatz-Modus und der LR-Modus nur hinsichtlich des
Zeilenumbruch-Verhaltens unterscheiden, werden beide oftmals gemeinsam als
"Textmodus" bezeichnet, um sie von der Eingabe mathematischer Formeln zu
unterscheiden.
.. raw:: html
<hr />
.. only:: html
.. rubric:: Anmerkungen:
.. [#] Manche Anweisungen verlangen auch mehrere Pflicht-Argumente.
Beispielsweise wird bei ``\setcounter{}{}`` innerhalb der ersten
geschweiften Klammern der Name einer Zählervariablen, und innerhalb der
zweiten der zuzuweisende Wert angegeben. Beide Argumente sind beim Aufruf
der ``\setcounter{}``-Anweisung allerdings notwendig.
.. _Gewöhnliche Textsatzung:
Gewöhnliche Textsatzung
=======================
.. _Abschnitte und Überschriften:
Abschnitte und Überschriften
----------------------------
Der Inhalt eines Dokuments kann mittels der folgenden Anweisungen hierarchisch
in einzelne Abschnitte untergliedert werden:
.. index:: \part{}, Part
* ``\part{Text}`` kennzeichnet Buchteile. Diese Gliederungsebene existiert nur
bei den Dokumentklassen ``book`` und ``scrbook``.
.. index:: \chapter{}, Kapitel
* ``\chapter{Text}`` kennzeichnet Kapitel. Diese Gliederungsebene existiert nur
bei den Dokumentklassen ``book`` und ``scrbook``, ``report`` und ``scrreprt``,
nicht aber bei ``article`` und ``scrartcl``.
.. index:: \section{}, Abschnitt
* ``\section{Text}`` kennzeichent Abschnitte. Diese Gliederungsebene ist bei
Artikeln die höchste, bei Büchern oder Berichten die zweithöchste.
.. index:: \subsection{}, \subsubsection{}
* ``\subsection{Text}`` und ``\subsubsection{Text}`` kennzeichnet Unter- und
Unterunterabschnitte.
.. index:: \paragraph{}, \subparagraph{}
* ``\paragraph{Text}`` kennzeichnet einzelne Absätze (Paragraphen) im Text. Die
tiefste Ebene stellt schließlich der ``\subparagraph{Text}`` dar.
In der Präambel kann mittels ``\setcounter{secnumdepth}{tiefe}`` beeinflusst
werden, bis zu welcher Schachtelungstiefe eine Nummerierung der Überschriften
erfolgt. Der Standardwert für ``tiefe`` ist :math:`2`, es erhalten also Kapitel-, Abschnitts-
und Unterabschnittsüberschriften eine fortlaufende Nummer. Setzt man
beispielsweise ``\setcounter{secnumdepth}{1}``, so werden nur noch die Kapitel-
und Abschnittsüberschriften nummeriert, bei ``\setcounter{secnumdepth}{0}`` nur
noch die Kapitelüberschriften. Setzt man ``\setcounter{secnumdepth}{-1}``, so
wird überhaupt keine Überschrift nummeriert.
Wenn bei einer Überschrift ein ``*`` vor die öffnende geschweifte Klammer
gesetzt wird (beispielsweise ``\section*{Text}``), so erfolgt keine Nummerierung
der Überschrift und ebenso kein Eintrag in das Inhaltsverzeichnis.
.. index:: Titelseite, Abstract
.. rubric:: Titelseite und Abstract
Optional können zu Beginn einer LaTeX-Datei mittels der folgenden Anweisungen
Informationen über den Autor und das aktuelle Dokument festgelegt werden:
* ``\title{}``: Der Titel des Dokuments
* ``\author{}``: Der Autor beziehungsweise die Autoren (Aufzählung mittels ``\and``)
* ``\date{}``: Das Datum der Veröffentlichung (``\today`` für das heutige Datum)
Zu Beginn des Dokuments kann dann mittels folgender Anweisung eine automatische
Titelseite erzeugt werden:
.. code-block:: tex
\maketitle