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

Post on 05-Feb-2018

256 views 3 download

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

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

Dokumente auf mehrere Dateien verteilt

Wozu Dokument auf mehrere Dateien verteilen?

2 / 25

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

Dokumente auf mehrere Dateien verteilt

Kommando \input

Der include-Mechanismus

Pakete graphics und graphicx

TikZ library external

Bündel standalone

3 / 25

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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