30
Einführung in das Textsatzsystem (L A )T E X Vorlesung über (L A )T E X im Sommersemester 2009 univer@tati+ studii heydelbergen@+ Arno Trautmann Heidelberg Vorlesung 12, 3. Juli 2009

Vorlesung über (LA)TEX im Sommersemester 2009

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesung über (LA)TEX im Sommersemester 2009

Einführung in das Textsatzsystem (LA)TEXVorlesung über (LA)TEX im Sommersemester 2009

univer@tati+ studii heydelbergen@+

Arno Trautmann

Heidelberg

Vorlesung 12, 3. Juli 2009

Page 2: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Teil XII

Typographische FeinheitenPakete selbst schreiben

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 24 / 49

Page 3: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

.. .1 Was ist Mikrotypographie?

.. .2 Paket microtype

.. .3 Erstellen eigener Pakete und Klassen

.. .4 Was bleibt?

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 25 / 49

Page 4: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

„normale“ Typographie – Nachtrag

Setzen echter Anführungszeichen: „ “ stattmit TEX: \glqq \grqq

mit LATEX und babel: `" '"(" ist active char in babel und wird auch für andere Zweckeverwendet)mit XƎLATEX: „ “

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 26 / 49

Page 5: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Zweispaltiger Satz – Nachtrag

Dokumentoption twocolumn setzt zweispaltig

Umgebungen figure* und table* gehen über beide SpaltenVorsicht mit Reihenfolge bei Verwendung mit und ohne *!

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 27 / 49

Page 6: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Zweispaltiger Satz – Nachtrag

Dokumentoption twocolumn setzt zweispaltigUmgebungen figure* und table* gehen über beide SpaltenVorsicht mit Reihenfolge bei Verwendung mit und ohne *!

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 27 / 49

Page 7: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Mailinglisten – Nachtrag

tex-d-l – deutschsprachige Mailinglistetexhax – internationale Listenewsgroups: (d.)c.t.t.(Benötigt Zugang zum Usenet, z. B. über Uni Heidelberg)Umgangsformen beachten!

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 28 / 49

Page 8: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Typographie

Makro- und MikrotypographieMakrotypographie: Anordnung von Text auf einer SeiteTextumbruch und AbsatzausrichtungAnordnung von Bildern, konsistente Abständepassende Wahl von Schriften(Kerning)

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 29 / 49

Page 9: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Mikrotypographie

typographische Feinheiten auf Buchstaben- oder„Subbuchstabenniveau“:character protrusionfont expansionthe adjustment of interword spacingadditional kerninghyphenatable letterspacing (tracking)possibility to disable all or selected ligatures.

(Aus der microtype-Dokumentation)

Das typolexikon bietet eine ausführlichere Definition

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 30 / 49

Page 10: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Mikrotypographie

typographische Feinheiten auf Buchstaben- oder„Subbuchstabenniveau“:character protrusionfont expansionthe adjustment of interword spacingadditional kerninghyphenatable letterspacing (tracking)possibility to disable all or selected ligatures.

(Aus der microtype-Dokumentation)Das typolexikon bietet eine ausführlichere Definition

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 30 / 49

Page 11: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

typokurz

Dokument typokurz.pdf gibt kurze, übersichtliche Anleitung zutypographischen Tipsim Internet unter dem Namen zu findenTextauszeichnungen, Striche, Abkürzen etc.

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 31 / 49

Page 12: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

microtype

Paket microtype kümmert sich um alle mikrotypographischen Effektebenötigt pdfTEX als Enginefür alle Features: aktuelle Engine (pdfTEX > 1.40)LuaTEX

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 32 / 49

Page 13: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Die minimale Klasseminimal.cls

\NeedsTeXFormat{LaTeX2e}\ProvidesClass{minimal}[2001/05/25 Standard LaTeX minimal class]

\renewcommand\normalsize{\fontsize{10pt}{12pt}\selectfont}

\setlength{\textwidth}{6.5in}\setlength{\textheight}{8in}

\pagenumbering{arabic} % but no page numbers are printed because:\pagestyle{empty} % this is actually already in the kernel

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 33 / 49

Page 14: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Eine absolut minimale Klasse

\renewcommand\normalsize{\fontsize{10}{12}\selectfont}

⇒ Definition von \normalsize entscheidend!

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 34 / 49

Page 15: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Klassen Laden

normalerweise Klassen nicht „from scratch“ schreiben⇒ \LoadClass{scrartcl} lädt scrartcl mit allen Einstellungen der

Klassedanach weitere Funktionalität/Einstellung möglich

Pakete einbinden: \RequirePackage{paket} statt \usepackage{paket}

Befehle definieren: \DeclareRobustCommand statt \newcommand

restlicher Code wie im normalen LATEX-Dokumentnützlich: \AtBeginDocument{}, \AtEndDocument{}

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 35 / 49

Page 16: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Klassen Laden

normalerweise Klassen nicht „from scratch“ schreiben⇒ \LoadClass{scrartcl} lädt scrartcl mit allen Einstellungen der

Klassedanach weitere Funktionalität/Einstellung möglichPakete einbinden: \RequirePackage{paket} statt \usepackage{paket}

Befehle definieren: \DeclareRobustCommand statt \newcommand

restlicher Code wie im normalen LATEX-Dokumentnützlich: \AtBeginDocument{}, \AtEndDocument{}

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 35 / 49

Page 17: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

literate programming

Programmcode sollte mit Dokumentation zusammen geschriebenwerden

⇒ möglichst viele Kommentare zum Code schreiben!

viele Kommentare bremsen TEX ausKlasse schreiben: Code+DokumentationKlasse verwenden: reinen Codedafür: DocStrip

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 36 / 49

Page 18: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

literate programming

Programmcode sollte mit Dokumentation zusammen geschriebenwerden

⇒ möglichst viele Kommentare zum Code schreiben!viele Kommentare bremsen TEX ausKlasse schreiben: Code+DokumentationKlasse verwenden: reinen Codedafür: DocStrip

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 36 / 49

Page 19: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

DocStrip

Programm DocStrip entfert alle Kommentare aus einemTEX-Dokumentselbst in TEX implementiert

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 37 / 49

Page 20: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

DocStrip

\documentclass[english]{ltxdoc}\begin{document}\DocInput{mathphysletter.dtx}\end{document}

% Programmcode \protect \char "2026\relax

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 38 / 49

Page 21: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Code

Code muss immer in der folgenden Umgebung eingeschlossen sein:

%␣␣␣␣\begin{macrocode}\DeclareRobustCommand\Kuchen{\kuchen@ist@lecker}%␣␣␣␣\end{macrocode}

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 39 / 49

Page 22: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

dtx und ins

.dtx-Datei enthält Code und Dokumentation

.ins-Datei enthält Anweisungen zur CodeerzeugungKompilieren der .dtx liefer Dokumentation, Kompilieren der .insKlasse/Paket

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 40 / 49

Page 23: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

zukünftige Entwicklung

nähere Zukunft: LuaTEXPaketerstellen auf Basis der Skriptsprache luaStandardprogrammieraufgaben wesentlich einfacher als mit TEXEinbinden externer Bibliotheken einfach möglich

ferne Zukunft: LATEX3

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 41 / 49

Page 24: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

zukünftige Entwicklung

nähere Zukunft: LuaTEXPaketerstellen auf Basis der Skriptsprache luaStandardprogrammieraufgaben wesentlich einfacher als mit TEXEinbinden externer Bibliotheken einfach möglichferne Zukunft: LATEX3

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 41 / 49

Page 25: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

LATEX3

geplanter, neuer LATEX-KernelSinn: Abstraktion von TEXVereinfachung oft verwendeter Strukturen zum „Programmieren“Lernen aus Fehlern/Problemen von LATEX 2ε

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 42 / 49

Page 26: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

LATEX3Befehlsstruktur

Stelle des @ wird vom _ eingenommenalle Befehle bekommen strukturiert vergebene NamenNamenskollisionen ausgeschlossen, da Benennung nach ModulenAngabe von Argumenten, getrennt durch Doppelpunkt

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 43 / 49

Page 27: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

LATEX3Befehlsstruktur

Syntax für Parameter:\access_module_description_type

Syntax für Funktionen:\hmodule_description:arg-spec

Bsp.: \seq_push:Nn⇒ siehe texdoc expl3

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 44 / 49

Page 28: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

LATEX3Sinn

„wrapper“ für alle TEX-Primitivenleichteres Programmieren durch strukturierte Befehlenachvollziehbare Befehlsnamen„Überladen“ von Funktionsnamen

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 45 / 49

Page 29: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

Was man mitnehmen sollte

wofür ist LATEX gut, wann sollte man es verwenden und warum ist esoft besser als andere Systeme?wie ist der prinzipielle Aufbau eines LATEX-Dokumentes?wo kann es Probleme geben bei unterschiedlichen Systemen?wo findet man Hilfe?was ist typographisch schön und was ist „schön“?was verbessert die Lesbarkeit?

Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 46 / 49

Page 30: Vorlesung über (LA)TEX im Sommersemester 2009

Was ist Mikrotypographie? Paket microtype Pakete und Klassen Was bleibt?

„I hope to die before I have to use Microso Word.“Donald E. Knuth, 02. 10. 2001 in Tübingen.

Happy TEXing!Arno Trautmann (Heidelberg) Einführung in das Textsatzsystem (LA)TEX Vorlesung 12, 3. Juli 2009 47 / 49