Homepage von Uwe Siart » Typografie

LaTeX-Tipps

down

Links für den LaTeX-Einstieg

Einführungen

L2kurz https://mirror.ctan.org/info/lshort/german/l2kurz.pdf
Lshort https://mirror.ctan.org/info/lshort/english/lshort.pdf
George Grätzer https://mirror.ctan.org/info/Math_into_LaTeX-4/Short_Course.pdf
Peter Flynn https://mirror.ctan.org/info/beginlatex/beginlatex-3.6.pdf
Peter Flynn https://mirror.ctan.org/info/latex-veryshortguide/veryshortguide.pdf
Jim Hefferon https://mirror.ctan.org/info/first-latex-doc/first-latex-doc.pdf
Indian TeX Users Group https://tug.org/tutorials/tugindia/
Manuela Jürgens https://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a026_latex_einf.pdf
https://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a027_latex_fort.pdf
Sündenregister https://mirror.ctan.org/info/german/l2tabu/l2tabu.pdf

Spezielle Anleitungen und Übersichten

Befehlsreferenz https://mirror.ctan.org/info/latex2e-help-texinfo/latex2e.pdf
Grafikeinbindung https://mirror.ctan.org/info/epslatex/english/epslatex.pdf
Tabellensatz https://mirror.ctan.org/info/german/tabsatz/tabsatz.pdf
Mathematiksatz https://mirror.ctan.org/macros/latex/required/amsmath/amsldoc.pdf
https://mirror.ctan.org/info/short-math-guide/short-math-guide.pdf
https://mirror.ctan.org/obsolete/info/math/voss/mathmode/Mathmode.pdf
Paketkatalog https://ctan.org/topic/

Antworten auf häufig gestellte Fragen

Deutsche TeX-FAQ https://projekte.dante.de/DanteFAQ/
The TeX FAQ List https://texfaq.org/

TeX-Distributionen

MacTeX TeX-Distribution (Mac OS) https://tug.org/mactex/
MiKTeX TeX-Distribution (Win) https://miktex.org/
TeX Live TeX-Distribution (Linux, Win) https://tug.org/texlive/
ProTeXt TeX-Distribution (Win) https://tug.org/protext/

Dokumentanzeige

Ghostscript und GSview PostScript- und PDF-Viewer https://www.ghostscript.com/
SumatraPDF PDF-Viewer https://www.sumatrapdfreader.org/
Foxit Reader PDF-Viewer https://foxit-reader.de.softonic.com/

Editoren

Emacs Universal-Editor https://www.gnu.org/software/emacs/
AUCTeX LaTeX-Mode für Emacs https://www.gnu.org/software/auctex/
Eclipse Universal-IDE https://www.eclipse.org/
LEd TeX-Editor http://www.latexeditor.org/
TeXlipse TeX-Plugin für Eclipse http://texlipse.sourceforge.net/
Texmaker TeX-Editor http://www.xm1math.net/texmaker/
TeXnicCenter TeX-Editor http://www.texniccenter.org/
TeXstudio TeX-Editor http://texstudio.sourceforge.net/
TeXworks TeX-Editor https://tug.org/texworks/
WinEdt TeX-Editor (shareware) http://www.winedt.com/
WinShell TeX-Editor http://www.winshell.de/

Benutzergruppen

DANTE e. V. https://www.dante.de/
TeX Users Group (TUG) https://tug.org/
GUTenberg https://www.gutenberg.eu.org/
NTG http://www.ntg.nl/

Übersichten und Linksammlungen

Linksammlung der TUG https://tug.org/interest.html
LORIA LaTeX navigator http://tex.loria.fr/

Typografie-Tipps

Christoph Bier: Typokurz https://zvisionwelt.wordpress.com/downloads/#typokurz
Internationales Einheitensystem bei NIST https://physics.nist.gov/cuu/Units/index.html
LaTeX-freundliche Verlage http://www.juergenfenn.de/tex/verlage/verlage.html
Axel Reichert: Satz von Tabellen https://mirror.ctan.org/info/german/tabsatz/tabsatz.pdf
up down

Gleitobjekte

Das Schriftsatzprogramm LaTeX bietet die Möglichkeit, sogenannte Gleitobjekte zu verwenden. Typischerweise sind das große, zusammenhängende Objekte wie Abbildungen oder Tabellen. In Büchern und Artikeln macht es bei derartigen Objekten überhaupt keinen Sinn, dass Sie an der gleichen Stelle ausgegeben werden, wo sie im Quelltext stehen. Es ist äußerst unwahrscheinlich, dass sie genau dort Platz haben und einen guten Seitenumbruch ermöglichen. Die unvermeidliche Folge einer festen Platzierung solcher Objekte wären unvollständig gefüllte Seiten, die immer dann auftreten, wenn eine Abbildung oder Tabelle eben nicht mehr vollständig auf die laufende Seite passt und daher vor dem Objekt die Seite umbrochen werden muss. Viel sinnvoller ist es, das entstehende Loch mit Textmaterial aufzufüllen, das der Autor eigentlich erst nach der Abbildung eingegeben hat. LaTeX nimmt dem Autor genau diese Arbeit des optimalen Seitenaufbaus ab, indem es für Abbildungen und Tabellen die Gleitumgebungen {figure} und {table} zur Verfügung stellt.

Die Positionierung der Gleitobjekte wird in LaTeX von Gleitparametern gesteuert. Sie bestimmen Regeln und Grenzen, die bei der Positionierung von Gleitobjekten einzuhalten sind. Die Voreinstellung dieser Parameter ist sehr restriktiv, sodass es bei Dokumenten mit relativ vielen Abbildungen (oder Tabellen) zu einer ungünstigen bis unbrauchbaren Positionierung der Objekte kommt, weil sie eventuell mehrere Seiten von ihrem Verweis im Text fortgleiten. Abhilfe kann eine andere Einstellung der Gleitparameter schaffen. Ein Vorschlag, mit dem ich gute Erfahrungen bei technischen Dokumenten gemacht habe, ist

    \setcounter{topnumber}           {1}
    \setcounter{bottomnumber}        {1}
    \renewcommand{\floatpagefraction}{0.8}
    \renewcommand{\topfraction}      {0.8}
    \renewcommand{\bottomfraction}   {0.5}
    \renewcommand{\textfraction}     {0.15}
    \makeatletter
      \setlength{\@fptop}{0pt}
    \makeatother
    

Die letzte Anweisung sorgt dafür, dass einzelne Grafiken auf einer Floatpage oben platziert werden und nicht vertikal zentriert. Die obigen Werte sind Erfahrungswerte und müssen nicht in jedem Fall die beste Lösung sein. Bei meinen Dokumenten komme ich damit aber ausnahmslos ohne jede Platzierungsoption bei den Gleitumgebungen aus.

Das häufig angefragte völlige Abstellen des Gleitprozesses ist meistens keine gute Lösung. Die Folge wären schlecht gefüllte Seiten und damit ein sehr unruhiges Erscheinungsbild, viel Handarbeit mit hart kodierten Seitenumbrüchen sowie ein Dokument, das äußerst anfällig gegen Umbruchänderungen ist. Sollte es dennoch in Einzelfällen erforderlich sein, dass eine Abbildung nicht gleitet, dann ist die einzig logische Konsequenz, auf die Verwendung einer Gleitumgebung ganz zu verzichten. Dabei eignen sich Umgebungen wie {center} oder {flushleft}, um etwas Vor- und Nachabstand zu erzeugen und {minipage}, um Grafik und Bildunterschrift zusammenzuhalten. Die Dokumentenklassen aus dem Paket »KOMA-Script« stellen für diese Anwendung das Makro \captionof zur Verfügung. Damit lassen sich Bild- und Tabellenunterschriften auch ohne die gleitenden {figure}- oder {table}-Umgebungen erzeugen. Das Makro erwartet als erstes Argument die Art der Unterschrift, die erzeugt werden soll. Ein Beispiel für die Anwendung sieht so aus:

    % Eine nicht-gleitende Abbildung
    \begin{center}
      \begin{minipage}{\linewidth}\centering
        \includegraphics{logarithmus}
        \captionof{figure}{Verlauf der Funktion $y = \ln (x)$.}
        \label{fig:logarithmus}
      \end{minipage}
    \end{center}
    

Verwendet man keine Klasse aus dem Paket »KOMA-Script«, dann kann man auf die Pakete capt-of oder caption zurückgreifen, welche ebenfalls das Makro \captionof bereitstellen. Wenn der volle Funktionsumfang des caption-Paketes (die Beeinflussung des Layouts von Bild- und Tabellenunterschriften) nicht benötigt wird, ist das capt-of-Paket völlig ausreichend.

up down

Seitenlayout

Allgemeines zum Satzspiegel

Die Einstellung der Seitenränder ist keinesfalls beliebig. Sie sollte bewährten Regeln folgen, die hier unter Beschränkung auf das Wichtigste dargelegt werden sollen. Die häufige Zielvorgabe »Den Platz auf dem Papier möglichst gut ausnutzen« ist keine typografische sondern eine extrem laienhafte Regel. Hauptkriterium für einen guten Satzspiegel ist die Zeilenlänge. Sind die Zeilen zu lang, hat das Auge Mühe, den Anfang der nächsten Zeile schnell genug zu finden und das flüssige Lesen wird erheblich erschwert. Eine Daumenregel für gute Lesbarkeit sind etwa 60 Zeichen pro Zeile, Wortzwischenräume mit eingeschlossen. Insgesamt ist die Wahl eines guten Satzspiegels sehr viel komplexer, da auch Papierformat, der Schriftcharakter, der Durchschuss und sogar die Art der Kolumnentitel eine Rolle spielen. An dieser Stelle genügt aber zunächst die Erkenntnis, dass Seitenränder nicht nur eine Frage der Ästhetik sind. Sie sollen vor allem eine gute Lesbarkeit ermöglichen und sind deshalb nicht willkürlich und vor allem auch nicht unabhängig voneinander einzustellen.

Einseitiges Layout

Bei einseitigem Layout sind linker, rechter und oberer Rand gleich breit, der untere Rand ist etwas breiter. Der breitere untere Rand soll ausreichend Platz bieten, um das Blatt festzuhalten ohne dabei in den bedruckten Bereich greifen zu müssen. Eine meistens brauchbare Wahl für das Breitenverhältnis der Ränder links:oben:rechts:unten ist 5:5:5:8, was näherungsweise dem als harmonisch empfundenen Verhältnis des Goldenen Schnittes entspricht.

Die in LaTeX empfehlenswerte Art, den Satzspiegel einzustellen, ist die Verwendung einer Dokumentenklasse aus dem Paket »KOMA-Script«. Das sind unter anderem die Klassen scrartcl, scrreprt und scrbook. Sie berechnen den Satzspiegel nach typografischen Gesichtspunkten und bieten dem Benutzer die Parameter [DIV] und [BCOR], um die Satzspiegelgröße zu steuern. Der Parameter [DIV] bestimmt dabei über die Seitenteilung die Satzspiegelgröße während man mit [BCOR] eine Bindekorrektur (Verbreiterung des linken bzw. des inneren Randes) angeben kann. Eine typische Angabe der Klassenoptionen könnte etwa so aussehen:

    \documentclass[DIV=10,BCOR=1cm]{scrartcl}
    

Obwohl es damit natürlich immer noch möglich ist, durch eine zu große Wahl von [DIV] einen ungünstigen Satzspiegel einzustellen, so erhält man auf diese Weise wenigstens konsistente Seitenverhältnisse und gegebenenfalls eine Warnung im Logfile.

Zweiseitiges Layout

Verwendet man eine Buchklasse wie scrbook oder die Klassenoption [twoside] so erhält man einen Satzspiegel, der dem zweiseitigen Druck angepasst ist. Auch die Konstruktion des zweiseitigen Satzspiegels folgt natürlich typografischen Regeln. Sein auffälligstes Kennzeichen, das auch häufig zur Verunsicherung führt, ist die unterschiedliche Breite von innerem und äußerem Rand. (Anm.: Wir sprechen bei zweiseitigem Layout jetzt bewusst von »innen« und »außen« und nicht mehr von »links«und »rechts«.) Dabei ist der innere Rand schmaler als der äußere Rand. Linke Seiten haben gerade Seitenzahlen, rechte Seiten haben ungerade Seitenzahlen. Es ist also völlig korrekt, dass linke (gerade) Seiten den breiten Rand links und dass rechte (ungerade) Seiten den breiten Rand rechts haben. Der äußere Rand einer Seite ist dabei doppelt so breit wie der innere Rand, sodass bei einer aufgeschlagenen Doppelseite die drei Weißbereiche (links, mitte, rechts) gleich breit sind.

Zur Einstellung von Satzspiegelgröße und Bindekorrektur ist genauso wie bei einseitigem Layout die Verwendung einer Dokumentenklasse aus dem Paket »KOMA-Script« und deren Parameter [DIV] und [BCOR] zu empfehlen. Die Bindekorrektur wird dabei den inneren (schmalen) Rändern zugeschlagen und der Satzspiegel entsprechend dem durch den Bindeverlust verkleinerten Papierformats neu berechnet. Die Zugabe einer Bindekorrektur hat also Einfluss auf die Satzspiegelgröße.

Freie Einstellung des Seitenlayouts

Selbstverständlich stehen auch Werkzeuge zu einer völlig ungebundenen Einstellung der Seitenlayoutparameter zur Verfügung. Man sollte dieses jedoch nur dann tun, wenn Vorgaben zu erfüllen sind, die nicht unbedingt typografischen Gesichtspunkten folgen. Vor allem sollte man davon Abstand nehmen, die entsprechenden internen Längen von LaTeX direkt zu verändern. Stattdessen empfiehlt sich die Verwendung von Paketen, die anwendernahe Parameter zur individuellen Einstellung anbieten. Es sind dies die beiden Pakete typearea und geometry. Das Paket typearea gehört zum KOMA-Paket und ist deshalb auch bei den KOMA-Klassen für die Satzspiegelberechnung zuständig. Bei Verwendung einer KOMA-Klasse muss also typearea nicht explizit geladen werden.

Bei Verwendung von typearea (oder einer KOMA-Klasse) kann mit der Anweisung

    \areaset{<Breite>}{<Höhe>}
    

im Vorspann die Größe des Satzspiegels in physikalischen Längeneinheiten eingestellt werden. Die Seitenränder werden dann passend dazu berechnet und eingestellt.

Eine völlig freie Einstellung des Layouts ist mit dem Paket geometry möglich. Es erlaubt die explizite Angabe von Parametern wie [margin], [left], [right] usw. So würden beispielsweise die Anweisungen

    \usepackage{geometry}
    \geometry{hmargin=2cm,top=1cm,bottom=4cm}
    

den linken und den rechten Rand (die horizontalen Ränder) auf 2 cm einstellen, den oberen Rand auf 1 cm und den unteren Rand auf 4 cm. Eine völlig äquivalente Notation wäre zum Beispiel

    \usepackage{geometry}
    \geometry{hmargin=2cm,vmargin={1cm,4cm}}
    

Die Beschreibung aller möglichen Parameter und Notationsmöglichkeiten würde hier zu weit führen. Es lohnt sich ein Blick in die Dokumentation des geometry-Paketes.

up down

Doppelseitiger Entwurf

Für Konzeptausdrucke zum Korrekturlesen oder um die Seitenumbrüche zu kontrollieren möchte man häufig gerne zwei Dokumentseiten nebeneinander auf eine DIN-A4-Seite im Querformat ausdrucken. Ein Problem dabei ist, dass ohne weitere Vorkehrungen die erste Seite links zu liegen kommt. Im ganzen Konzeptausdruck wären in der Folge linke und rechte Seiten vertauscht. So bekommt man dennoch keinen richtigen Eindruck vom Aussehen einer Doppelseite. Die Kopf- und Fußzeilen stoßen verkehrt herum aneinander, die äußeren Ränder sind innen und umgekehrt. Abhilfe würde eine zusätzliche leere Seite vor der Titelseite schaffen. Diese möchte man aber vermutlich nicht im Hauptdokument haben, nur um vernünftige Konzeptausdrucke zu erhalten.

Eine schöne Möglichkeit, diese Leerseite erst bei der doppelseitigen Ausgabe einzufügen bietet das Paket pdfpages durch die Option [openright] oder durch Angabe von {} beim Parameter pages. Um das Paket anwenden zu können, muss das auszudruckende Dokument als PDF vorliegen und man muss wiederum pdflatex, xelatex oder lualatex zur Verarbeitung benutzen, also wieder direkt PDF ausgeben. Das Dokument

    % Mit pdflatex, xelatex oder lualatex (PDF-Ausgabe) verarbeiten
    \documentclass[a4paper]{article}
    \usepackage{pdfpages}
    \begin{document}
    \includepdf[pages={{},-},
                nup=1x2,
                landscape=true,
                frame=true,
                noautoscale=true,
                scale=0.9,
                delta=0mm 5mm]{din-a5-dokument.pdf}
    \end{document}
    

zeigt ein Beispiel, mit dem ein Dokument im DIN-A5-Format leicht verkleinert und mit Rahmen um jede Seite doppelseitig auf DIN A4 im Querformat ausgegeben wird.

Eine weitere Möglichkeit stellt die Anwendung von Programmen aus der Sammlung psutils dar. In diesem Fall erreicht man ein ähnliches Ergebnis durch Bearbeitung von PostScript-Dateien mit den Aufrufen

    psselect -p_ -p- din-a5-dokument.ps temp.ps
    psnup -Pa5 -pa4 -2up -s1 temp.ps din-a4-dokument.ps
    
up down

Pixelgrafiken

Es sollen hier nur die beiden Pixelformate PNG und JPEG behandelt werden, da sie die beiden wichtigen Fälle von verlustfreier Kompression (PNG) und verlustbehafteter Kompression (JPEG) abdecken. Andere Pixelformate können mit Konversionswerkzeugen (zum Beispiel ImageMagick) leicht in diese Formate gewandelt werden. Typischerweise eignet sich JPEG besser für Fotografien, während PNG eher einfachere Grafiken mit klar abgegrenzten Farbflächen besser komprimiert. Eine allgemeingültige Aussage kann dazu aber nicht gemacht werden. Pixelgrafiken sind jedoch grundsätzlich eine schlechte Wahl für Strichzeichnungen oder Grafiken mit geometrischen Formen und Farbflächen. Derartige Grafiken können viel effizienter, auflösungsunabhängig und beliebig skalierbar in Vektorformaten (z. B. EPS oder PDF) abgelegt werden.

Beide Formate (PNG und JPEG) können von pdflatex direkt eingelesen werden, falls sich pdflatex im PDF-Modus befindet, d. h. wenn direkt PDF ausgegeben wird. Möchte man dagegegen latex oder pdflatex im DVI-Modus mit nachgeschaltetem dvips verwenden (etwa weil man auf dem Weg zum PDF einen PostScript-Interpreter benötigt), dann müssen diese Pixelformate in das EPS-Format gewandelt werden. Viele Grafikprogramme bieten zwar einen EPS-Export an, jedoch nutzen nur wenige von ihnen die PostScript-Möglichkeiten zum Einbetten von Pixelgrafiken. Stattdessen erzeugen sie massenhaft PostScript-Befehle zum Zeichnen der einzelnen Pixel. Es liegt auf der Hand, dass diese Methode sehr ineffizient ist. Ein deutlicher Hinweis darauf ist, wenn die EPS-Datei sehr viel größer ist, als die ursprüngliche PNG- oder JPEG-Datei.

Ein besserer Weg ist die Verwendung des Kommandozeilenprogramms sam2p. Durch die Aufrufe

    sam2p input.jpg output.eps
    sam2p input.png output.eps
    

können die Pixelformate PNG und JPEG sehr viel effizienter in das EPS-Format gewandelt werden. Auch wenn EPS normalerweise eine Vektorgrafik beinhaltet, wird durch diese Umwandlung die Pixelgrafik nicht vektorisiert. Es wird lediglich von der Möglichkeit Gebrauch gemacht, Pixelgrafiken in PostScript-Code einzubetten. Sowohl EPS als auch PDF können als Containerformate für Pixelinformation genutzt werden. Umfassend Auskunft über die Möglichkeiten dieser beiden Programme und die Bedeutung der Kommandozeilenoptionen gibt die Dokumentation.

Obwohl LaTeX und die Anzeigeprogramme natürlich eine Anzeige in der gewünschten Größe sicherstellen, ist es dennoch zweckmäßig, Pixelgrafiken in genau der gewünschten Pixelgröße einzubetten. Zum einen ist die eingebettete Datenmenge dadurch nicht größer als nötig, zum anderen vermeidet man, dass die Pixelgrafiken von Anzeigeprogramm oder Drucker umskaliert werden müssen, was diese unter Umständen nur mit mangelnder Qualität tun. Dabei ist zu beachten, dass zwischen der Auflösung (in dpi), der Länge (in inch) und der Bildgröße (in px) der feste Zusammenhang

    Auflösung/dpi × Länge/inch = Bildgröße/px

besteht. Eine Grafik der Größe 900×600 (Pixel), die mit einer Breite von 3in eingebunden wird, hat also eine Auflösung von 300dpi. Wird die gleiche Grafik mit einer Breite von 6in eingebunden, so ist sie mit 150dpi aufgelöst.

Beispiel: Ein Foto der Größe 2560×1920 soll mit einer Breite von 4in und einer Auflösung von 300dpi eingebunden werden. Verbliebe es der Originalgröße, wäre es jedoch mit 2560px/4in = 640dpi eingebunden. Um die gewünschte Auflösung zu erreichen, kann man die Grafik zunächst zum Beispiel mit

    mogrify -resize 1200 foto.jpg
    

auf die erforderliche Breite von 300dpi × 4in = 1200px verkleinern und dann per

    \includegraphics[width=4in]{foto}
    

wie gewünscht einbinden. Die direkte Verwendung der Einheit inch erleichtert die Rechnung und vermeidet Rundungsfehler, ist also aus diesem Grund empfehlenswert, jedoch nicht zwingend notwendig. Die explizite Größenangabe bei \includegraphics kann weggelassen werden, wenn die Grafik selbst die Information über die Auflösung mitbringt, sodass sie von LaTeX ausgewertet werden kann. Dies erreicht man durch

    sam2p -m:dpi:-300 foto.jpg foto.eps
    

wobei im EPS die BoundingBox entsprechend der Pixelanzahl und der angegebenen Auflösung (in diesem Beispiel 300dpi) gesetzt wird. Die Formate JPEG und PNG unterstützen direkt die Angabe einer Auflösung in der Datei. Sie kann durch

    mogrify -density 300 foto.jpg
    

auf den im Beispiel gewünschten Wert 300dpi gesetzt werden. Bei JPEG- und PNG-Dateien, welche keine Auflösungsinformation beinhalten und bei denen die Größe auch nicht bei \includegraphics festgelegt wird, wendet pdflatex den Wert von \pdfimageresolution an, der in der Präambel gesetzt werden kann und der per Default auf 72dpi steht.

up down

biblatex-Labels

biblatex verwendet Labels, um die Datensätze in den Bibfiles eindeutig zu referenzieren. Für die Wahl der Labels gibt es (außer dem erlaubten Zeichenvorrat) keine Regeln. Eine häufig verwendete und durchaus zweckmäßige Strategie ist der Aufbau der Labels aus Autorennamen und Erscheinungsjahr. Ein Problem entsteht jedoch, wenn ein Autor innerhalb eines Jahres mehrere Veröffentlichungen aufweist. Um die Eindeutigkeit wieder herzustellen, könnte man im Label zusätzlich eine laufende Nummer einführen. Allerdings ist damit der Rückschluss vom Label auf die Veröffentlichung nicht mehr einfach möglich. Deutlich aussagekräftiger als eine laufende Nummer ist die Verwendung der Seitenzahl der ersten Seite zum Aufbau des Labels. Es ist sehr unwahrscheinlich, dass zwei Veröffentlichungen des selben Autors im gleichen Jahr auch mit der gleichen Seitenzahl beginnen. Ein Vorschlag wäre beispielsweise der Aufbau von Labels nach folgendem Muster:

    <Nachname des Erstautors>:<Erscheinungsjahr>:<Erste Seitenzahl>
    

Diese Vorgehensweise hat auch den großen Vorteil, dass das Label praktisch auf der ersten Artikelseite steht. Wenn man die Veröffentlichung in den Händen hält, kennt man sofort auch das zugehörige Label. Ein Beispiel-Datensatz könnte etwa so aussehen:

    @Article{hill:1994:294,
    author       = {Hill, D. A.},
    title        = {Electronic Mode Stirring for Reverberation Chambers},
    journaltitle = {IEEE Transactions on Electromagnetic Compatibility},
    date         = {1994-11},
    volume       = {EMC-36},
    number       = {4},
    pages        = {294-299},
    langid       = {english},
    }
    
up down

Kursive griechische Symbole

Im Mathematiksatz haben sämtliche Symbole dominierend die Bedeutung einer Variablen und sind deshalb nach ISO-Standard kursiv zu setzen. Dies entspricht (weitgehend) auch dem Normalverhalten von LaTeX. Dort werden alle Symbole und auch die griechischen Kleinbuchstaben kursiv gesetzt. Lediglich bei griechischen Großbuchstaben kommt die aufrechte Variante zum Einsatz. Dies ist im Schriftsatz einiger Länder tatsächlich üblich, geht aber nicht konform mit den ISO-Regeln für den Mathematiksatz. Das Paket isomath korrigiert dieses Verhalten für die in LaTeX voreingestellte Schriftfamilie und bietet zusätzlich weitere nützliche Befehle und Konfigurationsmöglichkeiten. Andere Mathematik-Schriftpakete wie zum Beispiel kpfonts, newtxmath oder mathdesign besitzen eigene Paketoptionen, um die Form der griechischen Großbuchstaben zu steuern. Aufrechte griechische Buchstaben benötigt man weiterhin zum Setzen von bestimmten physikalischen Einheiten wie etwa das Ohm (Ω) oder das Mikrovolt (μV). Für diese Fälle sollte auf das hochentwickelte Paket siunitx zurückgegriffen werden. Es implementiert sehr komfortable und konfigurierbare Funktionen zum korrekten Satz von Zahlenwert und Einheit unabhängig von Textmodus oder Mathematikmodus.

up down

Label-Bezeichner

Bei der Vergabe von aussagekräftigen Namen für Querverweise kommt es häufig vor, dass in einem Abschnitt der gleiche Name sowohl für den Abschnitt selbst, als auch für eine Gleichung und noch für ein Bild passend wäre. Aus Gründen der Eindeutigkeit ist es jedoch nicht möglich, den gleichen Namen mehrmals zu vergeben. Ein Trick, der dieses dennoch ermöglicht, ist die Unterscheidung der Verweisziele durch ein Präfix im Bezeichner. Es erweist sich als nützlich, die Gattung des Verweiszieles (Abschnitt, Gleichung, Bild, etc.) in das Präfix zu packen und dem eigentlichen Namen beispielsweise sec:, eq:, fig: oder tab: voranzustellen. Diese Vorgehensweise ähnelt damit der Verwendung von Namensräumen in der Programmiertechnik. Es ist der Übersichtlichkeit sehr zuträglich, dieses grundsätzlich zu tun, nicht nur dann, wenn ein Namenskonflikt aufzulösen ist. Das folgende Codebeispiel zeigt, wie auf diese Weise der Name »Logarithmus« für verschiedene Verweisziele gleichzeitig verwendet werden kann.

    \section{Der Logarithmus}
    \label{sec:logarithmus}
    \begin{equation}
      \log_b (a) = \dfrac{\ln (a)}{\ln (b)}
      \label{eq:logarithmus}
    \end{equation}
    \begin{figure}
      \centering
      \includegraphics{logarithmus}
      \caption{Verlauf der Funktion $y = \ln (x)$.}
      \label{fig:logarithmus}
    \end{figure}
    Abschnitt \ref{sec:logarithmus} behandelt die wesentlichen Eigenschaften der
    Logarithmusfunktion. In Abb.~\ref{fig:logarithmus} ist der Verlauf des
    natürlichen Logarithmus $y = \ln (x)$ dargestellt. Der Logarithmus zu einer
    beliebigen Basis $b$ kann durch die Beziehung \eqref{eq:logarithmus} auf den
    natürlichen Logarithmus zurückgeführt werden.
    
up down

Absätze und Vertikalabstände

In Office-Programmen wird ein Absatzende gewöhnlich durch die Eingabe des Zeichens ¶ markiert. Meist führt die Mehrfacheingabe des Absatzendezeichens auch zu einer Vergrößerung des Vertikalabstands. Bedingt durch diese Gewohnheit wird auch in LaTeX häufig versucht, die gewünschte Vertikalgliederung durch mehrfache Absatzenden oder mehrfache erzwungene Zeilenumbrüche zu erzeugen. In LaTeX können dadurch Dinge passieren, die der Anwender nicht erwartet hat. Das liegt daran, dass diese Vorgehensweise semantisch unsinnig ist und von LaTeX auch ganz anders umgesetzt wird. Das Ende eines Absatzes wird in LaTeX durch eine Leerzeile oder durch die Anweisung \par markiert. Ob dabei ein Vertikalabstand entsteht oder nicht, ist in der Dokumentenklasse verankert. Ebenso bewirkt die Eingabe von \\ ein erzwungenes Zeilenende, es beendet nicht den laufenden Absatz. Beide Varianten (Absatzende und Zeilenende) sind das falsche Mittel, um Vertikalabstand zu erzeugen. Innerhalb eines Absatzes erzeugt LaTeX Blocksatz. Ein erzwungenes Zeilenende steht dazu im Widerspruch und auch mehrfach aufeinanderfolgende Zeilenenden sind semantisch relativ sinnfrei, weil man eine leere Zeile nicht beenden kann. LaTeX gibt dazu entsprechende Fehlermeldungen aus. Möchte man beispielsweise eine abgesetzte Adresse angeben, dann sollte man es so nicht machen:

    % Beispiel für schlechten LaTeX-Stil. So *nicht* machen:
    Lorem ipsum dolor sit amet, consectetuer
    adipiscing elit. Etiam lobortis facilisis sem. \\[5mm]
    Axel Schweiß    \\
    Miefweg 55      \\
    01001 Urinstein \\[5mm]
    Nullam nec mi et neque pharetra sollicitudin.
    Praesent imperdiet mi nec ante. Donec ullamcorper,
    felis non sodales commodo, lectus velit ultrices
    augue, a dignissim nibh lectus placerat pede.
    

Ist tatsächlich die explizite Angabe von Vertikalabstand erwünscht, so kann dieser nur zwischen zwei Absätzen (also nachdem der laufende Absatz beendet wurde) mit \vspace angegeben werden. Es besteht auch die Möglichkeit, die Syntax \\[<Länge>] zu verwenden. Dieser Abstand befindet sich dann allerdings innerhalb eines Absatzes, der wegen des erzwungenen Zeilenendes auch nicht im Blocksatz aufgebaut werden sollte. Erzwungene Zeilenenden sind nur in Umgebungen sinnvoll, in denen kein Blocksatz stattfindet, etwa {flushleft}, {flushright} oder {center}. Die Verwendung dieser Umgebung ist meist auch der richtige Weg, das Gewünschte zu erreichen. Das obige Beispiel der abgesetzten Adresse sollte wegen der festen Zeilenumbrüche auch im Flattersatz gesetzt werden. Die {flushleft}-Umgebung sorgt dabei auch gleich für den Vertikalabstand, um die Adresse abzusetzen:

    Lorem ipsum dolor sit amet, consectetuer
    adipiscing elit. Etiam lobortis facilisis sem.
    \begin{flushleft}
      Axel Schweiß \\
      Miefweg 55   \\
      01001 Urinstein
    \end{flushleft}
    Nullam nec mi et neque pharetra sollicitudin.
    Praesent imperdiet mi nec ante. Donec ullamcorper,
    felis non sodales commodo, lectus velit ultrices
    augue, a dignissim nibh lectus placerat pede.
    
up down

Titelseite

Wie im Abschnitt Seitenlayout beschrieben, ist der Satzspiegel bei zweiseitigem Layout nicht auf dem Papier zentriert. Dabei führt es häufig zu Verwunderung, dass LaTeX die Titelseite im Satzspiegel einer ungeraden Seite setzt und sie nicht zentriert. Das Verhalten von LaTeX ist (auch) hier völlig korrekt. Vielmehr ist es so, dass häufig »Titelseite« und »Buchdeckel« verwechselt werden. Der Buchdeckel ist die Vorderseite des Einbandes aus Hartkarton, der den Buchblock umschließt. Er besitzt meist eine eigene Gestaltung, die nicht an die Gestaltung der Buchseiten gebunden ist. Weil der Einband aus einem völlig anderen Druckmedium besteht als der Buchblock, werden er und der Buchblock auch in getrennten Prozessen hergestellt. Es ist daher sinnvoll, den Buchdeckel in einem eigenen Dokument oder auch visuell mit einem Grafikprogramm zu gestalten. Dies entspricht auch seinem Verhältnis zum Rest des Buches. Die Titelseite ist hingegen Teil des Buchblocks und wird auch heute noch meist vom vorhergehenden Schmutztitel vor Verschmutzung geschützt (daher der Name). Die Titelseite ist daher eine ungerade Seite innerhalb des Buchblocks und genau diese Titelseite wird von LaTeX erzeugt.

Bevor man sich an die freie Gestaltung einer eigenen Titelseite mit der {titlepage}-Umgebung macht und sich eine neue Vertikaleinteilung überlegt, lohnt es sich übrigens zu prüfen, ob man nicht mit den erweiterten Titelseiten-Feldern der KOMA-Klassen bereits zurechtkommt. Zusätzlich zu den Feldern \title, \author und \date bieten die KOMA-Klassen nämlich noch die Felder \subtitle, \titlehead, \subject und \publishers. Diese können genutzt werden, um weiteres Material auf der Titelseite an typografisch wohlüberlegten Positionen unterzubringen. Es sei dazu auch betont, dass es nicht verboten ist, innerhalb dieser Felder auch Grafiken oder Tabellen zu verwenden, was erhebliche Gestaltungsspielräume bietet. Die Titelseite eines technischen Berichtes könnte damit beispielsweise so erzeugt werden:

    \documentclass{scrreprt}
    \usepackage[T1]{fontenc}
    \usepackage[scaled=0.92]{helvet}
    \usepackage{mathpazo}
    \usepackage[main=ngerman]{babel}
    \usepackage{pstricks}

    \begin{document}
    \titlehead{%
      \centering Institut für Spitzenforschung \\
                 der Galaktischen Fortschrittsgesellschaft%
               }
    \subject{-- Arbeits- und Ergebnisbericht --}
    \title{Kraftstoffe mit Optisch Aktiver Inversionstemperatur}
    \author{Claire Grube \and Isaac Nix \and Reiner Unsinn}
    \date{April 2012}
    \publishers{%
      \psframebox[cornersize=absolute,
                  linearc=1.5mm,
                  framesep=3mm]{Projektkennzeichen ROZ\,110}%
                }
    \maketitle
    \end{document}
    
up down

LaTeX oder PDFLaTeX

Durch den Aufruf von latex wird das Zwischenformat DVI erzeugt während durch den Aufruf von pdflatex direkt PDF geschrieben wird. Beides hat sowohl Vorteile als auch Einschränkungen, die im Folgenden auch kurz angesprochen werden. Eine verbreitete Fehlinformation ist jedoch, dass man pdflatex benutzen müsse, um Hyperlinks (mit dem Paket hyperref) und optischen Randausgleich (mit dem Paket microtype) zu erhalten. Beides funktioniert auch bei DVI-Ausgabe, wobei für den optischen Randausgleich aber in jedem Fall pdf(e)tex (im DVI-Modus oder im PDF-Modus) benötigt wird.

Moderne TeX-Distributionen verwenden inzwischen pdf(e)tex als Typesetter für beide Formate latex und pdflatex. In diesem Fall bedeutet latex also im Grunde »pdflatex im DVI-Modus«. Daher funktioniert mit aktuellen TeX-Distributionen der optische Randausgleich auch mit latex.

Dennoch kann es Gründe geben, sich gezielt für DVI- oder PDF-Ausgabe zu entscheiden. Wenn direkt PDF ausgegeben wird, spart man sich Zwischenschritte. Die Funktion »font expansion« des Paketes microtype lässt sich sinnvoll nur bei direkter PDF-Ausgabe nutzen, weil bei DVI-Ausgabe die expandierten Metriken für den DVI-Treiber vorgehalten werden müssten. Außerdem kann pdflatex direkt umbrochene Hyperlinks erzeugen, bei DVI-Ausgabe wird dazu die Hilfe des Paketes breakurl benötigt.

Möchte man allerdings die mächtigen Möglichkeiten eines PostScript-Interpreters zur Erzeugung von Grafiken nutzen, dann fällt sein Fehlen bei direkter PDF-Ausgabe natürlich unangenehm auf. pdflatex kann beim Schreiben von PDF (noch?) keinen PostScript-Code interpretieren. latex kann PostScript-Code jedoch in die DVI-Datei schreiben und seine Ausführung dem PostScript-Interpreter überlassen, der dann ins Spiel kommt, wenn die PostScript-Datei mit GSview betrachtet, an einen PostScript-Drucker geschickt oder per ps2pdf nach PDF gewandelt wird. Für pdflatex muss jeglicher PostScript-Code vor dem Lauf interpretiert und nach PDF gewandelt werden. Dies geschieht dann, wenn man EPS-Grafiken per epstopdf nach PDF wandelt. Möchte man im Dokument Grafiken mit dem PostScript-basierten Paket PSTricks erzeugen aber dennoch direkt PDF ausgeben, kann man diese Vorabkonversion mit dem Paket pst-pdf automatisieren.

up down

Text in Formeln

(La)TeX unterscheidet bei der Umsetzung der Eingabe zwischen Text- und Mathematikmodus. Ein Grund dafür liegt in der sehr unterschiedlichen Bedeutung von Buchstaben in Fließtext und als mathematische Variable. Daraus resultiert auch eine grundsätzlich andere typografische Behandlung von Zeichenketten im Mathematikmodus. Für eine korrekte Typografie ist daher die klare Unterscheidung zwischen Formelmaterial und Text unerlässlich.

Ein Aspekt, bei dem dieses zum Tragen kommt, ist die Angabe von physikalischen Größen mit Zahlenwert und Einheit. Die Einheit einer physikalischen Größe wird stets aufrecht gesetzt, während mathematische Variable zu ihrer Kennzeichnung kursiv gesetzt werden. Diese Unterscheidung ist sehr wichtig, denn nur dadurch kann beispielsweise die Masse m von der Einheit m (Meter) unterschieden werden. Zudem sind die Abstände zwischen Zahl und Buchstabe bei der zweifachen Masse 2m anders als bei der Länge 2 m (2 Meter). Bei der physikalischen Größe ist zwischen Zahlenwert und Einheit ein Halbgeviert Festausschluss zu setzen, welches in LaTeX durch den Befehl \, erreicht wird. Die richtige Eingabe in LaTeX ist beispielsweise

    Bei einem Wurf wird die Masse $2m$ über die Entfernung 2\,m geschleudert.
    

Bei Verwendung des Paketes siunitx zur Eingabe von physikalischen Größen kann der zugehörige Befehl \SI sowohl im Text- als auch im Mathematikmodus verwendet werden, die Einheit wird stets aufrecht und mit richtigem Abstand gesetzt. Insbesondere werden auch negative Vorzeichen stets korrekt als Minuszeichen und nicht als Trennstrich gesetzt.

    Bei einem Wurf wird die Masse $2m$ über die Entfernung \SI{3}{\m}
    an den Ort $x=\SI{-2}{\m}$ geschleudert.
    

Ein weiterer Punkt ist die Eingabe von Text innerhalb des Mathematikmodus. Hier ist es falsch, den Text in der Eingabedatei ohne weitere Markierung einfach hinzuschreiben, da er sonst wie eine Folge von mathematischen Variablen behandelt wird und daher kursiv und mit für Fließtext völlig falschen Zwischenabständen gesetzt würde. Für die Eingabe von Text im Mathematikmodus ist die Verwendung des Befehls \text aus dem Paket amsmath zu empfehlen:

    % Falsch! So *nicht* machen:
    \begin{equation}
      Leistung = \dfrac{Energie}{Zeit}
    \end{equation}
    % Richtig:
    \begin{equation}
      \text{Leistung} = \dfrac{\text{Energie}}{\text{Zeit}}
    \end{equation}
    
up down

Fußnoten in Gleitumgebungen

Der gewöhnliche Fußnotenmechanismus, bei dem die Fußnoten am Fuß der Seite gesetzt werden, kann nicht angewendet werden, wenn die Fußnote in eine Gleitumgebung ({figure} oder {table}) verweisen soll. Für das Problem, dass die Fußnote dann mit der Gleitumgebung mitgleiten aber außerhalb gesetzt werden müsste, existiert gegenwärtig keine praktikable Lösung. Jedoch können Fußnoten dann innerhalb einer Gleitumgebung verwendet werden, wenn man den Inhalt der Gleitumgebung (ohne \caption) in eine {minipage}-Umgebung packt, sodass die Fußnoten auch innerhalb der {minipage} und damit innerhalb der Gleitumgebung gesetzt werden.

Fußnoten verwenden innerhalb von {minipage}-Umgebungen den Zähler mpfootnote. Möchte man innerhalb einer {minipage} also die Darstellung des Fußnotenzählers ändern, so ist nicht das Makro \thefootnote sondern das Makro \thempfootnote umzudefinieren (siehe Codebeispiel unten).

Soll eine Fußnote auf mehr als eine Stelle verweisen, so lässt sich das mit dem Makro \footnotemark erreichen. Allerdings verwendet \footnotemark immer das Zählersymbol für Fußnoten auf der Hauptseite. Möchte man dieses Makro innerhalb einer {minipage} verwenden und zusätzlich die Fußnotensymbole ändern, dann müsste man die beiden Makros \thefootnote und \thempfootnote identisch umdefinieren. Eine elegantere Lösung bietet das Paket footmisc, welches zur Verwendung in {minipage}-Umgebungen das Makro \mpfootnotemark bereitstellt. Das folgende Codebeispiel demonstriert die Anwendung:

    \documentclass[captions=tableheading]{scrartcl}
    \usepackage[T1]{fontenc}
    \usepackage[main=ngerman]{babel}
    \usepackage{footmisc}
    \begin{document}
    \begin{table}
      \caption{Tabellenüberschrift}
      \begin{minipage}{\linewidth}\centering
        \renewcommand{\footnoterule} {}
        \renewcommand{\thempfootnote}{\fnsymbol{mpfootnote}}
        \begin{tabular}{ll}
          A                   & B                   \\
          C\mpfootnotemark[1] & D\mpfootnotemark[1] \\
        \end{tabular}
        \footnotetext[1]{Eine Fußnote mit Mehrfach-Verweis}
      \end{minipage}
    \end{table}
    \end{document}
    

In diesem Codebeispiel wird auch gleich die Option [captions=tableheading] der KOMA-Script-Klassen verwendet, um Tabellenüberschriften statt Tabellenunterschriften zu setzen. Ferner wird die Fußnotentrennlinie unterdrückt, weil diese in aller Regel unterhalb der Fußlinie der Tabelle störend wirkt.

up
next LaTeX und Dokumentenerstellung

Valid XHTML 1.1! Valid CSS! Emacs powered