LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und...

27
L A T E X, beamer, tikz und Co. L A T E X, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2017/2018 1 / 25

Transcript of LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und...

Page 1: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

LATEX, beamer, tikz und Co.

LATEX, beamer, tikz und Co.18. Dokumente auf mehrere Dateien verteilt

Thomas Worsch

Fakultät für InformatikKarlsruher Institut für Technologie

Wintersemester 2017/2018

1 / 25

Page 2: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Wozu Dokument auf mehrere Dateien verteilen?

2 / 25

Page 3: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Wozu Dokument auf mehrere Dateien verteilen?

I Wiederverwendung von TeilenI mehr Übersicht (?)I separate Übersetzung einzelner Teile (?)

I Teile als eigenständige Dokumente

I Übersetzung von Teilen nur bei Bedarf (?)

2 / 25

Page 4: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

3 / 25

Page 5: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Kommando \input

Überblick

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

4 / 25

Page 6: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Kommando \input

Einfache Methode

I Syntax \input{〈Dateiname〉}I geschweifte Klammern wichtig

I 〈Dateiname〉I mit Endung .tex:

I wird so genommenI ohne Endung .tex:

I erst wird 〈Dateiname〉 gesucht, falls nicht zu finden,I wird anschließend nach 〈Dateiname〉.tex gesucht

I Bedeutung:I LATEX verhält sich ungefähr so, also stände an Stelle von

\input{〈Dateiname〉} der Inhalt der DateiI aber nicht ganz: siehe t-input-2

I Tipp: siehe nächste Folie

5 / 25

Page 7: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Kommando \input

Kommando \endinput

I kann an jeder Stelle in einer Datei stehenI Wirkung: beendet das Einlesen der Datei durch LATEX

I Text danach wird „ignoriert“

I Tipp: Am Ende jeder Datei einfügenI hat auch den gleichen Effekt wie ein % am Dateiende

6 / 25

Page 8: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Kommando \input

Pfade für Dateinamen bei \input

I funktionierenI aber Vorsicht in folgender Sitation:

. /

V1 /main.tex: \input{../V2/sub.tex}

subsub.tex: ich bin in V1

V2 /sub.tex: \input{subsub.tex}

subsub.tex: ich bin in V2I bei pdflatex main.tex in V1

wird auch subsub.tex aus V1 gelesen!I \input{../V2/subsub.tex} würde das aus V2 lesen

I Alternative: Paket import7 / 25

Page 9: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Überblick

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

8 / 25

Page 10: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Kommando \include

I Syntax: \include{〈Dateiname〉}I im Dokumentenrumpf

I Bedeutung ähnlich wie \input{〈Dateiname〉}I sofern keine \includeonly Kommandos vorhanden

sonst: siehe nächste FolieI aber es wird davor und danach eine neue Seite begonnen

I es wird auch eine separate .aux-Datei erzeugtI \include können nicht „geschachtelt“ werden

I wenn 〈Dateiname〉 nicht existiertI erzeugt \include{〈Dateiname〉} nur eine WarnungI erzeugt \input{〈Dateiname〉} einen Fehler

9 / 25

Page 11: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Kommando \includeonly

I Syntax: \includeonly{〈Dateinamen〉}I in der PräambelI oder vor \documentclass (funktioniert jedenfalls zur Zeit)

I 〈Dateinamen〉I falls mehrere, durch Kommata getrenntI für jeden Dateinamen ein \include-Kommando im Rumpf

I Bedeutung: Wenn \includeonly in der Präambel benutztI dann nur entsprechende \include Kommandos „aktiv“I die anderen Inhalte werden ignoriert

I aber Seitenzahlen, Labels, usw. bleiben erhalten!

; kürzere Verarbeitungszeit

10 / 25

Page 12: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Beispielanwendung (1)

\documentclass{article}\includeonly{part-2}\begin{document}\include{part-1}\include{part-2}\include{part-3}\end{document}

11 / 25

Page 13: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Beispielanwendung (1)

\includeonly{part-2}\documentclass{article}\begin{document}\include{part-1}\include{part-2}\include{part-3}\end{document}

Beobachtung: es funktioniert auch, wenn die ersten beiden Zeilenvertauscht sind . . .

12 / 25

Page 14: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Der include-Mechanismus

Beispielanwendung (2)

I Datei all.tex\documentclass{article}\begin{document}\include{part-1}\include{part-2}\include{part-3}\end{document}

I Datei part-2-alone.tex\includeonly{part-2}\input{all}

I Vorteil: all.tex muss nicht geändert werden

13 / 25

Page 15: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Pakete graphics und graphicx

Überblick

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

14 / 25

Page 16: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Pakete graphics und graphicx

Einbinden von Bildern in „Fremdformaten“

I benutzbare Bildformate:I hängt vom benutzten LATEX abI für pdflatex: Pdf-, Jpeg-, PNG-Bilder

I Unterschied zwischen graphics und graphicxI funktional: keinerI Benutzerschni�stelle: ich bevorzuge graphicxI alles Weitere bezieht sich auf graphicx

I wesentliches Kommando\includegraphics[〈opt. key/value pairs〉]{〈filename〉}

15 / 25

Page 17: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Pakete graphics und graphicx

Kommando \includegraphicsmögliche OptionenI scale=〈Faktor〉I width=〈Breite〉I height=〈Höhe〉I keepaspectratioI bb=〈llx, lly, urx, ury〉 , viewport=〈llx, lly, urx, ury〉I clip

16 / 25

Page 18: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Pakete graphics und graphicx

\includegraphics: Beispiele

Optionen angegeben

I keine: xxx xxxI [width=20mm,height=2mm] xxx xxxI [width=20mm,height=2mm,keepaspectratio] xxx xxx

I [angle=30] xxx xxx

nachfolgend \framebox{\includegraphics. . .}}

I [bb=5 0 10 20] xxx xxx

I [bb=5 0 10 20,clip] xxx xxxI bb-Angaben sind in bp Einheiten, 1 bp= 1/72 in

17 / 25

Page 19: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Pakete graphics und graphicx

(Große) Bilder

I große Bilder kosten Zeit:I beim Entwickeln („Programmieren“)I beim Verarbeiten („Ausführen“)

I Wie kann man Zeit sparen?1. Datei 〈bild〉.tex, die nur das Bild enthält

I reduziert Verarbeitungszeit während der EntwicklungI Ergebnis: Pdf-Datei 〈bild〉.pdf

2a. im Hauptdokument \includegraphics{〈bild〉.pdf}I reduziert Verarbeitungszeit während der DokumentenerstellungI WiederverwendbarkeitI evtl. Konsistenzprobleme (Fontänderungen, . . . )

oder 2b. wesentlichen Teil aus 〈bild〉.tex in Hauptdokument einfügenI Vorteil: Wiederverwendbarkeit in verschiedenene Dokumenten

z. B. auch bei verschiedenen Schriften, etc.I evtl. Konsistenzprobleme (nachträgliche Änderungen wo? . . . )

18 / 25

Page 20: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

TikZ library external

Überblick

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

19 / 25

Page 21: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

TikZ library external

TikZ library external: Benutzung

Benutzung im günstigen Fall ganz einfach:I in der Präambel:

I \usetikzlibrary{external}I \tikzexternalize

I schaltet den Mechanismus einI wenn auskommentiert, Dokument „ganz normal“ verarbeitet

I im Dokumentenrumpf:I tikzpicture Umgebungen wie üblich

I nur für tikzpicture Umgebungen, nichts anderes

I Tipp: für Erzeugung des finalen Dokuments \tikzexternalizeausschaltenI zur Vermeidung unerwünschter Spaces

20 / 25

Page 22: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

TikZ library external

TikZ library external: Benutzung

Benutzung im günstigen Fall ganz einfach:I in der Präambel:

I \usetikzlibrary{external}I \tikzexternalize

I schaltet den Mechanismus einI wenn auskommentiert, Dokument „ganz normal“ verarbeitet

I im Dokumentenrumpf:I tikzpicture Umgebungen wie üblich

I nur für tikzpicture Umgebungen, nichts anderes

I Tipp: für Erzeugung des finalen Dokuments \tikzexternalizeausschaltenI zur Vermeidung unerwünschter Spaces

20 / 25

Page 23: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

TikZ library external

TikZ library external: Mechanismus

für jedes tikzpicture defaultmäßig folgende AktionenI Berechnung einer 〈md5 sum〉

I falls 〈md5 sum〉 unverändert:I nehme das Pdf-Erzeugnis des letzten Laufes

I falls 〈md5 sum〉 geändert (oder erstmals berechnet):I erzeuge aus tikzpicture neue Pdf-Datei

I füge Pdf-Datei sta� des tikzpicture in Hauptdokument ein

21 / 25

Page 24: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Bündel standalone

Überblick

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

22 / 25

Page 25: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Bündel standalone

Bündel standalonedie einfache Variante:I reduziert „nur“ Verarbeitungszeit während der Entwicklung von

TeilenI weniger als tikz externalI nicht eingeschränkt auf tikzpicture

I für die Benutzung werden zwei „Zutaten“ benötigtnicht verwechseln:I die Dokumentenklasse standaloneI das LATEX-Paket standalone

23 / 25

Page 26: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Bündel standalone

Bündel standalone: einfache Benutzung

I erzeuge zwei eigenständige Dokumente (oder mehr . . . )I Hauptdokument main.texI Teildokument sub.tex

I Inhalt sollte auf eine Seite passenI in main.tex:

I Präambel: \usepackage{standalone}I „early in the document“I lade alle Pakete, die sub.tex brauchtI oder \usepackage[subpreambles]{standalone}

I Rumpf: z. B. \input{sub.tex}I in sub.tex:

I Präambel: \documentclass{standalone}danach Beliebiges

I Rumpf: beliebiger Inhalt„Avoid empty lines at the begin or end of the document body.“

24 / 25

Page 27: LATEX, beamer tikz und Co. - liinthw/vl-latex-co/k-18-dateien-folien.pdf · LATEX, beamer, tikz und Co. LATEX, beamer, tikz und Co. 18. Dokumente auf mehrere Dateien verteilt Thomas

Dokumente auf mehrere Dateien verteilt

Bündel standalone

Bündel standalone: fortgeschri�ene Benutzung

im Rumpf von main.tex:I \includestandalone[mode=〈mode〉]{sub.tex}I für 〈mode〉 sind unter anderem möglich:

I tex: benutze die LATEX-�elldateiI image: benutze die erzeugte „Image“-DateiI image|tex: benutze Image, falls vorhanden, sonst �elleI build: erzeuge Image und nutze esI buildmissing: erzeuge Image, falls nicht vorhandenI buildnew: erzeuge Image, falls �elle neuer als Image

I sta� bei jedem \includestandalone den 〈mode〉 anzugebenI in Präambel: \standaloneconfig{mode=〈mode〉}I für finales Dokument: mode=tex

25 / 25