Projekt

Allgemein

Profil

Überschriften » Historie » Version 25

Robert Hecht, 12.01.2024 09:44

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 25 Robert Hecht
** @nonumber@: Überschrift erzeugt keine automatische Nummerierung (nur relevant, falls im Projekt Style-seitig automatische Nummerierung umgesetzt ist) 
37 23 Marcus Hottenroth
* lediglich @\tpTitle{…}@ ist obligatorisch; restliche Angaben sind optional
38
* @\tpAuthorNameList{…}@: _unstrukturierte_ Version der Abschnitts-/Kapitelautoren
39
* @\tpSubtitle{…}@: Untertitel
40
* @\tpNumber{…}@: Überschriftzähler samt Präfix (z. B. »Kapitel 2«, »2.1.2.3«, »Anhang A«)
41
* @\tpQuote{…}@: ein Zitat
42
* @\tpQuoteSource{…}@: Quelle des Zitats
43 24 Marcus Hottenroth
* Mit v0.100 können Überschriften auch automatisiert gezählt werden. Ist @\tpNumber@ gesetzt, werden die interne Zählung überschrieben und das automatische Weiterzählen für diese Überschrift ausgesetzt.
44 17 Martin Kraetke
45 1 Patrick Schulz
46 17 Martin Kraetke
Spezielle Überschriften haben weitere Datenfelder:
47 23 Marcus Hottenroth
* @\tpAbstract{…}@: (Kurz-)Zusammenfassung
48
* @\tpAbstractLabel{…}@: Überschrift der Zusammenfassung; Standardwert: »Abstract«
49
* @\tpKeywords{…}@: Schlagworte
50
* @\tpKeywordsLabel{…}@: Überschrift für die Schlagworte; Standardwert: »Keywords«
51
* @\tpTitleEn{…}@: englischer Titel (bspw. bei nicht englischsprachigen Artikeln)
52
* @\tpTitleEnLabel{…}@: Überschrift für den englischen Titel; Standardwert: keiner
53
* @\tpDOI{…}@: DOI
54
* @\tpDOITitle{…}@: Titel für die DOI-Angabe; Standardwert: keiner.
55 8 Patrick Schulz
56 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@.
57 8 Patrick Schulz
58 1 Patrick Schulz
59 23 Marcus Hottenroth
In jedem Makro kann @\tpBreak@ verwendet werden, um einen instantanen Zeilenumbruch zu erzwingen.
60 16 Patrick Schulz
61 23 Marcus Hottenroth
h2. Überschreibungen für Inhaltsverzeichnisse, Kolumnentitel und PDF-Lesezeichen
62 1 Patrick Schulz
63 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).
64 22 Patrick Schulz
65 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.
66
* 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.
67
* Ist @\tp(Run|Toc|BM)<Makro>{<Text>}@ gesetzt, wird @<text>@ statt der Inhalt von @\tp(Toc)<Makro>@ verwendet.
68
* Ist @\tp(Run|Toc|BM)<Makro>{}@ gesetzt (also mit leerem Argument!), wird die Ausgabe des <Makro> in Kolumnentitel/IHV/Bookmarks komplett unterdrückt.
69
70
*Beispiel*
71 20 Patrick Schulz
<pre>
72
\begin{heading}{chapter}
73
  \tpTitle{Ein Text}
74
  \tpAuthorNameList{Max Musterfrau}
75
  \tpTocAuthorNameList{Max Mustertransfrau}
76 23 Marcus Hottenroth
  \tpRunTitle{Ein alternativer Kolumnentitel}
77 20 Patrick Schulz
  \tpRunAuthorNameList{}
78
\end{heading}
79 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.
80 20 Patrick Schulz
81 23 Marcus Hottenroth
h2. Strukturierte vs. unstrukturierte Kapitel-/Abschnittsautoren und Institutionszugehörigkeiten (ab CoCoTeX-Version 0.2)
82 20 Patrick Schulz
83 23 Marcus Hottenroth
Strukturierte Autoren werden in je Autor einer @tpAuthor@-Umgebung innerhalb der @heading@-Umgebung festgelegt:<pre>\begin{heading}{contribution}
84
  \begin{tpAuthor} % Autoren.
85 20 Patrick Schulz
    \tpFirstName{Max}
86
    \tpMidName{M.}
87
    \tpLastName{Mustermann}
88 23 Marcus Hottenroth
    \tpHonorific{Prof. Dr.}
89 20 Patrick Schulz
    \tpORCID{http://orcid.org/0000-0002-9441-3978}
90
    \tpEmail{max.mustermann@example.org}
91 23 Marcus Hottenroth
    \tpAffilRef{1}
92
    \tpFullName{Max M. Mustermann} % Überschreibung.
93 20 Patrick Schulz
  \end{tpAuthor}
94 23 Marcus Hottenroth
  \begin{tpAffil} % Institutionszugehörigkeiten.
95 20 Patrick Schulz
    \tpAffilID{1}                                         
96
    \tpInstitute{Uni Musterstadt}
97
    \tpDepartment{Institut für Mustererstellung}
98
    \tpAddress{Musterstr. 1, 01234 Musterstadt}
99
    \tpCountry{Germany}
100 23 Marcus Hottenroth
    \tpAffiliation{Uni Musterrstadt, Institut für Mustererstellung, 01234 Musterstadt, Germany} % Überschreibung.
101 20 Patrick Schulz
  \end{tpAffil}
102 23 Marcus Hottenroth
  \tpAuthorNameList{Max Mustermann} % Überschreibung des Autorennamens.
103
  \tpAffilBlock{Alle irgendwo angestellt} % Überschreibung der Institutionszugehörigkeitsinformationen.
104 20 Patrick Schulz
\end{heading}</pre>
105 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.
106 16 Patrick Schulz
107 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.
108 16 Patrick Schulz
109 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.
110 17 Martin Kraetke
111 23 Marcus Hottenroth
h3. *Wichtige Anmerkung zu den PDF-Lesezeichen*
112 11 Martin Kraetke
113 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.
114 11 Martin Kraetke
115 23 Marcus Hottenroth
h2. Abbildungs- und Tabellenverzeichnis
116 11 Martin Kraetke
117 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.
118 11 Martin Kraetke
119
<pre>
120
\begin{heading}{section}
121 23 Marcus Hottenroth
  \tpTitle{Abbildungsverzeichnis}
122
  \tpTocTitle{Abbildungsverzeichnis}
123
  \tpRunTitle{Frische Früchte, kaputte Körper}
124 11 Martin Kraetke
\end{heading}
125 1 Patrick Schulz
126
\listoffigures % oder \listoftables
127
</pre>