latex:fortgeschrittene

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
latex:fortgeschrittene [18.03.2013 23:24]
Thomas Schlager [newcommand: Eigene Kommandos]
latex:fortgeschrittene [23.03.2013 16:33]
Thomas Schlager [URLs und externe Links]
Zeile 34: Zeile 34:
 Oft bieten die KOMA-Skripts jene Options-Vielfalt,​ die vielen neuen und fortgeschrittenen Benutzern von LaTeX fehlt oder sehr kompliziert realisiert wird. Beliebt ist beispielsweise der verfügbare "​Miniabschnitt"​ ''​\minisec{kleine Überschrift}'',​ den man in Standardklassen misst. Dabei handelt es sich um eine kleine, nicht numerierte Überschrift (Beispiele dafür sind in der [[http://​ftp.univie.ac.at/​packages/​tex/​macros/​latex/​contrib/​koma-script/​doc/​scrguide.pdf|KOMA-Dokumentation]] auf Seite 101f zu finden. Oft bieten die KOMA-Skripts jene Options-Vielfalt,​ die vielen neuen und fortgeschrittenen Benutzern von LaTeX fehlt oder sehr kompliziert realisiert wird. Beliebt ist beispielsweise der verfügbare "​Miniabschnitt"​ ''​\minisec{kleine Überschrift}'',​ den man in Standardklassen misst. Dabei handelt es sich um eine kleine, nicht numerierte Überschrift (Beispiele dafür sind in der [[http://​ftp.univie.ac.at/​packages/​tex/​macros/​latex/​contrib/​koma-script/​doc/​scrguide.pdf|KOMA-Dokumentation]] auf Seite 101f zu finden.
  
 +===== Kopf- und Fußzeilen gestalten =====
 +
 +In Textdokumenten sind Kopf- und Fußzeilen zur Darstellung generischer Inhalte wie der aktuellen Seite oder des aktuellen Kapitels üblich. Im Regelfall berechnet LaTeX für Ihr Dokument einen Satzspiegel,​ der Seitenbereiche für diese Elemente vorsieht. In diesem Abschnitt beschreiben wir, wie Sie Kopf- und Fußzeilen Ihren Wünschen mit Hilfe der KOMA-Erweiterung ''​scrpage2''​ anpassen können. Dies ist ein Auszug aus der [[http://​ftp.univie.ac.at/​packages/​tex/​macros/​latex/​contrib/​koma-script/​doc/​scrguide.pdf|KOMA-Dokumentation]] ab Seite 214. Wir starten mit:
 +<code latex>
 +\usepackage[automark]{scrpage2}
 +</​code>​
 +
 +Innerhalb Ihrer Arbeit kann es unterschiedlich konfigurierte Kopf- und Fußzeilen geben. Bei LaTeX nennt man so eine Konfigurationen Seitenstil, die mit dem Befehl ''​\pagestyle{...}''​ aktiviert wird. Wenn Sie das ''​scrpage2''​-Paket geladen haben, stehen Ihnen zwei neue Seitenstile zur Verfügung. Sie verwenden insgesamt drei Stile:
 +  * ''​empty'':​ leere Konfiguration
 +  * ''​scrplain'':​ Konfiguration für Seiten die z.B. Teil von Inhalts- und Tabellenverzeichnis sind
 +  * ''​scrheadings'':​ reguläre Konfiguration
 +
 +Diese Stile werden automatisch bei den jeweiligen Seiten aktiviert. So sind die Stile vordefiniert:​
 +  * ''​scrplain'':​
 +    * Einseitige Dokumente: Seitennummer unten (zentriert)
 +    * Zweiseitige Dokumente: Seitennummer unten (außen)
 +  * ''​scrheadings'':​
 +    * Einseitige Dokumente: Kolumnentitel oben (zentriert),​ Seitennummer unten (zentriert)
 +    * Zweiseitige Dokumente: Kolumnentitel oben (außen, links Hierarchie 1, rechts Hierarchie 2), Seitennummer unten (außen)
 +
 +Wollen Sie Ihren eigenen Stil entwerfen, beginnen Sie damit, die bestehenden Stile zu leeren:
 +<code latex>
 +\pagestyle{scrheadings}
 +\clearscrheadfoot
 +</​code>​
 +
 +Nun sind alle Ihre Seitenstile leer. Wir stellen Ihnen jetzt einen Teil der Befehle vor, mit denen Sie neue Komponenten eingliedern können. In vielen Fällen sind die hier vorgestellten ausreichend. Alle übrigen entnehmen Sie bitte der KOMA-Dokumentation:​
 +<code latex>
 +  \ihead[...]{...}
 +  \chead[...]{...}
 +  \ohead[...]{...}
 +</​code>​
 +Mit diesen Befehlen können Sie die Kopfzeile befüllen. Der optionale Parameter in eckigen Klammern definiert den Inhalt für ''​scrplain'',​ der in den geschwungenen für ''​scrheadings''​. ''​\ihead''​ befüllt die Innenseite: //links oben auf rechten Seiten und rechts oben auf linken Seiten// ;-). ''​\chead''​ befüllt die Kopfzeile zentriert. ''​\ohead''​ befüllt die Außenseite. Bei einseitigen Dokumenten ist jede Seite eine rechte Seite. Die gleichen Befehle gibt es für die Fußzeile: ''​\ifoot'',​ ''​\cfoot'',​ ''​\ofoot''​. Auch hier gilt: innen (**i**nner),​ zentriert (**c**enter),​ außen (**o**uter).
 +
 +Als Beispiel befüllen wir die Kopfzeile jeweils auf der Außenseite mit der Seitennummer für beide Seitenstile. Weiters befüllen wir die Innenseite der Kopfzeile mit einem Kolumnentitel -- allerdings nur im regulären Seitenstil ''​scrheadings'':​
 +<code latex>
 +\ohead[\pagemark]{\pagemark}
 +\ihead[]{\headmark}
 +</​code>​
 +
 +Der Kolumnentitel verhält sich vorerst wie voreingestellt. In der Klasse ''​scrbook''​ wird links das aktuelle Kapitel und rechts der aktuelle Abschnitt angezeigt. Angenommen Sie wollen den Kolumnentitel eine Ebene tiefer angeben, können Sie dies mit ''​\automark{links}{rechts}''​ angeben. Zur Illustration die Voreinstellung und die Anpassung:
 +<code latex>
 +\automark[chapter]{section} ​       % Voreinstellung
 +\automark{section}{subsection} ​    % Anpassung
 +</​code>​
 +
 +Falls Sie es wünschen, können Sie auch Trennlinien zwischen Kopfzeile und Text erstellen:
 +<code latex>
 +\setheadsepline[\textwidth]{1pt}
 +</​code>​
 +
 +Änderungen am Schriftsatz führen Sie am Besten mit ''​\setkomafont''​ durch. Wir wechseln als Beispiel in eine serifenlose Schrift und stellen die Seitennummer im Fettdruck dar:
 +<code latex>
 +\setkomafont{pageheadfoot}{\sffamily}
 +\setkomafont{pagenumber}{\bfseries}
 +</​code>​
 +
 +Für weitere Möglichkeiten konsultieren Sie bitte die Dokumentation von ''​scrpage2''​.
 ===== Abbildungen und Gleitobjekte ===== ===== Abbildungen und Gleitobjekte =====
  
Zeile 60: Zeile 118:
 </​code>​ </​code>​
  
-Wichtig ist ''​\caption''​ immer vor ''​\label''​ zu verwenden. Andernfalls bezieht sich ein Label immer auf die zuletzt ​im Dokument ausgegebene Nummerierung ​-- das kann beispielsweise die letzte Überschrift vor der Abbildung sein. +Wenn Sie Quellenangaben in der Beschriftung ​verwenden, so können Sie diese damit im Abbildungsverzeichnis unterdrücken:​ 
 +<code latex> 
 +\caption[BHKW-Transferverluste]{BHKW-Transferverluste \cite{Roger_2011}} 
 +</​code>​
  
 +
 +Wichtig ist ''​\caption''​ immer vor ''​\label''​ zu verwenden. Andernfalls bezieht sich ein Label immer auf die zuletzt im Dokument ausgegebene Nummerierung -- das kann beispielsweise die letzte Überschrift vor der Abbildung sein. 
 ==== Automatische Positionierung ==== ==== Automatische Positionierung ====
  
Zeile 90: Zeile 153:
  
   * ''​[h]'':​ an der Stelle, an der es in der Eingabedatei angegeben ist (//here//)   * ''​[h]'':​ an der Stelle, an der es in der Eingabedatei angegeben ist (//here//)
-  * ''​[t]'':​ am oberen Ende der Folgeseite (//top//)+  * ''​[t]'':​ am oberen Ende der aktuellen oder Folgeseite (//top//)
   * ''​[b]'':​ am unteren Ende der aktuellen Seite (//​bottom//​)   * ''​[b]'':​ am unteren Ende der aktuellen Seite (//​bottom//​)
   * ''​[p]'':​ auf einer eigenen Seite für ein oder mehrere Gleitobjekte (//page//)   * ''​[p]'':​ auf einer eigenen Seite für ein oder mehrere Gleitobjekte (//page//)
Zeile 100: Zeile 163:
 Wenn Sie bedenken, dass sich Ihre Textpassagen im Laufe der Arbeit ändern und damit das nachfolgende Seitenlayout beeinflusst wird, so sollte Ihnen klar werden, dass Positions-Empfehlungen nur am Ende Ihrer Arbeit sinnvoll sind. Sonst öffnen Sie das Tor für den beschriebenen Effekt. Besser aber verwenden Sie **keine Positions-Empfehlungen**. Wenn Sie bedenken, dass sich Ihre Textpassagen im Laufe der Arbeit ändern und damit das nachfolgende Seitenlayout beeinflusst wird, so sollte Ihnen klar werden, dass Positions-Empfehlungen nur am Ende Ihrer Arbeit sinnvoll sind. Sonst öffnen Sie das Tor für den beschriebenen Effekt. Besser aber verwenden Sie **keine Positions-Empfehlungen**.
  
-==== Warnung: ​Positionierung ohne Gleitobjekt ====+==== Positionierung ohne Gleitobjekt ====
  
-Von der Grafik-Positionierung im Fließtext ohne Gleitobjekte wird vehement abgeraten. Sie gefährden damit die Layout-Qualität Ihrer Arbeit. Gleitobjekte sind außerdem Voraussetzung für automatische Nummerierung und Beschriftung von Abbildungen.+<note warning>​Warnung:​ von der Grafik-Positionierung im Fließtext ohne Gleitobjekte wird vehement abgeraten. Sie gefährden damit die Layout-Qualität Ihrer Arbeit. Gleitobjekte sind außerdem Voraussetzung für automatische Nummerierung und Beschriftung von Abbildungen. 
 +</​note>​
 ==== Gleitobjekte und Fußnoten ==== ==== Gleitobjekte und Fußnoten ====
  
Zeile 212: Zeile 276:
  
 <note important>​**Best Practice:** <note important>​**Best Practice:**
-  * Abbildungen immer in Gleitobjekte einschließen+  * Abbildungen immer in Gleitobjekte einschließen ​und mit ''​\caption''​ versehen
   * Gleitobjekte ohne Empfehlungs-Parameter von LaTeX positionieren lassen   * Gleitobjekte ohne Empfehlungs-Parameter von LaTeX positionieren lassen
   * Grafiken verwenden, die sich für den Einsatz im Textbereich eignen   * Grafiken verwenden, die sich für den Einsatz im Textbereich eignen
Zeile 218: Zeile 282:
  
    
-===== newcommand: Eigene Kommandos =====+===== Querverweise und Links ===== 
 + 
 +Wir haben im [[latex:tutorial|Tutorial]] schon kurz auf Querverweise im Dokument hingewiesen. Wir haben gezeigt, wie Sie auf Ihre //Labels// mit den Befehlen ''​\ref''​ und ''​\pageref''​ verweisen können. Für die nachfolgenden Beispiele gibt es ein {{:​latex:​ref.pdf|Beispieldokument}} mit {{:​latex:​ref.tex|Quellcode}}. Auf eine Abbildung verweisen Sie so: 
 +<code latex> 
 +Abbildung~\ref{fig:​kennzeichnung} 
 +</​code>​ 
 +Das ''​~''​-Zeichen verwenden Sie anstatt des Leerzeichens. Das verbietet LaTeX, einen Zeilenumbruch zwischen "​Abbildung"​ und der Nummerierung einzufügen. Die Kennzeichnung im ''​\label{...}''​-Befehl können Sie frei wählen. Guter Stil ist es, Abbildung mit ''​fig:'',​ Tabellen mit ''​tab:'',​ Gleichungen mit ''​eq:'',​ Kapitel mit ''​chap:''​ und Abschnitte mit ''​sec:''​ einzuleiten. Benutzen Sie für Ihre Labels keine anderen Sonder- oder Leerzeichen. 
 + 
 +==== Hyperref und automatische Betitelung ==== 
 + 
 +In weiterer Folge zeigen wir, wie Sie Quer- und andere Verweise besser gestalten können. Dazu verwenden wir das Zusatzpaket ''​hyperref'',​ vorerst ohne Optionen. Das ''​hyperref''​-Paket wird üblicherweise als letztes Paket in der Präambel geladen, da es sich so auf alle zuvor geladenen Pakete einstellen kann: 
 +<code latex> 
 +\usepackage{hyperref} 
 +</​code>​ 
 + 
 +''​hyperref''​ baut nun, gemäß den Standardeinstellungen Sprungmarken und Meta-Informationen in Ihr Ausgabedokument ein. So können Sie durch Klick auf Querverweise direkt zum Ziel springen. Ebenso können PDF-Anzeigeprogramme wie Acrobat Reader die Inhaltsstruktur anzeigen und die Seitennummerierung erkennen. Damit stimmen die Seitennummern im PDF-Anzeigeprogramm mit denen in Ihrer Kopf- oder Fußzeile überein, auch wenn Sie unterschiedliche Typen (römisch, arabisch, alphanumerisch) mischen.  
 + 
 +''​hyperref''​ stellt auch neue Befehle für eine bessere Referenzierung zur Verfügung:​ 
 + 
 +  * ''​\autoref'':​ gibt nicht nur Nummerierung sondern auch Typ des referenzierten Objektes wieder (z.B. Abbildung) 
 +  * ''​\nameref'':​ gibt nicht die Nummerierung sondern den Namen des referenzierten Objektes wieder (z.B. die Abschnittsüberschrift). 
 + 
 +So verwenden Sie statt ''​Bezeichnung~\ref{}''​ einfach: 
 +<code latex> 
 +Der Energieverlust liegt dabei in den in 
 +\autoref{fig:​verlust} dargestellten Bereichen. 
 +</​code>​ 
 + 
 +So können Sie sich ein wenig Schreibarbeit ersparen. Nebenbei besteht so jeder Link aus Bezeichnung und Nummer anstatt der Nummer alleine. Die Standardnamen für den ''​\autoref''​-Befehl lassen sich natürlich anpassen: 
 +<code latex> 
 +\renewcommand{\sectionautorefname}{Abschnitt} 
 +\renewcommand{\subsectionautorefname}{Abschnitt} 
 +\renewcommand{\subsubsectionautorefname}{Abschnitt} 
 +\renewcommand{\figureautorefname}{Abb.} 
 +\renewcommand{\tableautorefname}{Tab.} 
 +</​code>​ 
 + 
 +Das ''​hyperref''​-Paket hat viele Optionen: Sie können die Art der Meta-Informationen,​ PDF-Anzeigeeinstellungen,​ Auswahl und Kennzeichnungen von Links und andere Features anpassen. Eine Einstellung,​ die viele Benutzer ändern wollen ist die Farbdarstellung der Links. Rahmen um Links werden in Form von PDF-Kommentaren erstellt und können so ausgeblendet und vom Druck ausgenommen werden. Änderungen an der Schriftfarbe dagegen wirken sich auch auf die Druckversion aus. Änderungen führen Sie mit dem Befehl ''​\hypersetup''​ durch. Hellblaue Rahmen um alle Links: 
 +<code latex> 
 +\usepackage{xcolor} 
 +\definecolor{lightblue}{cmyk}{0.346,​ 0.114, 0, 0.106} 
 + 
 +\usepackage{hyperref} 
 +\hypersetup{ 
 +  colorlinks=false,​ 
 +  allbordercolors={lightblue} 
 +
 +</​code>​ 
 + 
 +Nicht jedes PDf-Anzeigeprogramm stellt die Rahmen dar - bei manchen muss dies erst aktiviert werden. Acrobat Reader aber tut dies standardmäßig. Beliebt ist auch die Option ''​linktocpage=true'',​ die statt den Texten nur die Seiten im Inhaltsverzeichnis verlinkt. Wollen Sie ''​hyperref''​ verwenden, aber die Links nicht hervorheben,​ genügt ''​colorlinks=false,​allbordercolors=white''​. Weitere Einstellungsmöglichkeiten können Sie der [[https://​www.tug.org/​applications/​hyperref/​manual.html|Dokumentation entnehmen]]. 
 + 
 +==== URLs und externe Links ==== 
 + 
 +''​hyperref''​ stellt wie das Paket ''​url''​ den Befehl ''​\url{...}''​ für die Darstellung von URLs zur Verfügung. Innerhalb des Befehls müssen Sie sich nicht um die von LaTeX unterdrückten Sonderzeichen kümmern. Um die Darstellung von URLs zu ändern, müssen Sie den Befehl ''​\UrlFont''​ neu definieren. Als Beispiel verwenden wir Courier als Schrift und eine etwas andere Darstellung:​ 
 + 
 +<code latex> 
 +\usepackage{courier} 
 +... 
 +\renewcommand\UrlFont{\ttfamily\bfseries\small} 
 +</​code>​ 
 + 
 +URLs sind oft sehr lang und können manchmal schwer umgebrochen werden - auch hier versucht LaTeX, gewisse Regeln einzuhalten. Haben Sie mit dem Standardverhalten Probleme, konsultieren Sie ebenfalls die ''​hyperref''​ Dokumentation. Wollen Sie statt der gesamten URL einen Link-Namen angeben, benutzen Sie ''​\href{ziel}{name}'':​ 
 +<code latex> 
 +\href{http://​latex.tugraz.at}{{\LaTeX}@TU Graz} 
 +</​code>​ 
 + 
 +<note important>​ 
 +**Best Practice**:​ 
 +  * Gestalten Sie Ihre Labels sinnvoll und verwenden Sie die Präfixe ''​sec:'',​ ''​fig:'',​ ''​tab:'',​ ... 
 +  * Verweisen Sie auf alle Ihre Abbildungen und Tabellen im Text 
 +  * Verwenden Sie ''​hyperref'',​ wenn Sie Dokumente digital verbreiten 
 +  * Verwenden Sie für Querverweise einheitliche Bezeichnungen -- am Besten verwenden Sie das Paket ''​hyperref''​ und den Befehl ''​\autoref''​. 
 +</​note>​ 
 + 
 +===== Eigene Kommandos =====
  
 In einer Arbeit werden bestimmte Befehlskonstruktionen oft mehrmals gebraucht. Solche Konstruktionen können recht einfach zu neuen Befehlen zusammengefaßt werden. In einer Arbeit werden bestimmte Befehlskonstruktionen oft mehrmals gebraucht. Solche Konstruktionen können recht einfach zu neuen Befehlen zusammengefaßt werden.
Zeile 626: Zeile 764:
   * Auf vertikale Trennlinien verzichten   * Auf vertikale Trennlinien verzichten
   * Tabellen immer in Gleitobjekte (''​table''​) einschließen und mit ''​\caption''​ versehen   * Tabellen immer in Gleitobjekte (''​table''​) einschließen und mit ''​\caption''​ versehen
 +  * "Best Practice"​ für [[latex:​fortgeschrittene#​abbildungen_und_gleitobjekte|Gleitobjekte]]
 </​note>​ </​note>​
 ===== Index anlegen ===== ===== Index anlegen =====
Zeile 674: Zeile 813:
  
 Das Paket [[http://​dante.ctan.org/​CTAN/​help/​Catalogue/​entries/​glossaries.html|glossaries]] erlaubt ebenfalls das Erstellen eines Indexes. Hier werden auch noch weitere Möglichkeiten geboten wie zum Beispiel die Erstellung eines Abkürzungsverzeichnisses oder eines Symbolverzeichnisses. Die [[Dokumentation:​faq#​wie_erstellt_man_ein_glossar_oder_ein_abkuerzungsverzeichnis|FAQs]] haben hierzu einen interessanten Link. Das Paket [[http://​dante.ctan.org/​CTAN/​help/​Catalogue/​entries/​glossaries.html|glossaries]] erlaubt ebenfalls das Erstellen eines Indexes. Hier werden auch noch weitere Möglichkeiten geboten wie zum Beispiel die Erstellung eines Abkürzungsverzeichnisses oder eines Symbolverzeichnisses. Die [[Dokumentation:​faq#​wie_erstellt_man_ein_glossar_oder_ein_abkuerzungsverzeichnis|FAQs]] haben hierzu einen interessanten Link.
- 
-===== Links in Dokumenten ===== 
- 
-Aus vielen PDF-Dokumenten kennt man es sicher - die Einträge der Inhaltsangabe verlinken auf die einzelnen Kapitel, es gibt eine "​Strukturübersicht"​ im Acrobat Reader mit allen Abschnitten,​ und ein Klick auf Internetadressen öffnen diese im Browser. Die Erstellung solcher Links ist mit dem Paket "​hyperref"​ möglich: 
- 
-<code latex> 
-\usepackage{hyperref} 
-</​code>​ 
- 
-Dieses Paket sollte als **letztes** aller Pakete geladen werden! 
- 
-Das sollte reichen, um per Mausklick im PDF zu Kapiteln springen zu können. Wie solche Links gekennzeichnet sind, hängt u.a. vom verwendeten PDF-Viewer ab. Man kann jedoch auch bei der Formatierung selbst Hand anlegen - die nötigen Optionen sind der {{:​docs:​hyperref.pdf|Dokumentation}} zu entnehmen. 
- 
-Einen Internetlink anzugeben erreicht man (natürlich bei geladenem hyperref-Paket) mit 
- 
-<code latex> 
-\href{http://​www.google.com}{Google} 
-</​code>​ 
- 
-also dem Link (www.google.com) und der Beschreibung (Google). Da es oft erforderlich ist, als Beschreibung ebenfalls den Link zu verwenden, bietet sich als Alternative zu 
- 
-<code latex> 
-\href{http://​www.google.com}{http://​www.google.com} 
-</​code>​ 
- 
-die etwas kürzere Variante mit "​\url{Link}"​ an: 
- 
-<code latex> 
-\url{http://​www.google.com} 
-</​code>​ 
- 
-Damit wird ein Link auf http://​www.google.com erzeugt, derselbe Schriftzug wird auch im Dokument verwendet. Ein Vorteil hier ist weiters die etwas andere Formatierung des Links. 
- 
  
  
latex/fortgeschrittene.txt · Zuletzt geändert: 08.11.2013 09:09 von Thomas Quaritsch