Überschriften » Historie » Revision 24
Revision 23 (Marcus Hottenroth, 28.12.2023 10:00) → Revision 24/25 (Marcus Hottenroth, 28.12.2023 10:01)
h1. Überschriften h2. Überschriften im *CoCoTeX-Framework* ("coco-headings.sty":https://gitlab.le-tex.de/transpect-tex/transpect-tex/-/blob/oop/projects/common/coco-headings.sty) <pre><code class="text"> \begin{heading}[<opt>]{<level>} %% Überschrift im Fließtext: \tpTitle{…} \tpAuthorNameList{…} \tpSubtitle{…} \tpNumber{…} \tpQuote{…} \tpQuoteSource{…} %% Überschreibungen für Inhaltsverzeichniseinträge: \tpTocTitle{…} \tpTocAuthorNameList{…} \tpTocSubtitle{…} \tpTocNumber{…} %% Überschreibungen für Kolumnentitel: \tpRunTitle{…} \tpRunAuthorNameList{…} \tpRunSubtitle{…} \tpRunNumber{…} %% Überschreibungen für PDF-Lesezeichen: \tpBMTitle{…} \tpBMAuthorNameList{…} \tpBMSubtitle{…} \tpBMNumber{…} \end{heading} </code></pre> * @<level>@: Name der Überschriftebene, z. B. <code>chapter</code>, <code>section</code>, <code>subsection</code> etc. * @<opt>@: optionale Argumente für einzelne Überschriften ** @notoc@: Überschrift erzeugt keinen Eintrag im Inhaltsverzeichnis ** @noBM@: Überschrift erzeugt kein PDF-Lesezeichen * lediglich @\tpTitle{…}@ ist obligatorisch; restliche Angaben sind optional * @\tpAuthorNameList{…}@: _unstrukturierte_ Version der Abschnitts-/Kapitelautoren * @\tpSubtitle{…}@: Untertitel * @\tpNumber{…}@: Überschriftzähler samt Präfix (z. B. »Kapitel 2«, »2.1.2.3«, »Anhang A«) * @\tpQuote{…}@: ein Zitat * @\tpQuoteSource{…}@: Quelle des Zitats * Mit v0.100 können Überschriften auch automatisiert gezählt werden. Ist @\tpNumber@ gesetzt, werden wird die interne Zählung überschrieben und das automatische Weiterzählen für diese Überschrift ausgesetzt. Spezielle Überschriften haben weitere Datenfelder: * @\tpAbstract{…}@: (Kurz-)Zusammenfassung * @\tpAbstractLabel{…}@: Überschrift der Zusammenfassung; Standardwert: »Abstract« * @\tpKeywords{…}@: Schlagworte * @\tpKeywordsLabel{…}@: Überschrift für die Schlagworte; Standardwert: »Keywords« * @\tpTitleEn{…}@: englischer Titel (bspw. bei nicht englischsprachigen Artikeln) * @\tpTitleEnLabel{…}@: Überschrift für den englischen Titel; Standardwert: keiner * @\tpDOI{…}@: DOI * @\tpDOITitle{…}@: Titel für die DOI-Angabe; Standardwert: keiner. 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@. In jedem Makro kann @\tpBreak@ verwendet werden, um einen instantanen Zeilenumbruch zu erzwingen. h2. Überschreibungen für Inhaltsverzeichnisse, Kolumnentitel und PDF-Lesezeichen 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). * Wird keine Überschreibung für Kolumnentitel bzw. das Inhaltsverzeichnis vorgenommen, wird der Inhalt von @\tp…@ für den Kolumnentitel bzw. den Inhaltsverzeichniseintrag verwendet. * 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. * Ist @\tp(Run|Toc|BM)<Makro>{<Text>}@ gesetzt, wird @<text>@ statt der Inhalt von @\tp(Toc)<Makro>@ verwendet. * Ist @\tp(Run|Toc|BM)<Makro>{}@ gesetzt (also mit leerem Argument!), wird die Ausgabe des <Makro> in Kolumnentitel/IHV/Bookmarks komplett unterdrückt. *Beispiel* <pre> \begin{heading}{chapter} \tpTitle{Ein Text} \tpAuthorNameList{Max Musterfrau} \tpTocAuthorNameList{Max Mustertransfrau} \tpRunTitle{Ein alternativer Kolumnentitel} \tpRunAuthorNameList{} \end{heading} </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. h2. Strukturierte vs. unstrukturierte Kapitel-/Abschnittsautoren und Institutionszugehörigkeiten (ab CoCoTeX-Version 0.2) Strukturierte Autoren werden in je Autor einer @tpAuthor@-Umgebung innerhalb der @heading@-Umgebung festgelegt:<pre>\begin{heading}{contribution} \begin{tpAuthor} % Autoren. \tpFirstName{Max} \tpMidName{M.} \tpLastName{Mustermann} \tpHonorific{Prof. Dr.} \tpORCID{http://orcid.org/0000-0002-9441-3978} \tpEmail{max.mustermann@example.org} \tpAffilRef{1} \tpFullName{Max M. Mustermann} % Überschreibung. \end{tpAuthor} \begin{tpAffil} % Institutionszugehörigkeiten. \tpAffilID{1} \tpInstitute{Uni Musterstadt} \tpDepartment{Institut für Mustererstellung} \tpAddress{Musterstr. 1, 01234 Musterstadt} \tpCountry{Germany} \tpAffiliation{Uni Musterrstadt, Institut für Mustererstellung, 01234 Musterstadt, Germany} % Überschreibung. \end{tpAffil} \tpAuthorNameList{Max Mustermann} % Überschreibung des Autorennamens. \tpAffilBlock{Alle irgendwo angestellt} % Überschreibung der Institutionszugehörigkeitsinformationen. \end{heading}</pre> 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. 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. 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. h3. *Wichtige Anmerkung zu den PDF-Lesezeichen* 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. h2. Abbildungs- und Tabellenverzeichnis Diese beiden Verzeichnisse werden entsprechend der Hierarchiestufe als normale Überschrift ausgezeichnet und anschließend wird das jeweilige Makro zum Erzeugen des Verzeichnisses verwendet. <pre> \begin{heading}{section} \tpTitle{Abbildungsverzeichnis} \tpTocTitle{Abbildungsverzeichnis} \tpRunTitle{Frische Früchte, kaputte Körper} \end{heading} \listoffigures % oder \listoftables </pre>