Projekt

Allgemein

Profil

Überschriften » Historie » Revision 23

Revision 22 (Patrick Schulz, 05.10.2022 12:53) → Revision 23/25 (Marcus Hottenroth, 28.12.2023 10:00)

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) *transpect-tex Common Framework* ("transpect-headings.dtx":https://gitlab.le-tex.de/transpect-tex/transpect-tex/-/blob/master/src/transpect-headings.dtx) 

 <pre><code class="text"> 
 \begin{heading}[<opt>]{<level>} 
   %% Überschrift im Fließtext: Eigentliche Überschrift: 
   \tpTitle{…} 
   \tpAuthorNameList{…} 
   \tpSubtitle{…} 
   \tpNumber{…} 
   \tpQuote{…} 
   \tpQuoteSource{…} 
   %% Überschreibungen Overrides für Inhaltsverzeichniseinträge: ToC-Entries: 
   \tpTocTitle{…} 
   \tpTocAuthorNameList{…} 
   \tpTocSubtitle{…} 
   \tpTocNumber{…} 
   %% Überschreibungen Overrides für Kolumnentitel: 
   \tpRunTitle{…} 
   \tpRunAuthorNameList{…} 
   \tpRunSubtitle{…} 
   \tpRunNumber{…} 
   %% Überschreibungen Overrides für PDF-Lesezeichen: PDF-Bookmarks: 
   \tpBMTitle{…} 
   \tpBMAuthorNameList{…} 
   \tpBMSubtitle{…} 
   \tpBMNumber{…} 
 \end{heading} 
 </code></pre> 

 * @<level>@: @<level>@ ist der Name der Überschriftebene, z. B. <code>chapter</code>, <code>section</code>, <code>subsection</code> etc. Überschrift-Ebene, z.B. chapter, section, subsubsection… 
 * @<opt>@: @<opt>@ optionale Argumente Parameter für einzelne Überschriften Überschriften. Wenn es keine gibt, eckige Klammern weglassen! 
 ** @notoc@: Überschrift erzeugt keinen Eintrag im Inhaltsverzeichnis IHV 
 ** @noBM@: Überschrift erzeugt kein PDF-Lesezeichen keinen Bookmark-Eintrag 
 * lediglich @\tpTitle{…}@ Notwendig ist obligatorisch; restliche Angaben sind nur @\tpTitle{}@; der Rest optional 
 * @\tpAuthorNameList{…}@: _unstrukturierte_ @\tpAuthorNameList{}@ ist die *unstrukturierte* Version der Abschnitts-/Kapitelautoren Abschnitts-/Kapitelautor*innen 
 * @\tpSubtitle{…}@: @\tpSubtitle{}@ ist der Untertitel 
 * @\tpNumber{…}@: Überschriftzähler @\tpNumber{}@ ist der Überschrift-Zähler samt Präfix (z. B. »Kapitel 2«, »2.1.2.3«, »Anhang A«) (z.B. "Kapitel 2", "2.1.2.3", "Anhang A", etc.) 
 * @\tpQuote{…}@: @\tpQuote{}@ ist ein Zitat 
 * @\tpQuoteSource{…}@: @\tpQuoteSource{}@ die Quelle des Zitats dazu 
 * 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. 


 Spezielle Überschriften haben weitere Datenfelder: 
 * @\tpAbstract{…}@: (Kurz-)Zusammenfassung @\tpAbstract{}@ Abstract 
 * @\tpAbstractLabel{…}@: @\tpAbstractTitle{}@ Überschrift der Zusammenfassung; Standardwert: »Abstract« des Abstracts, default: “Abstract” 
 * @\tpKeywords{…}@: @\tpKeywords{}@ Schlagworte 
 * @\tpKeywordsLabel{…}@: @\tpKeywordsTitle{}@ Überschrift für die Schlagworte; Standardwert: »Keywords« Schlagworte, default: “Keywords” 
 * @\tpTitleEn{…}@: englischer Titel (bspw. bei nicht englischsprachigen Artikeln) 
 * @\tpTitleEnLabel{…}@: Überschrift für den englischen Titel; Standardwert: keiner 
 * @\tpDOI{…}@: @\tpDOI{}@ DOI 
 * @\tpDOITitle{…}@: @\tpDOITitle{}@ Titel für die DOI-Angabe; Standardwert: keiner. DOI Angabe, default: <leer>. 

 Diese »speziellen Überschriften« "speziellen Überschriften" können von Projekt zu Projekt unterschiedlich heißen. Qua heißen, qua Konvention heißt eine solche die Ebene aber i. d. R. i.d.R. @contribution@ und erbt ihre sonstigen Merkmale von @chapter@. 


 In jedem Makro kann @\tpBreak@ verwendet werden, um einen instantanen Zeilenumbruch an der Stelle zu erzwingen. 

 h2. Überschreibungen Overrides für Inhaltsverzeichnisse, Kolumnentitel und PDF-Lesezeichen PDF-Bookmarks 

 Zu *Zu den Makros @\tpAuthorNameList@, @\tpNumber@, @\tpSubtitle@ sowie @\tpTitle@ @\tp<Makro>@ mit @<Makro> := (Author|Number|Subtitle|Title)@ gibt es je drei Überschreibungen @\tpRun…@ Overrides: @\tpRun<Makro>@ (für Kolumnentitel), @\tpToc…@ Kolumnen), @\tpToc<Makro>@ (für Inhaltsverzeichnisangaben), IHV), und @\tpBM…@ @\tpBM<Makro>@ (für PDF-Lesezeichen). 

 * Wird keine Überschreibung für Bookmarks).  
 ** Fehlt das Overridefür Kolumnentitel bzw. das Inhaltsverzeichnis vorgenommen, IHV, wird der Inhalt von @\tp…@ @\tp<Makro>@ für den Kolumnentitel bzw. den Inhaltsverzeichniseintrag IHV-Eintrag verwendet. 
 * Wird keine Überschreibung ** Fehlt das Override für die PDF-Lesezeichen vorgenommen, Bookmarks, wird der Inhalt von @\tpToc<Makro>@ verwendet. Gibt verwendet; gibt es die auch diese nicht, wird der Inhalt dann die von @\tp<Macro>@ eingesetzt. @\tp<Macro>@. 
 * ** 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* *Beispiel:* 
 <pre> 
 \begin{heading}{chapter} 
   \tpTitle{Ein Text} 
   \tpAuthorNameList{Max Musterfrau} 
   \tpTocAuthorNameList{Max Mustertransfrau} 
   \tpRunTitle{Ein alternativer Kolumnentitel} Alternativtext} 
   \tpRunAuthorNameList{} 
 \end{heading} 
 </pre>würde als Überschrift<pre>Max Musterfrau: Ein Text</pre> erzeugen. Als Inhaltsverzeichniseintrag Toc-Eintrag würde<pre>Max Mustertransfrau: Ein Text</pre>ausgegeben. <pre>Ein alternativer Kolumnentitel</pre> wird als Text</pre>ausgegeben, it dem Override für den Autorennamen. Als Kolumnentitel würde dann<pre>Ein Alternativtext</pre> ausgegeben. Der Autorenname wird im Kolumnentitel Kol-Titel unterdrückt, weil @\tpRunAuthorNameList{…}@ zwar gesetzt, aber das Argument von @\tpRunAuthor@ in dem Fall leer gelassen wird. 

 ist. 

 h2. Strukturierte vs. vs unstrukturierte Kapitel-/Abschnittsautoren Kapitel-/Abschnittsautor:innen und Institutionszugehörigkeiten Affiliations (ab CoCoTeX-Version cocotex Version 0.2) 

 Strukturierte Autoren Autor:innen werden in je Autor einer der @tpAuthor@-Umgebung innerhalb der @heading@-Umgebung festgelegt:<pre>\begin{heading}{contribution} kodiert, eine pro Autor:in:<pre>\begin{heading}{contribution} 
   %% Autor:innen 
   \begin{tpAuthor} % Autoren. 
     \tpFirstName{Max} 
     \tpMidName{M.} 
     \tpLastName{Mustermann} 
     \tpHonorific{Prof. \tpPersonPrefix{Prof. Dr.} 
     \tpORCID{http://orcid.org/0000-0002-9441-3978} 
     \tpEmail{max.mustermann@example.org} 
     \tpAffilRef{1} \tpAffil{1} 
     %% Override: 
     \tpFullName{Max M. Mustermann} % Überschreibung. 
   \end{tpAuthor} 
   %% Affiliations: 
   \begin{tpAffil} % Institutionszugehörigkeiten. 
     \tpAffilID{1}                                          
     \tpInstitute{Uni Musterstadt} 
     \tpDepartment{Institut für Mustererstellung} 
     \tpAddress{Musterstr. 1, 01234 Musterstadt} 
     \tpCountry{Germany} 
     %% Override: 
     \tpAffiliation{Uni Musterrstadt, Institut für Mustererstellung, 01234 Musterstadt, Germany} % Überschreibung. 
   \end{tpAffil} 
   %% Overrides: 
   \tpAuthorNameList{Max Mustermann} % Überschreibung des Autorennamens. 
   \tpAffilBlock{Alle irgendwo angestellt} % Überschreibung der Institutionszugehörigkeitsinformationen. \tpAffilBlock{Die arbeiten alle irgendwo…} 
 \end{heading}</pre> 
 Die Komponenten Konponenten in den Subcontainern Sub-Containern @tpAffil@ und @tpAuthor@ werden jeweils den Festlegungen im jeweiligen in abhängigkeit vom Verlagsstyle entsprechend zusammengesetzt und zusammen gesetzt un in @FullName@ tpFullName bzw. @Affiliation@ gespeichert. Existieren tpAffiliation gespeichert, wenn es diese innerhalb der Sub-Container noch nicht gibt, d.h. @\tpAffiliation@ und @\tpFullName@ diene gleichzeitig als Overrides für die zu letztgenannten Variablen setzenden Makros (@\tpFullName{…}@ resp. @\tpAffiliation{…}@) im jeweiligen Subcontainer, überschreiben diese jene verlagsspezifische Konkatenation. Sub-Container an sich. So würde z.B.    in obigem obigen Beispiel als voller Autorenname »Prof. "Prof. Dr. Max M. Mustermann« Mustermann" generiert werden, da aber @\tpFullName{…}@ verwendet wird, @\tpFullName@ bereits explizit gegeben ist, wird diese automatisch erzeugte Zeichenkette dieser generierte String verworfen und der @\tpFullName{…}@-Inhalt Inhalt von @\tpFullName@ für die das weitere Verarbeitung genutzt. @\tpAffiliation@ im @tpAffil@-Container verhält sich analog. Processing verwendet. Analog bei @tpAffil@ mit @\tpAffiliation@. 

 Ferner werden die Instanzen der jeweiligen Subcontainer Sub-Container innerhalb einer @heading@-Umgebung zu einer Art Block einem "Block" zusammengefasst und ausgegeben. ausgebenen. Bei @tpAuthor@ heißt ist der Block @\tpAuthorNameList@ und bei @tpAffil@ ist das @\tpAffilBlock@. Diese können auch direkt in der @heading@-Umgebung heading-Umgebung verwendet werden und überschreiben damit alle (ggf. zusammengesetzten) Einzelinstanzen der Subcontainer. 

 Für eine Liste Sub-Container.    So werden die (generierten) Inhalte der verfügbaren @tpAuthor@- @\tpFullName@-Komponenten aller tpAuthor-Umgebungen aneinander gehängt 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. @\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. 

 |_. Komponenten-Makro |_. Bedeutung| 
 |_\2. tpAuthor | 
 | @\tpFirstName{}@ | Rufname | 
 | @\tpLastName{}@ | Nachname | 
 | @\tpMidName{}@ | Mittelnamen/Initiale | 
 | @\tpPersonPrefix{}@ | Titel | 
 | @\tpORCID{}@ | ORC-ID | 
 | @\tpEmail{}@ | Email-Adresse | 
 | @\tpAffil{}@ | ID der Affiliation zu der die Autor:in gehört | 
 | @\tpFullName{}@ | Einzelnamen-Override: Wenn das fehlt, wird FullName aus "PersonPrefix FirstName MidName LastName" zusammen gesetzt (abhg. vom Verlagsstyle) | 
 |_\2. tpAffil | 
 | @\tpAffilID{}@ | ID der Affiliation | 
 | @\tpInstitute{}@ | Institut/Uni/Firma | 
 | @\tpDepartment{}@ | Abteilung/Fakultät/Institut | 
 | @\tpAddress{}@ | Adresse | 
 | @\tpCountry{}@ | Land | 
 | @\tpAffiliation{}@ | Affiliation-Override: Wenn das fehlt, wird tpAffiliation aus "Institute, Department, Address, Country" zusammengesetzt (abhg. vom Verlagsstyle) | 



 h3. *Wichtige Anmerkung zu den PDF-Lesezeichen* PDF-Bookmarks* 

 In dem, was in den für PDF-Lesezeichen verwendeten Inhalten *Bookmarks* landet, darf *kein TeX-Markup* LaTeX-Markup* enthalten sein, da diese Inhalte eins zu eins 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. Beispielsweise stehen, z.B. @\foreignlanguage{english}{text}@ würde @\foreignlanguage{english}{text}@ als Lesezeichen Bookmark @"englishtext"@ erzeugen. erzeugen! Besonders kritisch ist dies, wenn Formeln in der Überschrift enthalten sind. sind! Wenn in der Überschrift also TeX-Markup (mathematische Ausdrücke, @\foreignlanguage{…}{…}@, tex-Markup (Mathe, foreignlanguage, aber auch Auszeichnungen wie @\textit{…}@ @\textit@, etc.) enthalten ist, sind _stets_ @\tpBM…@-Überschreibungen zu IMMER die BM-Overrides verwenden und dort nur reiner reinen Text einzutragen. 

 reinschreiben. 

 h2. Abbildungs- Abbildungsverzeichnis und Tabellenverzeichnis 

 Diese beiden Verzeichnisse werden entsprechend der Hierarchiestufe als normale Überschrift Heading ausgezeichnet und anschließend wird dann das jeweilige Makro zum Erzeugen des Verzeichnisses verwendet. ausgegeben. 

 <pre> 
 \begin{heading}{section} 
   
 \tpTitle{Abbildungsverzeichnis} 
   
 \tpTocTitle{Abbildungsverzeichnis} 
   
 \tpRunTitle{Frische Früchte, kaputte Körper} 
 \end{heading} 

 \listoffigures % oder \listoftables 
 </pre>