Überschriften » Historie » Version 22
Patrick Schulz, 05.10.2022 12:53
1 | 1 | Patrick Schulz | h1. Überschriften |
---|---|---|---|
2 | |||
3 | 3 | Patrick Schulz | h2. Überschriften im *transpect-tex Common Framework* ("transpect-headings.dtx":https://gitlab.le-tex.de/transpect-tex/transpect-tex/-/blob/master/src/transpect-headings.dtx) |
4 | 2 | Patrick Schulz | |
5 | 1 | Patrick Schulz | <pre><code class="text"> |
6 | \begin{heading}[<opt>]{<level>} |
||
7 | 17 | Martin Kraetke | %% Eigentliche Überschrift: |
8 | 8 | Patrick Schulz | \tpTitle{…} |
9 | 20 | Patrick Schulz | \tpAuthorNameList{…} |
10 | 8 | Patrick Schulz | \tpSubtitle{…} |
11 | \tpNumber{…} |
||
12 | \tpQuote{…} |
||
13 | \tpQuoteSource{…} |
||
14 | %% Overrides für ToC-Entries: |
||
15 | \tpTocTitle{…} |
||
16 | 20 | Patrick Schulz | \tpTocAuthorNameList{…} |
17 | 8 | Patrick Schulz | \tpTocSubtitle{…} |
18 | \tpTocNumber{…} |
||
19 | %% Overrides für Kolumnentitel: |
||
20 | 13 | Maren Pufe | \tpRunTitle{…} |
21 | 20 | Patrick Schulz | \tpRunAuthorNameList{…} |
22 | 1 | Patrick Schulz | \tpRunSubtitle{…} |
23 | \tpRunNumber{…} |
||
24 | 20 | Patrick Schulz | %% Overrides für PDF-Bookmarks: |
25 | \tpBMTitle{…} |
||
26 | \tpBMAuthorNameList{…} |
||
27 | \tpBMSubtitle{…} |
||
28 | \tpBMNumber{…} |
||
29 | 1 | Patrick Schulz | \end{heading} |
30 | </code></pre> |
||
31 | 17 | Martin Kraetke | |
32 | * @<level>@ ist der Name der Überschrift-Ebene, z.B. chapter, section, subsubsection… |
||
33 | 1 | Patrick Schulz | * @<opt>@ optionale Parameter für einzelne Überschriften. Wenn es keine gibt, eckige Klammern weglassen! |
34 | 17 | Martin Kraetke | ** @notoc@: Überschrift erzeugt keinen Eintrag im IHV |
35 | 18 | Maren Pufe | ** @noBM@: Überschrift erzeugt keinen Bookmark-Eintrag |
36 | 8 | Patrick Schulz | * Notwendig ist nur @\tpTitle{}@; der Rest optional |
37 | 20 | Patrick Schulz | * @\tpAuthorNameList{}@ ist die *unstrukturierte* Version der Abschnitts-/Kapitelautor*innen |
38 | 8 | Patrick Schulz | * @\tpSubtitle{}@ ist der Untertitel |
39 | 17 | Martin Kraetke | * @\tpNumber{}@ ist der Überschrift-Zähler samt Präfix (z.B. "Kapitel 2", "2.1.2.3", "Anhang A", etc.) |
40 | 8 | Patrick Schulz | * @\tpQuote{}@ ist ein Zitat |
41 | * @\tpQuoteSource{}@ die Quelle dazu |
||
42 | 17 | Martin Kraetke | * Mit v0.100 können Überschriften auch automatisiert gezählt werden. Ist @\tpNumber@ gesetzt, wird die interne Zählung überschrieben und das automatische Weiterzählen für diese Überschrift ausgesetzt. |
43 | 1 | Patrick Schulz | |
44 | 12 | Patrick Schulz | |
45 | 17 | Martin Kraetke | Spezielle Überschriften haben weitere Datenfelder: |
46 | 12 | Patrick Schulz | * @\tpAbstract{}@ Abstract |
47 | 17 | Martin Kraetke | * @\tpAbstractTitle{}@ Überschrift des Abstracts, default: “Abstract” |
48 | 12 | Patrick Schulz | * @\tpKeywords{}@ Schlagworte |
49 | * @\tpKeywordsTitle{}@ Überschrift für die Schlagworte, default: “Keywords” |
||
50 | * @\tpDOI{}@ DOI |
||
51 | * @\tpDOITitle{}@ Titel für die DOI Angabe, default: <leer>. |
||
52 | |||
53 | 17 | Martin Kraetke | Diese "speziellen Überschriften" können von Projekt zu Projekt unterschiedlich heißen, qua Konvention heißt die Ebene aber i.d.R. @contribution@ und erbt ihre sonstigen Merkmale von @chapter@. |
54 | 12 | Patrick Schulz | |
55 | |||
56 | 19 | Patrick Schulz | In jedem Makro kann @\tpBreak@ verwendet werden, um einen Zeilenumbruch an der Stelle zu erzwingen. |
57 | 8 | Patrick Schulz | |
58 | 14 | Patrick Schulz | h2. Overrides für Inhaltsverzeichnisse, Kolumnentitel und PDF-Bookmarks |
59 | 8 | Patrick Schulz | |
60 | 14 | Patrick Schulz | *Zu den Makros @\tp<Makro>@ mit @<Makro> := (Author|Number|Subtitle|Title)@ gibt es je drei Overrides: @\tpRun<Makro>@ (für Kolumnen), @\tpToc<Makro>@ (für IHV), und @\tpBM<Makro>@ (für Bookmarks). |
61 | ** Fehlt das Overridefür Kolumnentitel bzw. IHV, wird der Inhalt von @\tp<Makro>@ für Kolumnentitel bzw. IHV-Eintrag verwendet. |
||
62 | 8 | Patrick Schulz | ** Fehlt das Override für die Bookmarks, wird der Inhalt von @\tpToc<Makro>@ verwendet; gibt es die auch nicht, dann die von @\tp<Macro>@. |
63 | 16 | Patrick Schulz | ** Ist @\tp(Run|Toc|BM)<Makro>{<Text>}@ gesetzt, wird @<text>@ statt der Inhalt von @\tp(Toc)<Makro>@ verwendet. |
64 | 1 | Patrick Schulz | ** Ist @\tp(Run|Toc|BM)<Makro>{}@ gesetzt (also mit leerem Argument!), wird die Ausgabe des <Makro> in Kolumnentitel/IHV/Bookmarks komplett unterdrückt. |
65 | |||
66 | *Beispiel:* |
||
67 | 8 | Patrick Schulz | <pre> |
68 | \begin{heading}{chapter} |
||
69 | 1 | Patrick Schulz | \tpTitle{Ein Text} |
70 | 20 | Patrick Schulz | \tpAuthorNameList{Max Musterfrau} |
71 | \tpTocAuthorNameList{Max Mustertransfrau} |
||
72 | 1 | Patrick Schulz | \tpRunTitle{Ein Alternativtext} |
73 | 20 | Patrick Schulz | \tpRunAuthorNameList{} |
74 | 1 | Patrick Schulz | \end{heading} |
75 | </pre>würde als Überschrift<pre>Max Musterfrau: Ein Text</pre> erzeugen. Als Toc-Eintrag würde<pre>Max Mustertransfrau: Ein Text</pre>ausgegeben, it dem Override für den Autorennamen. Als Kolumnentitel würde dann<pre>Ein Alternativtext</pre> ausgegeben. Der Autorenname wird im Kol-Titel unterdrückt, weil das Argument von @\tpRunAuthor@ in dem Fall leer ist. |
||
76 | 20 | Patrick Schulz | |
77 | 22 | Patrick Schulz | h2. Strukturierte vs unstrukturierte Kapitel-/Abschnittsautor:innen und Affiliations (ab cocotex Version 0.2) |
78 | 20 | Patrick Schulz | |
79 | 21 | Patrick Schulz | Strukturierte Autor:innen werden in der @tpAuthor@-Umgebung innerhalb der @heading@-Umgebung kodiert, eine pro Autor:in:<pre>\begin{heading}{contribution} |
80 | 20 | Patrick Schulz | %% Autor:innen |
81 | \begin{tpAuthor} |
||
82 | \tpFirstName{Max} |
||
83 | \tpMidName{M.} |
||
84 | \tpLastName{Mustermann} |
||
85 | \tpPersonPrefix{Prof. Dr.} |
||
86 | \tpORCID{http://orcid.org/0000-0002-9441-3978} |
||
87 | \tpEmail{max.mustermann@example.org} |
||
88 | \tpAffil{1} |
||
89 | %% Override: |
||
90 | \tpFullName{Max M. Mustermann} |
||
91 | \end{tpAuthor} |
||
92 | %% Affiliations: |
||
93 | \begin{tpAffil} |
||
94 | \tpAffilID{1} |
||
95 | \tpInstitute{Uni Musterstadt} |
||
96 | \tpDepartment{Institut für Mustererstellung} |
||
97 | \tpAddress{Musterstr. 1, 01234 Musterstadt} |
||
98 | \tpCountry{Germany} |
||
99 | %% Override: |
||
100 | \tpAffiliation{Uni Musterrstadt, Institut für Mustererstellung, 01234 Musterstadt, Germany} |
||
101 | \end{tpAffil} |
||
102 | %% Overrides: |
||
103 | \tpAuthorNameList{Max Mustermann} |
||
104 | \tpAffilBlock{Die arbeiten alle irgendwo…} |
||
105 | \end{heading}</pre> |
||
106 | Die Konponenten in den Sub-Containern @tpAffil@ und @tpAuthor@ werden in abhängigkeit vom Verlagsstyle zusammen gesetzt un in tpFullName bzw. tpAffiliation gespeichert, wenn es diese innerhalb der Sub-Container noch nicht gibt, d.h. @\tpAffiliation@ und @\tpFullName@ diene gleichzeitig als Overrides für die jeweiligen Sub-Container an sich. So würde z.B. in obigen Beispiel als voller Autorenname "Prof. Dr. Max M. Mustermann" generiert werden, da aber @\tpFullName@ bereits explizit gegeben ist, wird dieser generierte String verworfen und der Inhalt von @\tpFullName@ für das weitere Processing verwendet. Analog bei @tpAffil@ mit @\tpAffiliation@. |
||
107 | |||
108 | Ferner werden die Instanzen der jeweiligen Sub-Container innerhalb einer @heading@-Umgebung zu einem "Block" zusammengefasst und ausgebenen. Bei @tpAuthor@ ist der Block @\tpAuthorNameList@ und bei @tpAffil@ ist das @\tpAffilBlock@. Diese können auch direkt in der heading-Umgebung verwendet werden und überschreiben damit alle Einzelinstanzen der Sub-Container. So werden die (generierten) Inhalte der @\tpFullName@-Komponenten aller tpAuthor-Umgebungen aneinander gehängt und in @\tpAuthorNameList@ gespeichert, außer es gibt dieses bereits. Analog dazu mit @tpAffil@ und @\tpAffilBlock@, in dem die (generierten) @\tpAffiliation@-Inhalte der einzelnen @tpAffil@-Continaer gespeichert werden, außer @\tpAffilBlock@ existiert bereits innerhalb der @heading@-Umgebung. |
||
109 | |||
110 | |_. Komponenten-Makro |_. Bedeutung| |
||
111 | |_\2. tpAuthor | |
||
112 | | @\tpFirstName{}@ | Rufname | |
||
113 | | @\tpLastName{}@ | Nachname | |
||
114 | | @\tpMidName{}@ | Mittelnamen/Initiale | |
||
115 | | @\tpPersonPrefix{}@ | Titel | |
||
116 | | @\tpORCID{}@ | ORC-ID | |
||
117 | | @\tpEmail{}@ | Email-Adresse | |
||
118 | | @\tpAffil{}@ | ID der Affiliation zu der die Autor:in gehört | |
||
119 | | @\tpFullName{}@ | Einzelnamen-Override: Wenn das fehlt, wird FullName aus "PersonPrefix FirstName MidName LastName" zusammen gesetzt (abhg. vom Verlagsstyle) | |
||
120 | |_\2. tpAffil | |
||
121 | | @\tpAffilID{}@ | ID der Affiliation | |
||
122 | | @\tpInstitute{}@ | Institut/Uni/Firma | |
||
123 | | @\tpDepartment{}@ | Abteilung/Fakultät/Institut | |
||
124 | | @\tpAddress{}@ | Adresse | |
||
125 | | @\tpCountry{}@ | Land | |
||
126 | | @\tpAffiliation{}@ | Affiliation-Override: Wenn das fehlt, wird tpAffiliation aus "Institute, Department, Address, Country" zusammengesetzt (abhg. vom Verlagsstyle) | |
||
127 | |||
128 | 16 | Patrick Schulz | |
129 | |||
130 | h3. *Wichtige Anmerkung zu den PDF-Bookmarks* |
||
131 | |||
132 | 17 | Martin Kraetke | In dem, was in den *Bookmarks* landet, darf *kein LaTeX-Markup* enthalten sein, da diese Inhalte 1:1 in den PDF-Code geschrieben werden! Sind Makros in einer Überschrift enthalten, wirft pdftex Fehler bei der PDF-Erzeugung aus und ignoriert die Makros, lässt ggf. aber Argumente dieser Makros stehen, z.B. @\foreignlanguage{english}{text}@ würde als Bookmark @"englishtext"@ erzeugen! Besonders kritisch ist dies, wenn Formeln in der Überschrift enthalten sind! Wenn in der Überschrift also tex-Markup (Mathe, foreignlanguage, aber auch Auszeichnungen wie @\textit@, etc.) enthalten ist, IMMER die BM-Overrides verwenden und dort nur reinen Text reinschreiben. |
133 | 11 | Martin Kraetke | |
134 | h2. Abbildungsverzeichnis und Tabellenverzeichnis |
||
135 | |||
136 | Diese beiden Verzeichnisse werden entsprechend der Hierarchiestufe als normale Heading ausgezeichnet und dann das Makro zum Erzeugen des Verzeichnisses ausgegeben. |
||
137 | |||
138 | <pre> |
||
139 | \begin{heading}{section} |
||
140 | \tpTitle{Abbildungsverzeichnis} |
||
141 | \tpTocTitle{Abbildungsverzeichnis} |
||
142 | \tpRunTitle{Frische Früchte, kaputte Körper} |
||
143 | \end{heading} |
||
144 | |||
145 | \listoffigures % oder \listoftables |
||
146 | </pre> |