Projekt

Allgemein

Profil

Überschriften » Historie » Version 23

Marcus Hottenroth, 28.12.2023 10:00

1 1 Patrick Schulz
h1. Überschriften
2
3 23 Marcus Hottenroth
h2. Überschriften im *CoCoTeX-Framework* ("coco-headings.sty":https://gitlab.le-tex.de/transpect-tex/transpect-tex/-/blob/oop/projects/common/coco-headings.sty)
4 2 Patrick Schulz
5 1 Patrick Schulz
<pre><code class="text">
6
\begin{heading}[<opt>]{<level>}
7 23 Marcus Hottenroth
  %% Überschrift im Fließtext:
8 8 Patrick Schulz
  \tpTitle{…}
9 20 Patrick Schulz
  \tpAuthorNameList{…}
10 8 Patrick Schulz
  \tpSubtitle{…}
11
  \tpNumber{…}
12
  \tpQuote{…}
13
  \tpQuoteSource{…}
14 23 Marcus Hottenroth
  %% Überschreibungen für Inhaltsverzeichniseinträge:
15 8 Patrick Schulz
  \tpTocTitle{…}
16 20 Patrick Schulz
  \tpTocAuthorNameList{…}
17 8 Patrick Schulz
  \tpTocSubtitle{…}
18
  \tpTocNumber{…}
19 23 Marcus Hottenroth
  %% Überschreibungen für Kolumnentitel:
20 13 Maren Pufe
  \tpRunTitle{…}
21 20 Patrick Schulz
  \tpRunAuthorNameList{…}
22 1 Patrick Schulz
  \tpRunSubtitle{…}
23
  \tpRunNumber{…}
24 23 Marcus Hottenroth
  %% Überschreibungen für PDF-Lesezeichen:
25 20 Patrick Schulz
  \tpBMTitle{…}
26
  \tpBMAuthorNameList{…}
27
  \tpBMSubtitle{…}
28
  \tpBMNumber{…}
29 1 Patrick Schulz
\end{heading}
30
</code></pre>
31
32 23 Marcus Hottenroth
* @<level>@: Name der Überschriftebene, z. B. <code>chapter</code>, <code>section</code>, <code>subsection</code> etc.
33
* @<opt>@: optionale Argumente für einzelne Überschriften
34
** @notoc@: Überschrift erzeugt keinen Eintrag im Inhaltsverzeichnis
35
** @noBM@: Überschrift erzeugt kein PDF-Lesezeichen
36
* lediglich @\tpTitle{…}@ ist obligatorisch; restliche Angaben sind optional
37
* @\tpAuthorNameList{…}@: _unstrukturierte_ Version der Abschnitts-/Kapitelautoren
38
* @\tpSubtitle{…}@: Untertitel
39
* @\tpNumber{…}@: Überschriftzähler samt Präfix (z. B. »Kapitel 2«, »2.1.2.3«, »Anhang A«)
40
* @\tpQuote{…}@: ein Zitat
41
* @\tpQuoteSource{…}@: Quelle des Zitats
42 8 Patrick Schulz
* 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 17 Martin Kraetke
44 1 Patrick Schulz
45 17 Martin Kraetke
Spezielle Überschriften haben weitere Datenfelder:
46 23 Marcus Hottenroth
* @\tpAbstract{…}@: (Kurz-)Zusammenfassung
47
* @\tpAbstractLabel{…}@: Überschrift der Zusammenfassung; Standardwert: »Abstract«
48
* @\tpKeywords{…}@: Schlagworte
49
* @\tpKeywordsLabel{…}@: Überschrift für die Schlagworte; Standardwert: »Keywords«
50
* @\tpTitleEn{…}@: englischer Titel (bspw. bei nicht englischsprachigen Artikeln)
51
* @\tpTitleEnLabel{…}@: Überschrift für den englischen Titel; Standardwert: keiner
52
* @\tpDOI{…}@: DOI
53
* @\tpDOITitle{…}@: Titel für die DOI-Angabe; Standardwert: keiner.
54 8 Patrick Schulz
55 23 Marcus Hottenroth
Diese »speziellen Überschriften« können von Projekt zu Projekt unterschiedlich heißen. Qua Konvention heißt eine solche Ebene aber i. d. R. @contribution@ und erbt ihre sonstigen Merkmale von @chapter@.
56 8 Patrick Schulz
57 1 Patrick Schulz
58 23 Marcus Hottenroth
In jedem Makro kann @\tpBreak@ verwendet werden, um einen instantanen Zeilenumbruch zu erzwingen.
59 16 Patrick Schulz
60 23 Marcus Hottenroth
h2. Überschreibungen für Inhaltsverzeichnisse, Kolumnentitel und PDF-Lesezeichen
61 1 Patrick Schulz
62 23 Marcus Hottenroth
Zu den Makros @\tpAuthorNameList@, @\tpNumber@, @\tpSubtitle@ sowie @\tpTitle@ gibt es je drei Überschreibungen @\tpRun…@ (für Kolumnentitel), @\tpToc…@ (für Inhaltsverzeichnisangaben), und @\tpBM…@ (für PDF-Lesezeichen).
63 22 Patrick Schulz
64 23 Marcus Hottenroth
* Wird keine Überschreibung für Kolumnentitel bzw. das Inhaltsverzeichnis vorgenommen, wird der Inhalt von @\tp…@ für den Kolumnentitel bzw. den Inhaltsverzeichniseintrag verwendet.
65
* Wird keine Überschreibung für die PDF-Lesezeichen vorgenommen, wird der Inhalt von @\tpToc<Makro>@ verwendet. Gibt es auch diese nicht, wird der Inhalt von @\tp<Macro>@ eingesetzt.
66
* Ist @\tp(Run|Toc|BM)<Makro>{<Text>}@ gesetzt, wird @<text>@ statt der Inhalt von @\tp(Toc)<Makro>@ verwendet.
67
* Ist @\tp(Run|Toc|BM)<Makro>{}@ gesetzt (also mit leerem Argument!), wird die Ausgabe des <Makro> in Kolumnentitel/IHV/Bookmarks komplett unterdrückt.
68
69
*Beispiel*
70 20 Patrick Schulz
<pre>
71
\begin{heading}{chapter}
72
  \tpTitle{Ein Text}
73
  \tpAuthorNameList{Max Musterfrau}
74
  \tpTocAuthorNameList{Max Mustertransfrau}
75 23 Marcus Hottenroth
  \tpRunTitle{Ein alternativer Kolumnentitel}
76 20 Patrick Schulz
  \tpRunAuthorNameList{}
77
\end{heading}
78 23 Marcus Hottenroth
</pre>würde als Überschrift<pre>Max Musterfrau: Ein Text</pre> erzeugen. Als Inhaltsverzeichniseintrag würde<pre>Max Mustertransfrau: Ein Text</pre>ausgegeben. <pre>Ein alternativer Kolumnentitel</pre> wird als Kolumnentitel ausgegeben. Der Autorenname wird im Kolumnentitel unterdrückt, weil @\tpRunAuthorNameList{…}@ zwar gesetzt, aber leer gelassen wird.
79 20 Patrick Schulz
80 23 Marcus Hottenroth
h2. Strukturierte vs. unstrukturierte Kapitel-/Abschnittsautoren und Institutionszugehörigkeiten (ab CoCoTeX-Version 0.2)
81 20 Patrick Schulz
82 23 Marcus Hottenroth
Strukturierte Autoren werden in je Autor einer @tpAuthor@-Umgebung innerhalb der @heading@-Umgebung festgelegt:<pre>\begin{heading}{contribution}
83
  \begin{tpAuthor} % Autoren.
84 20 Patrick Schulz
    \tpFirstName{Max}
85
    \tpMidName{M.}
86
    \tpLastName{Mustermann}
87 23 Marcus Hottenroth
    \tpHonorific{Prof. Dr.}
88 20 Patrick Schulz
    \tpORCID{http://orcid.org/0000-0002-9441-3978}
89
    \tpEmail{max.mustermann@example.org}
90 23 Marcus Hottenroth
    \tpAffilRef{1}
91
    \tpFullName{Max M. Mustermann} % Überschreibung.
92 20 Patrick Schulz
  \end{tpAuthor}
93 23 Marcus Hottenroth
  \begin{tpAffil} % Institutionszugehörigkeiten.
94 20 Patrick Schulz
    \tpAffilID{1}                                         
95
    \tpInstitute{Uni Musterstadt}
96
    \tpDepartment{Institut für Mustererstellung}
97
    \tpAddress{Musterstr. 1, 01234 Musterstadt}
98
    \tpCountry{Germany}
99 23 Marcus Hottenroth
    \tpAffiliation{Uni Musterrstadt, Institut für Mustererstellung, 01234 Musterstadt, Germany} % Überschreibung.
100 20 Patrick Schulz
  \end{tpAffil}
101 23 Marcus Hottenroth
  \tpAuthorNameList{Max Mustermann} % Überschreibung des Autorennamens.
102
  \tpAffilBlock{Alle irgendwo angestellt} % Überschreibung der Institutionszugehörigkeitsinformationen.
103 20 Patrick Schulz
\end{heading}</pre>
104 23 Marcus Hottenroth
Die Komponenten in den Subcontainern @tpAffil@ und @tpAuthor@ werden jeweils den Festlegungen im jeweiligen Verlagsstyle entsprechend zusammengesetzt und in @FullName@ bzw. @Affiliation@ gespeichert. Existieren die zu letztgenannten Variablen setzenden Makros (@\tpFullName{…}@ resp. @\tpAffiliation{…}@) im jeweiligen Subcontainer, überschreiben diese jene verlagsspezifische Konkatenation. So würde in obigem Beispiel als voller Autorenname »Prof. Dr. Max M. Mustermann« generiert werden, da aber @\tpFullName{…}@ verwendet wird, wird diese automatisch erzeugte Zeichenkette verworfen und der @\tpFullName{…}@-Inhalt für die weitere Verarbeitung genutzt. @\tpAffiliation@ im @tpAffil@-Container verhält sich analog.
105 16 Patrick Schulz
106 23 Marcus Hottenroth
Ferner werden die Instanzen der jeweiligen Subcontainer innerhalb einer @heading@-Umgebung zu einer Art Block zusammengefasst und ausgegeben. Bei @tpAuthor@ heißt der Block @\tpAuthorNameList@ und bei @tpAffil@ @\tpAffilBlock@. Diese können direkt in der @heading@-Umgebung verwendet werden und überschreiben damit alle (ggf. zusammengesetzten) Einzelinstanzen der Subcontainer.
107 16 Patrick Schulz
108 23 Marcus Hottenroth
Für eine Liste der verfügbaren @tpAuthor@- und @tpAffiliation@-Makros, siehe Informationen zur Titelei in den Abschnitten "Personen":https://redmine.le-tex.de/projects/transpect-typesetter/wiki/Titelei#Generelle-Auszeichnung sowie "Institutionszugehörigkeiten (Affiliations)":https://redmine.le-tex.de/projects/transpect-typesetter/wiki/Titelei#Institutionszugeh%C3%B6rigkeiten-Affiliations.
109 17 Martin Kraetke
110 23 Marcus Hottenroth
h3. *Wichtige Anmerkung zu den PDF-Lesezeichen*
111 11 Martin Kraetke
112 23 Marcus Hottenroth
In den für PDF-Lesezeichen verwendeten Inhalten darf *kein TeX-Markup* enthalten sein, da diese Inhalte eins zu eins 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. Beispielsweise würde @\foreignlanguage{english}{text}@ als Lesezeichen @"englishtext"@ erzeugen. Besonders kritisch ist dies, wenn Formeln in der Überschrift enthalten sind. Wenn in der Überschrift also TeX-Markup (mathematische Ausdrücke, @\foreignlanguage{…}{…}@, aber auch Auszeichnungen wie @\textit{…}@ etc.) enthalten ist, sind _stets_ @\tpBM…@-Überschreibungen zu verwenden und dort nur reiner Text einzutragen.
113 11 Martin Kraetke
114 23 Marcus Hottenroth
h2. Abbildungs- und Tabellenverzeichnis
115 11 Martin Kraetke
116 23 Marcus Hottenroth
Diese beiden Verzeichnisse werden entsprechend der Hierarchiestufe als normale Überschrift ausgezeichnet und anschließend wird das jeweilige Makro zum Erzeugen des Verzeichnisses verwendet.
117 11 Martin Kraetke
118
<pre>
119
\begin{heading}{section}
120 23 Marcus Hottenroth
  \tpTitle{Abbildungsverzeichnis}
121
  \tpTocTitle{Abbildungsverzeichnis}
122
  \tpRunTitle{Frische Früchte, kaputte Körper}
123 11 Martin Kraetke
\end{heading}
124 1 Patrick Schulz
125
\listoffigures % oder \listoftables
126
</pre>