LaTeX-Kurs: Nützliche Pakete - MA@TUM

Werbung
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
Herunterladen