L A T E X Einführung Vincent Labor Bochum e.V. 29. Juni 2009 Vincent (Labor Bochum e.V.) L A T E X Einführung 29. Juni 2009 1 / 116
LATEX Einführung
Vincent
Labor Bochum e.V.
29. Juni 2009
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 1 / 116
Übersicht
Teil 1: EinführungTeil 2: BasiswerkzeugTeil 3: MakroprogrammierungTeil 4: Präsentationen mit LATEX
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 2 / 116
Motivation
Einstieg erleichternEuch etwas Gutes tunDem Labor etwas Gutes tunSelber etwas dabei lernenVersuch: Häufige Probleme erkennen und lösen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 3 / 116
Ablauf
VortragPause (inkl. Pizzabestellung)Praxis (freiwillig inkl. Aufgabenstellung)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 4 / 116
Inhalt
1 Geschichte und Hello World
2 Zeichensätze und Dateikodierungen
3 Minimale Standardvorlage
4 Warum soll ich mir das antun?
5 Einsteigerliteratur und Probleme, Ausblick
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 5 / 116
Geschichte zu LATEX
𝜏 („tau“) 𝜖 („epsilon“) 𝜒 („chi“) = TEXTextsatzsystem mit eingebauter Makrosprache, basierend auf primitivesAb 1977 von Donald E. Knuth entwickelt; 1986 fertig gestelltBefehle werden durch einen Interpreten übersetztMakro = Folge von Befehlen, die automatisch bei Aufruf ablaufenLATEX = Makro-Sammlung zur einfacheren Benutzung von TEXEntwickelt von Leslie Lamport. La + TEX = LATEX (ab 1980)Aktuelle Versionen: TEX: 3.1415926, LATEX 2𝜀Ziel: „Schöne“ Bücher, Artikel, etc.
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 6 / 116
„Hello World!“ in TEX und LATEX
1 Hello World!2 \bye
Listing 1: TEX
1 \documentclass{article}2 \begin{document}3 Hello World!4 \end{document}
Listing 2: LATEX
Quellcode wird in Textdatei geschrieben → HelloWorld.tex
Erklärung zu documentclass kommt noch!Logische Kennzeichnung von Textstellen nennt man „Markup“Eventuell bekannt aus anderen Sprachen, zum Beispiel: HTML
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 7 / 116
Theorie: Arbeitsschritte bei LATEX
Es gibt 2 Möglichkeiten ein LATEX-Dokument zu erstellen:I Früher: latex + dvips/(dvipdf) (.tex→.dvi→.ps/(.pdf))I Seit 2000: pdflatex (.tex→.pdf) ⋆ Empfehlung ⋆
Vereinfacht:I PS (1984)/PDF (1993) sind Seitenbeschreibungssprachen von AdobeI Ziel: Originalgetreue Wiedergabe von Dokumenten unabhängig von
Anwendung, Betriebssystem, Hardwareplattform, etc.I DVI (1979) ähnlich, jedoch werden Zeichensätze nicht in Datei abgelegt!
PostScript wird immer mehr von PDF verdrängtI PDF 1.7 seit 2008 ISO-Standard und damit ein offener Standard!
DVI außerhalb von LATEX eher unüblich . . .I dvips/dvipdf sind „Druckausgabetreiber“I xdvi für Bildschirmausgabe
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 8 / 116
Beispiel: Arbeitsschritte bei LATEX
VorführungHello World mit: TEX, LATEX (beide Varianten)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 9 / 116
Zusammenfassung 1: Hello World
Quellcode ist eine „einfache“ Textdatei mit der Endung .texBeim Übersetzen entstehen weitere Dateien, hier (vorerst nur):
I .log: Logdatei gibt Auskunft über den ÜbersetzungsprozessI .aux: Dient zur Zwischenspeicherung von Informationen
Struktur eines Befehls: \name[optional]{Pflicht} bzw. \befehl
Spezielle Zeichen: # $ & ˜ _ ˆ % { }, Darstellung z. B. durch \$
Neue Zeilen: \\ bzw. \newline
Neue Seiten (erzwingen): \newpage
Backslash durch \textbackslash
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 10 / 116
Zusammenfassung 1: Hello World
1 \documentclass[options]{class}2 %Further global commands and specifications, called preamble3 %(Präambel)4 \begin{document}5 %Text mixed with commands of local effect, called body6 %(Dokumentkörper)7 \end{document}
Listing 3: Dokumentstruktur von LATEX
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 11 / 116
Beispiel: Umlaute bei LATEX
VorführungHello World mit Umlauten, Einführung von Paketen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 12 / 116
Zusammenfassung 2: Hello World
Probleme bei Eingabe und Speicherung von Sonderzeichen undUmlauten im QuelltextKeine Probleme damit beim fertigen (gedruckten) Dokument!LATEX kann durch Pakete erweitert werdenZusammenfassung/ Verteilung von Paketen nennt man Distribution
I TeXLive (Unix/Mac/Windows)I MikTeX (Windows)
Freie Editorwahl, jedoch bieten LATEX-Editoren sinnvolle Funktionen!I Windows: WinShell, TeXnicCenter.I Linux/Unix: Kile, Plugin für: Vim, gedit, Emacs.I Mac: TeXShop, iTeXMac.I Multi-Plattform: Eclipse + TeXlipse, TeXmaker, (LyX).
Einzelne Pakete: CTAN.org (Comprehensive TEX Archive Network)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 13 / 116
Vergleich von latex mit pdflatex
Annahme: latex → .ps, pdflatex → .pdf!I Unterschiede (auch) durch unterschiedliches Dateiformat begründet!
Vorteile latex:I PostScript basierte Pakete funktionieren
Nachteile latex:I Nur .eps Graphiken möglich (kein .jpg oder .png!)
PS: Keine dynamischen Inhalte, (keine Transparenzobjekte)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 14 / 116
Vergleich von latex mit pdflatex
Vorteile pdflatex:I Direkte Einbindung von Graphikformaten: .jpg, .png, .pdf . . .I Direkter Zugriff auf PDF-Features: Hyperlinks,
Dokumenteninformationen, FormulareNachteile pdflatex:
I Einbinden von .eps nicht direkt möglich (epstopdf)I Spezielle Pakete funktionieren nicht (bspw. pstricks)
PDF: Dynamische Inhalte, Transparenzobjekte
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 15 / 116
Inhalt
1 Geschichte und Hello World
2 Zeichensätze und Dateikodierungen
3 Minimale Standardvorlage
4 Warum soll ich mir das antun?
5 Einsteigerliteratur und Probleme, Ausblick
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 16 / 116
Zeichensätze Teil 1Irgendwo muss festgelegt sein, wie Zeichen abgespeichert werden.Problem: Es existieren unterschiedliche Zeichensätze:
I ANSI X3.4-1986 (US-ASCII) – 128 ZeichenI ISO 8859-1 (Latin-1) und ISO 8859-9 (Latin-9) – 191 ZeichenI Windows-1252 Schnittmenge aus Latin-1 und -9I Codepage 437 (DOS-US) - 256 ZeichenI MacRoman – 223 ZeichenI Unicode 2.0 – 65536 Zeichen
Zusätzlich: Zeilenenden werden unterschiedlich kodiert – ist LATEX egal!I Windows: CR LFI Commodore, Apple Mac OS (bis Version 9): CRI Unix-Derivate: LFI CarriageReturn – Sprung der Schreibmarke an ZeilenanfangI LineFeed – beschreibt das Drehen der Walze
Beispiel ASCII: Keine Umlaute, daher auch keine direkteUmlauteingabe möglich! LATEX-Lösung: \"{a}=ä, \ss{}=ß
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 17 / 116
Zeichensätze Teil 2
Vorteil der LATEX-Lösung: Portabilität!Nachteil der LATEX-Lösung: Umständliche Eingabe, keineRechtschreibüberprüfung – was ist mit noch spezielleren Zeichen?!Lösung: LATEX-Interpret anderen Zeichensatz mitteilen:
I Windows: \usepackage[ansinew]{inputenc}I Unix/Linux: \usepackage[latin1]{inputenc} oder [latin9]I Mac OS X: \usepackage[applemac]{inputenc}I Multi-Plattform: \usepackage[utf8]{inputenc}
UTF-8 ist der Unicode Zeichensatz der auf allen (modernen)Plattformen verfügbar sein sollteSonst: Eingeschränkte Portabilität des Quellcodes!Empfehlung: Vorlagen mit \"{}, Text mit direkter Eingabe.
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 18 / 116
Dateikodierung
LATEX interpretiert nur Text, dieser muss von einem Editorentsprechend abgespeichert werden!Editoren verwenden zum Abspeichern einen bestimmten Zeichensatz,dieser kann nicht bei jedem Editor eingestellt werden!Abhilfe: Gute Editoren verwenden, die das können! ;-)Vom Editor verwendeter Zeichensatz muss mit dem im Quellcodeangegebenen Zeichensatz übereinstimmen!Editoren verwenden, die alle Zeilenenden interpretieren können!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 19 / 116
Inhalt
1 Geschichte und Hello World
2 Zeichensätze und Dateikodierungen
3 Minimale Standardvorlage
4 Warum soll ich mir das antun?
5 Einsteigerliteratur und Probleme, Ausblick
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 20 / 116
Minimale Standardvorlage
Fehlt noch: Trennregeln für Wörter und unterschiedliche Sprachen!I \usepackage[ngerman]{babel}
Reihenfolge bei Einbindung kann wichtig sein!
1 \documentclass[a4paper]{article}%Papiergröße=A42 \usepackage[utf8]{inputenc}%Eingabekodierung, zuerst laden!3 \usepackage[T1]{fontenc}%Ausgabekodierung4 \usepackage[ngerman]{babel}%Trennregeln5 \usepackage{lmodern}%Verbesserter Standardfont6 \usepackage{microtype}%Verbesserter optischer Randausgleich7 \usepackage{hyperref}%Sprungmarken, immer zuletzt laden!8 \begin{document}9 Jetzt auch: Hällo Wörld ;-)
10 \end{document}
Listing 4: Standardvorlage
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 21 / 116
Anmerkung zu Fonts bzw. lmodern
LATEX verwendet normalerweise die Computer Modern-Schriften (cm)cm-Fonts sind Bitmaps! („verpixelt“)Latin Modern (lmodern) ist besser! (PostScript Level 1 Font)Alternativ: cm-super Fontpaket nutzen (PostScript Level 1 Font)
I Starker Unterschied beim ß im Vergleich zu lmodern
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 22 / 116
Weitere Fehlerursachen für (optisch) schlechte Ergebnisse
Standard: cm in Old-TeX-Kodierung (OT1)Keine Berücksichtigung von Umlauten!Daher unbedingt [T1]{fontenc} für korrekte Ausgabekodierung undkorrekte Trennung dieser Wörter verwenden!LATEX schaltet dazu zur „europäischen“ CM-Variante EC (ExtendedComputer)Qualität jedoch nicht so gut wie bei der CM-VarianteKeine Postscript Level 3 Fonts benutzen!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 23 / 116
Was passieren kann . . .. . .wenn man solche Dinge nicht beachtet:
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 24 / 116
Dokumentenklassen
LATEX für amerikanische Layoutvorstellungen ausgelegt.I Anpassung zum Beispiel an das Papierformat Letter (statt DIN A4).I Grundklassen sind: book, report, article, letter.I Unterschiede: Layout (Textanordnung, einseitig, zweiseitig),
Organisation und Unterteilungsmöglichkeiten, etc.Europa: KOMA-Script für (deutsches) Textlayout:
I Grundklassen sind: scrbook, scrreprt, scrartcl, scrlttr2
Mögliche Optionen zum Beispiel: [a4paper], [a5paper, twoside]I \documentclass{article} – Papierangabe fehlt!I \documentclass[a4paper]{article} – OK!I \documentclass[a4paper]{scrartcl} – Noch besser!
LATEX-Präsentationen nutzen als Dokumentenklasse: beamer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 25 / 116
Inhalt
1 Geschichte und Hello World
2 Zeichensätze und Dateikodierungen
3 Minimale Standardvorlage
4 Warum soll ich mir das antun?
5 Einsteigerliteratur und Probleme, Ausblick
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 26 / 116
Was bietet LATEX?
Viele gute Sachen:I Einmalig guter Formelsatz!I Kostenlos, lange Entwicklungszyklen, ausgereiftI Gute QuellenverwaltungI Fast beliebig erweiterbar – „lernt“I Im Code schreiben = schneller, effizienterI Autor bleibt Autor, Layout-Designer ist LATEX, Setzer ist TEX
Natürlich auch:I Kerning, Ligaturen, optischer RandausgleichI Regeln um Schusterjungen und Hurenkinder zu vermeiden
Vorsicht: \"{a}=ä ist nicht {\"a}=ä – kein Kerning!
Vergleiche: VÄTER und VÄTERVergleiche: häufig und häufig
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 27 / 116
Vergleich LATEX vs MS FormeleditorLATEX:
∞∑︁i∈𝒱
𝛼
𝛽
?≡∫︁
3√4 !≈ 33 + 4 · 7⏟ ⏞ 109
⋆̸=(︃
34
)︃∝ 𝜁 (mod n) (1)
limx→∞
⎛⎜⎜⎝ ∞+∑︁0≤i∈𝒱0<j<n
⎞⎟⎟⎠(1.12)=
∫︁E
P(x ,A)𝜋(x)𝜇(dx) (2)
(1.14)=
∫︁A
[︂∫︁E
p(y , x)𝜋(y)𝜇(dx)
]︂𝜇(dy) (3)
Office: Ich lasse mir gerne zeigen, wie es besser geht . . .. . .wird also nicht passieren! :-)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 28 / 116
Beispiel: LATEX vs MS Word
Vorführung
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 29 / 116
LATEX hat aber auch Nachteile
Kein „What you see is what you get“ (WYSIWYG)Extrem hoher Lernaufwand am Anfang„Einfache“ Wünsche oft nur mit viel Wissen umsetzbarEtwas Inkonsistenz durch unterschiedliche PaketversionenKein Support durch einen HerstellerDefinitiv keine Tabellenkalkulation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 30 / 116
Inhalt
1 Geschichte und Hello World
2 Zeichensätze und Dateikodierungen
3 Minimale Standardvorlage
4 Warum soll ich mir das antun?
5 Einsteigerliteratur und Probleme, Ausblick
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 31 / 116
Literaturhinweise für Einsteiger
Problem sehr vieler Bücher: Veraltete Befehle und/oder Pakete!I Spart euch das Geld!
Gute Einsteigerliteratur im Internet:I Manuela Jürgens: „LATEX – eine Einführung und ein bisschen mehr . . .“I Mark Trettin: „LATEX-Sündenregister“
Ansonsten:I Forum: www.mrunix.de (deutsch)I Newsgroup: comp.text.tex (englisch) und de.comp.text.tex (deutsch)I TEX-Usergroup: DANTE e.V.
Falls doch ein Buch gekauft wird:I Frank Mittelbach: „Der LATEX-Begleiter“I Mit Vorsicht: Helmut Kopka: „LaTeX Band 1“
Google: Hilft auch!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 32 / 116
VorführungBeispiele zeigen, TeXShop vorstellen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 33 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 34 / 116
Vorab: Trennung zwischen TEX und LATEX-Befehlen
Der LATEX-Interpret versteht auch TEX-BefehleI Eine Trennung zwischen den Befehlen ist daher schwierig!
Meistens funktioniert es trotzdem!
I Aber nicht immer!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 35 / 116
Vorab: Trennung zwischen TEX und LATEX-Befehlen
Der LATEX-Interpret versteht auch TEX-BefehleI Eine Trennung zwischen den Befehlen ist daher schwierig!
Meistens funktioniert es trotzdem!I Aber nicht immer!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 35 / 116
Schriftstil ändern
Schriftfamilie: roman, sans serif, typewriterSchriftstärke: bold font, mediumSchriftform: aufrecht, italic, slanted, small capitalsMehr Beispiele:betont, verschachtelt
1 Schriftfamilie: \textrm{roman}, \textsf{sans serif}, \texttt{typewriter}\\
2 Schriftstärke: \textbf{bold font}, \textmd{medium}\\3 Schriftform: \textup{aufrecht}, \textit{italic}, \textsl{
slanted}, \textsc{small capitals}\\4 Mehr Beispiele: \\5 \emph{betont}, \textbf{\textit{verschachtelt}}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 36 / 116
Schriftstil ändern, so jedoch nicht!
so sollte man es nicht machenso sollte man es eigentlich auch nicht machen
1 so sollte man es {\bf nicht} machen\\2 so sollte man es eigentlich auch {\bfseries nicht} machen
Warum nicht? → „LATEX-Sündenregister“
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 37 / 116
Schriftgröße
winzig, sehr kleinFußnote, kleinnormal, großgrößer, noch größerriesig, gigantischAls Umgebung: andere Möglichkeit
1 {\tiny winzig}, {\scriptsize sehr klein}\\2 {\footnotesize Fußnote}, {\small klein}\\3 {\normalsize normal}, {\large groß}\\4 {\Large größer}, {\LARGE noch größer}\\5 {\huge riesig}, {\Huge gigantisch}\\6 Als Umgebung: \begin{small} andere Möglichkeit \end{small}
Zusätzlich Basisgröße als class option angeben: 10pt, 11pt, 12pt
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 38 / 116
Aufzählungen mit Punkten
Normaler Text ohne Inhalt.Einekleine
! Aufzählung :-]Text wird hier fortgesetzt.
1 Normaler Text ohne Inhalt.2 \begin{itemize}3 \item Eine4 \item kleine5 \item[!] Aufzählung :-]6 \end{itemize}7 Text wird hier fortgesetzt.
Unterpunkte mit \subitem oder \subsubitem
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 39 / 116
Aufzählungen mit Nummern
Normaler Text ohne Inhalt.1 Eine2 kleine3 Aufzählung :-]
Text wird hier fortgesetzt.
1 Normaler Text ohne Inhalt.2 \begin{enumerate}3 \item Eine4 \item kleine5 \item Aufzählung :-]6 \end{enumerate}7 Text wird hier fortgesetzt.
Unterpunkte mit \subitem oder \subsubitem
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 40 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 41 / 116
Anführungszeichen
“Englisch” „Deutsch“ „anderes Deutsch“
1 ‘‘Englisch’’ "‘Deutsch"’ \glqq{}anderes Deutsch\grqq
Geht aber viel schöner:
„Hier ein ganzer Satz in Anführungszeichen“
1 %\usepackage[ngerman]{babel}2 %\usepackage[babel, german=quotes]{csquotes}3 \enquote{Hier ein ganzer Satz in Anführungszeichen}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 42 / 116
Anführungszeichen
„Deutsch“ “Englisch” « Französisch »
1 %\usepackage[english, french, ngerman]{babel}2 %\usepackage[babel,english=american, french=guillemets, german=
quotes]{csquotes}3 {\selectlanguage{ngerman} \enquote{Deutsch}}4 {\selectlanguage{english} \enquote{Englisch}}5 {\selectlanguage{french} \enquote{Französisch}}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 43 / 116
Was jetzt?
Feedback? → LaborWiki!Pizzabestellung?Mit Pizza: LATEX installieren und HelloWorld erstellen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 44 / 116
Strukturieren im Text
1 \chapter{Kapitel} % nur mit der Klasse book2 \part{Teilstück} % selten benötigt3 \section{Abschnitt}4 Beispieltext \dots5 \subsection{Unterabschnitt}6 Beispieltext \dots7 \subsubsection{Unter-Unterabschnitt}8 Beispieltext \dots
Listing 5: Gliederungsmöglichkeiten
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 45 / 116
Strukturieren im Quellcode
1 \include{dateiname} % erzeugt \newpage, bindet Quellcode ein2 \input{dateiname} % ohne \newpage
Listing 6: Einbinden von Quellcode
Besonderheiten:Teildokumente ohne PräambelOhne \begin{document} bzw. \end{document}
\include erzeugt pro Teildokument eine .aux-Datei\includeonly erlaubt nur bestimmte Teile für Übersetzung→ Bearbeitung einzelner Kapitel und trotzdem passende Seitenzahlen
Aufpassen bei Pfadangaben (z. B. zu Bildern) in den Teildokumenten!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 46 / 116
Titelseite und Inhaltsverzeichnis
1 \documentclass{article}2 \author{Labor e.V.}3 \title{LaTeX-Workshop}4 \begin{document}5 \maketitle6 \tableofcontents7 \section{Einleitung}8 \section{Hauptteil}9 \section{Schluss}
Mehrfaches Übersetzen des Quellcodes nötig (2-3×!)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 47 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 48 / 116
Kopf-/Fußzeile
Dafür gibt es 2 Pakete:I fancyhdrI scrpage2
Welches Paket ist besser? – Falsche Frage!I fancyhdr an article angepasstI scrpage2 an scrartcl angepasst
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 49 / 116
Kopf-/Fußzeile1 \documentclass[a4paper]{scrartcl}2 \usepackage{scrpage2}3 \usepackage{lastpage}4 \ihead{oben links}5 \chead{oben mittig}6 \rohead{oben rechts}7 \ifoot{unten links}8 \cfoot{\thepage/\pageref{LastPage}} % Seite / Seitenanzahl9 \rofoot{unten rechts}
10
11 \setheadsepline{0.5pt} % Linie zur Begrenzung12 \setfootsepline{0.5pt} % Linie zur Begrenzung13
14 \pagestyle{scrheadings} % gemachte Einstellungen anwenden15 \begin{document}16 Hier geht es los!17 \end{document}
Listing 7: Beispiel scrpage2
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 50 / 116
Bilder einbinden
Abbildung: Mit passender Beschreibung
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 51 / 116
Bilder einbinden
1 %\usepackage{graphicx}2 %\usepackage{epstopdf}3 %Reihenfolge ist wichtig!4 \begin{figure}[htbp]5 \centering6 \includegraphics[scale=0.3]{panda2}7 \caption{Mit passender Beschreibung}8 \end{figure}
Listing 8: Bilder einbinden
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 52 / 116
BilderpositionierungOder warum erscheint mein Bild nicht wo es soll?
Bild befindet sich in einer „gleitenden“ UmgebungI LATEX findet den optimalen Platz . . .I . . .meistens zumindestens!
Abhilfe:
1 %\usepackage{placeins} % Möglichkeit 22 \begin{figure}[!htb] % Möglichkeit 13 \centering4 \includegraphics[scale=0.3]{panda2}5 \caption{Mit passender Beschreibung}6 \end{figure}7 \FloatBarrier % Möglichkeit 2
Listing 9: Bilder fest positionieren
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 53 / 116
BilderpositionierungOder warum erscheint mein Bild nicht wo es soll?
1 %\usepackage{float} % Möglichkeit 32 \begin{figure}[H] % Möglichkeit 33 \centering4 \includegraphics[scale=0.3]{panda2}5 \caption{Mit passender Beschreibung}6 \end{figure}
Listing 10: Bilder fest positionieren
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 54 / 116
Tabellensatz
t – Positionierungc – center text, | – senkrechte Linien& Spaltenbegrenzer, \\ Zeilenbegrenzer\hline horizontale Linie
1 23 4
1 \begin{tabular}[t]{|c|c|}\hline2 1 & 2 \\\hline3 3 & 4 \\\hline4 \end{tabular}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 55 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 56 / 116
Formelsatz
Es gibt inline Formeln 12 + 11−1 = 2 und auch abgesetzte Formeln
𝛼2i ...n + 𝛽2
1 = 𝜓
ebenso wie Brüche: 12 und Wurzeln: 3√27 und Summen:
∑︀∞+
∞−
1 \documentclass[a4paper]{article}2 \usepackage{amsmath}3 \begin{document}4 Es gibt inline Formeln $1^2 + 1^{1-1} = 2$ und auch abgesetzte
Formeln \[ \alpha_{i \ldots n}^2 + \beta_1^2 = \psi \] ebensowie Brüche: $\frac{1}{2}$ und Wurzeln: $\sqrt[3]{27}$ undSummen: $ \sum_{\infty^{-}}^{\infty^{+}} $
5 \end{document}
nicht mit $$ . . .$$ für abgesetzte Formeln arbeiten!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 57 / 116
Weitere Umgebungen
gather: zentrierte Formelnalign: Ausrichtung wie bei Tabellen mit &multiline und split: Aufteilungcases: Fallunterscheidung. . .und noch mehr!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 58 / 116
komplexeres Beispiel
ℱ𝜔{x(t)} =
∫︁ ∞−∞
x(t) exp−j𝜔t dt (Fourier-Transformation)
1 \documentclass[a4paper]{article}2 \usepackage{amsmath}3 \begin{document}4 \begin{align}5 \mathcal{F}_{\omega}\{x(t)\} = \int^{\infty}_{-\infty} x(t) \
exp^{-\mathrm{j} \omega t} \mathrm{d}t6 \tag{Fourier-Transformation}7 \end{align}8 \end{document}
Für „wichtige“ Dokumente ISO-31 Norm beachten!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 59 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 60 / 116
Fehlerbehandlung
2 Fehlerarten: errors und warningserrors:
I Gravierender Fehler! Übersetzung stoppt!I Hinweistext oft unverständlich . . .
warnings:I LATEX benutzt Strafpunktesystem für „unschönen“ TextI badness gibt Schweregrad an (max. 10000)
„GoToError“-Funktion nutzen (falls verfügbar)Manchmal: .aux-Dateien löschen!Wissenschaft für sich! Deshalb erst gar keine Fehler machen :-)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 61 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 62 / 116
Vorgaben einhaltenRänder, Zeilenabstand, . . .?
Ränder:1 \documentclass[a4paper]{article}2 \usepackage[left=3cm, right=3cm, top=2.5in]{geometry}3 \begin{document}4 Ränder korrekt einstellen5 \end{document}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 63 / 116
Vorgaben einhaltenRänder, Zeilenabstand, . . .?
Zeilenabstand: (nicht empfehlenswert!)1 \documentclass[a4paper]{article}2 \usepackage{setspace}3 \onehalfspacing %1.5-facher Zeilenabstand4 % \doublespacing % 2-facher Zeilenabstand5 \begin{document}6 Zeilenabstand manipulieren.7 \begin{singlespace}1-fach\end{singlespace}8 \begin{onehalfspace}1.5-fach\end{onehalfspace}9 \begin{doublespace}2-fach\end{doublespace}
10 \end{document}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 64 / 116
PDF/A-1a bzw. PDF/A-1b mit pdflatex?
PDF/A-1a: garantiert „textuelle“ ReproduzierbarkeitI Nur mit sehr viel Aufwand mit pdflatex möglich – „Handarbeit“
PDF/A-1b: garantiert „visuelle“ ReproduzierbarkeitI Passendes Paket: [a-1b]pdfxI Konformität muss dennoch überprüft werden!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 65 / 116
Inhalt
6 Wichtige Hinweise, Textformatierung, Aufzählungen
7 Anführungszeichen, Strukturieren, Titelseiten, Inhaltsverzeichnisse
8 Kopf-/Fußzeile, Bilder, Tabellen
9 Formelsatz
10 Fehlerbehandlung
11 Fragen vom letzten Termin
12 Aufgaben
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 66 / 116
Was jetzt?
Feedback? → LaborWiki!Pizzabestellung?Aufgaben bearbeitenMaterial und Aufgaben im Wiki
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 67 / 116
Inhalt
13 Grundbegriffe
14 Variablen
15 Kontrollstrukturen
16 Makros definieren
17 LATEX noch dynamischer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 68 / 116
Interne Verarbeitung in TEX
4 TEX-Prozessoren:I input processor: Eingabezeilen → „token“I expansion processor: Makros/Primitive „auflösen“I execution processor: Kontrolliert nicht expandierbare Sequenzen, baut
Listen auf (für nächsten Schritt)I visual processor: horizontale Listen in Paragraphen, vertikale Listen in
Seiten (nur über Parameter beeinflussbar)token: „character token“ und „control sequence token“(Randnotiz: ^^+ ergibt k)Expandierung ist wichtig und kann beeinflusst werdenEs gibt sog. „zerbrechliche“ Befehle
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 69 / 116
TEX vs. LATEX. . .oder was programmiere ich hier eigentlich?
Oft muss auf TEX-Strukturen zurückgegriffen werdenLATEX-Strukturen sind manchmal einfacherer/robusterManchmal wird auf „interne“-Makros zugegriffen (mit @ im Namen)
I Variante 1: Auslagerung der @-Makros in .sty-DateiI Variante 2: Davor: \makeatletter Danach: \makeatother
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 70 / 116
Inhalt
13 Grundbegriffe
14 Variablen
15 Kontrollstrukturen
16 Makros definieren
17 LATEX noch dynamischer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 71 / 116
Zählervariablen (integer) (LATEX)
1 \newcounter{cntr} % automatisch mit 0 initialisiert2 \newcounter{cntr}[cntr2] % Reset wenn cntr2 sich ändert3 \stepcounter{cntr} % um 1 inkrementieren4 \setcounter{cntr}{10} % Wert setzen5 \thecountername % Wert innerhalb vom Text ausgeben6 \value{cntr} % Wert innerhalb der Programmierung nutzen7 \addtocounter{eincounter}{\value{einanderercounter}}8
9 \arabic{cntr} % counter als Textstring in arabischen Ziffern10 \roman{cntr} % counter als Textstring in römischen Ziffern
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 72 / 116
Zählervariablen (integer) (TEX)
1 \newcount\WertA2 \newcount\WertB3 \WertA=204 \WertB=\WertA5
6 Ausgabe: \the\WertA % Vorsicht! Mit " \ " !
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 73 / 116
Längenvariablen (float)
1 \newlength{\lngth} % Deklaration2 \setlength{\lngth}{dimen} % Zuweisung, dimen=Länge3 \addtolength{\lngth}{dimen} % Addition4
5 % Beeinflusst den "glue" der Boxen (variable Längen):6 \setlength{\mylength}{festeLänge plus X minus Y}7 % X und Y sind der variable Anteil8
9 \the\mylength % Ausgabe im Text
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 74 / 116
Längenvariablen – Einheiten
1 % Textbreite ausmessen und der Variable zuordnen2 \settowidth{\mylength}{Wie lang bin ich?}
Mögliche Einheiten sind:pt (point), pc (pica)in (inch), cm (centimeter), mm (millimeter)em (m-Breite), ex (x-Höhe)mu (math. Einheit)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 75 / 116
Wahrheitswerte (boolean)
Benötigt das Paket ifthenelse
1 \newboolean{boolvar} %Deklaration2 \setboolean{boolvar}{false} %Zuweisung3
4 \boolean{boolvar} % Abfrage5
6 \ifthenelse{\boolean{boolvar}}{}{}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 76 / 116
Rechnen innerhalb von LATEX
1 \advance X by Y2 \divide X by Y3 \multiply X by Y
Für mehr Rechenmöglichkeiten mit Paket calc.
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 77 / 116
Inhalt
13 Grundbegriffe
14 Variablen
15 Kontrollstrukturen
16 Makros definieren
17 LATEX noch dynamischer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 78 / 116
If-Abfragen
1 % Struktur einer If-Abfrage (TeX)2 \if3 wenn_text4 \else5 sonst_text6 \fi7
8 % Vordefinierte If-Abfragen (gibt noch mehr)9 \ifundefined
10 \ifnum zahl_a vergleich zahl_b % <, =, >11 \ifodd zahl12 \ifdim maß_a vergleich maß_b13 \iftrue14 \iffalse15 \ifx token_a token_b
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 79 / 116
If-Abfragen Anwendungsbeispiel
1 % Test ob der Wert von \countA kleiner als 1002 \ifnum\countA<1003 ...4 \else5 ...6 \fi
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 80 / 116
Mehrfachverzweigung
1 \ifcase zahl null_zweig \or eins_zweig \or zwei_zweig \or ...\or n_zweig \else sonst_zweig \fi
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 81 / 116
Schleifen
1 % TeX2 \loop \ifnum\Zahl>0 % Abbruchbedingung (\if ohne \fi)3 ...4 \repeat5
6 % LaTeX - Paket ifthen: \whiledo7 % LaTeX - Paket forloop: \forloop
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 82 / 116
Inhalt
13 Grundbegriffe
14 Variablen
15 Kontrollstrukturen
16 Makros definieren
17 LATEX noch dynamischer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 83 / 116
Neue Befehle (LaTeX)
1 % Definiert einen neuen Befehl, prueft auf Existenz2 \newcommand{cmd}[narg]{command definition}3
4 % Argumente von 1-9, aufrufen ueber #1,...,#95
6 \renewcommand % bestehenden Befehl neu definieren7 \providecommand % definiert ohne Existenzpruefung8 \DeclareRobustCommand % robust
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 84 / 116
Neue Befehle (LaTeX)
1 % Definiert einen neuen Befehl mit optionalem Argument2 \newcommand{cmd}[narg][default]{command definition}3
4 % Beispiel:5 \newcommand{\Ausgabe}[1][2]{#1}6
7 % Aufruf:8 \Ausgabe gibt 2 aus9 \Ausgabe[3] gibt 3 aus
10
11 % Mehrfache optionale Argumente moeglich, nicht hier behandelt
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 85 / 116
Lange und kurze Befehle
1 \newcommand*2 \renewcommand*3 \providecommand*4
5 % Kurze Befehle, kein Paragraphenumbruch im Argument erlaubt!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 86 / 116
Neue Umgebungen (LaTeX)
1 \newenvironment{cmd}[narg]{begin definition}{end definition}2 \renewenvironment{cmd}[narg]{begin definition}{end definition}3
4 % Erste Argument optional5 \newenvironment{cmd}[narg][optional]{begin definition}{end
definition}6
7 % \newenvironment{myquote}[1]{\small\begin{quote}}{\end{quote}}% funktioniert nicht!
8 \newenvironment{myquote}[1]{\small\quote}{\endquote} %funktioniert
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 87 / 116
Inhalt
13 Grundbegriffe
14 Variablen
15 Kontrollstrukturen
16 Makros definieren
17 LATEX noch dynamischer
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 88 / 116
Pakete: hyperref, insdljs (u.a.)
Oft reichen die Möglichkeiten von LATEX nicht aus!Mit hyperref kann man Formulare erstellenMit insdljs kann man JavaScript nutzen:1 \begin{insDLJS}{name}{titel}2 % ... JavaScript-Code3 \end{insDLJS}
Viele weitere nützliche Pakete: datatool (Zugriff auf CSV-Dateien),TikZ (Makrosprache zum „Zeichnen“)Dokument kann so sehr mächtig werden!Einfach zuviel für einen Vortrag :-(
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 89 / 116
Literaturhinweise für Fortgeschrittene
Bücher mit Thema Programmierung/ Makros:Ingo Klöckl: LATEX Tipps & TricksHelmut Kopka: LATEX Band 3: ErweiterungenTEXikon bzw. TEX-Primitive onlineVictor Eijkhout: TEX by TopicDiverse: TEX for the Impatient
Mehr eine Ideensammlung, trotzdem lehrreich:Anselm Lingnau: LATEX Hacks
Originalwerk:Donald Knuth: The TeXbook
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 90 / 116
Inhalt
18 LATEX-Beamerclass
19 Eigenes Theme erstellen
20 Bestehende Themes abändern
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 91 / 116
Übersicht
Wir wollen Präsentationen erstellen!Es gibt verschiedene Pakete:
I prosper, powerdot, FoilTEX, Seminar, beamer, ...I Rest vergessen: beamer ist die beste und aktuellste Möglichkeit ;-)
Entwickelt von Till Tantau (Informatik Professor in Berlin)Beantwortet viele Fragen: beameruserguide.pdf
Funktioniert mit latex und pdflatex
Viele Pakete werden bereits durch beamer geladen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 92 / 116
Abstrakte Beschreibung
Zeitlicher AblaufEine Präsentation besteht aus FramesEin Frame besteht aus SlidesMit Overlays mehrere Slides in einem FrameInhaltliche Gliederung mit part, section und subsection
Visueller AblaufLayout durch Stilvorlagen (kommt noch)Änderungen im Layout erfordern Anpassen der Vorlagen
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 93 / 116
Und los!
Minimalbeispiel1 \documentclass{beamer}2 \begin{document}3 \begin{frame}4 Hier ist Text ...5 \end{frame}6 \end{document}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 94 / 116
Ausführlicher
Minimalbeispiel1 \documentclass[classoption]{beamer} % draft, handout2 \usetheme{Boadilla} % Auswahl im Handbuch/Internet3 \begin{document}4 \begin{frame}[Ausrichtung]{Titel}{Untertitel}5 Hier ist Text ...6 \end{frame}7 \end{document}
Optionen für Ausrichtungc – centered, t – top, b – bottomplain – Kopf- und Fußzeile fehlenfragile – muss angegeben werden, wenn zerbrechliche Befehleauftauchen (bspw. listings, verbatim, ...)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 95 / 116
Titel, Autor, Titelseite, ...
1 \documentclass{beamer}2 \title{\LaTeX{} Einführung}3 \author{Vincent}4 \institute{Labor Bochum e.V.}5 \date{29. Juni 2009}6 \begin{document}7 \begin{frame}8 \maketitle9 \end{frame}
10 \end{document}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 96 / 116
Inhaltsverzeichnis
Vor jeder Section1 \AtBeginSection[]{2 \begin{frame}{Inhalt}3 \tableofcontents[currentsection]4 \end{frame}5 }
Vor jeder SubSection1 \AtBeginSubSection[]{2 \begin{frame}{Inhalt}3 \tableofcontents[currentsubsection]4 \end{frame}5 }
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 97 / 116
Hinweise zum Inhaltsverzeichnis
Ein Befehl tableofparts existiert leider nicht!Handarbeit nötig, Arbeitsaufwand jedoch überschaubarBefehl hypertarget nutzen (siehe Anleitung zu hyperref)
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 98 / 116
Aufzählungen
beamer dichtet viele Befehle um, so auch itemize
subitem und subsubitem existieren nicht mehr!So leider mehr Schreibaufwand! Grund?!
itemize1 \begin{itemize}2 \item Normale Ebene3 \begin{itemize}4 \item subitem Ebene5 \end{itemize}6 \item Wieder normale Ebene7 \end{itemize}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 99 / 116
Blockveranstaltung
Infoblock1 \begin{block}{Infoblock}2 ...3 \end{block}
Achtung!1 \begin{alertblock}{Achtung!}2 \end{alertblock}
Beispiel1 \begin{exampleblock}{Beispiel}2 \end{exampleblock}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 100 / 116
Overlays
Time bomb
1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go
2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go
3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...
4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Overlays
Time bomb1 Two more to go2 One more to go3 Last chance...4 BOOM!
Animation
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 101 / 116
Effekte
Eine nette Spielerei, aber meistens unnötig!Geht auch automatisiert, farbig, usw. . . .Überblendeffekte gibt es auchWeitere sinnlose Effekte ;-)Bilder, Tabellen, Mathemodus ganz normalVideos, Musik, funktioniert auch
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 102 / 116
Inhalt
18 LATEX-Beamerclass
19 Eigenes Theme erstellen
20 Bestehende Themes abändern
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 103 / 116
Der Auftrag
Aufgabe: LATEX-Präsentation an Powerpoint-Vorlage anpassenWARUM? LATEX kann doch viel mehr! Richtig ;-)→ Corporate IdentityZusätzlich: Vorlage soll zweisprachig sein!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 104 / 116
Die Idee
PPT-Vorlage „drucken“ (als PDF)Nachbearbeitung bspw. in Adobe IllustratorAls Hintergrundbilder für die LaTeX-Präsentation nutzenTheme erstellen und Text korrekt platzieren
I 2 Themes: DeutschTheme, EnglischThemeI Greifen intern auf ein HauptTheme zuI Benennung ist wichtig: beamerthemeNAME.sty
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 105 / 116
Die Umsetzung
beamerthemehgienglish.sty1 \mode<presentation>2 \pgfdeclareimage[height=\paperheight,interpolate=true]{
background}{gfx/hgi-wallpaper-EN}3 \pgfdeclareimage[height=\paperheight,interpolate=true]{
backgroundtitlepage}{gfx/hgi-titlepage-EN}4 \usetheme{hgi} % <-- Das wird unser HauptTheme5 \mode6 <all>
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 106 / 116
Die Umsetzung
beamerthemehgi.sty1 \ProvidesClass{beamerthemehgi}[2009/01/28]2 \mode<presentation>3
4 % Inhalt der folgenden Folien ...5
6 \mode7 <all>
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 107 / 116
Die Umsetzung
beamerthemehgi.sty1 % Define the wallpaper for our presentation2 \defbeamertemplate*{background canvas}{hgi theme}%3 {%4 \pgfuseimage{background}%5 }6 \defbeamertemplate{background canvas}{hgi theme titlepage}%7 {%8 \pgfuseimage{backgroundtitlepage}%9 }
10 \defbeamertemplate{background canvas}{hgi theme lastpage}%11 {%12 \pgfuseimage{backgroundtitlepage}%13 }
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 108 / 116
Die Umsetzung
beamerthemehgi.sty1 % Create our titlepage2 \newcommand{\hgititlepage}{%3 {%4 \setbeamertemplate{background canvas}[hgi theme titlepage]5 \begin{frame}%6 \titlepage%7 \end{frame}%8 }%9 }
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 109 / 116
Die Umsetzung
beamerthemehgi.sty1 % settings for titlepage2 \defbeamertemplate*{title page}{hgi}[1][]3 {%4 \vspace{0.225\paperheight}%5 \begin{beamercolorbox}[ht=3em,wd=0.785\textwidth,sep=5pt,
leftskip=-0.420cm,#1]{title}6 \usebeamerfont{title}\inserttitle\par%7 \end{beamercolorbox}8 \vfill9 }
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 110 / 116
Die Umsetzung
beamerthemehgi.sty1 % Create slides2 \defbeamertemplate*{frametitle}{hgi theme}[1][]3 {%4 \vspace{0.060\paperheight}5 \begin{beamercolorbox}[ht=2em,wd=0.9\textwidth,sep=5pt,
leftskip=-0.420cm,#1]{frametitle}6 {\usebeamerfont{frametitle}\insertframetitle\par}%7 \end{beamercolorbox}%8 }
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 111 / 116
Der Einsatz
deinePraesentation.tex1 %Wählen Sie eine Sprache!2 %\usetheme{hgideutsch}3 %\usetheme{hgienglish}
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 112 / 116
Fazit
Ein eigenes Theme zu erstellen kann sehr viel Arbeit bedeuten!Es kann viel schiefgehen ;-)Viele Dinge wurden hier noch nicht erledigt:
I Fusszeile, Standardfarben, Aufzählungszeichen, . . .
beamerthemehgi.sty1 % Set up footline with page numbers2 \defbeamertemplate*{footline}{hgi theme}{%3 \hspace*{2ex}\raisebox{1.5ex}[-1.5ex]{%4 \tiny\insertframenumber{}/\inserttotalframenumber}%5 }%
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 113 / 116
Inhalt
18 LATEX-Beamerclass
19 Eigenes Theme erstellen
20 Bestehende Themes abändern
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 114 / 116
Leider keine Zeit mehr :-)Inner Theme: Titelseite, Aufzählungen, Blöcke, Bilder und TabellenOuter Theme: Kopf- und Fußzeile, Sidebars, Logo und Folientitel
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 115 / 116
Danke!
Danke für die Aufmerksamkeit und vielleicht bis zur nächsten Vortragsreihe!
Vincent (Labor Bochum e.V.) LATEX Einführung 29. Juni 2009 116 / 116