Upload
others
View
8
Download
1
Embed Size (px)
Citation preview
große DokumenteLATEX-Kurs der Unix-AG
Jan-Martin Rämer
04.06.2012
Übersicht
Große Dokumente
Modularisierung
Gliederungsebenen
Verzeichnisse und Verweise
Sprachen
Literaturverzeichnisse, Index, Glossar
Versionsverwaltung und make
Typographie
Jan-Martin Rämer große Dokumente 04.06.2012 2 / 32
Große Dokumente
große Dokumente
I lange Texte, z.B.I DipomarbeitenI DissertationenI BücherI Artikel
Jan-Martin Rämer große Dokumente 04.06.2012 3 / 32
Große Dokumente
Unterstützung in LATEX
I Strukturierung/ModularisierungI GliederungsebenenI Verzeichnisse (Inhalt, Abbildungen, Tabellen, etc.)I ReferenzenI LiteraturverweiseI Index/Glossar
Jan-Martin Rämer große Dokumente 04.06.2012 3 / 32
Modularisierung
I zwei Befehle: \input und \include
Jan-Martin Rämer große Dokumente 04.06.2012 4 / 32
Modularisierung
I zwei Befehle: \input und \include
\input{}
I Argument: Einzufügende DateiI Wie include in anderen Sprachen:
fügt Code ein, als wäre er in der selben DateiI „.tex“ muss nicht angegeben werden
Jan-Martin Rämer große Dokumente 04.06.2012 4 / 32
Modularisierung
\input{}
I Argument: Einzufügende DateiI Wie include in anderen Sprachen:
fügt Code ein, als wäre er in der selben DateiI „.tex“ muss nicht angegeben werden
\include
I wie input, aber:I wirkt wie \clearpage (Seitenumbruch, Ausgabe von
Gleitobjekten)I steuerbar mit \includeonly{}
Jan-Martin Rämer große Dokumente 04.06.2012 4 / 32
Modularisierung: Beispiel
1 \documentclass{book}2 \input{packages}3 \input{header}4 \includeonly{kapitel1,kapitel3,kapitel 5}5 \begin{document}6 \include{kapitel 1}7 \include{kapitel 2}8 \include{kapitel 3}9 \include{kapitel 4}
10 \include{kapitel 5}11 \end{document}
Listing 1: Beispiel zur Modularisierung
I Es werden nur Kapitel 1, 3 und 5 sowie header und packageseingefügt.
Jan-Martin Rämer große Dokumente 04.06.2012 5 / 32
Gliederungsebenen
part Buch-Teil (book)chapter Kapitel (book)section Abschnitt (die meisten Klassen)subsection Unterabschnittsubsubsection dritte Ebene für Abschnitteparagraph Absatzsubparagraph Unterabsatz
Jan-Martin Rämer große Dokumente 04.06.2012 6 / 32
Verzeichnisse
I Inhalts-, Abbildungs-, Tabellenverzeichnis etc.I mehrere LATEX-Durchläufe
1. Erkennung/Sammlung der Markierungen2. Erstellen der Verzeichnisse3. Anpassen der Seitenzahlen im Verzeichnis (wenn nötig)
I Hilfsdateien:.toc Inhaltsverzeichnis.lof Abblidungsverzeichnis („List of Figures“).lot Tabellenverzeichnis
Jan-Martin Rämer große Dokumente 04.06.2012 7 / 32
Verzeichnisse
I Gliederungsbefehle mit * unterdrücken Nummer/Eintrag:1 \section{Normaler Abschnitt}2 \section *{ Abschnitt ohne Nummer und Eintrag}
I Gleitobjekt: Eintrag durch \caption{} erzeugt EintragI Anpassen des Eintrags: optionales Argument
1 \section[Verzeichnisse ]{Wie man in \LaTeXVerzeichnisse setzen und ver"andern kann}
Jan-Martin Rämer große Dokumente 04.06.2012 8 / 32
Verzeichnisse
I Eintrag zu Verzeichnissen hinzufügen:1 \addcontensline{Verz}{Ebene}{Text}
Verz wählt das Verzeichnis (Inhalt, Tabelle, Abbildungetc.)
Ebene gewünschte GliederungsebeneText einzufügender Text
Beispiel Vorwort soll (unnummeriert) ins Inhaltsverzeichnis:
1 \chapter *{ Vorwort}2 \addcontentsline{toc}{ chapter }{ Vorwort}
I Tiefe des Inhaltsverzeichnisses festlegen:1 \setcounter{tocdepth }{4}
Jan-Martin Rämer große Dokumente 04.06.2012 9 / 32
Verweise
I \label{} und \ref{}I \label{} verweist auf letzten Verzeichnisbefehl
z.B. \caption{} oder \section{}I \ref{} gibt Referenz ausI \pageref{} gibt Referenz auf Seite ausI Referenz ist nur eine Nummer, d.h. Anwendung:
1 \section{Abschnitt }\label{sec:Abschnitt}2 ...3 Wie in Abschnitt \ref{sec:Abschnitt} auf Seite \
pageref{sec:Abschnitt} gesehen ...
I Hinweis: Labelnamen strukturieren!
Jan-Martin Rämer große Dokumente 04.06.2012 10 / 32
Verweise: Beispiel
1 \label{sec:approximationen}2 Eine Pi-Approximation:3 \begin{equation}4 \pi\approx\frac {22}{7} \label{eqn:piapprox}5 \end{equation}
7 In Abschnitt ~\ref{sec:approximationen}8 auf Seite ~\ pageref{eqn:piapprox}9 wird $\pi$
10 in Gleichung ~(\ ref{eqn:piapprox })11 approximiert.
π ≈ 227
(1)
In Abschnitt 11 auf Seite 14 wird π in Gleichung (1) approximiert.
Jan-Martin Rämer große Dokumente 04.06.2012 11 / 32
Hyperref
I Paket „hyperref“I setzt automatisch Links in DokumentI intern auf Abschnitte, Abbildungen etc.I extern auf URLsI wichtige Optionen:
I colorlinks=true (Linkx einfärben statt Kasten)I linkcolor, citecolor, urlcolor: Farben der Links (Standard: sehrbunt)
Jan-Martin Rämer große Dokumente 04.06.2012 12 / 32
Referenzen vereinfachen
1 \newcommand {\ refsec }[1]{ Sec.~\ ref {#1}}2 \newcommand {\ reffig }[1]{ Fig.~\ ref {#1}}3 \newcommand {\ reftab }[1]{ Tab.~\ ref {#1}}4 \newcommand {\ refeqn }[1]{ Eqn .~(\ ref {#1})}5 \newcommand {\ refpage }[1]{p.~\ pageref {#1}}
1 \newcommand {\ refsec }[1]{ Abschn .~\ ref {#1}}2 \newcommand {\ reftab }[1]{ Tab.~\ ref {#1}}3 \newcommand {\ reffig }[1]{ Abb.~\ ref {#1}}4 \newcommand {\ refeqn }[1]{Gl.~(\ ref {#1})}5 \newcommand {\ refpage }[1]{S.~\ pageref {#1}}
Jan-Martin Rämer große Dokumente 04.06.2012 13 / 32
Sprachen
I LATEX unterstützt viele SprachenI „unterstützt“ heißt:
I TrennungsregelnI Variablen (Name für Inhaltsverzeichnis, „Abbildung“ etc.)I Typographie (Anführungszeichen)
I Auswahl mit1 \usepackage[sprache1,sprache 2 ,...]{ babel}
I letzte Sprache ist StandardI Deutsch: ngermanI Sprache wechseln:
1 \selectlanguage{sprache}
Jan-Martin Rämer große Dokumente 04.06.2012 14 / 32
Literaturverzeichnisse
1. direkt im .texI einfach einzufügenI potentiell inkonsistent zwischen DokumentenI Formatierung schwer zu ändern
2. mit BibTeXI trennt Format von DatenI zentrale BibliographiedatenbankI braucht weiteres Programm (welches aber meistens bereitsvorhanden ist)
Jan-Martin Rämer große Dokumente 04.06.2012 15 / 32
Literaturverzeichnisse (im .tex)
I Umgebung: thebibliographyI Argument: breitester EintragI Referenz mit \cite{} (mehrere Argumente mit Komma
möglich)I \cite{*} referenziert das gesamte Literaturverzeichnis
1 \cite{wk90}2 ...3 \begin{thebibliography }{mm00}4 \bibitem[WK90]{wk90} W.H.Knox , R.S.Knox , J.H.Hoose ,
R.N.Zare , Observation of the 0-fs pulse , Optics \&Photonics News , April 1990
5 \end{thebibliography}
Jan-Martin Rämer große Dokumente 04.06.2012 16 / 32
Literaturverzeichnisse (mit BibTeX)
I eigenes ProgrammI trennt Inhalt und Formatierung
I analog zu LATEX:I Benutzer erstellt InhaltI BibTeX-Stil legt Formatierung fest
I mehrere LATEX-Läufe (Hilfsdateien)I zusätlich bibtex-Lauf
Jan-Martin Rämer große Dokumente 04.06.2012 17 / 32
Literaturverzeichnisse (mit BibTeX)
I \bibliographystyle{} für StilauswahlI \bibliography{} für DateiauswahlI \cite{} weiterhin für Verweis
1 \documentclass{article}2 \bibliographystyle{plain}3 \begin{document}4 \cite{wk90}5 \bibliography{bibfile} %wird hier ausgegeben6 \end{document}
Jan-Martin Rämer große Dokumente 04.06.2012 18 / 32
BibTeX
I textbasierte LiteraturdatenbankI Frontends: KBibtex, JabRef, . . .I hat DatenstrukturI BibTeX-Datei oft auf Journal-Website o.ä.
Jan-Martin Rämer große Dokumente 04.06.2012 19 / 32
BibTeX
I textbasierte LiteraturdatenbankI Frontends: KBibtex, JabRef, . . .I hat DatenstrukturI BibTeX-Datei oft auf Journal-Website o.ä.
Eintragstypen
article Zeitschriftenartikelbook Buch (mit Verlagsangagen)masterthesis Diplom/Masterarbeitinproceedings in Konferenzbänden
Jan-Martin Rämer große Dokumente 04.06.2012 19 / 32
BibTeX
Eintragstypen
article Zeitschriftenartikelbook Buch (mit Verlagsangagen)masterthesis Diplom/Masterarbeitinproceedings in Konferenzbänden
Eintragsfelder
author Namen der Autorentitle Titel des Textes
editor Namen der Editorenyear Erscheinungsjahr
publisher Name des VerlagsJan-Martin Rämer große Dokumente 04.06.2012 19 / 32
BibTex: Beispiel
1 @Book{ LatexBegleiter ,2 author = "Goossens , Michel and Mittelbach , Frank and
Samarin , Alexander",3 title = "{ Der Latex - Begleiter }",4 publisher = "Pearson Studium",5 year = 2002,6 month = feb ,7 note = "Korrigierter Nachdruck",8 isbn = "978 -3827371669" ,9 eindruck = "Gutes Buch , {\"} Klassiker {\"}",
10 preis = {Zu "teuer"}11 }
Jan-Martin Rämer große Dokumente 04.06.2012 20 / 32
BibTex: Beispiel
Stile: plain, alpha, abbrv, acm, siam und splncs
Jan-Martin Rämer große Dokumente 04.06.2012 21 / 32
Index
I eigenes Programm: makeindex (normalerweise schon vorhanden)I Paket: makeidxI mehrere LATEX-DurchläufeI makeindex-Lauf
I Funktionen:
I Sortieren des Index’I Zusammenfassen von EinträgenI Untereinträge erzeugenI Querverweise zwischen Einträgen
Jan-Martin Rämer große Dokumente 04.06.2012 22 / 32
Index
I eigenes Programm: makeindex (normalerweise schon vorhanden)I Paket: makeidxI mehrere LATEX-DurchläufeI makeindex-LaufI Funktionen:
I Sortieren des Index’I Zusammenfassen von EinträgenI Untereinträge erzeugenI Querverweise zwischen Einträgen
Jan-Martin Rämer große Dokumente 04.06.2012 22 / 32
Index: Verwendung
I Paket einbindenI \makeindex aufrufen (Index erstellen)I \printindex aufrufen (Index ausgeben)I \index{} im Text verwenden (Einträge erzeugen)
Jan-Martin Rämer große Dokumente 04.06.2012 23 / 32
Index: Verwendung
\index: Syntax
{Eintrag} einfacher Eintrag{Bohrsches Magneton@µB} Sortierschlüssel @Indexeintrag{Konstanten!g} Untereinträge (max. drei Ebenen){pdflatex|see{latex}} Verweis auf andere Einträge\index{Index|(}...\index{Index|)} längereAbschnitte{Index|textbf} Formatierung der Seitenzahlangabe{Wichtig+!} Maskierung von „|“, „!“ und „@“ mit „+“
Jan-Martin Rämer große Dokumente 04.06.2012 23 / 32
Glossare
I makeindex kann auch Glossare erstellenI \makeglossary notwendigI Eintrag: \glossary{Eintrag!Beschreibung}I Seitenzahl hinzufügen: \glossary{Eintrag}
Jan-Martin Rämer große Dokumente 04.06.2012 24 / 32
Versionsverwaltung
I eigentlich für SoftwareentwicklungI aber: LATEX auch nur SourcecodeI Funktionen:
I Zugriff auch auf ältere VersionenI Verzweigen von VersionenI Zusammenführen von parallel bearbeiteten DateienI zentrales SpeichernI Zusammenarbeit mehrerer Autoren
Jan-Martin Rämer große Dokumente 04.06.2012 25 / 32
Versionsverwaltung: Beispiele
I rcs (revision control system) lokal, oft bei Linux dabeiI cvs (concurrent versions system) alter Standard, nur TextI svn (subversion) momentan StandardI diverse weitere, z.B. git
Jan-Martin Rämer große Dokumente 04.06.2012 26 / 32
make
make führt Makefile ausMakefile Rezept zum KompilierenBeispiel 2× pdflatex, bibtex, pdflatexAusführen make
Jan-Martin Rämer große Dokumente 04.06.2012 27 / 32
make
make führt Makefile ausMakefile Rezept zum KompilierenBeispiel 2× pdflatex, bibtex, pdflatexAusführen make
1 all:2 pdflatex beispiel3 pdflatex beispiel4 bibtex beispiel5 pdflatex beispiel
Jan-Martin Rämer große Dokumente 04.06.2012 27 / 32
if/then/else
I einfach nutzbares „if“ in LATEXI Paket ifthen
1 \ifthenelse{2 Bedingung3 }{4 Inhalt5 }{6 Alternative7 }
Jan-Martin Rämer große Dokumente 04.06.2012 28 / 32
if/then/else
1 \ifthenelse{2 Bedingung3 }{4 Inhalt5 }{6 Alternative7 }
1 \ifthenelse{2 \not\equal{\draft }{true}3 }{4 \input{anhang}5 \listoffigures6 }{}
Jan-Martin Rämer große Dokumente 04.06.2012 28 / 32
if/then/else
1 \ifthenelse{2 \not\equal{\draft }{true}3 }{4 \input{anhang}5 \listoffigures6 }{}
1 all:2 pdflatex ’\newcommand {\draft}{ false}\input{
beispiel.tex}’3 pdflatex ’\newcommand {\draft}{ false}\input{
beispiel.tex}’4 bibtex beispiel5 pdflatex ’\newcommand {\draft}{ false}\input{
beispiel.tex}’6 draft:7 pdflatex ’\newcommand {\draft}{true}\input{
beispiel.tex}’Jan-Martin Rämer große Dokumente 04.06.2012 28 / 32
Typohraphie: Anführungszeichen
I Zollzeichen ist kein Anführungszeichen
1 "‘Text"’ %deutsch2 ‘‘Text ’’ %englisch3 ,,Text ’’ %gemisch
I „deutsch“I “englisch”I „gemisch”
Jan-Martin Rämer große Dokumente 04.06.2012 29 / 32
Typographie: Bindestriche
I - normaler BindestrichI -- GedankenstrichI --- amerikanischer GedankenstrichI $-$ Minus
Jan-Martin Rämer große Dokumente 04.06.2012 30 / 32
Typographie: Bindestriche
I - normaler BindestrichI -- GedankenstrichI --- amerikanischer GedankenstrichI $-$ MinusI verschiedene Längen:
I a-b normaler BindestrichI a–b GedankenstrichI a—b amerikanischer GedankenstrichI a − b Minus
Jan-Martin Rämer große Dokumente 04.06.2012 30 / 32
Typographie: Trennung
I LATEX trennt automatischI Anzeige der möglichen Trennungen mit
\showhyphens{Trennungsmöglichkeiten}I Ausgabe in die .log-Datei
I Ergebnis [] \OT1/cmr/m/n/10Tren-nungsm[]oglich-kei-ten
Jan-Martin Rämer große Dokumente 04.06.2012 31 / 32
Typographie: Trennung
I LATEX trennt automatischI Anzeige der möglichen Trennungen mit
\showhyphens{Trennungsmöglichkeiten}I Ausgabe in die .log-DateiI Ergebnis [] \OT1/cmr/m/n/10
Tren-nungsm[]oglich-kei-ten
Jan-Martin Rämer große Dokumente 04.06.2012 31 / 32
Typographie: Trennung
I normaler Bindestrich (auch Trennstelle): „"=“I zusätzliche Trennstelle definieren: „"-“
1 Wach"-stube , Wachs"-tube
Wach-stube
Wachs-tube
I global mit \hypenation{Tren-nung}I Trennung ohne Trennstrich: ""
1 und /"" oder
und/oder
I nichttrennender Bindestrich: "˜
Jan-Martin Rämer große Dokumente 04.06.2012 32 / 32
Typographie: Einheiten
I zwischen Zahl und Einheit gehört ein dünnes Leerzeichen:λ = 1, 55 µm
I wird durch \, dargestelltI für SI-Einheiten: Paket SIunits mit Option thinqspace und
Befehle des Pakets
Jan-Martin Rämer große Dokumente 04.06.2012 33 / 32