1 Das hyperref-Paket Überblick Befehle Paketoptionen LATEX-Kurs: Nützliche Pakete 2 Das listings-Paket Überblick Befehle lstset-Optionen Sprachen Carl Georg Heise Technische Universität München 3 Kleine Pakete 17. April 2009 Carl Georg Heise Technische Universität München upgreek csquotes textcomp color LATEX-Kurs: Nützliche Pakete 1 / 39 Übersicht Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 2 / 39 Das hyperref-Paket 1 Das hyperref-Paket Überblick Befehle Paketoptionen Funktionen 2 Das listings-Paket Erzeugt Links innerhalb des Dokuments um schnell hin und her zu navigieren. Überblick Befehle lstset-Optionen Sprachen Kann automatisch Links auf erwähnte Webseiten erzeugen. Fügt der pdf-Datei Informationen zu Autor, Titel. . . hinzu. 3 Kleine Pakete upgreek csquotes textcomp color Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 3 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 4 / 39 Links Einbinden \usepackage{hyperref} Sollte als eines der letzten Pakete eingebunden werden! Hyperlinks Das Paket erzeugt weitgehend automatisch Links innerhalb des Dokuments. \href{URL}{Text} Verlinkt Text auf eine URL. Diese sind in der pdf-Datei standardmäßig mit einem farbigen Rahmen hinterlegt. Beispiel Achtung \href{http://www.google.com/search?q=LaTeX}% {Google -- \LaTeX} Die Dokumentklasse sollte folgendermaßen aussehen, sonst kann hyperref Probleme bereiten. Google – LATEX \documentclass[pdftex,paper=<Größe>,...]{scr...} Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 5 / 39 Links Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 6 / 39 Paketoptionen Dokumentinterne Links hypersetup \hypertarget{Name}{Text} \hyperlink{Name}{Text} \hypersetup{...} Erstellt einen dokumentinternen Link auf den Text in hypertarget. Ermöglicht viele Einstellungen beim hyperref-Paket. Muss vor dem Anfang des Dokuments stehen. Beispiel Allgemeine Struktur Integer venenatis tincidunt. \hypertarget{name}{Pellentesque} ac velit. Proin volutpat feugiat justo? Aliquam cursus pharetra justo! Aenean interdum accumsan erat. Ut venenatis libero et tellus. Fusce dui erat, rhoncus pellentesque, lobortis ac, pretium eu, nisi? \hyperlink{name}{Etiam} aliquam neque vitae ante... Carl Georg Heise Technische Universität München \hypersetup{ Option1=Wert1, Option2=Wert2, ... } LATEX-Kurs: Nützliche Pakete 7 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 8 / 39 Paketoptionen Paketoptionen hypersetup-Optionen hypersetup-Optionen linkbordercolor={1 0 0} – Farbe von Linkrahmen als breaklinks=true – Links dürfen über mehrere Zeilen gehen. RGB-Color pdftex=true – Wenn nicht beim Laden der Klasse urlbordercolor={0 1 1} – Analog für URLs deklariert. . . pagebordercolor={1 1 0} – Analog für Links auf Seiten colorlinks=true – Färbt den Text von Links pdfborder={0 0 0} – Entfernt Rahmen um Links linkcolor=red, urlcolor=cyan1 ... pdftitle={Titel} – Der Titel des pdf-Dokuments bookmarksnumbered=true – Nummeriert Lesezeichen in pdfauthor, pdfsubject, pdfcreator, pdfstartpage... – Acrobat 1 Analog Benötigt das color-Paket Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 9 / 39 Übersicht Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 10 / 39 Das listings-Paket 1 Das hyperref-Paket Überblick Befehle Paketoptionen Funktionen 2 Das listings-Paket Ermöglicht es sehr einfach, Quelltext in LATEX darzustellen Überblick Befehle lstset-Optionen Sprachen listings ist äußerst praktisch, wenn dieser viele Sonderzeichen enthält. Bringt einheitliche Formatierung des Quelltexts und (evtl.) Syntaxhighlighting. 3 Kleine Pakete upgreek csquotes textcomp color Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 11 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 12 / 39 Wieso nicht Verbatim? Einbinden Standard TEX \usepackage{listings} \verb=public void main(){ bla }= Festlegen der Sprache public void main(){ bla } Außerdem wird folgender Befehl benötigt Innerhalb von Verbatim können alle(!) Sonderzeichen beliebig verwendet werden. ... \begin{document} \lstset{language=Java} %Oder eine andere Sprache ... \end{document} ... Carl Georg Heise Technische Universität München Verbatim endet mit dem Zeichen, mit dem es eingeleitet wurde Verbatim ist grundsätzlich unformatiert und sehr unflexibel Das listings-Paket bietet deutlich mehr Optionen und ist außerdem kein „Low-Level-TEX“. LATEX-Kurs: Nützliche Pakete 13 / 39 Wieso nicht Verbatim? Technische Universität München Die lstlisting-Umgebung Lorem ipsum \begin{lstlisting} private logPrint(String s) { Class cal=Class(); ...} \end{lstlisting} dolor et amet lstinline erzeugt kurze „Code-Schnipsel“ Lorem \lstinline=public void main(){ bla }= ipsum Lorem public void main(){ bla } ipsum Technische Universität München 14 / 39 Für längeren Code Analoger Befehl Carl Georg Heise LATEX-Kurs: Nützliche Pakete Carl Georg Heise LATEX-Kurs: Nützliche Pakete 15 / 39 Carl Georg Heise Technische Universität München Ausgabe Lorem ipsum private logPrint(String s) { Class cal=Class(); ...} dolor et amet LATEX-Kurs: Nützliche Pakete 16 / 39 Ganze Dateien auf ein Mal lstset Der lstinputlisting-Befehl Allgemeine Struktur \lstinputlisting{demo.java} \lstset{ Option1=Wert1, Option2=Wert2, ... } Teile der Datei \lstinputlisting[lastline=10]{demo.java} Die neuen Optionen werden übernommen, ab dem Punkt wo \lstset steht. Gibt die Datei nur bis Zeile 10 aus. Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 17 / 39 lstset LATEX-Kurs: Nützliche Pakete Carl Georg Heise Technische Universität München 18 / 39 lstset Optionen für lstset I Optionen für lstset II inputencoding=latin1 – Inputencoding (auch UTF8. . . ) showstringspaces=true – Zeigt basicstyle=\small – Stil des Codes (hier kleiner) tabsize=3 – Größe eines Tabstopps keywordstyle=\bfseries – Stil von Keywords (hier fett) extendedchars=true – Benötigt für ä, ö, ü. . . commentstyle=\itshape – Stil von Kommentaren (hier kursiv) backgroundcolor=\color{yellow} – Hintergrundfarbe stringstyle=\ttfamily – Stil der Strings (hier im (benötigt color-Paket) Typewriterstil) Carl Georg Heise Technische Universität München für Leerzeichen LATEX-Kurs: Nützliche Pakete 19 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 20 / 39 lstset lstset Oftmals ist es nützlich, Quellcode mit Zeilennummern zu versehen. Zeilennummern – Weitere Optionen Zeilenummern \begin{lstlisting}[firstnumber=1000] ... numbers=left – Zeilennummern am linken Rand numbers=none – Deaktiviert Zeilennummern Beginnt die Zeilennummern bei 1000 numberstyle=\tiny – Stil der Zeilennummern \begin{lstlisting}[firstnumber=last] ... stepnumber=5 – Schrittweite der Nummerierung Carl Georg Heise Beginnt bei der letzten Zeilennummer LATEX-Kurs: Nützliche Pakete Technische Universität München 21 / 39 Sprache Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 22 / 39 Sprache Die folgenden Sprachen sind bereits im listings-Paket implementiert. Unterstützte Sprachen Achtung Damit listings die Programmiersprache (und damit die Keywords) erkennt, muss unbedingt die verwendete Sprache angegeben werden. [ANSI]C, [Objective]C, [Sharp]C... [ISO]C++, [ANSI]C++... Cobol, Delphi, [95]Fortran, Pascal language=[<Dialekt>]<Sprache> Java, Python, Perl, R, Ruby HTML, PHP, XML Mathematica, Matlab und viele mehr Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 23 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 24 / 39 Mehr Keywords Übersicht 1 Das hyperref-Paket Überblick Befehle Paketoptionen Falls ihr mehr Keywords benötigt (z. B. eigene Funktionen) gibt es folgende lstset-Option 2 Das listings-Paket Überblick Befehle lstset-Optionen Sprachen morekeywords morekeywords={myFunction,myClass} 3 Kleine Pakete upgreek csquotes textcomp color Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 25 / 39 Das upgreek-Paket LATEX-Kurs: Nützliche Pakete Carl Georg Heise Technische Universität München 26 / 39 Das upgreek-Paket Funktionen Beispiel Normalerweise sind griechische Buchstaben in Formeln immer kursiv (α, ε . . .) \[\upalpha,\upvarepsilon,\Upphi,\Upomega\] \usepackage{upgreek} liefert Befehle für aufrechte α, ε, Φ, Ω griechische Buchstaben Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 27 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 28 / 39 Schöne Anführungszeichen – Das csquotes-Paket Das csquotes-Paket Funktionen Einbinden Einfache doppelte Gänsefüßchen ¨ sind im Allgemeinen nicht sehr schön anzusehen. \usepackage[style=<Stil>]{csquotes} \enquote{Text} In LATEX lässt sich dies zwar bewerkstelligen, ist aber mühsam. Außerdem erforden bestimmte Sprachen (z. B. Schweizerdeutsch) andere Anführungszeichen. Stil bestimmt die Art der Anführungszeichen. Das csquotes-Paket löst diese Probleme. Stil ändern csquotes kann außerdem verschachtelte Anführungszeichen. \setquotestyle{<Stil>} Ändert den Stil der Anführungszeichen im Dokument. Wichtig csquotes benötigt T1-Fontencoding für die Anführungszeichen. Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 29 / 39 Das csquotes-Paket Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 30 / 39 Stile der Anführungszeichen Übersicht Beispiel „german“ – Normales Deutsch \usepackage[style=german]{csquotes} ... Dieser \enquote{Text im \enquote{Text}} steht in Anführungszeichen. «swiss» – Schweizerdeutsch Dieser „Text im ‚Text‘“ steht in Anführungszeichen. « french » – Französisch “american” – Englisch (USA) ‘british’ – Englisch (UK) «spanish» – Spanisch Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 31 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 32 / 39 Längere Texte Weitere Symbole mit dem textcomp-Paket textquote \textquote[<Quelle>]{<Text>} Zitiert einen längeren Text Funktionen Beispiel Verschönert ein paar vorhandene Symbole (z. B. © \textcopyright) \textquote[Cicero]{Lorem Ipsum...} Fügt neue Symbole (u. a. Währungen) hinzu „Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus leo mauris, tincidunt nec, fringilla in, consectetuer sit amet, sapien. Integer lectus justo, mattis sit amet, iaculis convallis, vestibulum nec, odio. Morbi dapibus adipiscing ligula. Aenean aliquam erat id urna.“ (Cicero) LATEX-Kurs: Nützliche Pakete Carl Georg Heise Technische Universität München 33 / 39 Das textcomp-Paket Carl Georg Heise LATEX-Kurs: Nützliche Pakete Technische Universität München 34 / 39 Bringe Farbe ins Spiel mit dem color-Paket! Währungen £ $ \textsterling \textdollar \textpeso ₫ ¥ ₩ Funktionen \textdong \textyen \textwon Erlaubt farbigen Text. Teilweise für bestimmte Optionen anderer Pakete benötigt (z. B. hyperref) Andere Symbole © ™ % m \textcopyright \texttrademark \textperthousand \textmarried ® ¶ \textregistered \textnumero \textparagraph Einbinden \usepackage{color} Im Internet gibt es noch viele weitere Pakete mit Symbolen. Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 35 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 36 / 39 Befehle des color-Pakets Befehle des color-Pakets Funktionen Color-Boxen \color{orange} Text \rule{.2cm}{.2cm} orange bis zum nächsten Wechsel. \textcolor{purple}{Lila Text} \pagecolor{yellow} %Gelbe Seite Text \colorbox{cyan}{Cyane Box} \fcolorbox{orange}{blue}{Blaue Box orangem Rand} Cyane Box Blaue Box orangem Rand orange bis zum nächsten Wechsel. Lila Text Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 37 / 39 Eigene Farben Definition \definecolor{salmon}{rgb}{1,0.8,0.7} Alternativ auch cmyk oder gray Dieser Text ist lachsfarben. Bei einmaliger Verwendung \color[rgb]{1,0.5,0.7} Lorem ipsum dolor... Lorem ipsum dolor. . . Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 39 / 39 Carl Georg Heise Technische Universität München LATEX-Kurs: Nützliche Pakete 38 / 39