Homepage von Uwe Siart » Typografie
LaTeX-Tipps
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/ |
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/ |
Linksammlung der TUG | https://tug.org/interest.html |
LORIA LaTeX navigator | http://tex.loria.fr/ |
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 |
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.
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.
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.
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.
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.
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
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.
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}, }
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.
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.
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.
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}
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.
(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}
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.