latex:experten

Anwendung für Experten

Die Anwendung für Experten stellt teilweise Mechanismen vor, die mehr Freiheiten bei der Gestaltung von Dokumenten bieten. Die Idee dabei ist nicht, keinen LaTeX-Stein auf dem anderen zu belassen. Bedenken Sie, dass Sie jeder tiefe Eingriff schrittweise von guten, erprobten Gestaltungen entfernen kann.

Weitere geplante Inhalte:

  • Name-Rewriting mit \renewcommand
  • titlesec
  • caption
  • changecntr

Seitenspiegel mit geometry

Das geometry-Paket ist nicht unumstritten. Der klassische LaTeX-Veteran wird einem raten, sich von derart grausigem, der freien Gestaltung, abzuwenden und sich dem üblichen Automatismus hinzugeben. Natürlich sehen wir das auch so ;-).

Aber es gibt Situationen, die nach einem Ausweg rufen:

  • Sie haben verpflichtende Vorgaben
  • Sie benötigen abwechselnd unterschiedliche Seitenlayouts
  • LaTeX bietet keine Lösung für das Zielformat

Genau dann ist es sinnvoll, das geometry-Paket einzusetzen:

\usepackage{geometry}

geometry bietet Mechanismen, den Seitenspiegel bestehend aus Textblock, Marginalienbereich, Kopf- und Fußzeile frei zu definieren. Dabei genügt eine Hand voll Angaben, alle übrigen Werte werden berechnet. Schematisch ist der Aufbau eines Seitenlayouts in der Dokumentation auf Seite 3 beschrieben.

Als Beispiel realisieren wir ein Ausgabeformat, das sich für den Einsatz auf eBook-Readern oder Tablets eignet. eBooks stehen der Herausforderung gegenüber, auf nicht vorhersehbaren Anzeigegrößen und -dimensionen dargestellt zu werden. Dies führt oft zu unschönem Textsatz. PDF-Dateien haben fest vorgegebene Seitenformate und müssen daher entsprechend skaliert werden. Ein für A4 vorbereitetes Dokument wird beispielsweise auf einem Tablet-Device während des Lesens beschnitten.

Im Beispiel erstellen wir ein PDF-Dokument mit den Seiten-Abmessungen 150x200mm. Das entspricht einem Seitenverhältnis von 3:4 und orientiert sich am Apple iPad. Das Ergebnis und den Quellcode gibt es vorab.

Wir starten mit der Dokumentklasse:

\documentclass[11pt,paper=150mm:200mm,pagesize,DIV=11,oneside]{scrbook}

Dann definieren wir uns eine neue Geometrie:

\newgeometry{
  inner=5mm,outer=40mm,
  top=21mm,bottom=40mm,
  marginparsep=5mm,marginparwidth=30mm,
  headheight=7mm,headsep=14mm}

Wer genau hinsieht und sich die Seite schematisch vorstellt, bemerkt, dass wir die Kopfzeile an den oberen Rand der Seite verschieben. Üblichen Druckrändern sind wir hier nicht unterworfen. Die Gestaltung der Kopfzeile ist nicht Teil des Beispiels. Erwähnenswert ist lediglich die Verbreiterung auf das gesamte Seitenformat:

\usepackage{scrpage2}
\setheadwidth[-5mm]{paper}
\setfootwidth[-5mm]{paper}

Damit haben wir ein Seitenlayout, das sich unskaliert für die Anzeige auf einem iPad oder vergleichbaren Geräten dieser Größe eignet. Das vollständige Beispiel ist ein wenig umfangreicher, da es zwischen zwei Layouts wechselt und eine anspruchsvollere Kopf-Gestaltung hat.

Besserer Textsatz mit Microtype

LaTeX nützt zur Gestaltung oft nicht alle vom Unterbau TeX angebotenen Potenziale aus. Daher stellen wir hier das microtype-Paket vor. microtype macht einige hochwertige Textsatz-Features mit wenigen Parametern zugänglich. An dieser Stelle wollen wir uns nicht zu sehr in Details verirren, da es für microtype eine umfassende Dokumentation gibt.

Zusammengefasst bietet das Paket folgende Verbesserungen:

  • Character Protrusion
  • Font Expansion
  • Anpassung des Kernings
  • Anpassung der Wortabstände

Ein Beispiel mit Quellcode zeigt, wie sich das laden des Pakets auswirkt. Für den Anfang sind die Standardoptionen akzeptabel. Achten Sie nur darauf, dass sie microtype auch im Draft-Mode aktivieren, da sich sonst Unterschiede in der Darstellung zwischen draft und final ergeben. Laden Sie das Paket für den Anfang mit:

\usepackage[draft=false,kerning=true]{microtype}

microtype kann nicht mit jeder Schriftart verwendet werden. Gängige Schriften aus den Paketen lmodern, opensans, mathptmx oder mathpazo werden aber voll unterstützt.

Zeichensatz

LaTeX bzw. pdfLaTeX sind nichts anderes als Programme die eine Datei (eine Klartextdatei) lesen (parsen) und in ein anderes Format, hier eben dvi oder pdf übersetzen.

Es ist daher notwendig, dass der Interpreter pdfTeX den Zeichensatz der Inputdatei „richtig“ interpretiert. Per default tut dies pdfTeX nach der 7-bit ASCII Tabelle. Diese Tabelle enthält keine Umlaute und auch diverse Andere Zeichen (wie z.B. ß) nicht. Will man aber jetzt in seinem Text ein ö verwenden (was ja gelegentlich vorkommen soll) und dabei nicht jedes Mal \„o schreiben muss man pdfTeX sagen mit welchen Zeichensatz das ö in dem Text kodiert ist.

  1. Will man LaTeX Dateien erstellen die auf allen Systemen (Linux, BSD, Solaris, MacOS, Windows, usw.) und bei unterschiedlichen lokalen Konfigurationen (denken wir an einen Rechner in Asien) kompilieren, so muss man einen Zeichensatz auswählen der überall interpretiert werden kann. Hier hat sich Unicode UTF-8 also gute Entscheidung herauskristallisiert.
  2. Es ist einer Klartextdatei NICHT anzusehen welche Zeichenkodierung zur Interpretation verwendet werden. Für einen Computer ist eine Datei ein Gefäß voll mit 001011011101010001…. Oft werden als Standard immer 8 bit als ein Buchstabe interpretiert und mit der bereits genannten ASCII Tabelle in einen lesbaren Buchstaben umgewandelt. Das muss so nicht sein. Es gibt auch keine Regelung die sagen würde, dass z.B. die ersten Bit einer Datei die Kodierung bestimmen. Trotzdem sind einige Programme sehr gut darin mit viel Heuristik herauszufinden welche Kodierung es sein könnte. Das ist besten falls fundiertes Raten!
  3. Der Editor bestimmt den verwendeten Zeichensatz. Er schreibt die Datei in Form des Bitmusters auf die Festplatte (oder wo auch immer sonst hin). D.h. der Editor entscheidet über die „richtige“ 010110101… Folge für ein ö.

UTF-8

Unsere Empfehlung ist grundsätzlich heute nach Möglichkeit Unicode UTF-8 zu verwenden. Wichtig ist natürlich dass der Editor Unicode beherrscht. Sollte dieser keine Unicode können, dann wäre zu überlegen einen anderen (moderneren) Editor einzusetzen. Um pdfTeX nun zu erklären, dass es eine Eingabedatei vor sich hat, die nach UTF-8 kodiert ist, ist das Paket inputenc erforderlich:

\usepackage[utf8x]{inputenc}

Die auf dieser Webseite vorgestellten Editoren sollten alle Unicode tauglich sein. Manchmal kann es notwendig sein den Editor dazu zu zwingen Unicode zu schreiben. „Überprüfen“ ist wie gesagt schwierig aber man kann eine Datei (die wissentlich z.B. Umlaute enthält) mit folgenden tools auf deren Zeichensatz prüfen in dem man betrachtet ob die Umlaute richtig dargestellt werden:

  • Webbrowser (z.b. firefox): Alle modernen Browser können eine Vielzahl an Zeichensätzen. Die Datei mit dem Browser öffnen und den Zeichensatz einstellen. Bei firefox 3.6 z.b. unter „View“ → „Character Encoding“.

ISO-8859-1

Bitte nicht verwenden!. Das war der Standardzeichensatz auch unter Linux in Ländern mit lateinischem Alphabet bevor UTF-8 Einzug gehalten hat. Die zugehörige LaTeX Konfiguration

\usepackage[latin1]{inputenc} %% bitte lieber "\usepackage{ucs}" mit "\usepackage[utf8x]{inputenc}" verwenden!

CP-1252

Bitte nicht verwenden!. Unter Windows ist der CP-1252 Zeichensatz nach wie vor üblich für eine Umgebung mit lateinischem Alphabet. In sehr weiten Teilen überschneiden sich CP-1252 und ISO-8859-1 und werden daher oft vermischt. Genau genommen sind es aber 2 unterschiedliche Zeichensätze. Die zugehörige LaTeX Konfiguration

\usepackage[ansinew]{inputenc} %% bitte lieber "\usepackage{ucs}" mit "\usepackage[utf8x]{inputenc}" verwenden!

Erstellen von Präsentationen

Beamer ist eine Dokumentklasse zum erzeugen von pdf-Präsentationen. Somit muss mittels pdflatex gearbeitet werden. Um sofort in einer Umgebung die folgenden Befehle ausprobieren zu können, gibt es ein kleines Beispielprojekt. Je nach verwendeter LaTeX-Distribution muss die Beamer-Klasse eventuell noch installiert werden.

Nach erfolgreicher Installation kann begonnen werden – das Grundgerüst sieht folgendermaßen aus:

  \documentclass{beamer}
  ...
  \begin{document}
  ...
  \end{document}

Das Aussehen wird über vordefinierte Styles in der Preamble definiert. zb:

  \usepackage{beamerthemeshadow}

Einzelne Folien werden mittels \frame definiert, und mittels \frametitle beschriftet.

  \frame{
    \frametitle{Titel der Folie}
 
    ...
  }

Struktur in die Präsentation bringt man, indem man mittels \section und \subsection Folien zusammenfasst. Dies sollte man am besten jeweils außerhalb der „frames“ machen

  \section{Einleitung}
  \subsection{Theorie}
 
  \frame{...}
 
  \subsection{Beispiel}
 
  \frame{...}
  ...

Die zeitliche Abfolge von Aufzählungen wird mittels <> oder \pause gesteuert.

  \begin{enumerate}
    \item <1-> erster Eintag
    \item <2-> zweiter Eintrag
  \end{enumerate}

oder

  \begin{enumerate}
    \item erster Eintag \pause
    \item zweiter Eintrag \pause
  \end{enumerate}

Beispiele:

  • <2-4> besagt, dass in den Schritten 2-4 das Element \item zu sehen sein soll.
  • < -3> = Beginn bis 3
  • <2- > = 2 bis Ende
  • < -2, 4-6, 8- >

Mittels \visible <> kann ein Teil nur in den entsprechenden Stufen dargestellt werden, in den übrigen verschwinden sie. \only <> ist ähnlich, jedoch mit dem Unterschied, dass es die entstehende Lücke schließt, indem es nachfolgenden Text nach vor schiebt. Blöcke werden folgendermaßen gesetzt:

  \begin{block}{Beschriftung}
    Inhalt des Blocks
  \end{block}

man unterscheidet:

  • block = für Infos
  • exampleblock = für Beispiele
  • alertblock = für besonders hervorzuhebendes

Audio und Video Material kann mit dem multimedia-Packet eingebunden werden. Dazu in der Preamble:

  \usepackage{multimedia}
  \usepackage{hyperref}

und an gewünschter Stelle:

  \movie[height=3.5cm, width=4.8cm]{movie-label}{moviefile.avi}

in den Optionen können divere Einstellungen (zb: Höhe, Breite) getroffen werden. Ähnliches gilt für Sounds.

  \sound[height=3.5cm, width=4.8cm]{sound-label}{soundfile.wav}

Details zur beamer Klasse findet man im beameruserguide, bzw. wenn man „latex beamer“ googled.

Text in Grafiken ersetzen

Es gibt die Möglichkeit, Text in einer EPS-Grafik durch LaTeX-Text zu ersetzen. Zum besseren Verständnis ein Beispiel. Die obere Grafik stellt das EPS dar, wie es ein Vektorgrafikprogramm (z.B. xfig) exportiert. Die in xfig eingegebenen Zeichen „a“, „b“ und „c“ können nun beim Einbinden in LaTeX durch beliebige Zeichenfolgen ersetzt werden.

Dazu müssen die Zeichen jedoch vom Grafikprogramm auch wirklich als Schriftzeichen und weder als Bitmap noch als einzelne Linienelemente exportiert werden:

Programme, die korrekt exportieren:

Programme, die nicht korrekt exportieren:

  • Inkscape (Auf dieser Seite wird eine Methode beschrieben wie mit Inkscape trotzdem sehr elegant LaTeX Texte in Grafiken gesetzt werden können)
  • Gimp
  • CorelDraw
  • Photoshop
  • QCad
  • AutoCAD

Zusätzlich zum graphicx-Paket muß das psfrag-Paket geladen werden:

\usepackage{psfrag,graphicx}

Das obige Beispiel mit ersetztem Text wurde nun folgendermaßen erstellt:

\begin{figure}[htbp]
  \centering
    \psfrag{a}[c][c]{$a=6\unit{m}$}
    \psfrag{b}[b][l]{$b=4\unit{m}$}
    \psfrag{c}[b][r]{$c=\sqrt{a^2 + b^2}$}
    \includegraphics[width=0.5\textwidth]{./pyt.eps}
    \caption{mit ersetztem Text}
\end{figure}

\psfrag muß vor dem Einfügen der Grafik eingebunden werden. Da das Ganze in einer abgegrenzten Umgebung geschieht (hier figure, könnte jedoch auch \begin{center}\end{center} o.ä. sein), wirkt sich das Ersetzen nicht global aus, jedoch auf alle eingefügten Grafiken innerhalb der figure-Umgebung.

Der erste Parameter {a} gibt an, welche Zeichenkette zu ersetzen ist. Prinzipiell können bei \psfrag bis zu 4 Optionen angegeben werden (bzgl. Positionierung und Rotation). Die angegebenen [c],[l],[b] und [r] geben an, wie der Ersatztext horizontal und vertikal auszurichten ist: die Hypothenuse c wird durch einen etwas längeren Text ersetzt, der eventuell die Gerade überschreiben würde - deshalb wird der Ersatztext von c rechtsbündig ausgerichtet. Da sich „a“ in der Mitte der unteren Kante befindet, wird der Ersatztext zentriert.

Der nun schon oft angesprochene Ersatztext folgt zum Schluß, z.B. {$c=\sqrt{a^2 + b^2}$}. Handelt es sich beim Ersatztext um eine mathematische Formel, muß diese natürlich durch $ … $ begrenzt werden.

Erstellen von Grafiken direkt in LaTeX

Man muss hier wieder unterscheiden mit welcher Methode man die Dateien kompiliert (näheres finden Sie in der zugehörigen Sektion der Expertenanleitung).

  • pstricks falls mit latex kompiliert wird, also zuerst eine DVI Datei (PostScript) erstellt wird.
  • Tikz und PGF mit einer schönen Beispielseite falls mit pdflatex kompiliert wird, also direkt eine PDF Datei erstellt wird.
latex/experten.txt · Zuletzt geändert: 28.11.2013 19:52 von Thomas Quaritsch