Projekt

Allgemein

Profil

Ü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>