diff options
Diffstat (limited to 'macros/latex/contrib/tudscr/source/doc')
29 files changed, 13700 insertions, 0 deletions
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex b/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex new file mode 100644 index 0000000000..d5ba74a3bb --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex @@ -0,0 +1,38 @@ +\documentclass[% + english,ngerman,% + BCOR=6mm,cdgeometry=no,DIV=13% +]{tudscrreprt} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{isodate} +\usepackage{blindtext} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{18.02.2015} +\author{Mickey Mouse} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diss} +\graduation[Dr. jur.]{Doktor der Rechte} +\dateofbirth{2.1.1990} +\placeofbirth{Dresden} +\defensedate{15.03.2015} +\referee{Dagobert Duck \and Mac Moneysac} +\maketitle +\TUDoption{abstract}{section,multiple} +\begin{abstract}[pagestyle=empty.tudheadings] +\blindtext +\nextabstract[english] +\blindtext +\end{abstract} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/document.tex b/macros/latex/contrib/tudscr/source/doc/examples/document.tex new file mode 100644 index 0000000000..9751d1c3d6 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/document.tex @@ -0,0 +1,20 @@ +\documentclass[ngerman]{tudscrreprt} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage[math]{blindtext} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{18.02.2015} +\author{Mickey Mouse} +\title{Der Geldspeicher in Entenhausen} +\maketitle +\blinddocument +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex b/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex new file mode 100644 index 0000000000..c93670d7e6 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex @@ -0,0 +1,47 @@ +\documentclass[ngerman]{tudscrartcl} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\date{16.10.2015} +\author{Mickey Mouse} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diploma}\graduation[Dipl.-Ing.]{Diplomingenieur} +\matriculationnumber{12345678}\matriculationyear{2010} +\dateofbirth{2.1.1990}\placeofbirth{Dresden} +\referee{Dagobert Duck} +\evaluationform[pagestyle=empty]{% + Als Ziel dieser Arbeit sollte identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie sich dieser Effekt abschwächen + ließe. Zusätzlich waren Methoden zu entwickeln, mit denen ein + ähnlicher Vorgang zukünftig vermieden werden könnte. +}{% + Die Arbeit gliedert sich in mehrere Kapitel auf unzähligen Seiten. + In den ersten beiden Kapiteln wird dies und das besprochen. Im + darauffolgenden auch noch jenes. Im vorletzten Kapitel wird alles + betrachtet und im letzten erfolgt Zusammenfassung und Ausblick. +}{% + Die dargestellten Ergebnisse der vorliegenden Arbeit genügen den in + der Aufgabenstellung formulierten Arbeitsschwerpunkten. Sowohl + Form, Ausdruck und Terminologie als auch Struktur befriedigen die + Anforderungen an eine wissenschaftliche Arbeit. Die einzelnen + Kapitel können hinsichtlich ihrer inhaltlichen Tiefe in Relation zu + dem dazu benötigten Umfang als ausgewogen betrachtet werden. Die + verwendeten Grafiken und Tabellen sind sehr gut aufbereitet und + tragen insgesamt zum besseren Verständnis bei. Fachliche + Begrifflichkeiten werden sehr sauber verwendet, orthografische + Mängel sind keine zu finden. +}{1,0 (sehr gut)} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex new file mode 100644 index 0000000000..fd3e58d804 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex @@ -0,0 +1,38 @@ +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen möglich +\usepackage[T1]{fontenc} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} +\usepackage{babel} +\usepackage{microtype} + +\usepackage{mathswap} +\begin{document} + +\mathswapoff +\(4.523,58\) +\mathswapon + +\(4.523,58\) + +\(4,523.58\) + +\begingroup + \commaswap{\,} + \dotswap{,} + \(4,523.58\) +\endgroup + +\begingroup + \selectlanguage{english}% + \(4,523.58\)\newline + \(4.523,58\) +\endgroup + +\begingroup + \selectlanguage{english}% + \commaswap{.} + \dotswap{\,} + \(4.523,58\) +\endgroup + +\end{document} + diff --git a/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex new file mode 100644 index 0000000000..532bf94bbd --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex @@ -0,0 +1,66 @@ +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage[T1]{fontenc} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} +\usepackage{babel} +\usepackage{microtype} + +\usepackage{amsmath} +\begin{document} + +\begin{equation*} +\begin{gathered} +M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_{VM}\leq M_{VMmax} \\ +M_{EMmin}\leq M_{EM}\leq M_{EMmax} +\end{aligned} +\end{gathered} +\end{equation*} + +\begin{equation*} +\begin{gathered} +M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ +M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\newcommand*{\ind}[1]{\ensuremath{\kern.03em_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM_{max}} \\ +\M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\makeatletter +\renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} +\newcommand*{\n@M}{} +\newcommand*{\o@M}{} +\def\n@M#1{\ensuremath{M\ind{#1}}} +\def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} +\makeatother + +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM}[max] \\ +\M{EM}[min]\leq \M{EM}\leq \M{EM}[max] +\end{aligned} +\end{gathered} +\end{equation*} + +\end{document} + diff --git a/macros/latex/contrib/tudscr/source/doc/examples/notice.tex b/macros/latex/contrib/tudscr/source/doc/examples/notice.tex new file mode 100644 index 0000000000..51ceaf2836 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/notice.tex @@ -0,0 +1,47 @@ +\documentclass[ngerman]{tudscrreprt} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +}\date{16.10.2015} +\contactperson{% + Dagobert Duck\emailaddress{dagobert.duck@tu-dresden.de} + \office{Dingens-Bau, Zimmer~08}\telephone{+49 351 463-12345} +\and% + Mac Moneysac\emailaddress{mac.moneysac@tu-dresden.de} + \office{Dingens-Bau, Zimmer~15}\telephone{+49 351 463-54321} +} +\noticeform[Angebot für eine Studien-/Diplomarbeit,pagestyle=empty]{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese + Situation ändert. Eine kurzfristige Verlagerung aus dem Fokus der + Öffentlichkeit wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden + könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein + ähnlicher Vorgang zukünftig vermeiden lässt. + \begin{center} + \medskip\includegraphics[width=.7\linewidth]{DDC-21} + \renewcommand*{\figureformat}{\figurename} + \captionof{figure}{Thematisch passendes Bild} + \end{center} +}{% + \item Recherche \& Analyse + \item Entwicklung eines Konzeptes \& Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/poster.tex b/macros/latex/contrib/tudscr/source/doc/examples/poster.tex new file mode 100644 index 0000000000..61cb19989d --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/poster.tex @@ -0,0 +1,46 @@ +\RequirePackage{fix-cm} +\documentclass[% + ngerman,% + paper=A1,fontsize=22pt,% + cdfoot=5ex,ddcfoot% +]{tudscrposter} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{blindtext} +\usepackage{multicol} +\begin{document} +\faculty{Juristische Fakultät}\department[]{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair[]{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +}\date{18.02.2015} +\contactperson{% + Mickey Mouse\emailaddress{mickey.mouse@tu-dresden.de}% + \office{Büro 58}\telephone{463--xxxxx}% +} +\professor{Prof. Dr. Kater Karlo} +\maketitle +\begin{abstract}%[columns=2] +\noindent\blindtext +\end{abstract} + +\begin{multicols}{2}[\section*{Test}] +\blindtext[3] +\end{multicols} +\bigskip + +\begin{center} +\includegraphics[width=.7\linewidth]{TUD-black} +\end{center} + +\begin{multicols}{2}[\section*{Test}] +\blindmathtrue +\blindtext[1] +\end{multicols} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/poster_print.tex b/macros/latex/contrib/tudscr/source/doc/examples/poster_print.tex new file mode 100644 index 0000000000..fe192bf297 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/poster_print.tex @@ -0,0 +1,2 @@ +\PassOptionsToClass{cd=on}{tudscrposter} +\input{poster.tex} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/task.tex b/macros/latex/contrib/tudscr/source/doc/examples/task.tex new file mode 100644 index 0000000000..114a6cbfd9 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/task.tex @@ -0,0 +1,47 @@ +\documentclass[ngerman]{tudscrreprt} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{master}\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse\matriculationnumber{12345678}% + \dateofbirth{2.1.1990}\placeofbirth{Dresden}% + \course{Klinische Prognostik}\discipline{Individualprognose}% +\and% + Donald Duck\matriculationnumber{87654321}% + \dateofbirth{1.2.1990}\placeofbirth{Berlin}% + \course{Statistische Prognostik}\discipline{Makrosoziologische Prognosen}% +}\matriculationyear{2010}\issuedate{1.4.2015}\duedate{1.10.2015} +\supervisor{Dagobert Duck \and Mac Moneysac}\professor{Prof. Dr. Kater Karlo} +\referee{Prof. Dr. Kater Karlo}\chairman{Prof. Dr. Primus von Quack} +\taskform[pagestyle=empty]{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese + Situation ändert. Eine kurzfristige Verlagerung aus dem Fokus + der Öffentlichkeit wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden + könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein + ähnlicher Vorgang zukünftig vermeiden lässt. +}{% + \item Recherche \& Analyse + \item Entwicklung eines Konzeptes \& Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex b/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex new file mode 100644 index 0000000000..5d88a8c2bd --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex @@ -0,0 +1,37 @@ +\documentclass[ngerman,BCOR=4mm]{tudscrreprt} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\usepackage{isodate} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{18.02.2015} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\subject{master} +\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse% + \matriculationnumber{12345678}% + \dateofbirth{2.1.1990}% + \placeofbirth{Dresden}% +\and% + Donald Duck% + \matriculationnumber{87654321}% + \dateofbirth{1.2.1990}% + \placeofbirth{Berlin}% +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\maketitle +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex new file mode 100644 index 0000000000..83d092306e --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex @@ -0,0 +1,442 @@ +\documentclass[english,ngerman]{tudscrreprt} +\usepackage{babel} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{scrhack} +\usepackage{tudscrsupervisor} + +\AfterPackage*{hyperref}{% +\usepackage[% + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar + nogroupskip,% + toc,% + section=chapter,% + nostyles,% + translate=babel,% +% mit Tex Live einfach verwendbar + xindy={language=german-din}, +]{glossaries} +\makeglossaries +}% Ende von AfterPackage + +\AfterPackage*{glossaries}{% +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}{@{}lX<{\strut}l@{}}% 'spread 0pt' defekt in v2.9 + }{% + \end{tabu}\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\newcommand*{\newformulasymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + name={#3},% + description={\nopostdesc},% + symbol={\ensuremath{#4}},% + user1={\ensuremath{\mathrm{#5}}},% + sort={#2},% + #1% + }% +} + +\defglsentryfmt[symbols]{% + \ifmmode% + \glssymbol{\glslabel}% + \else% + \glsgenentryfmt~\glsentrysymbol{\glslabel}% + \fi% +} +\newglossarystyle{symblongtabu}{% + \renewenvironment{theglossary}{% + \begin{longtabu}[l]{ccX<{\strut}l}% 'spread 0pt' defekt in v2.9 + }{% + \end{longtabu}% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Bezeichnung & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\glossentrysymbol{##1}} & + \glsentryuseri{##1} & + \glossentryname{##1} & + ##2\tabularnewline% + }% +} +}% Ende von AfterPackage + +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} + +\usepackage{filecontents} +\begin{filecontents}{\jobname-temp.bib} +@book{goossens94, + author = {Goossens, Michel and Mittelbach, Frank + and Samarin, Alexander}, + title = {The LaTeX Companion}, + date = {1994}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@book{knuth84, + author = {Knuth, Donald E.}, + title = {The \TeX book}, + date = {1984}, + maintitle = {Computers \& Typesetting}, + volume = {A}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@manual{hanisch14, + author = {Hanisch, Falk}, + title = {Ein \LaTeX"=Bundle für Dokumente im neuen Corporate + Design der Technischen Universität Dresden}, + date = {2014}, + subtitle = {Benutzerhandbuch}, + location = {Dresden}, + language = {german}, +} +\end{filecontents} +\addbibresource{\jobname-temp.bib} + +\usepackage{caption} +\captionsetup{font=sf,labelfont=bf,labelsep=space} +\usepackage{floatrow} +\floatsetup{font=sf} +\floatsetup[table]{style=plaintop} +\captionsetup{singlelinecheck=off,format=hang,justification=raggedright} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\captionsetup[subfloat]{labelformat=brace,list=off} + +\usepackage{booktabs} +\usepackage{array} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{tabu} +\usepackage{longtable} + +\usepackage{quoting} + +\usepackage[babel]{microtype} + +\usepackage{enumitem} +\setlist[itemize]{noitemsep} + +\usepackage{ellipsis} +\let\ellipsispunctuation\relax + +\usepackage{xfrac} + +\usepackage{isodate} + +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\begin{document} + +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{master} +\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse% + \matriculationnumber{12345678}% + \dateofbirth{2.1.1990}% + \placeofbirth{Dresden}% + \course{Klinische Prognostik}% + \discipline{Individualprognose}% +\and% + Donald Duck% + \matriculationnumber{87654321}% + \dateofbirth{1.2.1990}% + \placeofbirth{Berlin}% + \course{Statistische Prognostik}% + \discipline{Makrosoziologische Prognosen}% +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\date{10.09.2014} +\makecover +\maketitle + +\newcommand{\taskcontent}{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation + ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit + wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden + könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein + ähnlicher Vorgang zukünftig vermeiden lässt. +} +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\TUDoption{abstract}{multiple,section} +\begin{abstract} + Dies ist der deutschsprachige Teil der Zusammenfassung, in dem die + Motivation sowie der Inhalt der nachfolgenden wissenschaftlichen + Abhandlung kurz dargestellt werden. +\nextabstract[english] + This is the english part of the summary, in which the motivation and + the content of the following academic treatise are briefly presented. +\end{abstract} + +\declaration[company=FIRMA] + +\tableofcontents +\listoffigures +\listoftables + +\printacronyms[style=acrotabu] +\printsymbols[style=symblongtabu] + +\setchapterpreamble{% + \renewcommand*{\dictumwidth}{.4\textwidth}% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} +Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am +Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle +Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung +der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial +\texturn{treatise.pdf} vorgestellt wurden. + +\section{Die Verwendung von Akronymen und Symbolen} +\newacronym{apsp}{APSP}{All-Pairs Shortest Path} +\newacronym{spsp}{SPSP}{Single-Pair Shortest Path} +\newacronym{sssp}{SSSP}{Single-Source Shortest Path} + +In der Graphentheorie wird häufig die Lösung des Problems des kürzesten +Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häufig auch +mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} +und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} +oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. + +\newformulasymbol{l}{Länge}{l}{m} +\newformulasymbol{m}{Masse}{m}{kg} +\newformulasymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newformulasymbol{t}{Zeit}{t}{s} +\newformulasymbol{f}{Frequenz}{f}{s^{-1}} +\newformulasymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} + +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] + +\section{Referenzen und das Literaturverzeichnis} +Das Literaturverzeichnis wird auf Basis der nachfolgend verwendeten +Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden. +In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher +\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch +\cite{hanisch14} zitiert. + +\section{Grafiken und Tabellen in Gleitumgebungen} +Es folgt die Demonstration von Gleitumgebungen, welche sowohl für +Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden +Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite +etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der +Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen +und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geeigneten +Stellen zu platzieren. + +\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken} +In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF"~Format +in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein +Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl +\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden. +Hierfür ist ein entsprechender Anker am zu referenzierenden Objekt nötig, +welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei +ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des +Objektes, welche mit \texttt{\textbackslash caption} zu erstellen ist, +definiert werden sollte. + +\begin{figure} +\centering +\includegraphics{TUD-black} +\caption{Beispielgrafik}\label{fig:example} +\end{figure} + +\subsection{Untergleitobjekte} +Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen +erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei +Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext +sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie +\autoref{fig:ddc} verwiesen werden. + +\begin{figure} +\ffigbox[\FBwidth]% + {\begin{subfloatrow}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{TUD-black}}}% + {\caption{Eine Abbildung}\label{fig:tud}}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{DDC-21}}}% + {\caption{Eine weitere Abbildung}\label{fig:ddc}}% + \end{subfloatrow}}% + {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}% +\end{figure} + +\subsection{Tabellen als Gleitobjekte} +Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden. +Welche Umgebung für die Tabelle selbst dabei genutzt wird ist dabei +nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung +als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie +\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen +Tabellenbreite oder jede andere Tabellenumgebung genutzt werden. +Nachfolgend wird dies an mehreren Beispielen demonstriert. + +\subsubsection{Eine gleitende tabularx-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabularx}"=Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor +neue Spaltentypen definiert. + +\newcolumntype{Y}{>{\hspace{0pt}}X} +\newcolumntype{D}{>{\raggedright}Y} +\newcolumntype{E}{>{\centering}Y} +\newcolumntype{F}{>{\raggedleft}Y} + +\begin{table} +\begin{tabularx}{\textwidth}{@{}DEFY@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer T"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte & +Ein längerer Blindtext im Blocksatz zur besseren Demonstration +einer Y"~Spalte\tabularnewline +\bottomrule +\end{tabularx} +\caption{Eine \texttt{tabularx}"=Tabelle}\label{tab:tabularx} +\end{table} + +\subsubsection{Eine gleitende tabulary-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabulary}"=Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabulary}. + +\begin{table} +\begin{tabulary}{\textwidth}{@{}LCRJ@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule +Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer C"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte & +Ein wesentlich längerer und absolut inhaltsleerer Blindtext im +Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte +\tabularnewline\bottomrule +\end{tabulary} +\caption{Eine \texttt{tabulary}"=Tabelle}\label{tab:tabulary} +\end{table} + +\subsubsection{Eine gleitende tabu-Tabelle} +In \autoref{tab:tabu} ist eine weitere Tabelle mit variabler Breite der +Spalten und festgelegter Gesamtbreite zu sehen, welche in der Umgebung +\texttt{tabu} gesetzt wurde. Auch für diese wird zuerst ein neuer +Spaltentyp definiert, der die Unzulänglichkeiten der Umgebung reduziert. +Mit \texttt{\textbackslash ttabbox} aus dem Paket \texttt{floatrow} wird +die Beschriftung auf die Breite der Tabelle begrenzt. + +\makeatletter +\newcolumntype{Z}{} +\renewcommand*{\NC@rewrite@Z}[1][]{% + \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}% +} +\makeatother + +\begin{table} +\ttabbox{% + \begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}} + \toprule + \textbf{Linksbündig} & \textbf{Zentriert} & + \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule + Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte & + Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte & + Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte & + Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte + \tabularnewline\bottomrule + \end{tabu}% +}{% + \caption[Eine \texttt{tabu}"=Tabelle]{% + Eine \texttt{tabu}"=Tabelle in Verbindung mit dem Befehl + \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow} + für Beschriftungen in Objektbreite bereitgestellt wird% + }% + \label{tab:tabu}% +} +\end{table} + +\section{Zitate} +Bei der Verwendung von wörtlichen Zitaten sollten diese als solche +gekennzeichnet werden. +\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.} +\cite[58]{hanisch14} +Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur +das Werk selber sondern zumindest die Seitenzahl und gegebenenfalls +der Absatz der originalen Textstelle angegeben werden. +\begin{quoting} +\enquote{% + Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die + Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung + deutlich. + + Wie zu sehen ist, wird der zweite Absatz~-- wie jeder weitere~-- + aufgrund der Option \texttt{parskip=false} eingezogen. +} +\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14} +\end{quoting} +Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz +angegeben werden. Dies kann im Laufe der Arbeit auch für einen selbst von +Vorteil sein, wenn beispielsweise die originale Textpassage noch einmal +analysiert werden soll. + +\printbibliography[heading=bibintoc]\label{sec:bibliography}% + +\end{document} + diff --git a/macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex b/macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex new file mode 100644 index 0000000000..6c70d57083 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex @@ -0,0 +1,17 @@ +%\AtBeginDocument{\TUDoptions{ToDo=no}} +\includeonly{% +% tudscr-preface, +% tudscr-introduction, +% tudscr-mainclasses, +% tudscr-poster, +% tudscr-supervisor, +% tudscr-bundle, +% tudscr-examples, +% tudscr-packages, +% tudscr-hints, +% tudscr-installation, + tudscr-obsolete, +% tudscr-additional, + tudscr-index, +} +\input{tudscr} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex new file mode 100644 index 0000000000..03ebd6ba85 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex @@ -0,0 +1,52 @@ +\chapter{Identifikation von \TUDScript} +Im \TUDScript-Bundle gibt es neben den Klassen selbst auch noch zusätzliche +Pakete. Ein Teil dieser Pakete~-- genauer \Package{tudscrsupervisor} und +\Package{tudscrcomp}~-- sind ausschließlich mit den \TUDScript-Klassen nutzbar, +andere wiederum~-- die beiden Pakete für Belange des \CDs \Package{tudscrfonts} +(Schriften) und \Package{tudscrcolor} (Farben) sowie die davon vollkommen +unabhängigen Pakete \Package{mathswap} und \Package{twocolfix}~-- können mit +allen existierenden \hologo{LaTeXe}"=Dokumentklassen genutzt werden. Sämtliche +Klassen und Pakete aus dem \TUDScript-Bundle enthalten Befehle, welche diese +als Bestandteil identifizieren. + +\begin{Declaration}[v2.04]{\Macro{TUDScript}} +\printdeclarationlist% +% +Diese Anweisung setzt das Logo respektive die Wortmarke \enquote{\TUDScript{}} +in serifenloser Schrift und mit leichter Sperrung des in Versalien gesetzten +Teils. Dieser Befehl wird von allen Klassen und Paketen des \TUDScript-Bundles +mit \Macro*{DeclareRobustCommand}. +\end{Declaration} + +\begin{Declaration}[v2.04]{\Macro{TUDScriptClassName}} +\printdeclarationlist% +% +Die Bezeichnung der jeweiligen, im Dokument verwendeten \TUDScript-Klasse ist +im Makro \Macro{TUDScriptClassName} abgelegt. Soll also in Erfahrung gebracht +werden, ob~-- und wenn ja, welche~-- \TUDScript-Klasse verwendet wird, so kann +einfach auf diese Anweisung getestet werden. \KOMAScript{} stellt zusätzlich +noch die beiden Anweisungen \Macro*{KOMAClassName} und \Macro*{ClassName} +bereit, welche den Namen der zugrundeliegenden \KOMAScript-Klasse sowie die +durch diese ersetzte Standardklasse enthalten. +\end{Declaration} + +\begin{Declaration}[v2.04]{\Macro{TUDScriptVersion}} +\begin{Declaration}[v2.05]{\Macro{TUDScriptVersionNumber}} +\printdeclarationlist% +% +In \Macro{TUDScriptVersion} ist die Hauptversion von \TUDScript in der Form +\begin{quoting} +\PName{Datum}~\PName{Version}~\PValue{TUD-Script} +\end{quoting} +abgelegt. Die Version ist für alle Klassen und Pakete des \TUDScript-Bundles +gleich und kann nach dem Laden einer Klasse oder eines Paketes abgefragt +werden. Beispielsweise wurde diese Anleitung mit \enquote{\TUDScriptVersion{}} +erstellt. + +Eventuell will der Anwender auf die aktuell verwendete Version von \TUDScript +prüfen, um gegebenenfalls eigene Anpassungen in Abhängigkeit der verwendeten +Version vorzunehmen. Hierfür kann \Macro{TUDScriptVersionNumber} verwendet +werden. Darin ist alleinig die Versionsnummer enthalten. Die für das Handbuch +verwendete Version lautet \enquote{\TUDScriptVersionNumber{}}. +\end{Declaration} +\end{Declaration} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex new file mode 100644 index 0000000000..c97773482c --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex @@ -0,0 +1,417 @@ +\setchapterpreamble{% + \tudhyperdef'{sec:bundle}% + \begin{abstract} + Zusätzlich zu den bisher im Anwenderhandbuch vorgestellten Klassen und + Paketen werden im \TUDScript-Bundle weitere Paket bereitgestellt. Diese + sind nicht zwingend an die Verwendung einer der \TUDScript-Klassen + angewiesen sondern können prinzipiell mit jeder \hologo{LaTeXe}"=Klasse + genutzt werden.% + \end{abstract} +} +\chapter{Zusätzliche Pakete im \TUDScript-Bundle} +% +\section{Das Paket \Package{tudscrcolor} -- Farben im \CD}% +\index{Farben|(}% +\index{Layout!Farben|?(}% +% +\begin{Bundle*}{\Package{tudscrcolor}} +Zur Verwendung der Farben des \CDs wird das Paket \Package{tudscrcolor} +genutzt. Falls dieses nicht in der Präambel geladen wird~-- um beispielsweise +zusätzliche Optionen aufzurufen~-- binden die \TUDScript"=Klassen dieses +automatisch ein. + +Für das \CD sind mehrere Farben vorgesehen. Die prägnanteste aller ist die +Hausfarbe \Color{HKS41}, danach folgen die Farben für Auszeichnungen der ersten +(\Color{HKS44}) und der zweiten Kategorie (\Color{HKS36}, \Color{HKS33}, +\Color{HKS57}, \Color{HKS65}) sowie eine Ausnahmefarbe (\Color{HKS07}). +Diese Farben dürfen sowohl in ihrer Grundform als auch in helleren Tönen mit +einer Abstufung in 10\,\%"~Schritten verwendet werden. Das ohnehin verwendete +Paket \Package{xcolor} stellt genau diese Funktionalität zur Verfügung. Jede +der Farben kann sowohl mit \Color*{HKS\PName{Zahl}}() als auch über ein +Pseudonym \Color*{cd\PName{Farbe}}() genutzt werden. +% +\begin{Example*} +Die Grundfarbe \Color{HKS44} soll in der auf 20\% reduzierten, helleren +Abstufung genutzt werden. Innerhalb eines Befehls, der als Argument eine +gültige Farbe erwartet, muss lediglich \PValue{HKS44!20} angegeben werden. +Dies wird hier exemplarisch mit der folgenden \colorbox{HKS44!20}{% + Box \Macro{colorbox}[% + \PParameter{HKS44!20}\PParameter{Box}% + ](\Package{xcolor})'none'% +} +demonstriert. +\end{Example*} +% +Bei der farbigen Gestaltung des \CDs (\Option{cd=color}) ist der Hintergrund +von Umschlagseite, Titel sowie Teilen in \Color{HKS41} und die Schrift auf +selbigen in \Color{HKS41}[!30] gehalten. Der Hintergrund von Kapitelseiten +erscheint in \Color{HKS41}[!10], die Schrift in \Color{HKS41}. Bei geringerem +Farbeinsatz werden lediglich die Schriften der Gliederungsseiten auf +\Color{HKS41} gesetzt. + +Sollen bestimmte Optionen an das Paket \Package{xcolor} weitergereicht werden, +gibt es dafür zwei Möglichkeiten. Diese kann entweder vor dem Laden der Klasse +direkt an \Package{xcolor} übergeben werden% +\footnote{% + \Macro{PassOptionsToPackage}[\Parameter{Paketoptionen}\PParameter{xcolor}] + vor dem Laden der genutzten Dokumentklasse mit + \Macro*{documentclass}[\OParameter{Klassenoptionen}\Parameter{Klasse}]% +} +oder es wird \Package{tudscrcolor} mit der entsprechenden Option geladen.% +\footnote{% + \Macro*{usepackage}[\OParameter{Paketoptionen}\PParameter{tudscrcolor}]; + \Package{tudscrcolor} reicht \PName{Paketoptionen} an \Package{xcolor} weiter% +} +\newcommand*\cdcolorcalc{} +\newcommand*\cdcolorname{} +\newcommand*\cdcolorvalue{} +\newcommand*\cdcolortext{} +\newcommand*\cdcolor[2][0]{% + \noindent% + \begin{tikzpicture}[% + every node/.style={% + rectangle, minimum height=.1\linewidth, minimum width=7em% + }% + ]% + \def\cdcolorcalc##1##2{% + \pgfmathparse{100-##1*10}% + \xdef\cdcolorname{HKS##2!\pgfmathresult}% + \xdef\cdcolorvalue{\pgfmathresult}% + \pgfmathparse{10+##1*10}% + }% + \foreach \x in {0,1,...,9}{% + \cdcolorcalc{\x}{#2}% + \ifnum\x<#1% + \def\cdcolortext{white}% + \else% + \def\cdcolortext{black}% + \fi% + \node [fill=\cdcolorname,rotate=90] at (.\x\linewidth,0)% + {\textcolor{\cdcolortext}{HKS#2!\pgfmathprintnumber\cdcolorvalue}};% + }% + \end{tikzpicture}% +} + +\subsection{Generelle Farbdefinitionen} +\minisec{Primäre Hausfarbe} +\begin{Declaration}{\Color{HKS41}[cddarkblue]} +\printdeclarationlist% +\cdcolor[6]{41} +\end{Declaration} + +\minisec{Sekundäre Hausfarbe (Geschäftsausstattung)} +\begin{Declaration}{\Color{HKS92}[cdgray]} +\printdeclarationlist% +\cdcolor[4]{92} +\end{Declaration} + +\minisec{Auszeichnungsfarbe 1.\,Kategorie} +\begin{Declaration}{\Color{HKS44}[cdblue]} +\printdeclarationlist% +\cdcolor[4]{44} +\end{Declaration} + +\minisec{Auszeichnungsfarbe 2.\,Kategorie} +\begin{Declaration}{\Color{HKS36}[cdindigo]} +\begin{Declaration}{\Color{HKS33}[cdpurple]} +\begin{Declaration}{\Color{HKS57}[cddarkgreen]} +\begin{Declaration}{\Color{HKS65}[cdgreen]} +\printdeclarationlist% +\cdcolor[4]{36}\vskip\medskipamount +\cdcolor[4]{33}\vskip\medskipamount +\cdcolor[2]{57}\vskip\medskipamount +\cdcolor{65} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\minisec{Ausnahmefarbe} +\begin{Declaration}{\Color{HKS07}[cdorange]} +\printdeclarationlist% +\cdcolor{07} +\end{Declaration} + + +\subsection{Zusätzliche Farbdefinitionen} +Das Paket \Package{tudscrcolor} definiert im Normalfall lediglich die zuvor +beschriebenen Grundfarben \Color{HKS41}, \Color{HKS92}, \Color{HKS44}, +\Color{HKS36}, \Color{HKS33}, \Color{HKS57}, \Color{HKS65} sowie \Color{HKS07}. +Alle anderen farblichen Abstufungen können mit den beschrieben Möglichkeiten +des Paketes \Package{xcolor} generiert werden. + +\begin{Declaration}{\Option{oldcolors}} +\printdeclarationlist% +% +In den letzten Jahren sind viele verschiedene Klassen und Pakete für das \TUDCD +entstanden. Innerhalb dieser existieren abweichende Farbdefinitionen. Um eine +Migration von den benannten Klassen und Paketen auf \TUDScript zu ermöglichen, +existiert die Paketoption \Option{oldcolors}. Wird diese genutzt, so werden +zusätzliche Farben nach dem Schema \Color*{HKS41K\PName{Zahl}}() und +\Color*{HKS41-\PName{Zahl}}() definiert, wobei der hinten angestellte +Zahlenwert aus der 10er"~Reihe kommen muss. +\end{Declaration} + + + +\subsection{Umstellung des Farbmodells} +\index{Farben!Farbmodell}% +% +Normalerweise verwendet \Package{tudscrcolor} das CMYK"=Farbmodell. Außerdem +wird weiterhin noch der RGB"=Farbraum unterstützt. Eine Umschaltung des +Farbmodells ist beispielsweise für gewisse Funktionen des Paketes +\Package{tikz} notwendig. + +\begin{Declaration}{\Option{RGB}} +\printdeclarationlist% +% +Mit dieser Option werden bereits beim Laden des Paketes \Package{tudscrcolor} +die Farben nicht nach dem CMYK"=Farbmodell sondern im RGB"=Farbraum global +definiert. +\end{Declaration} + +\begin{Declaration}{\Macro{setcdcolors}[\Parameter{Farbmodell}]} +\printdeclarationlist% +% +Mit diesem Befehl kann innerhalb des Dokumentes das verwendete Farbmodell +angepasst werden. Damit ist es möglich, lokal innerhalb einer Umgebung den +Farbmodus zu ändern und so nur in bestimmten Situationen beispielsweise aus dem +CMYK"=Farbmodell in den RGB"=Farbraum zu wechseln. Unterstützte Werte für +\PName{Farbmodell} sind \PValue{CMYK} und \PValue{RGB} beziehungsweise +\PValue{rgb}. +\end{Declaration} + +\smallskip\noindent +\Attention{% + Die Darstellung der Farben kann im jeweiligen Farbmodus + (\PValue{CMYK} oder \PValue{RGB}) je nach verwendeter Bildschirm-, Drucker- + und Softwarekonfiguration verschieden ausfallen. Die Farbwerte entstammen dem + Handbuch zum \CD und sind lediglich Näherungswerte. Abweichungen vom + gedruckten HKS"~Farbregister und selbst ermittelten Werten sind technisch + nicht zu vermeiden. +}% +\index{Farben|)}% +\index{Layout!Farben|?)}% +\end{Bundle*} + + + +\section{Das Paket \Package{tudscrfonts} -- Schriften im \CD} +\begin{Bundle*}[v2.02]{\Package{tudscrfonts}} +\printchangedatlist% +% +Dieses Paket stellt die Schriften des \CDs für \hologo{LaTeXe}"=Klassen bereit, +welche \emph{nicht} zum \TUDScript-Bundle gehören. Das Paket unterstützt einen +Großteil der normalerweise für die \TUDScript-Klassen bereitgestellten Optionen +und Befehle für die Schriftauswahl. Um Dopplungen in der Dokumentation zu +vermeiden, wird an dieser Stelle auf eine abermalige Erläuterung der im Paket +\Package{tudscrfonts} verfügbaren Optionen und Befehle verzichtet. Diese werden +im Folgenden lediglich noch einmal genannt, die dazugehörigen Erläuterungen +sind in \fullref{sec:fonts} zu finden. + +Die nutzbaren Paketoptionen sind für den Fließtext \Option{cdfont}~-- ohne die +Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{cdhead})~-- und +für die mathematischen Schriften \Option{cdmath} sowie \Option{slantedgreek}. +Für die Auswahl der Schreibmaschinenschriften ist \Option{ttfont} verfügbar. +Weiterhin wird die Option \Option{relspacing} bereitgestellt. Alle genannten +Optionen können entweder direkt als Klassenoption oder als Paketoptionen im +optionalen Argument von +\Macro*{usepackage}[\OParameter{Paketoptionen}\PParameter{tudscrfonts}] +angegeben werden. Zusätzlich ist nach dem Laden des Paketes die Optionenwahl +mit \Macro{TUDoption} respektive \Macro{TUDoptions} möglich. + +Die in \autoref{sec:fonts} beschriebenen Textschalter und "~kommandos zur +expliziten Auswahl einzelner Schnitte der Hausschrift des \CDs sowie die +Befehle für griechische Buchstaben werden ebenso bereitgestellt. +\ChangedAt{v2.06:\OpenSans als neue Hausschrift standardmäßig aktiviert} +Soll nicht \OpenSans sondern die alten Schriftfamilien \Univers und \DIN +genutzt werden, ist eine Installation dieser notwendig. Hinweise hierzu sind +unter \autoref{sec:install:fonts} zu finden. Um diese zu aktivieren, sei auf +\Option{tudscrver=2.05} und \Option{cdoldfont} verwiesen. + +\ChangedAt{% + v2.04:Unterstützung der Klassen \Class{tudposter} und \Class{tudmathposter};% + v2.05:Neues Schriftpaket \Package{fix-tudscrfonts} für Dokumentklassen + im \CD der \TnUD, welche nicht zu \TUDScript gehören% +} +Ursprünglich war das Paket \Package{tudscrfonts} für die Verwendung zusammen +mit einer der Klassen \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, +\Class{tudfax}, \Class{tudhaus}, \Class{tudform} und seit der Version~v2.04 +auch \Class{tudmathposter} sowie \Class{tudposter} vorgesehen. Allerdings +traten bei der Verwendung des Paketes mit einer dieser Klassen einige kleinere +Unzulänglichkeiten auf. Deshalb wird seit der Version~v2.05 empfohlen, für +diese Klassen das Paket \Package{fix-tudscrfonts} zu verwenden. +\end{Bundle*} + + + +\section{Das Paket \Package{fix-tudscrfonts} -- Schriftkompatibilität} +\begin{Bundle*}[v2.05]{\Package{fix-tudscrfonts}} +\printchangedatlist% +% +Dieses Paket ist für die alleinige Verwendung mit einer der folgenden Klassen +vorgesehen: +\begin{itemize} +\item \Class{tudbook} +\item \Class{tudbeamer} +\item \Class{tudletter} +\item \Class{tudfax} +\item \Class{tudhaus} +\item \Class{tudform} +\item \Class{tudmathposter} +\item \Class{tudposter} +\end{itemize} +% +\ChangedAt{v2.06:\OpenSans als neue Hausschrift standardmäßig aktiviert} +Für das \TUDCD wird vom \TUDScript-Bundle standardmäßig \OpenSans als +Schriftfamilie verwendet. Diese unterscheidet sich stark von den ursprünglich +durch die gerade genannten Klassen genutzten Schriftfamilien. Wird nun das +Paket \Package{fix-tudscrfonts} zusammen mit einer dieser Klassen verwendet, +hat dies den Vorteil, dass auch bei diesen die aktuelle Hausschrift verwendet +wird und der stark verbesserte Mathematiksatz zum Tragen kommen. +\Attention{% + In diesem Fall kann sich das Ausgabeergebnis im Vergleich zu der Varianten + mit den alten Schriften ändern. Zum Setzen von Dokumenten mit den alten + Schriftfamilien \Univers und \DIN müssen diese installiert werden. Hinweise + hierzu sind unter \autoref{sec:install:fonts} zu finden. Um diese zu + aktivieren, sei auf \Option{tudscrver=2.05} und \Option{cdoldfont} verwiesen. +}% + +Um alle notwendigen Einstellung korrekt und ohne unnötige Warnungen vornehmen +zu können, muss das Paket \Package{fix-tudscrfonts} bereits \emph{vor} der +Dokumentklasse geladen werden, wobei die gleichen Paketoptionen wie für das +Paket \Package{tudscrfonts} verwendet werden können: +% +\begin{Code}[escapechar=§] +\RequirePackage§\OParameter{Paketoptionen}§{fix-tudscrfonts} +\documentclass§\OParameter{Klassenoptionen}\Parameter{Dokumentklasse}§ +§\dots§ +\begin{document} +§\dots§ +\end{document} +\end{Code} +% +Dabei wird spätestens zum Ende der Präambel das Paket \Package{tudscrfonts} +geladen. Alternativ kann dies auch durch den Benutzer in der Dokumentpräambel +erfolgen. +\end{Bundle*} + + +\section{Das Paket \Package{mathswap}} +\index{Mathematiksatz|(}% +\index{Zifferngruppierung|(}% +% +\begin{Bundle*}{\Package{mathswap}} +Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen Satz +sind regional sehr unterschiedlich. In den meisten englischsprachigen Ländern +wird der Punkt als Dezimaltrennzeichen und das Komma zur Zifferngruppierung +verwendet, im restlichen Europa wird dies genau entgegengesetzt praktiziert. +Dieses Paket soll dazu dienen, beliebige formatierte Zahlen in ihrer Ausgabe +anzupassen. Dafür werden die Zeichen Punkt (\ .\ ) und Komma (\ ,\ ) als +aktive Zeichen im Mathematikmodus definiert. + +Ähnliche Funktionalitäten werden bereits durch die Pakete \Package{icomma} und +\Package{ziffer} bereitgestellt. Bei \Package{icomma} muss jedoch beim +Verfassen des Dokumentes durch den Autor beachtet werden, ob das verwendete +Komma einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder einem normalen +Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach dem Komma +durchaus gewünscht ist. Das Paket \Package{ziffer} liefert dafür die gewünschte +Funktionalität,% +\footnote{kein Leerraum nach Komma, wenn direkt danach eine Ziffer folgt} +ist allerdings etwas unflexibel, was den Umgang mit den Trennzeichen anbelangt. +Als Alternative zu diesem Paket kann außerdem \Package{ionumbers} verwendet +werden. + +Das Paket \Package{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer +Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich jedoch +zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als solcher +auch gesetzt. Für ein Beispiel zur Verwendung des Paketes sei auf das Tutorial +\Tutorial{mathswap} in \autoref{sec:tut} hingewiesen. + +\begin{Declaration}{\Macro{commaswap}[\Parameter{Trennzeichen}]} +\begin{Declaration}{\Macro{dotswap}[\Parameter{Trennzeichen}]} +\printdeclarationlist% +% +Die beiden Befehle \Macro{commaswap} und \Macro{dotswap} sind die zentrale +Benutzerschnittstelle des Paketes. Das Makro \Macro{commaswap} definiert das +Trennzeichen oder den Inhalt, wodurch ein Komma ersetzt werden soll, auf +welches direkt danach eine Ziffer folgt. Normalerweise setzt \hologo{LaTeX} +nach einem Komma im mathematischen Satz zusätzlich einen horizontalen Abstand. +Bei der Ersetzung durch \Macro{commaswap} entfällt dieser. Die Voreinstellung +für \Macro{commaswap} ist deshalb auf ein Komma (,) gesetzt. Mit dem Makro +\Macro{dotswap} kann definiert werden, wodurch der Punkt im mathematischen +Satz ersetzt werden soll, wenn auf diesen direkt anschließend eine Ziffer +folgt. Da der Punkt im deutschsprachigem Raum zur Gruppierung von Ziffern +genutzt wird, ist hierfür standardmäßig ein halbes geschütztes Leerzeichen +definiert (\Macro*{,}). +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Macro{mathswapon}} +\begin{Declaration}[v2.02]{\Macro{mathswapoff}} +\printdeclarationlist% +% +\ChangedAt*{v2.02:Funktionalität im Dokument umschaltbar}% +Die Funktionalität von \Package{mathswap} kann innerhalb des Dokumentes mit +diesen beiden Befehlen an- und abgeschaltet werden. Beim Laden des Paketes ist +es standardmäßig aktiviert. +\end{Declaration} +\end{Declaration} +\index{Mathematiksatz|)}% +\index{Zifferngruppierung|)}% +\end{Bundle*} + + + +\section{Das Paket \Package{twocolfix}} +\begin{Bundle*}{\Package{twocolfix}} +\index{Satzspiegel!zweispaltig|?}% +% +Der \hologo{LaTeXe}"=Kernel enthält einen Fehler, der Kapitelüberschriften im +zweispaltigen Layout höher setzt, als im einspaltigen. Der +\hrfn{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}{Fehler} +ist zwar schon länger bekannt, allerdings bisher noch nicht in den +\hologo{LaTeXe}"=Kernel übernommen worden. Das Paket \Package{twocolfix} behebt +das Problem. Eine Integration dieses Bugfixes in \KOMAScript{} wurde bereits +bei Markus Kohm angefragt, jedoch von ihm bis jetzt +\hrfn{http://www.komascript.de/node/1681}{nicht weiter verfolgt}. +\end{Bundle*} + + +\addsec*{Zukünftige Arbeiten} +Diese Dinge sollen langfristig in das \TUDScript-Bundle eingearbeitet werden: + +%\chapter{Das Paket \Package{tudscrletter} -- Briefe im \CD} +%\begin{Bundle*}{\Package{tudscrletter}} +\ToDo[imp]{% + Paket \Package*{tudscrletter} für Briefe im \CD, + \url{https://komascript.de/node/2200}% +}[v2.07] +Es soll das Paket \Package*{tudscrletter}<tudscr> für Briefe im \TUDCD +entstehen. Auch Klassen für Fax und Hausmitteilungen sollen dabei abfallen. +%\end{Bundle*} + +%\chapter{Das Paket \Package{tudscrbeamer} -- Präsentationen im \CD} +%\begin{Bundle*}{\Package{tudscrbeamer}} +\ToDo[imp]{Paket \Package*{tudscrbeamer} für Präsentationen im \CD}[v2.08] +Mit \Package*{tudscrbeamer}<tudscr> soll ein Paket entstehen, mit dem sich +\hologo{LaTeX}"=Beamer"=Präsentationen im Stil des \TUDCDs mit den +Einstellungsmöglichkeiten von \TUDScript erstellen lassen. Aktuell können +hierfür die Pakete aus dem \hrfn{https://github.com/tud-cd/tud-cd/}{% + GitHub-Repository~\Distribution*{tud-cd}% +} genutzt werden. +%\end{Bundle*} + +%\chapter{Das Paket \Package{tudscrlayout} -- Seitenstil und Satzspiegel im \CD} +%\begin{Bundle*}{\Package{tudscrlayout}} +\ToDo[imp]{% + Paket \Package*{tudscrlayout} \url{https://github.com/tud-cd/tud-cd/issues/6} + für Satzspiegel, evtl. auch für die Klasse über \Option*{cdgeometry=forced} +}[v2.09] +Außerdem ist ein Paket \Package*{tudscrlayout}<tudscr> vorstellbar, welches +den durch das \CD vorgegebene Satzspiegel aktiviert ohne den Seitenstil selbst +zu verwenden, um beispielsweise bereits mit dem Kopf der \TnUD bedrucktes +Papier nutzen zu können. Ebenfalls wäre es denkbar, für andere Klassen die +\PageStyle{tudheadings}"=Seitenstile verfügbar zu machen ohne dabei den +Satzspiegel des \CDs umzusetzen. Dies hat jedoch nur geringe Priorität. +%\end{Bundle*} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex new file mode 100644 index 0000000000..ba3dfbce1c --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex @@ -0,0 +1,146 @@ +\setchapterpreamble{% + \tudhyperdef'{sec:exmpl}% + \begin{abstract} + \hypersetup{linkcolor=red} + Dieses Kapitel soll den Einstieg und den ersten Umgang mit \TUDScript + erleichtern. Dafür werden einige Minimalbeispiele gegeben, die einzelne + Funktionalitäten darstellen. Diese sind so reduziert ausgeführt, dass sie + sich dem Anwender direkt erschließen sollten. + \end{abstract} +} +\chapter{Minimalbeispiele} +\index{Minimalbeispiel|!(}% +% +\section{Dokument} +\index{Minimalbeispiel!Dokument}% +% +Hier wird gezeigt, wie die Präambel eines minimalen \hologo{LaTeXe}"=Dokumentes +gestaltet werden sollte. Dieser Ausschnitt kann prinzipiell als Grundlage für +ein neu zu erstellendes Dokument verwendet werden. Lediglich das Einbinden des +Paketes \Package{blindtext} mit \Macro*{usepackage}[\PParameter{blindtext}] und +die Verwendung des daraus stammenden Befehls \Macro*{blinddocument} können +weggelassen werden. +\IncludeExample{document} + +\section{Dissertation} +\tudhyperdef*{sec:exmpl:dissertation}% +\index{Minimalbeispiel!Dissertation}% +% +Eine Abschlussarbeit oder ähnliches könnte wie hier gezeigt begonnen werden. +\IncludeExample{dissertation} + +\section{Abschlussarbeit (kollaborativ)} +\tudhyperdef*{sec:exmpl:thesis}% +\index{Minimalbeispiel!Abschlussarbeit}% +\index{Minimalbeispiel!Kollaboratives Schreiben}% +% +Alle zusätzlichen Angaben außerhalb des Argumentes von \Macro{author} werden +für beide Autoren gleichermaßen übernommen.% +\footnote{In diesem Beispiel \Macro{matriculationyear}} +Die Angaben innerhalb des Argumentes von \Macro{author} werden den jeweiligen, +mit \Macro{and} getrennten Autoren zugeordnet.% +\footnote{% + In diesem Beispiel \Macro{matriculationnumber}, \Macro{dateofbirth} und + \Macro{placeofbirth}% +} +Ohne die Verwendung von \Macro{and} kann natürlich auch nur ein Autor +aufgeführt werden. Außerdem sei auf die Verwendung von \Macro{subject} anstelle +von \Macro{thesis} mit einem speziellen Wert aus \autoref{tab:thesis} +hingewiesen. +\IncludeExample{thesis} + +\begin{Bundle}{\Package{tudscrsupervisor}} +\section{Aufgabenstellung (kollaborativ)} +\tudhyperdef*{sec:exmpl:task}% +\index{Minimalbeispiel!Aufgabenstellung}% +\index{Minimalbeispiel!Kollaboratives Schreiben}% +% +Eine Aufgabenstellung für eine wissenschaftliche Arbeit ist mithilfe der +Umgebung \Environment{task}|?| oder dem Befehl \Macro{taskform}|?| aus dem +Paket \Package{tudscrsupervisor} folgendermaßen dargestellt werden. +\IncludeExample{task} + +\section{Gutachten} +\tudhyperdef*{sec:exmpl:evaluation}% +\index{Minimalbeispiel!Gutachten}% +% +Nach dem Laden des Paketes \Package{tudscrsupervisor} kann ein Gutachten für +eine wissenschaftliche Arbeit mit der \Environment{evaluation}|?|"=Umgebung +oder dem Befehl \Macro{evaluationform}|?| erstellt werden. +\IncludeExample{evaluation} + +\section{Aushang} +\tudhyperdef*{sec:exmpl:notice}% +\index{Minimalbeispiel!Aushang}% +% +Das Paket \Package{tudscrsupervisor} stellt die Umgebung \Environment{notice}|?| +für das Anfertigen allgemeiner Aushänge sowie den Befehl \Macro{noticeform}|?| +für die Ausschreibung wissenschaftlicher Arbeiten bereit. +\IncludeExample{notice} +\end{Bundle} + +\begin{Bundle}{\Class{tudscrposter}} +\section{Poster} +\tudhyperdef*{sec:exmpl:poster}% +\index{Minimalbeispiel!Poster}% +% +Mit der Klasse \Class{tudscrposter}|?| lässt sich ein Poster im \TUDCD +erstellen. Dabei ist die Angabe des gewünschten Papierformates sowie der +passenden Schriftgröße zu beachten. +\IncludeExample{poster} +\index{Minimalbeispiel|!)}% +\end{Bundle} + + + + +\setchapterpreamble{% + \tudhyperdef'{sec:tut}% + \begin{abstract} + \hypersetup{linkcolor=red} + In diesem Kapitel werden weiterführende Anwendungsbeispiele bereitgestellt. + Diese Tutorials sind nicht unmittelbar im Handbuch enthalten sondern werden + als externe Dateien bereitgehalten, welche direkt via Hyperlink geöffnet + werden können. + \end{abstract} +} +\chapter{Tutorials} +\addsec*{Leitfaden für eine wissenschaftlichen Arbeit} +\index{Tutorials|!(}% +% +Die meisten Anwender der \TUDScript-Klassen sind Studenten oder angehörige der +\TnUD, die ihre ersten Schritte mit \hologo{LaTeXe} beim Verfassen einer +wissenschaftlichen Arbeit oder ähnlichem machen. Während der Einstiegsphase in +\hologo{LaTeXe} kann ein Anfänger sehr schnell aufgrund der großen Anzahl an +empfohlenen Pakete sowie der teilweise diametral zueinander stehenden Hinweise +überfordert sein. Mit dem Tutorial \Tutorial{treatise}|!| soll versucht werden, +ein wenig Licht ins Dunkel zu bringen. Es erhebt jedoch keinerlei Anspruch, +vollständig oder perfekt zu sein. Einige der darin vorgestellten Möglichkeiten +lassen sich mit Sicherheit auch anders, einfacher und/oder besser lösen. +Dennoch ist es gerade für Neulinge~-- vielleicht auch für den einen oder +anderen \hologo{LaTeX}"=Veteran~-- als Leitfaden für die Erstellung einer +wissenschaftlichen Arbeit gedacht. + +\addsec*{Ein Beitrag zum mathematischen Satz in \hologo{LaTeXe}} +\index{Mathematiksatz}% +% +Das Tutorial \Tutorial{mathtype}|!| richtet sich an alle Anwender, die in ihrem +\hologo{LaTeX}"=Dokument mathematische Formeln setzen wollen. In diesem wird +ausführlich darauf eingegangen, wie mit wenigen Handgriffen ein typografisch +sauberer Mathematiksatz zu bewerkstelligen ist. + +\addsec*{Änderung der Trennzeichen im Mathematikmodus} +\index{Mathematiksatz}% +\index{Zifferngruppierung}% +% +Sollen beim Verfassen eines \hologo{LaTeX}"=Dokumentes Daten in einem +Zahlenformat importiert werden, welches nicht den Gepflogenheiten der +Dokumentsprache entspricht, kommt es meist zu unschönen Ergebnissen bei der +Ausgabe. Einfachstes Beispiel sind Daten, in denen als Dezimaltrennzeichen ein +Punkt verwendet wird, wie es im englischsprachigen Raum der Fall ist. Sollen +diese in einem Dokument deutscher Sprache eingebunden werden, müssten diese +normalerweise allesamt angepasst und das ursprüngliche Dezimaltrennzeichen +durch ein Komma ersetzt werden. Dieser Schritt wird mit dem \TUDScript-Paket +\Package{mathswap} automatisiert. Wie dies genau funktioniert, wird im Tutorial +\Tutorial{mathswap}|!| erläutert. +\index{Tutorials|!)}% diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex new file mode 100644 index 0000000000..87ea1b6056 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex @@ -0,0 +1,940 @@ +\setchapterpreamble{\tudhyperdef'{sec:tips}} +\chapter{Praktische Tipps \& Tricks} +\newcommand*\TaT{\hyperref[sec:tips]{Tipps \& Tricks}:\xspace} +\section{\hologo{LaTeX}-Editoren} +\tudhyperdef*{sec:tips:editor}% +% +Hier werden die gängigsten Editoren zum Erzeugen von \hologo{LaTeX}"=Dateien +genannt. Ich persönlich bin mittlerweile sehr überzeugter Nutzer von +\Application{\hologo{TeX}studio}, da dieser viele Unterstützungs- und +Assistenzfunktionen bietet. Neben diesen gibt es noch weitere, gut nutzbare +\hologo{LaTeX}"=Editoren. Unabhängig von der Auswahl des Editors, sollte dieser +auf jeden Fall eine Unicode"=Unterstützung~(UTF"~8) enthalten: +% +\begin{itemize} +\item \Application{\hologo{TeX}maker} +\item \Application{Kile} +\item \Application{\hologo{TeX}works} +\item \Application{\hologo{TeX}lipse}~-- Plug"~in für \Application{Eclipse} +\item \Application{\hologo{TeX}nicCenter} +\item \Application{WinEdt} +\item \Application{LEd}~-- früher \hologo{LaTeX}~Editor +\item \Application{\hologo{LyX}}~-- grafisches Front"~End für \hologo{LaTeX} +\end{itemize} +% +Für \Application{\hologo{TeX}studio} wird im \GitHubRepo* das Archiv +\hrfn{\Download{TeXstudio/tudscr4texstudio.zip}}{\File{tudscr4texstudio.zip}} +bereitgestellt, welches Dateien zur Erweiterung der automatischen +Befehlsvervollständigung für \TUDScript enthält. Diese müssen unter Windows in +\Path{\%APPDATA\%\textbackslash texstudio} beziehungsweise unter unixoiden +Betriebssystemen in \Path{.config/texstudio} eingefügt werden. + +Möchten Sie das grafische \hologo{LaTeX}"~Frontend~\Application{\hologo{LyX}} +für das Erstellen eines Dokumentes mit den \TUDScript-Klassen nutzen, so werden +dafür spezielle Layout"~Dateien benötigt, um die Klassendateien verwenden zu +können. Diese sind zusammen mit einem \Application{\hologo{LyX}}"~Dokument als +Archiv +\hrfn{\Download{LyX/tudscr4lyx.zip}}{\File{tudscr4lyx.zip}} +im \GitHubRepo* verfügbar. Die Layout"~Dateien müssen dafür im +\Application{\hologo{LyX}}"=Installationspfad in den passenden Unterordner +kopiert werden. Dieser ist bei Windows +\Path{% + \%PROGRAMFILES(X86)\%\textbackslash{}LyX~2.1\textbackslash{}% + Resources\textbackslash{}layouts% +} +beziehungsweise bei unixoiden Betriebssystemen \Path{/usr/share/lyx/layouts}. +Anschließend muss LyX über den Menüpunkt \emph{Werkzeuge} neu konfiguriert +werden. + + + +\section{Literaturverwaltung in \hologo{LaTeX}} +\ChangedAt{v2.02:\TaT Literaturverwaltung} +% +Die simpelste Variante, eine \hologo{LaTeX}"=Literaturdatenbank zu verwalten, +ist dies mit dem Editor manuell zu erledigen. Wesentlich komfortabler ist es +jedoch, die Referenzverwaltung mit einer darauf spezialisierten Anwendung zu +bewerkstelligen. Dafür gibt es zwei sehr gute Programme: +% +\begin{itemize} +\item \Application{Citavi} +\item \Application{JabRef} +\end{itemize} +% +Das Programm \Application{Citavi} ermöglicht den Import von bibliografischen +Informationen aus dem Internet. Allerdings sind diese teilweise unvollständig +oder mangelhaft. Mit \Application{JabRef} hingegen muss die Literaturdatenbank +manuell erstellt werden. Allerdings lassen sich einzelne Einträge aus +\File*{.bib}"~Dateien importieren. Beide Anwendungen unterstützen den Export +beziehungsweise die Erstellung von Datenbanken im Stil von \Package{biblatex}. +Für \Application{JabRef} muss diese durch den Anwender explizit aktiviert +werden.\footnote{Optionen/Einstellungen/Erweitert/BibLaTeX"~Modus} +Zur Verwendung der beiden Programme in Verbindung mit \Package{biblatex} und +\Application{biber} gibt es ein gutes Tutorial unter diesem +\href{http://www.suedraum.de/latex/stammtisch/degenkolb_latex_biblatex_folien-final.pdf}{Link}. + + + +\section{Worttrennungen in deutschsprachigen Texten} +\tudhyperdef*{sec:tips:hyphenation} +\ChangedAt{v2.02:\TaT Worttrennungen} +% +Die möglichen Trennstellen von Wörtern werden von \hologo{LaTeXe} mithilfe +eines Algorithmus berechnet. Dieser ist jedoch in seiner ursprünglichen Form +für die englische Sprache konzipiert worden. Für deutschsprachige Texte wird +die Worttrennung~-- insbesondere bei zusammengeschriebenen Wörtern~-- mit dem +Paket \Package{hyphsubst} entscheidend verbessert. Dafür wird ein um vielerlei +Trennungsmuster ergänztes Wörterbuch aus dem Paket \Package{dehyph-exptl} +genutzt. + +In jedem Fall wird ein Sprachpaket wie beispielsweise \Package{babel} oder +\Package{polyglossia} benötigt, wobei letzteres für den Einsatz mit +\Engine{LuaLaTeX} oder \Engine{XeLaTeX} konzipiert ist. Bei der Verwendung +einer dieser beiden Unicode"=Textsatzsysteme~-- in Verbindung mit einem der zwei +genannten Sprachpakete werden~-- die Trennmuster automatisch aktiviert. + +Für \Engine{pdfLaTeX} lassen sich diese mit dem Paket \Package{hyphsubst} +aktivieren. Damit auch Wörter mit Umlauten richtig getrennt werden, ist +zusätzlich die Verwendung des Paketes \Package{fontenc} mit beispielsweise der +\PValue{T1}"~Schriftkodierung erforderlich. Der Beginn einer Dokumentpräambel +könnte folgendermaßen aussehen: +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\usepackage[T1]{fontenc} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} +\usepackage{babel} +§\dots§ +\end{Code} +\end{quoting} +% +Eine Anmerkung noch zur Trennung von Wörtern mit Bindestrichen. Normalerweise +sind die beiden von \hologo{LaTeXe} verwendeten Zeichen für Bindestrich und +Trennstrich identisch. Leider wird der Trennungsalgorithmus von \hologo{LaTeXe} +bei Wörtern, welche bereits einen Bindestrich enthalten, außer Kraft gesetzt. +In der Folge werden~-- in der deutschen Sprache durchaus öfter anzutreffende~-- +Wortungetüme wie die \enquote{Donaudampfschifffahrts-Gesellschafterversammlung} +normalerweise nur direkt nach dem angegebenen Bindestrich getrennt. + +Allerdings gibt es die Möglichkeit, das genutzte Zeichen für den Trennstrich +zu ändern. Dafür ist das Laden der \PValue{T1}"~Schriftkodierung mit dem Paket +\Package{fontenc} zwingend erforderlich. Wenn von der verwendeten Schrift +nichts anderes eingestellt ist, liegen sowohl Binde- als auch Trennstrich auf +Position~\PValue{45} der Zeichentabelle. In der \PValue{T1}"~Schriftkodierung +befindet sich auf der Position~\PValue{127} glücklicherweise für gewöhnlich das +gleiche Zeichen noch einmal. Dies ist jedoch von der verwendeten Schrift +abhängig. Wird der Ausdruck \Macro*{defaulthyphenchar}[\PValue{=127}] in der +Dokumentpräambel verwendet, kann dieses Zeichen für den Trennstrich genutzt +werden. Bei den Schriften des \TUDCDs ist dies bereits automatisch eingestellt. + +Sollte trotz aller Maßnahmen dennoch einmal ein bestimmtes Wort falsch getrennt +werden, so kann die Worttrennung dieses Wortes manuell und global geändert +werden. Dies wird mit \Macro{hyphenation}[\PParameter{Sil-ben-tren-nung}] +gemacht. Es ist zu beachten, dass dies für alle Flexionsformen des Wortes +erfolgen sollte. Für eine lokale/temporäre Worttrennung kann mit Befehlen aus +dem Paket \Package{babel} gearbeitet werden. Diese sind: + +\vskip\medskipamount\noindent +\begingroup +\newcommand*\listhyphens[2]{#1 & \PValue{#2} \tabularnewline}% +\begin{tabular}{@{}ll} + \textbf{Beschreibung} & \textbf{Befehl} \tabularnewline + \listhyphens{ausschließliche Trennstellen}{\textbackslash-} + \listhyphens{zusätzliche Trennstellen}{"'-} + \listhyphens{Umbruch ohne Trennstrich}{"'"'} + \listhyphens{Bindestrich ohne Umbruch}{"'\textasciitilde} + \listhyphens{Bindestrich, der weitere Trennstellen erlaubt}{"'=} +\end{tabular} +\endgroup + + + +\section{Lokale Änderungen von Befehlen und Einstellungen} +\index{Befehlsdeklaration!Geltungsbereich}% +\ChangedAt{v2.02:\TaT Lokale Änderungen} +% +Ein zentraler Bestandteil von \hologo{LaTeX} ist die Verwendung von Gruppen +oder Gruppierungen. Innerhalb dieser bleiben alle vorgenommenen Änderungen an +Befehlen, Umgebungen oder Einstellungen lokal. Dies kann sehr nützlich sein, +wenn beispielsweise das Verhalten eines bestimmten Makros einmalig oder +innerhalb von selbst definierten Befehlen oder Umgebungen geändert werden, im +Normalfall jedoch die ursprüngliche Funktionalität behalten soll. +\begin{Example} +\index{Schriftauszeichnung}% +Der Befehl \Macro{emph} wird von \hologo{LaTeX} für Hervorhebungen im Text +bereitgestellt und führt normalerweise zu einer kursiven oder~-- falls kein +Schriftschnitt mit echten Kursiven vorhanden ist~-- kursivierten oder auch +geneigten Auszeichnung. Soll nun in einem bestimmten Abschnitt die Auszeichnung +mit fetter Schrift erfolgen, kann der Befehl \Macro{emph} innerhalb einer +Gruppierung geändert und verändert werden. Wird diese beendet, verhält sich der +Befehl wie gewohnt. +\begin{Code} +In diesem Text wird genau ein \emph{Wort} hervorgehoben. + +\begingroup + \renewcommand*{\emph}[1]{\textbf{#1}}% + In diesem Text wird genau ein \emph{Wort} hervorgehoben. +\endgroup + +In diesem Text wird genau ein \emph{Wort} hervorgehoben. +\end{Code} +\end{Example} +Eine Gruppierung kann entweder mit \Macro*{begingroup} und \Macro*{endgroup} +oder einfach mit einem geschweiften Klammerpaar \PParameter{\dots} definiert +werden. + + + +\section{Bezeichnung der Gliederungsebenen durch \Package{hyperref}} +\tudhyperdef*{sec:tips:references} +\index{Querverweise}% +\ChangedAt{v2.02:\TaT Bezeichnungen der Gliederungsebenen} +% +Das Paket \Package{hyperref} stellt für Querverweise unter anderem den Befehl +\Macro{autoref}[\Parameter{label}](\Package{hyperref})'none' zur Verfügung. Mit +diesem wird~-- im Gegensatz zur Verwendung von \Macro{ref}~-- bei einer +Referenz nicht nur die Nummerierung selber sondern auch das entsprechende +Element wie Kapitel oder Abbildung vorangestellt. Zur Benennung des +referenzierten Elementes wird sequentiell geprüft, ob das Makro +\Macro*{\PName{Element}\PValue{autorefname}} oder +\Macro*{\PName{Element}\PValue{name}} existiert. Soll die Bezeichnung eines +Elementes geändert werden, muss der entsprechende Bezeichner angepasst werden. +% +\begin{Example} +Bezeichnungen von Gliederungsebenen können folgendermaßen verändert werden. +\begin{Code} +\renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} +\renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} +\end{Code} +\end{Example} + + + +\section{URL-Umbrüche im Literaturverzeichnis mit \Package{biblatex}} +\index{Literaturverzeichnis}% +\ChangedAt{v2.02:\TaT URL-Umbrüche im Literaturverzeichnis} +% +Wird das Paket \Package{biblatex} verwendet, kann es unter Umständen dazu +kommen, das eine URL nicht vernünftig umbrochen wird. Ist dies der Fall, +können die Zähler \Counter{biburlnumpenalty}(\Package{biblatex})'none', +\Counter{biburlucpenalty}(\Package{biblatex})'none' und +\Counter{biburllcpenalty}(\Package{biblatex})'none' erhöht werden. Das +Manipulieren eines Zähler kann mit \Macro*{setcounter}[\Parameter{Zähler}] oder +lokal mit \Macro*{defcounter}[\Parameter{Zähler}] aus dem Paket +\Package{etoolbox} erfolgen. Die möglichen Werte liegen zwischen 0~und~10\,000, +wobei es bei höheren Zählerwerten zu mehr URL"~Umbrüchen an +Ziffern~(\Counter{biburlnumpenalty}(\Package{biblatex})'none'), +Groß-~(\Counter{biburlucpenalty}(\Package{biblatex})'none') und +Kleinbuchstaben~(\Counter{biburllcpenalty}(\Package{biblatex})'none') kommt. +Genaueres in der Dokumentation zu \Package{biblatex}. + + + +\section{Zeilenabstände in Überschriften} +\tudhyperdef*{sec:tips:headings}% +% +Mit dem Paket \Package{setspace} kann der Zeilenabstand beziehungsweise der +Durchschuss innerhalb des Dokumentes geändert werden. Sollte dieser erhöht +worden sein, können die Abstände bei mehrzeiligen Überschriften als zu groß +erscheinen. Um dies zu korrigieren kann mit dem Befehl +\Macro{addtokomafont}[% + \PParameter{disposition}\PParameter{% + \Macro{setstretch}[\PParameter{1}](\Package{setspace})'none'% + }% +](\Package{koma-script})'none' +der Zeilenabstand aller Überschriften auf einzeilig zurückgeschaltet werden. +Soll dies nur für eine bestimmte Gliederungsebene erfolgen, so ist der +Parameter \PValue{disposition} durch das dazugehörige Schriftelement zu +ersetzen. + + + +\section{Warnung wegen zu geringer Höhe der Kopf-/Fußzeile} +\tudhyperdef*{sec:tips:headline}% +% +Wird das Paket \Package{setspace} verwendet, kann es passieren, dass nach der +Änderung des Zeilenabstandes \emph{innerhalb} des Dokumentes eine oder beide +der folgenden Warnungen erscheinen: +% +\begin{quoting} +\begin{Code} +scrlayer-scrpage Warning: \headheight to low. +scrlayer-scrpage Warning: \footheight to low. +\end{Code} +\end{quoting} +% +Dies liegt an dem durch den vergrößerten Zeilenabstand erhöhten Bedarf für die +Kopf- und Fußzeile, die Höhen können in diesem Fall direkt mit der Verwendung +von \Macro{recalctypearea}(\Package{typearea})'none' angepasst werden. +Allerdings ändert das den Satzspiegel im Dokument, was eine andere und durchaus +berechtigte Warnung von \Package{typearea} zur Folge hat. Falls die Änderung +des Durchschusses wirklich nötig ist, sollte dies in der Präambel des +Dokumentes einmalig passieren. Dann entfallen auch die Warnungen. + + + +\section{Einrückung von Tabellenspalten verhindern}% +\tudhyperdef*{sec:tips:table} +\index{Tabellen}% +% +Normalerweise wird in einer Tabelle vor \emph{und} nach jeder Spalte durch +\hologo{LaTeXe} etwas horizontaler Raum mit \Macro*{hskip}\Length{tabcolsep} +eingefügt.% +\footnote{% + Der Abstand zweier Spalten beträgt folglich \PValue{2}\Length{tabcolsep}.% +} +Dies geschieht auch \emph{vor} der ersten und \emph{nach} der letzten Spalte. +Diese optische Einrückung an den äußeren Rändern kann unter Umständen stören, +insbesondere bei Tabellen, die willentlich~-- beispielsweise mit den Paketen +\Package{tabularx}, \Package{tabulary} oder auch \Package{tabu}~-- über die +komplette Seitenbreite aufgespannt werden. + +Das Paket \Package{tabularborder} versucht, dieses Problem automatisiert zu +beheben, ist jedoch nicht zu allen \hologo{LaTeXe}"=Paketen für den +Tabellensatz kompatibel, unter anderem auch nicht zu den drei zuvor genannten. +Allerdings lässt sich dieses Problem manuell lösen. + +Bei der Deklaration einer Tabelle kann mit~\PValue{@}\PParameter{\dots} vor und +nach dem Spaltentyp angegeben werden, was anstelle von \Length{tabcolsep} vor +beziehungsweise nach der eigentlichen Spalte eingeführt werden soll. Dies kann +für das Entfernen der Einrückungen genutzt werden, indem an den entsprechenden +Stellen~\PValue{@\PParameter{}} bei der Angabe der Spaltentypen vor der ersten +und nach der letzten Tabellenspalte verwendet wird. +% +\begin{Example} +Eine Tabelle mit zwei Spalten, wobei bei einer die Breite automatisch berechnet +wird, soll über die komplette Textbreite gesetzt werden. Dabei soll der Rand +vor der ersten und nach der letzten entfernt werden. +\begin{Code}[escapechar=§] +\begin{tabularx}{\textwidth}{@{}lX@{}} +§\dots§ & §\dots§ \tabularnewline +§\dots§ +\end{tabularx} +\end{Code} +\end{Example} + + + + +\section{Unterdrückung des Einzuges eines Absatzes} +\index{Absatzauszeichnung}% +% +Werden zur Absatzauszeichnung im Dokument~-- wie es aus typografischer Sicht +zumeist sinnvoll ist~-- Einzüge und keine vertikalen Abstände verwendet +(\KOMAScript-Option \Option*{parskip=false}(\Package{koma-script})'none'), kann +es vorkommen, dass ein ganz bestimmter Absatz~-- beispielsweise der nach einer +zuvor genutzten Umgebung folgende~-- ungewollt eingerückt ist. Dies kann sehr +einfach manuell behoben werden, indem direkt zu Beginn des Absatzes das Makro +\Macro{noindent} aufgerufen wird. Soll das Einrücken von Absätzen nach ganz +bestimmten Umgebungen oder Befehlen automatisiert unterbunden werden, ist das +Paket \Package{noindentafter} zu empfehlen. + + + +\section{Unterbinden des Zurücksetzens von Fußnoten}% +\tudhyperdef*{sec:tips:counter}% +\index{Fußnoten}% +% +Mit \Macro{counterwithin} und \Macro{counterwithout} können +\hologo{LaTeX}"=Zähler so umdefiniert werden, dass sie bei der Änderung eines +anderen Zählers zurückgesetzt werden oder nicht. Mit der Angabe von +\Macro*{counterwithout*}[% + \PParameter{footnote}\PParameter{chapter}% +]'none' wird das Zurücksetzen des Fußnotenzählers durch neue Kapitel +deaktiviert, womit sich über Kapitel fortlaufende Fußnoten +realisieren lassen. +%Mehr ist der Dokumentation von \Package*{chngcntr} zu finden. + + + +\section{Warnung beim Erzeugen des Inhaltsverzeichnisses} +\index{Inhaltsverzeichnis}% +\ChangedAt{v2.02:\TaT Warnung beim Erzeugen des Inhaltsverzeichnisses} +\ChangedAt{v2.02:\TaT Hinweis auf Rand bei mehrzeiligen Einträgen ergänzt} +% +Wird mit \Macro{tableofcontents}(\Package{koma-script})'none' das +Inhaltsverzeichnis für ein Dokument mit einer dreistelligen Seitenanzahl +erstellt, so erscheinen unter Umständen viele Warnungen mit der Meldung: +% +\begin{quoting} +\begin{Code} +overfull \hbox +\end{Code} +\end{quoting} +% +Die Seitenzahlen im Verzeichnis werden in einer Box mit einer festen Breite +von~\PValue{1.55em} gesetzt, welche im Makro \Macro*{@pnumwidth} hinterlegt ist +und im Zweifel vergrößert werden sollte. Dabei ist auch der rechte Rand für +mehrzeilige Einträge im Verzeichnis \Macro*{@tocrmarg} zu vergrößern, welcher +mit~\PValue{2.55em} voreingestellt ist. Die Werte sollten nur minimal geändert +werden: +% +\begin{quoting} +\begin{Code} +\makeatletter +\renewcommand*{\@pnumwidth}{1.7em}\renewcommand*{\@tocrmarg}{2.7em} +\makeatother +\end{Code} +\end{quoting} + + + +\section{Leer- und Satzzeichen nach \hologo{LaTeX}-Befehlen}% +\tudhyperdef*{sec:tips:xspace}% +\index{Typografie}% +% +Normalerweise \enquote{schluckt} \hologo{LaTeX} die Leerzeichen nach einem +Makro ohne Argumente. Dies ist jedoch nicht immer~-- genau genommen in den +seltensten Fällen~-- erwünscht. Für dieses Handbuch ist beispielsweise der +Befehl \Macro*{TUD} definiert worden, um \enquote{\TUD{}} nicht ständig +ausschreiben zu müssen. Um sich bei der Verwendung des Befehl innerhalb eines +Satzes für den Erhalt eines folgenden Leerzeichens das Setzen der geschweiften +Klammer nach dem Befehl zu sparen (\Macro*{TUD}[\PParameter{}]), kann +\Macro{xspace}(\Package{xspace})'none' aus dem Paket \Package{xspace} genutzt +werden. Damit wird ein folgendes Leerzeichen erhalten. Der Befehl \Macro*{TUD} +ist wie folgt definiert: +% +\begin{quoting} +\begin{Code} +\newcommand*{\TUD}{Technische Universit\"at Dresden\xspace} +\end{Code} +\end{quoting} +% +Das Paket \Package{xpunctuate} erweitert die Funktionalität nochmals. Damit +können auch Abkürzungen so definiert werden, dass ein versehentlicher Punkt +ignoriert wird: +% +\begin{quoting} +\begin{Code} +\newcommand*{\zB}{z.\,B\xperiod} +\end{Code} +\end{quoting} + + + +\section{Finden von unbekannten \hologo{LaTeX}-Symbolen} +\index{Symbole}% +% +Für \hologo{LaTeX} stehen jede Menge Symbole zur Verfügung, die allerdings +nicht immer einfach zu finden sind. In der Zusammenfassung +\hrfn{http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}% +{\File{symbols-a4.pdf}} +werden viele Symbole aus mehreren Paketen aufgeführt. Alternativ kann +\hrfn{http://detexify.kirelabs.org/classify.html}{Detexify} verwendet werden. +Auf dieser Webseite wird das gesuchte Symbol einfach gezeichnet, die dazu +ähnlichsten werden zurückgegeben. + + + +\section{Das Setzen von Auslassungspunkten} +\tudhyperdef*{sec:tips:dots}% +\index{Typografie}% +\ChangedAt{v2.02:\TaT Das Setzen von Auslassungspunkten} +% +Auslassungspunkte werden mit \hologo{LaTeXe} mit den Befehlen \Macro{dots} oder +\Macro{textellipsis} gesetzt. Für gewöhnlich folgt diesen \emph{immer} ein +Leerzeichen, was nicht in jedem Fall gewollt ist. Das Paket \Package{ellipsis} +schafft hier Abhilfe, wobei die Option \Option*{xspace} führt dazu, dass nach +der Verwendung eines der beiden Befehle automatisch ein Leerzeichen gesetzt +wird. +% +\begin{quoting} +\begin{Code} +\usepackage[xspace]{ellipsis} +\end{Code} +\end{quoting} +% +Im Ursprung ist es für das Setzen englischsprachiger Texte gedacht, wo zwischen +Auslassungspunkten und Satzzeichen ein Leerzeichen gesetzt wird. Im Deutschen +ist dies anders: +% +\begin{quoting} +\enquote{% + Um eine Auslassung in einem Text zu kennzeichnen, werden drei Punkte gesetzt. + Vor und nach den Auslassungspunkten wird jeweils ein Wortzwischenraum + gesetzt, wenn sie für ein selbständiges Wort oder mehrere Wörter stehen. Bei + Auslassung eines Wortteils werden sie unmittelbar an den Rest des Wortes + angeschlossen. Am Satzende wird kein zusätzlicher Schlusspunkt gesetzt. + Satzzeichen werden ohne Zwischenraum angeschlossen.% +}~[Duden, 23. Aufl.] +\end{quoting} +% +Um dieses Verhalten zu erreichen, sollte noch Folgendes in der Präambel +eingefügt werden: +% +\begin{quoting} +\begin{Code} +\let\ellipsispunctuation\relax +\newcommand*{\qdots}{[\dots{}]\xspace} +\end{Code} +\end{quoting} +% +Der Befehl \Macro*{qdots} wird definiert, um Auslassungspunkte in eckigen +Klammern (\POParameter{\dots}) setzen zu können, wie sie für das Kürzen von +wörtlichen Zitaten häufig verwendet werden. + + + +\section{Lokalisierung für das Setzen von Einheiten mit \Package{siunitx}} +\tudhyperdef*{sec:tips:siunitx}% +\index{Einheiten}% +% +Wenn \Package{siunitx} in einem deutschsprachigen Dokument genutzt soll +werden, muss zumindest die richtige Lokalisierung mit +\Macro{sisetup}[\PParameter{locale = DE}](\Package{siunitx})'none' angegeben +werden. Sollen auch die Zahlen richtig formatiert sein, müssen weitere +Einstellungen vorgenommen werden. Die meiner Meinung nach besten sind die +folgenden. +% +\begin{quoting} +\begin{Code} +\sisetup{% + locale = DE,% + input-decimal-markers={,},input-ignore={.},% + group-separator={\,},group-minimum-digits=3% +} +\end{Code} +\end{quoting} +% +Das Komma kommt als Dezimaltrennzeichen zum Einsatz. Des Weiteren werden Punkte +innerhalb der Zahlen ignoriert und eine Gruppierung von jeweils drei Ziffern +vorgenommen. Alternativ zu diesem Paket kann übrigens auch \Package{units} +verwendet werden. + + + +\section{Fehlermeldung beim Laden eines Paketes mit Optionen} +\ChangedAt{v2.05:\TaT Fehler beim Laden eines Paketes mit Optionen} +% +Es kann unter Umständen passieren, dass beim Laden eines Paketes mit bestimmten +Optionen via \Macro*{usepackage}[\OParameter{Paketoptionen}\Parameter{Paket}] +folgender Fehler ausgegeben wird: +% +\begin{quoting} +\begin{Code}[escapechar=§] +! LaTeX Error: Option clash for package <§\dots§>. +\end{Code} +\end{quoting} +% +Mit großer Sicherheit wird das angeforderte Paket bereits durch die verwendete +Dokumentklasse oder ein anderes Paket geladen. Normalerweise genügt es, die +gewünschten Optionen durch +\Macro{PassOptionsToPackage}[\Parameter{Paketoptionen}\Parameter{Paket}] +bereits vor dem Laden der Dokumentklasse mit \Macro*{documentclass} an das +betreffende Paket weiterzureichen. + + + +\section{Probleme bei der Verwendung von \Package{auto-pst-pdf}} +\tudhyperdef*{sec:tips:auto-pst-pdf} +\ChangedAt{v2.02:\TaT Hinweise zum Paket \Package{auto-pst-pdf}} +% +Bei der Verwendung von \Engine{pdfLaTeX} liest das Paket \Package{auto-pst-pdf} +die Präambel ein und erstellt anschließend über den PostScript"=Pfad +\Path{latex\,>\,dvips\,>\,ps2pdf} eine PDF"~Datei, welche lediglich alle in den +vorhandenen \Environment{pspicture}(\Package{pstricks})'none'"=Umgebungen +erstellten Grafiken enthält. Das Paket \Package{ifpdf} stellt das Makro +\Macro{ifpdf}(\Package{ifpdf})'none' bereit, mit welchem unterschieden werden +kann, ob \Engine{pdfLaTeX} als Textsatzsystem verwendet wird. Abhängig davon +können unterschiedliche Quelltexte ausgeführt werden, was genutzt wird, um die +nachfolgend beschriebenen Probleme zu beheben. +% +\begin{quoting} +\begin{Code} +\usepackage{ifpdf} +\end{Code} +\end{quoting} + +\minisec{Die gleichzeitige Verwendung von \Package{floatrow}} +Das Paket \Package{floatrow} stellt Befehle bereit, mit denen die Beschriftung +von Gleitobjekten sehr bequem gesetzt werden können. Diese Setzen ihren Inhalt +erst in einer Box, um deren Breite zu ermitteln und diese anschließend +auszugeben. In Kombination mit \Package{auto-pst-pdf} führt das zu einer +doppelten Erstellung der gewünschten Abbildung. Um dies zu vermeiden, müssen +die durch \Package{floatrow} bereitgestellten Befehle \enquote{unschädlich} +gemacht werden. Die fraglichen Befehlen akzeptieren allerdings bis zu drei +optionale Argumente \emph{vor} den beiden obligatorischen, was für die +Benutzerschnittstelle für die (Re-)Definition durch \hologo{LaTeXe} +normalerweise nicht vorgesehen ist. Deshalb wird das Paket \Package{xparse} +geladen, mit welchem dies möglich wird. Genaueres dazu ist der dazugehörigen +Paketdokumentation zu entnehmen. Mit folgendem Quelltextauszug lassen sich die +\Package{floatrow}"=Befehle zusammen mit der +\Environment{pspicture}(\Package{pstricks})'none'"=Umgebung wie gewohnt +verwenden. +% +\begin{quoting} +\begin{Code} +\usepackage{floatrow} +\usepackage{xparse} +\ifpdf\else + \RenewDocumentCommand{\fcapside}{ooo+m+m}{#4#5} + \RenewDocumentCommand{\ttabbox}{ooo+m+m}{#4#5} + \RenewDocumentCommand{\ffigbox}{ooo+m+m}{#4#5} +\fi +\end{Code} +\end{quoting} + +\minisec{Die parallele Nutzung von \Package{tikz} und \Package{todonotes}} +Mit dem Paket \Package{tikz}~-- und auch allen anderen Paketen die +selbiges nutzen wie beispielsweise \Package{todonotes}~-- gibt es in Verbindung +mit \Package{auto-pst-pdf} ebenfalls Probleme. Lösen lässt sich dieses Dilemma, +indem die fraglichen Pakete lediglich geladen werden, wenn \Engine{pdfLaTeX} +aktiv ist. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code} +\ifpdf + \usepackage{tikz}%\dots gegebenenfalls weitere auf tikz basierende Pakete +\fi +\end{Code} +\end{quoting} + + + +\section{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } +\tudhyperdef*{sec:tips:svg}% +\ChangedAt{v2.05:\TaT \Macro*{includesvg} aus Paket \Package{svg} verwenden} +\index{Grafiken}% +% +Das Einbinden von \Application{Inkscape}"=Grafiken in \hologo{LaTeX}"=Dokumente +wird auf \CTAN[pkg/svg-inkscape]{\Package*{svg-inkscape}'none'} erläutert. Ein +daraus abgeleiteter und verbesserter Ansatz wird durch das Paket \Package{svg} +bereitgestellt. Mit diesem Paket ist ein \textbf{automatisierter} Export der +\Application{Inkscape}"=Grafiken direkt bei der Kompilierung mit \Engine{LaTeX} +und dem anschließenden Einbinden in das Dokument möglich. Hierfür wird der +Befehl \Macro*{includesvg}[\OParameter{Parameter}\Parameter{SVG-Datei}] durch +das Paket definiert. + +Dabei erfolgt der externe Aufruf von \Application{Inkscape} über Kommandozeile +beziehungsweise Terminal mit \File{inkscape.exe}. Damit dieser auch tatsächlich +durchgeführt wird, ist die Ausführung einer \Engine*{LaTeX}"~Engine mit der +Option \Path{-{}-shell-escape} beziehungsweise \Path{-{}-enable-write18} +zwingend notwendig. Außerdem muss der Pfad zur Datei \File{inkscape.exe} dem +System bekannt sein.% +\footnote{% + Der Pfad zu \File{inkscape.exe} in der Umgebungsvariable \Path{PATH} des + Betriebssystems enthalten sein.% +} +Für weiterführende Informationen sei auf die Dokumentation des Pakets +\Package{svg} verwiesen. + + + +\section{Änderung des Papierformates} +\index{Papierformat}% +% +Es kann vorkommen, dass innerhalb eines Dokumentes kurzzeitig das Papierformat +geändert werden soll, um beispielsweise eine Konstruktionsskizze in der +digitalen PDF"~Datei einzubinden. Dabei ist es mit der \KOMAScript-Option +\Option{paper=\PSet}(\Package{typearea})'none' sowohl möglich, lediglich die +Ausrichtung in ein Querformat zu ändern, als auch die Größe des Papierformates +selber. +% +\begin{Example} +Ein Dokument im A4"~Format soll kurzzeitig auf ein A3"=Querformat geändert +werden. Das folgende Minimalbeispiel zeigt, wie dies mit \KOMAScript-Mitteln +über die Optionen \Option*{paper=landscape}(\Package{typearea})'none' und +\Option*{paper=A3}(\Package{typearea})'none' geändert werden kann. +\begin{Code} +\documentclass[paper=a4,pagesize]{tudscrreprt} +\usepackage[T1]{fontenc} +\usepackage[ngerman]{babel} +\usepackage{blindtext} + +\begin{document} +\chapter{Überschrift Eins} +\Blindtext + +\cleardoublepage +\storeareas\PotraitArea% speichert den aktuellen Satzspiegel +\KOMAoptions{paper=A3,paper=landscape,DIV=current} +\chapter{Überschrift Zwei} +\Blindtext + +\cleardoublepage +\PotraitArea% lädt den gespeicherten Satzspiegel +\chapter{Überschrift Drei} +\Blindtext +\end{document} +\end{Code} +\end{Example} + + + + +\section{Beschnittzugabe und Schnittmarken} +\tudhyperdef*{sec:tips:crop}% +\index{Beschnittzugabe|!}% +\index{Schnittmarken|!}% +\ChangedAt{v2.05:\TaT Beschnittzugabe und Schnittmarken} +% +Beim Plotten von Postern oder anderen farbigen Druckerzeugnissen besteht +oftmals das Problem, dass ein randloses Drucken nur schwer realisierbar ist. +Deshalb wird zu oftmals damit beholfen, dass der Druck des fertigen Dokumentes +auf einem größeren Papierbogen erfolgt und anschließend auf das gewünschte +Zielformat zugeschnitten wird, womit das Problem des nicht bedruckbaren Randes +entfällt. Dies kann über zwei verschiedene Wege realisiert werden. + +Der einfachste Weg ist die Verwendung des Paketes \Package{crop}. Mit diesem +kann das Dokument ganz normal im gewünschten Zielformat erstellt werden. Vor +dem Druck wird dieses Paket geladen und einfach das gewünschte Format des +Papierbogens angegeben. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage{fix-cm} +\documentclass[% + paper=a1, + fontsize=36pt +]{tudscrposter} +\usepackage[T1]{fontenc} +§\dots§ +\usepackage{graphicx} +\usepackage[b1,center,cam]{crop} +\begin{document} +§\dots§ +\end{document} +\end{Code} +\end{quoting} +% +Alternativ dazu kann für die \TUDScript-Klassen auf die Funktionalität des +Paketes \Package{geometry} zurückgegriffen werden. Dieses Paket stellt den +Befehl \Macro{geometry}(\Package{geometry})'none' bereit, in dessen Argument mit +\Key{\Macro{geometry}(\Package{geometry})}{paper=\PName{Papierformat}}|default| +das Papierformat festgelegt werden kann. Wird zusätzlich noch der Parameter +\Key{\Macro{geometry}(\Package{geometry})}{layout=\PName{Zielformat}}|default| +angegeben, so wird damit das gewünschte Zielformat definiert. Dabei sollte mit +\Key{\Macro{geometry}(\Package{geometry})}% +{layoutoffset=\PName{Längenwert}}|default| +dieser Bereich gegebenenfalls etwas eingerückt werden. Die Angabe von +\Key{\Macro{geometry}(\Package{geometry})}{showcrop=\PBoolean}|default| +generiert außerdem noch visuelle Schnittmarken. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage{fix-cm} +\documentclass[% + paper=a1, + fontsize=36pt +]{tudscrposter} +\usepackage[T1]{fontenc} +§\dots§ +\geometry{paper=b1,layout=a1,layoutoffset=1in,showcrop} +\begin{document} +§\dots§ +\end{document} +\end{Code} +\end{quoting} +% +Für genauere Erläuterungen sowie weitere Einstellmöglichkeiten sei auf die +Dokumentation von \Package{crop} beziehungsweise \Package{geometry} verwiesen. +Mit der \TUDScript-Option \Option{bleedmargin}(\Class{tudscrposter}) können +zusätzlich ie farbigen Bereiche der \PageStyle{tudheadings}"~Seitenstile +erweitert werden, um ein \enquote{Zuschneiden in die Farbe} zu ermöglichen. + + + + + +\section{Vermeiden des Skalierens einer PDF-Datei beim Druck} +\ChangedAt{v2.04:\TaT Vermeiden des Skalierens einer PDF"~Datei beim Druck} +% +Beim Erzeugen eines Druckauftrages einer PDF"~Datei kann es unter Umständen +dazu führen, dass diese durch den verwendeten PDF"~Betrachter unnötigerweise +vorher skaliert wird und dabei die Seitenränder vergrößert werden. Um dieses +Verhalten für Dokumente, die mit \Engine{pdfLaTeX} erzeugt werden, zu +unterdrücken, gibt es zwei Möglichkeiten: +% +\begin{enumerate} +\item Wenn im Dokument ohnehin das Paket \Package{hyperref} verwendet wird, + ist der simple Aufruf von + \Macro{hypersetup}[% + \PParameter{pdfprintscaling=None}% + ](\Package{hyperref})'none' + ausreichend. +\item Der Low"~Level"~Befehl + \Macro*{pdfcatalog}[\PParameter{/ViewerPreferences<{}</PrintScaling/None>{}>}] + besitzt das gleiche Verhalten und lässt sich auch ohne \Package{hyperref} + nutzen. +\end{enumerate} +% +Weitere Informationen sind unter \url{http://www.komascript.de/node/1897} +zu finden. + + + +\section{Platzierung von Gleitobjekten} +\tudhyperdef*{sec:tips:floats}% +\index{Gleitobjekte!Platzierung|?}% +% +Mit den beiden Paketen \Package{flafter} sowie \Package{placeins} gibt es die +Möglichkeit, den für \hologo{LaTeX} zur Verfügung stehenden Raum für die +Platzierung von Gleitobjekten einzuschränken. Darüber hinaus kann diese auch +durch die im Folgenden aufgezählten Befehle beeinflusst werden. Die Makros +lassen sich mit \Macro*{renewcommand*}[\Parameter{Makro}\Parameter{Wert}] +sehr einfach ändern. + +\begin{Declaration}{\Macro*{floatpagefraction}}[0\floatpagefraction] +\begin{Declaration}{\Macro*{dblfloatpagefraction}}[0\dblfloatpagefraction] +\printdeclarationlist% +% +Der Wert gibt die relative Größe eines Gleitobjektes bezogen auf die +eingestellte Texthöhe (\Length*{textheight}) an, die mindestens erreicht sein +muss, damit für dieses gegebenenfalls vor dem Beginn eines neuen Kapitels eine +separate Seite erzeugt wird. Dabei wird einspaltiges +(\Macro*{floatpagefraction}) und zweispaltiges (\Macro*{dblfloatpagefraction}) +Layout unterschieden. Der Wert für beide Befehle sollte im Bereich +von~\PValue{0.5}\dots\PValue{0.8} liegen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro*{topfraction}}[0\topfraction] +\begin{Declaration}{\Macro*{dbltopfraction}}[0\dbltopfraction] +\printdeclarationlist% +% +Diese Werte geben den maximalen Seitenanteil für Gleitobjekte, die am oberen +Seitenrand platziert werden, für einspaltiges und zweispaltiges Layout an. Er +sollte im Bereich von \PValue{0.5}\dots\PValue{0.8} liegen und größer als +\Macro*{floatpagefraction} beziehungsweise \Macro*{dblfloatpagefraction} sein. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro*{bottomfraction}}[0\bottomfraction] +\printdeclarationlist% +% +Dies ist der maximale Seitenanteil für Gleitobjekte, die am unteren Seitenrand +platziert werden. Er sollte zwischen~\PValue{0.2} und~\PValue{0.5} betragen. +\end{Declaration} + +\begin{Declaration}{\Macro*{textfraction}}[0\textfraction] +\printdeclarationlist% +% +Dies ist der Mindestanteil an Fließtext, der auf einer Seite mit Gleitobjekten +vorhanden sein muss, wenn diese nicht auf einer separaten Seite ausgegeben +werden. Er sollte in einem Bereich von~\PValue{0.1}\dots\PValue{0.3} liegen. +\end{Declaration} + +\begin{Declaration}{\Counter*{totalnumber}}[\arabic{totalnumber}] +\begin{Declaration}{\Counter*{topnumber}}[\arabic{topnumber}] +\begin{Declaration}{\Counter*{dbltopnumber}}[\arabic{dbltopnumber}] +\begin{Declaration}{\Counter*{bottomnumber}}[\arabic{bottomnumber}] +\printdeclarationlist% +% +Außerdem gibt es noch Zähler, welche die maximale Anzahl an Gleitobjekten pro +Seite insgesamt (\Counter*{totalnumber}) sowie am oberen (\Counter*{topnumber}) +und am unteren Seitenrand (\Counter*{bottomnumber}) sowie im zweispaltigen +Satz beide Spalten überspannend (\Counter*{dbltopnumber}) festlegen. Die Werte +können mit \Macro*{setcounter}[\Parameter{Zähler}\Parameter{Wert}] geändert +werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Length*{@fptop}} +\begin{Declaration}{\Length*{@fpsep}} +\begin{Declaration}{\Length*{@fpbot}} +\begin{Declaration}{\Length*{@dblfptop}} +\begin{Declaration}{\Length*{@dblfpsep}} +\begin{Declaration}{\Length*{@dblfpbot}} +\printdeclarationlist% +% +Sind vor Beginn eines Kapitels noch Gleitobjekte verblieben, so werden diese +durch \hologo{LaTeX} normalerweise auf einer separaten vertikal zentriert Seite +ausgegeben. Dabei bestimmen diese Längen jeweils den Abstand vor dem ersten +Gleitobjekt zum oberen Seitenrand (\Length*{@fptop}, \Length*{@dblfptop}), +zwischen den einzelnen Objekten (\Length*{@fpsep}, \Length*{@dblfpsep}) sowie +zum unteren Seitenrand (\Length*{@fpbot}, \Length*{@dblfpbot}). Soll dies nicht +geschehen, können die Längen durch den Anwender geändert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +% +\begin{Example} +Alle Gleitobjekte auf einer dafür speziell gesetzten Seite sollen direkt zu +Beginn dieser ausgegeben werden. In der Dokumentpräambel lässt sich für dieses +Unterfangen Folgendes nutzen: +\begin{Code} +\makeatletter +\setlength{\@fptop}{0pt} +\setlength{\@dblfptop}{0pt}% twocolumn +\makeatother +\end{Code} +\end{Example} + + + +\section{Warnung bei der Schriftgrößenwahl} +\tudhyperdef*{sec:tips:fontsize}% +\ChangedAt{v2.04:\TaT Warnung bei der Schriftgrößenwahl} +% +Die im Dokument verwendete Schriftgröße kann bei den \KOMAScript-Klassen sehr +einfach über die Option~\Option{fontsize}(\Package{koma-script})'none' +eingestellt werden, wobei diese immer als Klassenoption angegeben werden +sollte. Bei relativ großen und kleinen Schriftgrößen kann dabei eine Warnung in +der Gestalt +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +LaTeX Font Warning: Font shape `§\dots§' in size <xx> not available +\end{Code} +\end{quoting} +% +auftreten. Dies daran, dass zum Zeitpunkt des Ladens einer Klasse immer nach +den Computer-Modern"=Standardschriften gesucht wird, unabhängig davon, ob im +Nachhinein ein anderes Schriftpaket geladen wird. Diese sind de"~facto nicht +in alle Größen skalierbar. Um die Warnungen zu beseitigen, sollte das Paket +\Package{fix-cm} mit \Macro*{RequirePackage} \emph{vor} der Dokumentklasse +geladen werden: +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage{fix-cm} +\documentclass§\OParameter{Klassenoptionen}\Parameter{Klasse}§ +\usepackage[T1]{fontenc} +§\dots§ +\begin{document} +§\dots§ +\end{document} +\end{Code} +\end{quoting} +% +Damit werden die Warnungen behoben. + + + +\section{Fehlermeldung: ! No room for a new \textbackslash write} +\tudhyperdef*{sec:tips:write} +\ChangedAt{v2.02:\TaT Fehler beim Schreiben von Hilfsdateien} +% +Für das Erstellen und Schreiben externer Hilfsdateien steht \hologo{LaTeXe} nur +eine begrenzte Anzahl sogenannter Ausgabe-Streams zur Verfügung. Allein für +jedes zu erstellende Verzeichnis reserviert \hologo{LaTeX} selbst jeweils einen +neuen Stream. Auch einige bereits zuvor in diesem Handbuch vorgestellte, sehr +hilfreiche Pakete~-- wie beispielsweise \Package{hyperref}, \Package{biblatex}, +\Package{glossaries}, \Package{todonotes} oder auch \Package{filecontents}~-- +benötigen eigene Hilfsdateien und öffnen für das Erstellen dieser einen +Ausgabe-Stream oder mehr. Lädt der Anwender mehrere, in eine Hilfsdatei +schreibende Pakete, kann es zur der Fehlermeldung +% +\begin{quoting} +\begin{Code} +! No room for a new \write . +\end{Code} +\end{quoting} +% +kommen. Abhilfe schafft hier das Paket \Package{scrwfile}<koma-script>, welches +einige Änderungen am \hologo{LaTeX}"=Kernel vornimmt, um die Anzahl der +benötigten Hilfsdateien für das Schreiben aller Verzeichnisse zu reduzieren. Es +muss einfach in der Präambel eingebunden werden. Sollten mit diesem Paket +unerwarteter Weise Probleme auftreten, ist dessen Anleitung im \scrguide zu +finden. Eine weitere Möglichkeit, das beschriebene Problem der geringen Menge +an Ausgabe-Streams zu umgehen, stellt das Paket \Package{morewrites} dar. +Allerdings ist dessen Verwendung nicht in allen Fällen von Erfolg gekrönt. + + + diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-index.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-index.tex new file mode 100644 index 0000000000..08f7671baf --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-index.tex @@ -0,0 +1,97 @@ +\CrossIndex{Optionen}{options}% +\CrossIndex*{Befehle}{macros}% +\CrossIndex{Bezeichner}{terms}% +\CrossIndex{Seitenstile,Schriftelemente,Farben}{elements}% +\CrossIndex*{Längen}{misc}% +\CrossIndex{Zähler}{misc}% +\CrossIndex*{Klassen,Pakete,Dateien}[Index der Dateien etc.]{files}% +\CrossIndex*{Änderungen,Changelog,Version}[Änderungsliste]{changelog}% +% +\SeeRef*{Distribution}{\Distribution{Mac\hologo{TeX}}} +\SeeRef*{Distribution}{\Distribution{\hologo{TeX}~Live}} +\SeeRef*{Distribution}{\Distribution{\hologo{MiKTeX}}} +% +\index{Abbildungen|see{Grafiken}}% +\index{Abschlussarbeit|see{Typisierung}}% +\index{Aktualisierung|see{Update}}% +\index{Aufzählungen|see{Listen}}% +\index{Autorenangaben|see{Titel}}% +\index{Bindekorrektur|see{Satzspiegel}}% +\index{Cover|see{Umschlagseite}}% +\index{Dezimaltrennzeichen|see{Zifferngruppierung}}% +\index{doppelseitiger Satz|see{Satzspiegel}}% +\index{Dresden-concept-Logo@\DDC-Logo|see{Layout}}% +\index{Drittlogo|see{Layout}}% +\index{Fachreferent|see{Referent}}% +\index{Farben|see{Layout}}% +\index{Fußzeile|see{Layout}}% +\index{Installation|see{Update}}% +\index{Gliederung|see{Layout!Überschriften}}% +\index{Grafiken|see{Gleitobjekte}}% +\index{Kapitelseiten|see{Layout}}% +\index{Kapitelüberschriften|see{Layout}}% +\index{Klassenoptionen|see{Optionen}}% +\index{Kolumnentitel|see{Layout}}% +\index{Kopfzeile|see{Layout}}% +\index{Kurzfassung|see{Zusammenfassung}}% +\index{Layout!Seitenränder|see{Satzspiegel}}% +\index{Layout!Titel|see{Titel}}% +\index{Layout!Umschlagseite|see{Umschlagseite}}% +\index{Leerraum|see{Absatzauszeichnung}}% +\index{Leerseiten|see{Vakatseiten}}% +\index{Lokalisierung|see{Bezeichner}}% +\index{Makros|see{Befehle}}% +\index{Mathematiksatz|see{Einheiten}}% +\index{Mathematiksatz|see{Griechische Buchstaben}}% +\index{Mathematiksatz|see{Zifferngruppierung}}% +\index{Nutzerinstallation|see{Installation}}% +\index{Outline-Eintrag|see{Lesezeichen}}% +\index{Parameter|see{Befehle}}% +\index{Professor|see{Hochschullehrer}}% +\index{Querbalken|see{Layout}}% +\index{Seitenränder|see{Satzspiegel}}% +\index{Seitenstile|see{Layout}}% +\index{Silbentrennung|see{Worttrennung}}% +\index{Sprachunterstützung|see{Bezeichner}}% +\index{Sprachunterstützung|see{Worttrennung}}% +\index{Sprungmarken|see{Lesezeichen}}% +\index{Tabellen|see{Gleitobjekte}}% +\index{Tausendertrennzeichen|see{Zifferngruppierung}}% +\index{Teileseiten|see{Layout}}% +\index{Teileüberschriften|see{Layout}}% +\index{Titel!Umschlagseite|see{Umschlagseite}}% +\index{Überfüllung|see{Beschnittzugabe}}% +\index{Umgebungen|see{Befehle}}% +\index{Trennmuster|see{Worttrennung}}% +\index{Vektorgrafiken|see{Grafiken}}% +\index{Versalien|see{Schriftauszeichnung}}% +\index{zweiseitiger Satz|see{Satzspiegel}}% +\index{zweispaltiger Satz|see{Satzspiegel}}% +\index{Zweitlogo|see{Layout}}% + + +\setchapterpreamble{% + \addparttocentry{}{\indexname}% + \begin{abstract} + \noindent Die Formatierung der Einträge in allen aufgeführten Indexen ist + folgendermaßen aufzufassen: \textbf{Zahlen in fetter Schrift} verweisen auf + die \textbf{Erklärung} zu einem Stichwort, wobei in der digitalen Fassung + dieses Handbuchs dieser Eintrag selbst ein Hyperlink zu seiner Erläuterung + ist. Seitenzahlen in normaler Schriftstärke hingegen deuten auf zusätzliche + Informationen, wobei diese für \textit{kursiv hervorgehobene Zahlen} als + besonders \textit{wichtig} erachtet werden. + + Bei Einträgen für \hyperref[idx:options]{Klassen- und Paketoptionen}, + \hyperref[idx:macros]{Umgebungen und Befehlen} sowie + \hyperref[idx:elements]{Seitenstilen, Schriftelementen und Farben} + respektive \hyperref[idx:misc]{Längen und Zählern}, zu denen keine direkte + \textbf{Erklärung} existiert~-- und diese dementsprechend auch nicht als + Hyperlink dargestellt sind~-- handelt es sich um zusätzliche Hinweise für + Elemente, die nicht durch \TUDScript sondern von anderen Klassen oder + Paketen zur Verfügung gestellt werden, welche im Suffix des entsprechenden + Eintrages angegeben werden. + \end{abstract} +} +\chapter*{\indexname} +\PrintIndex +\PrintChangelog diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex new file mode 100644 index 0000000000..2dd8d79199 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex @@ -0,0 +1,567 @@ +\setchapterpreamble{\tudhyperdef'{sec:install:ext}} +\chapter{Weiterführende Installationshinweise} +% +\noindent\Attention{% + Hier werden unterschiedliche Varianten erläutert, wie \TUDScript in der + Version~\vTUDScript{} genutzt werden kann, falls eine frühere Variante als + \textbf{lokale Nutzerinstallation} verwendet wurde. +} + +\bigskip\noindent +Bis zur Version~v2.01 wurde \TUDScript ausschließlich über das \Forum zur +lokalen Nutzerinstallation angeboten. In erster Linie hat das historische +Hintergründe und hängt mit der Entstehungsgeschichte von \TUDScript zusammen. +Eine lokale Nutzerinstallation bietet einen~-- eher zu vernachlässigenden~-- +Vorteil. Treten bei der Verwendung von \TUDScript Probleme auf, können diese im +Forum gemeldet und diskutiert werden. Ist für ein solches Problem tatsächlich +eine Fehlerkorrektur respektive Aktualisierung von \TUDScript nötig, kann diese +schnell und unkompliziert über das \GitHubRepo bereitgestellt und durch den +Anwender sofort genutzt werden. + +Dies hat allerdings für alle Anwender, welche das Forum relativ wenig oder gar +nicht besuchen, den großen Nachteil, dass Sie nicht von Aktualisierungen, +Verbesserungen und Fehlerkorrekturen neuer Versionen profitieren können. Auch +alle nachfolgenden Bugfixes und Aktualisierungen des \TUDScript-Bundles müssen +durch den Anwender manuell durchgeführt werden. Daher wird die Verbreitung via +\CTAN[pkg/tudscr] präferiert, sodass \TUDScript stets in der gerade aktuellen +Version verfügbar ist~-- eine durch den Anwender aktuell gehaltene +\hologo{LaTeX}"=Distribution vorausgesetzt. Der einzige Nachteil bei diesem +Ansatz ist, dass die Verbreitung eines Bugfixes und die anschließende +Bereitstellung durch die verwendete Distribution für gewöhnlich bis zu zwei +Tagen dauert. + +Die gängigen \hologo{LaTeX}"=Distributionen durchsuchen im Regelfall zuerst das +lokale \Path{texmf}"=Nutzerverzeichnis nach Klassen und Paketen und erst daran +anschließend den \Path{texmf}"=Pfad der Distribution selbst. Dabei spielt es +keine Rolle, in welchem Pfad die neuere Version einer Klasse oder eines Paketes +liegt. Sobald im Nutzerverzeichnis die gesuchte Datei gefunden wurde, wird die +Suche beendet. +\Attention{% + In der Konsequenz bedeutet dies, dass sämtliche Aktualisierungen über CTAN + nicht zum Tragen kommen, falls \TUDScript als lokale Nutzerversion + installiert wurde. +} + +Deshalb wird Anwendern empfohlen, eine gegebenenfalls vorhandene lokale +Nutzerinstallation von \TUDScript zu deinstallieren, falls diese nicht +\emph{bewusst} installiert wurde. Die Deinstallation wird in +\autoref{sec:local:uninstall} erläutert. Nach dieser können Updates des +\TUDScript-Bundles durch die Aktualisierungsfunktion der Distribution erfolgen. + +Wie das \TUDScript-Bundle trotzdem als lokale Nutzerversion installiert oder +aktualisiert werden kann, ist in \autoref{sec:local:install} beziehungsweise +\autoref{sec:local:update} zu finden. Der Anwender sollte in diesem Fall +allerdings genau wissen, was er damit bezweckt, da er in diesem Fall für die +Aktualisierung von \TUDScript selbst verantwortlich ist. + +\minisec{Nutzung der veralteten Schriftfamilien} +\ChangedAt{v2.06}% +% +Soll ein Dokument noch mit den veralteten Schriftfamilien \Univers und \DIN +gesetzt werden, so ist eine lokale Installation der Type1-Schriften notwendig, +welche in \autoref{sec:install:fonts} beschrieben wird. Zusätzlich sei auf die +beiden Optionen \Option*{tudscrver=2.05} und \Option*{cdoldfont} hingewiesen. +Für die Nutzung der \OpenSans wird lediglich die aktuelle Version des Paketes +\Package{opensans} benötigt, welches auf \CTAN[pkg/opensans] zu finden ist. + + +\section{Lokale Deinstallation des \TUDScript-Bundles} +\tudhyperdef*{sec:local:uninstall}% +\index{Deinstallation}% +% +Über die Kommandozeile beziehungsweise das Terminal kann mit +% +\begin{quoting} +\Path{kpsewhich --all tudscrbase.sty} +\end{quoting} +% +überprüft werden, ob eine lokale Nutzerinstallation von \TUDScript vorhanden +ist. Es werden alle Pfade ausgegeben, in denen die Datei \File*{tudscrbase.sty} +gefunden wird. Erscheint nur der Distributionspfad, ist die \TUDScript-Version +von CTAN aktiv und der Anwender kann mit dem \TUDScript-Bundle arbeiten. + +Wird \emph{nur} das lokale Nutzerverzeichnis oder gar kein Verzeichnis +gefunden, so wird höchstwahrscheinlich eine veraltete Distribution +verwendet. In diesem Fall wird eine Aktualisierung dieser \emph{unbedingt} +empfohlen. Sollte dies nicht möglich sein, \emph{muss} \TUDScript als lokale +Nutzerversion installiert (\autoref{sec:local:install}) beziehungsweise~-- +falls ein Pfad ausgegeben wurde~-- aktualisiert (\autoref{sec:local:update}) +werden. + +Sollte neben dem Pfad der Distribution noch mindestens ein weiterer Pfad +angezeigt werden, so ist eine lokale Nutzerversion installiert. In +diesem Fall hat der Anwender drei Möglichkeiten: +% +\begin{enumerate} +\item Entfernen der lokalen Nutzerinstallation (skriptbasiert) +\item Entfernen der lokalen Nutzerinstallation (manuell) +\item Aktualisierung der lokalen Nutzerversion (\autoref{sec:local:update}) +\end{enumerate} +% +Um die lokale Nutzerinstallation zu entfernen, kann für Windows +\hrfn{\Download{uninstall/tudscr\_uninstall.bat}}{\File{tudscr\_uninstall.bat}} +sowie für unixartige Betriebssysteme +\hrfn{\Download{uninstall/tudscr\_uninstall.sh}}{\File{tudscr\_uninstall.sh}} +verwendet werden. Nach der Ausführung des jeweiligen Skriptes kann mit dem zu +Beginn gezeigten Aufruf in der Kommandozeile respektive Terminal geprüft +werden, ob die Deinstallation erfolgreich war. Wird immer noch mindestens ein +lokaler Pfad ausgegeben, sollte \TUDScript manuelle deinstalliert werden, was +nachfolgend beschrieben wird. + +Nur die Deinstallation aller lokalen Nutzerinstallationen von \TUDScript +ermöglicht die Verwendung der jeweils aktuellen CTAN"=Version. Hierfür ist~-- +unter der Annahme, dass das automatisierte Deinstallieren mithilfe der zuvor +genannten Skripte zur Deinstallation nicht erfolgreich war~-- etwas Handarbeit +durch den Anwender vonnöten. Der in der Kommandozeile respektive im Terminal mit +% +\begin{quoting} +\Path{kpsewhich --all tudscrbase.sty} +\end{quoting} +% +gefundene~-- zum Ordner der Distribution \emph{zusätzliche}~-- Pfad hat die +folgende Struktur: +% +\begin{quoting} +\Path{\PName{Installationspfad}/tex/latex/tudscr/tudscrbase.sty} +\end{quoting} +% +Um die Nutzerinstallation vollständig zu entfernen, muss als erstes zu +\Path{\PName{Installationspfad}} navigiert werden. Anschließend ist in diesem +Pfad Folgendes durchzuführen: +% +\settowidth\tempdim{\Path{tex/latex/tudscr/}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] +\item[\Path{tex/latex/tudscr/}]\File*{.cls}- und \File*{.sty}"~Dateien löschen +\item[\Path{tex/latex/tudscr/}]Ordner \Path{logo} vollständig löschen +\item[\Path{doc/latex/}] Ordner \Path{tudscr} vollständig löschen +\item[\Path{source/latex/}] Ordner \Path{tudscr} vollständig löschen +\end{description} +% +Zum Abschluss ist in der Kommandozeile beziehungsweise im Terminal der Befehl +\Path{texhash} aufzurufen. Damit wurde die lokale Nutzerversion entfernt und es +wird von nun an die Version von \TUDScript genutzt, welche durch die verwendete +Distribution bereitgestellt wird. + + + +\section{Lokale Installation des \TUDScript-Bundles} +\tudhyperdef*{sec:local:install}% +\index{Installation!Nutzerinstallation|(}% +% +Eine lokale Nutzerinstallation von \TUDScript sollte ausschließlich durch +Anwender ausgeführt werden, die genau wissen, aus welchen Gründen dies +geschehen soll. Hierfür werden die passenden Skripte angeboten. Für eine lokale +Nutzerinstallation des \TUDScript-Bundles unter Windows für die Distributionen +\Distribution{\hologo{TeX}~Live} oder \Distribution{\hologo{MiKTeX}} werden die +Dateien aus +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Windows.zip}}% +{\File*{TUD-Script\_\vTUDScript\_Windows.zip}} +benötigt. Für unixoide Betriebssysteme sind es die Dateien aus +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Unix.zip}}% +{\File*{TUD-Script\_\vTUDScript\_Unix.zip}}. + +Beim Ausführen des spezifischen Installationsskripts~-- für Windows +\File{tudscr\_\vTUDScript\_install.bat} respektive für unixoide Betriebssysteme +\File{tudscr\_\vTUDScript\_install.sh}~-- werden alle Dateien in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert, falls kein anderes +Verzeichnis explizit angegeben wird. +\Attention{% + In jedem Fall sollte vor der Ausführung des Installationsskripts ein Update + der \hologo{LaTeX}"=Distribution durchgeführt werden. Dies gilt insbesondere + bei der Nutzung von \Distribution{\hologo{MiKTeX}}. Andernfalls wird es unter + Umständen im Installationsprozess oder bei der Nutzung von \TUDScript zu + Problemen kommen. +} + +Alternativ zur Nutzung der bereitgestellte Skripte kann auch einfach der Inhalt +des Archivs +\hrfn{\Download{\vTUDScript/tudscr\_\vTUDScript.zip}}% +{\File{tudscr\_\vTUDScript.zip}} +in das lokale \Path{texmf}"=Nutzerverzeichnis kopiert und abschließend in der +Kommandozeile respektive im Terminal \Path{texhash} aufgerufen werden. + + + +\section{Lokales Update des \TUDScript-Bundles} +\tudhyperdef*{sec:local:update}% +\index{Update|!}% +% +\subsection{Update des \TUDScript-Bundles ab Version~v2.02} +Ein Update und die lokale Installation unterscheiden sich ab der Version~v2.06 +nicht voneinander, das Vorgehen ist absolut identisch zu der Beschreibung in +\autoref{sec:local:install}. +\Attention{% + Die lokale Aktualisierung auf Version~\vTUDScript{} funktioniert allerdings + nur, wenn \TUDScript bereits mindestens in der Version~v2.02 entweder als + lokale Nutzerversion oder über die Distribution installiert ist.% +} + +\subsection{Update des \TUDScript-Bundles ab Version~v2.00} +% +Mit der Version~v2.02 gab es einige tiefgreifende Änderungen. Deshalb wird für +vorausgehende Versionen~-- sprich v2.00 und v2.01~-- kein dediziertes Update +angeboten. Die Aktualisierung kann durch den Anwender entweder~-- wie in +\autoref{sec:local:install} erläutert~-- mit einer skriptbasierten oder mit +einer manuellen Neuinstallation erfolgen. +\index{Installation!Nutzerinstallation|)}% + + +\subsection{Update des \TUDScript-Bundles von Version v1.0} +% +Ist \TUDScript in der veralteten \emph{Version~v1.0} installiert, so wird vor +der Aktualisierung dringlichst zu einem vollständigen Entfernen dieser Version +geraten. Andernfalls werden nach einem Update bei der Verwendung massive +Probleme und Fehler auftreten. Zur Deinstallation werden die Skripte +\hrfn{\Download{uninstall/tudscr_uninstall.bat}}{\File{tudscr\_uninstall.bat}} +respektive +\hrfn{\Download{uninstall/tudscr_uninstall.sh}}{\File{tudscr\_uninstall.sh}} +bereitgestellt. Die aktuelle Version~\vTUDScript{} kann nach der vollständigen +Deinstallation aller veralteten Versionen wie in \autoref{sec:install:fonts} +beschrieben installiert werden. + +Im Vergleich zur \emph{Version~v1.0} hat sich an der Benutzerschnittstelle +nicht sehr viel verändert, ein Umstieg auf die Version~\vTUDScript{} dürfte +keine Schwierigkeiten bereiten. Treten danach dennoch Probleme auf, sollte der +Anwender als erstes die Beschreibung des Paketes \Package{tudscrcomp}'full' +lesen, welches eine Schnittstelle zur Nutzung alter und ursprünglich nicht mehr +vorgesehener Befehle sowie Optionen bereitstellt. Allerdings werden einige von +diesen auch durch das Paket \Package{tudscrcomp} nicht mehr bereitgestellt. +Aufgeführt sind diese in \autoref{sec:obsolete}. Sollten trotz aller Hinweise +dennoch Fehler oder Probleme beim Umstieg auf die neue \TUDScript-Version +auftreten, ist eine Meldung im \Forum oder im \GitHubRepo[issues] die beste +Möglichkeit, um Hilfe zu erhalten. + + + +\section{Installation veralteter Schriftfamilien} +\tudhyperdef*{sec:install:fonts}% +\index{Installation!Schriftinstallation|!(}% + +Bis Anfang des Jahres~2018 nutzte das \TUDCD als Hausschrift nicht \OpenSans +sondern die Schriftfamilien \Univers und \DIN. Diese lassen sich auch weiterhin +mit \TUDScript verwenden, um alte Dokumente kompilieren zu können. Hierfür sei +auf die Optionen \Option*{tudscrverv=2.05} und \Option*{cdoldfont} hingewiesen. +Da es sich bei diesen um lizenzierte Schriften handelt, müssen diese beim +Universitätsmarketing auf \hrfn{https://tu-dresden.de/cd/}{Anfrage} mit dem +Hinweis auf die Verwendung von \hologo{LaTeX} bestellt und nach Erhalt der +notwendigen Archive \File{Univers\_PS.zip} und \File{DIN\_Bd\_PS.zip} für +Windows (\autoref{sec:install:win}) beziehungsweise unixoide Betriebssysteme +(\autoref{sec:install:unix}) installiert werden. Ohne einen triftigen Grund +sollte jedoch in jedem Fall die \OpenSans genutzt werden, insbesondere für neu +erstellte Dokumente. + +Das \TUDScript-Bundle unterstützt besagte Schriften auch im OpenType-Format, +welche ebenfalls über das Universitätsmarketing auf +\href{https://tu-dresden.de/cd/}{Anfrage} bestellt werden müssen. Die in den +Archiven \File{Univers\_8\_TTF\/.zip} und \File{DIN\_TTF\/.zip} enthaltenen +Schriften lassen sich~-- sobald diese für das Betriebssystem installiert +wurden~-- mit dem Paket \Package{fontspec} verwenden. In \fullref{sec:fonts} +sind weitere Hinweise zur Verwendung des Paketes \Package{fontspec} zu finden. + +Im \GitHubRepo* sind die zur Schriftinstallation benötigten +\hrfn{https://github.com/tud-cd/tudscr/releases/tag/fonts}{Skripte} +ebenso zu finden wie die +\hrfn{https://github.com/tud-cd/tudscr/releases/tag/oldfonts}{Skripte} +für die Klassen von Klaus Bergmann. Die unterschiedlichen Installationsskripte +begründen sich insbesondere dadurch, dass bei der Installation für das +\TUDScript-Bundle sowohl die Metriken als auch das Kerning der Schriften für +Fließtext und den Mathematikmodus angepasst werden. Sollen die so verbesserten +Schriften für die Klassen von Klaus Bergmann verwendet werden, kann dies mit +dem Paket \Package{fix-tudscrfonts} erfolgen, was allerdings das Ergebnis der +erzeugten Ausgabe beeinflusst, weshalb die Installationsskripte in +unterschiedlichen Varianten weiterhin vorgehalten werden. + +\minisec{Erforderliche Pakete bei der Schriftinstallation} +Für die Installation der Schriften sind die Pakete \Package*{fontinst}, +\Package*{cmbright}, \Package*{hfbright}, \Package*{cm-super} und +\Package*{iwona} von \emph{essentieller} Bedeutung und daher \emph{zwingend} +notwendig. Das Vorhandensein dieser wird durch die jeweiligen +Schriftinstallationsskripte geprüft und die Installation beim Fehlen eines oder +mehrerer Pakete mit einer entsprechenden Warnung abgebrochen. + +\minisec{Anmerkung zu \hologo{MiKTeX}} +Vor der Installation der Schriften für \TUDScript sollte unbedingt ein Update +von \Distribution{\hologo{MiKTeX}}|?| durchgeführt werden. Außerdem ist es sehr +ratsam, die Installation von \Distribution{\hologo{MiKTeX}}|?| in der +Mehrbenutzervariante mit Administratorrechten durchzuführen, da die +Einzelbenutzervariante relativ unregelmäßig und nicht immer nachvollziehbar zu +Problemen führen kann. + +Möglicherweise sind einige der für den Schriftinstallationsprozess notwendigen +Pakete noch nicht installiert. Ist die automatische Nachinstallation fehlender +Pakete aktiviert, so reicht es im Normalfall das Installationsskript zu +starten. Andernfalls müssen diese Pakete manuell durch den Benutzer über den +\Distribution{\hologo{MiKTeX}}"=Paketmanager hinzugefügt werden. + +Das Installationsskript scheitert außerdem bei einigen Anwendern~-- aufgrund +eingeschränkter Nutzerzugriffsrechte~-- beim Eintragen der Schriften in die +Map"~Datei. Dies muss gegebenenfalls durch den Anwender über die Kommandozeile +% +\begin{quoting} +\Path{initexmf -{}-edit-config-file updmap} +\end{quoting} +% +erfolgen. In der sich öffnenden Datei sollte sich der Eintrag +\Path{Map~tudscr.map} befinden. Ist dies nicht der Fall, muss diese Zeile +manuell eingetragen und die Datei anschließend gespeichert werden. Danach muss +der Nutzer in der Kommandozeile noch folgenden Aufruf ausführen: +% +\begin{quoting} + \Path{initexmf~-{}-mkmaps} +\end{quoting} + + +\minisec{Anmerkung zu \hologo{TeX}~Live und Mac\hologo{TeX}} +Sollte keine Vollinstallation von \Distribution{\hologo{TeX}~Live} durchgeführt +worden sein, müssen die erforderlichen Pakete zur Schriftinstallation manuell +über den \Distribution{\hologo{TeX}~Live}"=Paketmanager hinzugefügt werden. + +Sind nach einem fehlerfreien Durchlauf des Installationsskriptes die Schriften +dennoch nicht verfügbar, so muss die Synchronisierung aller Schriftdateien +angestoßen werden. Daran anschließend müssen die Map"~Datei und die +dazugehörigen Schriftdateien registriert werden. Die hierfür notwendigen +Aufrufe lauten: +% +\begin{quoting} +\Path{updmap-sys -{}-syncwithtrees}\newline +\Path{updmap-sys -{}-enable Map=tudscr.map}\newline +\Path{updmap-sys -{}-force} +\end{quoting} +% +Sind die Schriften danach immer noch nicht verfügbar, so wurden bestimmt schon +weitere Schriften auf dem System \emph{lokal} installiert. In diesem Fall +sollte der Vorgang nochmals für eine lokale Schriftinstallation mit +% +\begin{quoting} +\Path{updmap -{}-syncwithtrees}\newline +\Path{updmap -{}-enable Map=tudscr.map}\newline +\Path{updmap -{}-force} +\end{quoting} +% +ausgeführt werden. Dieses Vorgehen macht allerdings den Befehl +\Path{updmap-sys} von nun an wirkungslos. Nach einer systemweiten Installation +neuer Schriften~-- beispielsweise bei der Aktualisierung der Distribution~-- +müssen diese über den manuellen Aufruf von \Path{updmap} zukünftig durch den +Anwender lokal bei \Distribution{\hologo{TeX}~Live}|?| respektive +\Distribution{Mac\hologo{TeX}}|?| registriert werden. + +\Attention{% + Für die Schriftinstallation werden die Skripte \Path{tftopl}, \Path{pltotf} + und \Path{vptovf} benötigt, welche bei \Distribution{\hologo{TeX}~Live}|?| + beziehungsweise \Distribution{Mac\hologo{TeX}}|?| über das Paket + \Package*{fontware} aus \Package*{collection-fontutils}<> + bereitgestellt werden und zwingend installiert sein müssen. +} + + +\subsection{Installation der Type1-Schriften unter Windows} +\tudhyperdef*{sec:install:win}% +% +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{\Download{fonts/TUD-Script_fonts_Windows.zip}}% +{\File*{TUD-Script\_fonts\_Windows.zip}} +vorgesehen. Dieses ist sowohl für \Distribution{\hologo{TeX}~Live}|?| als auch +\Distribution{\hologo{MiKTeX}}|?| nutzbar und enthält~-- bis auf die jeweiligen +Schriftarchive selbst~-- alle benötigten Dateien. Diese sollten nach dem +Entpacken des Archivs in das gleiche Verzeichnis kopiert werden. Vor der +Verwendung des Skripts \File{tudscr\_fonts\_install.bat} sollte sichergestellt +werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis +befinden: +% +\settowidth\tempdim{\File{tudscr\_fonts\_install.zip}~}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscr\_fonts\_install.bat}]Installationsskript + \item[\File{Univers\_PS.zip}]Archiv mit Schriftdateien für \Univers + \item[\File{DIN\_Bd\_PS.zip}]Archiv mit Schriftdateien für \DIN + \item[\File{tudscr\_fonts\_install.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften standardmäßig in +ein lokales Nutzerverzeichnis installiert. Wird das Skript über das Kontextmenü +mit Administratorrechten ausgeführt, erfolgt die Installation in einem Pfad, +der \emph{für alle Nutzer} gültig und lesbar ist. + + + +\subsection{Installation der Type1-Schriften unter Linux und OS~X} +\tudhyperdef*{sec:install:unix}% +% +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{\Download{fonts/TUD-Script_fonts_Unix.zip}}% +{\File*{TUD-Script\_fonts\_Unix.zip}} + vorgesehen. Dieses ist sowohl für \Distribution{\hologo{TeX}~Live}|?| als auch +\Distribution{Mac\hologo{TeX}}|?| nutzbar und enthält~-- bis auf die jeweiligen +Schriftdateien selbst~-- alle benötigten Dateien. Diese sollten nach dem +Entpacken des Archivs in das gleiche Verzeichnis kopiert werden. Vor der +Verwendung des Skripts \File{tudscr\_fonts\_install.sh} sollte sichergestellt +werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis +befinden: +% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscr\_fonts\_install.sh}]Installationsskript + (Terminal: \Path{bash tudscr\_fonts\_install.sh}) + \item[\File{Univers\_PS.zip}]Archiv mit Schriftdateien für \Univers + \item[\File{DIN\_Bd\_PS.zip}]Archiv mit Schriftdateien für \DIN + \item[\File{tudscr\_fonts\_install.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +\minisec{Anmerkung zu Linux und OS~X} +\Attention{% + Nach dem Entpacken eines Release-Archivs im passenden Pfad\footnote{% + beispielsweise \Path{cd~"\$HOME/Downloads/\PName{Unterordner}"}% + } \textbf{muss das Skript zwingend} mit \Path{bash~\PName{Skript}.sh} im + Terminal in diesem Pfad mit den benötigten Dateien aufgerufen werden. +} +Dabei werden alle Schriften standardmäßig in das lokale Nutzerverzeichnis +(\Path{\$TEXMFHOME}) installiert. Wird das Skript mit \Path{sudo} verwendet, +erfolgt die Installation \emph{für alle Nutzer} in den lokalen Systempfad +(\Path{\$TEXMFLOCAL}). + +Es ist unbedingt darauf zu Achten, das beim Ausführen des Skriptes das Terminal +im richtigen Verzeichnis aktiv ist. Bei den meisten unixoiden Betriebssystemen +ist es problemlos möglich, das Terminal aus der Benutzeroberfläche heraus über +das Kontextmenü im gewünschten Pfad zu öffnen. Geht dies nicht, so muss nach +dem Öffnen des Terminals mit dem Befehl \Path{cd} erst zum entsprechenden +Pfad~-- exemplarisch \Path{cd~"\$HOME/Downloads/\PName{Unterordner}"}~-- +navigiert werden. Ein beispielhafter Aufruf im Terminal könnte also lauten: +% +\begin{quoting} +\Path{% + cd~"\$HOME/Downloads/TUD-Script\_fonts\_Unix"{}\,\POParameter{ENTER} +}\newline +\Path{bash tudscr\_fonts\_install.sh\,\POParameter{ENTER}} +\end{quoting} + + +\subsection{Installationshinweise für portable Installationen} +\tudhyperdef*{sec:install:portable}% +% +Prinzipiell ist die Installation der Type1-Schriften des \CDs bei der Nutzung +von \Distribution{\hologo{TeX}~Live~Portable}|?| respektive +\Distribution{\hologo{MiKTeX}~Portable}|?| äquivalent zur nicht"~portablen +Variante, welche in \autoref{sec:install:fonts} beschrieben wird. Alle dort +gegebenen Hinweise sollten sorgfältig berücksichtigt werden. Der durch das +jeweilige Installationsskript voreingestellte Installationspfad sollte für +gewöhnlich nicht geändert werden. Geschieht dies dennoch, so sollte dieser sich +logischerweise auf dem externen Speichermedium +\Path{\PName{Laufwerksbuchstabe}:\textbackslash} befinden. + +\minisec{\hologo{TeX}~Live~Portable} +Das folgende Vorgehen wurde mit Windows getestet. Empfehlungen für die portable +Installation für unixoide Betriebssysteme können an \mailto{\tudscrmail} +gesendet werden. +\begin{enumerate} +\item Installation von \Distribution{\hologo{TeX}~Live~Portable} in + \Path{\PName{Laufwerksbuchstabe}:\textbackslash LaTeX\textbackslash texlive} +\item Die Datei \File*{tl-tray-menu.exe} im Installationspfad öffnen +\item Das Kontextmenü von \Distribution{\hologo{TeX}~Live~Portable} mit einem + Rechtsklick auf das entsprechende Symbol im Infobereich der Taskleiste + öffnen und entweder über die grafische Oberfläche (\emph{Package Manager}) + oder die Kommandozeile (\emph{Command Prompt}) ein Update durchführen +\item Über das Kontextmenü die Kommandozeile ausführen und in dieser das Skript + für die Installation der Schriften \File{tudscr\_fonts\_install.bat} starten. + Dabei gegebenenfalls zuvor in den Pfad des Skriptes wechseln~-- exemplarisch: + \begin{quoting}[leftmargin=1.5em,rightmargin=0pt] + \Path{% + cd~/d~\%USERPROFILE\%\textbackslash{}Downloads% + \textbackslash{}TUD-Script\_fonts\_Windows\,\POParameter{ENTER} + }\newline% + \Path{tudscr\_fonts\_install.bat}\,\POParameter{ENTER} + \end{quoting} + Unter Umständen meldet das Skript fehlende Pakete. Dieses müssen über durch + den Anwender über den \emph{\hologo{TeX}~Live~Manager} installiert werden. + \Attention{% + Ein Ausführen ohne die über \Distribution{\hologo{TeX}~Live~Portable} + geöffnete Kommandozeile führt zu Fehlern. + }% +\end{enumerate} + +\minisec{\hologo{MiKTeX}~Portable} +\begin{enumerate} +\item Installation von \Distribution{\hologo{MiKTeX}~Portable} in + \Path{\PName{Laufwerksbuchstabe}:\textbackslash LaTeX\textbackslash MiKTeX}% + \footnote{Der Pfad darf \emph{nicht} auf der obersten Verzeichnisebene + \Path{\PName{Laufwerksbuchstabe}:\textbackslash} liegen. + } +\item Die Datei \File{miktex-portable.cmd} im Installationspfad öffnen +\item Das Kontextmenü von \Distribution{\hologo{MiKTeX}~Portable} mit einem + Rechtsklick auf das entsprechende Symbol im Infobereich der Taskleiste öffnen + und ein Update durchführen +\item Über das Kontextmenü die Kommandozeile ausführen und in dieser das Skript + für die Installation der Schriften \File{tudscr\_fonts\_install.bat} starten. + Dabei gegebenenfalls zuvor in den Pfad des Skriptes wechseln~-- exemplarisch: + \begin{quoting}[leftmargin=1.5em,rightmargin=0pt] + \Path{% + cd~/d~\%USERPROFILE\%\textbackslash{}Downloads% + \textbackslash{}TUD-Script\_fonts\_Windows\,\POParameter{ENTER} + }\newline + \Path{tudscr\_fonts\_install.bat}\,\POParameter{ENTER} + \end{quoting} + Bei diesem Schritt werden die Pakete \Package{fontinst}, \Package{cmbright} + und \Package{iwona} unter Umständen nachinstalliert. + \Attention{% + Ein Ausführen ohne die über \Distribution{\hologo{MiKTeX}~Portable} + geöffnete Kommandozeile führt zu Fehlern. + }% +\item Bei der erstmaligen Verwendung von \TUDScript werden alle weiteren + benötigten Pakete von \Distribution{\hologo{MiKTeX}~Portable} + nachinstalliert, falls die automatische Nachinstallation aktiviert ist und + diese nicht schon vorhanden sind. Unter anderem betrifft dies die Pakete + \Package*{tudscr}, \Package{koma-script} sowie \Package{etoolbox}, + \Package{xpatch} \Package{letltxmacro}, \Package{environ}, + \Package{trimspaces}, \Package{xcolor} und \Package{mptopdf}<>. +\end{enumerate} + + +\subsection{Probleme bei der Installation der Type1-Schriften} +% +Wird Windows verwendet, kann es unter Umständen vorkommen, dass notwendige +Befehlsaufrufe für das Installationsskript nicht ausgeführt werden können. In +diesem Fall ist der Pfad zu den benötigten Dateien, welche normalerweise unter +\Path{\%SystemRoot\%\textbackslash System32} zu finden sind, nicht in der +Umgebungsvariable \Path{PATH} enthalten. Einen Hinweis zur Problemlösung ist +\hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?t=359}{% + in diesem Beitrag im Forum% +} +zu finden. + +Treten bei der Installation wider Erwarten Probleme auf, so ist zur Lösung eine +Logdatei zu erstellen. Hierfür sollte unter \textbf{Windows} das Skript, +welches Probleme verursacht, \emph{nicht} aus der Kommandozeile oder dem +Explorer heraus sondern über \emph{Windows PowerShell} ausgeführt werden. +Hierfür ist die Eingabe von \enquote{PowerShell} im Startmenü von Windows mit +einem nachfolgenden Öffnen mittels \POParameter{ENTER}"~Taste ausreichend. +Danach muss mit \Path{cd} zum Ordner des Skriptes navigiert und dieses mit +\Path{.\textbackslash\PName{Skript}.bat|Tee-Object -file \PName{Skript}.log} +ausgeführt werden. Ein Aufruf aus der PowerShell"~Konsole könnte lauten: +% +\begin{quoting}[rightmargin=0pt] + \Path{% + cd~"\$env:USERPROFILE\textbackslash{}Downloads\textbackslash{}% + TUD-Script\_fonts\_Windows"{}\,\POParameter{ENTER}% + }\newline% + \Path{% + .\textbackslash{}tudscr\_fonts\_install.bat% + |Tee-Object -file fonts\_install.log\,\POParameter{ENTER}% + }% +\end{quoting} +% +Für \textbf{unixartige Systeme} ist der Aufruf +\Path{bash \PName{Skript}.sh > \PName{Skript}.log} aus dem Terminal heraus zu +verwenden. Ein exemplarische Verwendung könnte lauten: +% +\begin{quoting} + \Path{% + cd~"\$HOME/Downloads/TUD-Script\_fonts\_Unix"{}\,\POParameter{ENTER}% + }\newline + \Path{% + bash tudscr\_fonts\_install.sh > fonts\_install.log\,\POParameter{ENTER}% + }% +\end{quoting} +% +Die so erstellte Logdatei kann \emph{mit einer kurzen Fehlerbeschreibung} +entweder im \Forum* gepostet oder direkt per E"~Mail an \mailto{\tudscrmail} +gesendet werden. +\index{Installation!Schriftinstallation|!)}% diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex new file mode 100644 index 0000000000..ae2f2a0ff0 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex @@ -0,0 +1,166 @@ +\chapter{Einleitung} +% +Zur Verwendung der \TUDScript-Klassen in der Version~\vTUDScript{} werden +sowohl die \KOMAScript"=Klassen~\vKOMAScript{} oder später als auch die +Hausschrift des \CDs \OpenSans aus dem Paket \Package{opensans} zwingend +benötigt. Außerdem müssen durch die genutzte \hologo{LaTeX}"=Distribution +weitere Pakete bereitgestellt werden, die unter \autoref{sec:packages:needed} +aufgeführt sind. Beim Einsatz einer der Distributionen +\index{Distribution}% +\Distribution{\hologo{TeX}~Live}|?|, +\Distribution{Mac\hologo{TeX}}|?| und +\Distribution{\hologo{MiKTeX}}|?| +in der jeweils aktuellen Versionen sollte dies kein Problem darstellen. Wird +jedoch eine Distribution verwendet, die \TUDScript in der Version~\vTUDScript{} +nicht zur Verfügung stellt und eine Aktualisierung dieser nicht möglich sein, +so sollte \autoref{sec:install:ext} konsultiert werden. + +Das \TUDScript"=Bundle ist hauptsächlich für das Erstellen wissenschaftlicher +Texte sowie Arbeiten gedacht und soll \emph{momentan} die ursprünglichen +Klassen\footnote{% + \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, \Class{tudfax}, + \Class{tudhaus}, \Class{tudform}% +} aus dem Vorlagenpaket von Klaus Bergmann nicht ersetzen sondern vielmehr +ergänzen. +% +Eine Umsetzung des \CDs für die \Class{beamer}"=Klasse sowie für Briefe und +Geschäftsschreiben auf Basis des \KOMAScript"=Brief"=Klasse \Class{scrlttr2} +ist bis jetzt leider noch nicht mit \TUDScript realisiert worden, soll jedoch +langfristig erfolgen. Im Bundle \Class{tudmathposter} existieren für die +\Class{beamer}"=Klasse allerdings bereits mehrere Stile. Dieses ist im +\hrfn{https://github.com/tud-cd/tud-cd/}{% + GitHub-Repository~\Distribution*{tud-cd}% +} zu finden. Für das Erstellen von Briefen mit den \TUDScript"=Klassen ließe +sich das Paket \Package{scrletter} nutzen. + + + +\section{Bestandteile und Nutzung des \TUDScript-Bundles} +% +\ChangedAt{% + v2.01:\TUDScript-Bundle auf CTAN veröffentlicht;% + v2.02:Installationsroutine der Type1-Schriften angepasst;% + v2.04:Installationsskripte verbessert und robuster gestaltet sowie für die + beiden portablen Distributionen \Distribution*{\hologo{TeX}~Live~Portable} + und \Distribution*{\hologo{MiKTeX}~Portable} erweitert;% + v2.06:Schriften im Paket \Package{opensans}, manuelle Installation unnötig;% +} +% +Das \TUDScript-Bundle wird über das \CTAN bereitgestellt und kann durch +\hologo{LaTeX}"=Distributionen wie \Distribution{\hologo{TeX}~Live}|?|, +\Distribution{Mac\hologo{TeX}}|?| oder auch \Distribution{\hologo{MiKTeX}}|?| +genutzt werden. Es stellt zum einen die drei Hauptklassen \Class{tudscrbook}, +\Class{tudscrreprt} sowie \Class{tudscrartcl} und zum anderen die Klasse +\Class{tudscrposter} zur Verfügung, welche in \autoref{sec:mainclasses} +beziehungsweise \autoref{sec:poster} vorgestellt werden. Das Paket +\Package{tudscrsupervisor}~-- dokumentiert in \autoref{sec:supervisor}~-- kann +zusammen mit den \TUDScript"=Klassen genutzt werden, um Aufgabenstellungen, +Aushänge oder Gutachten für studentische Arbeiten zu erstellen. Weiterhin +existieren auch eigenständige Pakete, welche in \autoref{sec:bundle} +beschrieben sind. Für die Verwendung des \TUDScript-Bundles ist~-- neben +\KOMAScript{} mindestens in der Version~\vKOMAScript{} sowie den in +\autoref{sec:packages:needed} aufgeführten \hologo{LaTeX}"=Paketen~-- seit der +Version~v2.06 lediglich die Schrift \OpenSans vonnöten, welche durch das Paket +\Package{opensans} zur Verfügung gestellt wird. Eine lokale Nutzerinstallation +der Schriften~-- wie in vorherigen Versionen~-- ist nicht notwendig. Lediglich +für den Fall, dass gezielt die alten Schriften \Univers und \DIN eingesetzt +werden sollen, müssen diese auch installiert sein. Weitere Hinweise dazu sind +in \autoref{sec:install:fonts} zu finden. Um diese zu aktivieren, sei auf +\Option{tudscrver=2.05} und \Option{cdoldfont} verwiesen. + +\minisec{Anmerkung zu Windows} +Für Windows können zwei unterschiedliche \hologo{LaTeX}"=Distributionen genutzt +werden. Die Vorteile von \Distribution{\hologo{TeX}~Live}|?| im Vergleich zu +\Distribution{\hologo{MiKTeX}}|?| liegen zum einen in der Wartung durch mehrere +Autoren sowie der früheren Verfügbarkeit aller Updates über CTAN. Zum anderen +werden zusätzlich zu \hologo{LaTeXe} ein \emph{Perl"~Interpreter} sowie +\emph{Ghostscript} mitgeliefert, wodurch die Ad"=hoc"=Verwendung einiger +Pakete wie beispielsweise \Package{glossaries} vereinfacht beziehungsweise +verbessert wird. Für \Distribution{\hologo{MiKTeX}}|?| müssen diese Programme +gegebenenfalls manuell installiert werden. Demgegenüber entfällt für +\Distribution{\hologo{MiKTeX}}|?| die alljährliche Neuinstallation, welche bei +\Distribution{\hologo{TeX}~Live}|?| notwendig ist. + +\minisec{Anmerkung zu Linux und OS~X} +Die Installation einer der \hologo{LaTeX}"=Distributionen +\Distribution{\hologo{TeX}~Live}|?| oder \Distribution{Mac\hologo{TeX}}|?| +sollte direkt über die angebotenen Pakete +(\url{https://tug.org/texlive/} oder \url{https://tug.org/mactex/}) und nicht +über \Path{apt-get install} erfolgen. Damit wird sichergestellt, dass die +aktuelle Variante der jeweiligen Distribution genutzt wird. + + + +\section{Zur Verwendung dieses Handbuchs} +Sämtliche neu definierten Optionen, Umgebungen und Befehle der Klassen und +Pakete des \TUDScript-Bundles werden im Handbuch aufgeführt und beschrieben. Am +Ende des Dokumentes befinden sich mehrere Indexe, die das Nachschlagen oder +Auffinden von bisher unbekannten Befehlen oder Optionen erleichtern sollen. + +Die im Folgenden beschriebenen Optionen können~-- wie ein Großteil aller +Einstellungen für \KOMAScript~-- in der Syntax des \Package{keyval}"=Paketes +als Schlüssel"=Wert"=Paare bei der Wahl der Dokumentklasse angegeben werden: +\Macro*{documentclass}[% + \POParameter{\PName{Schlüssel}\PValue{=}\PName{Wert}}\Parameter{Klasse}% +] + +Des Weiteren eröffnen die \KOMAScript"=Klassen die Möglichkeit der späten +Optionenwahl. Damit können Optionen nicht nur direkt beim Laden als sogenannte +Klassenoptionen angegeben werden, sondern lassen sich auch noch innerhalb des +Dokumentes nach dem Laden der Klasse ändern. Die \KOMAScript"=Klassen sehen +hierfür zwei Befehle vor. Mit +\Macro{KOMAoptions}[\Parameter{Optionenliste}](\Package{koma-script})'none' +lassen sich beliebig viele Schlüsseln jeweils genau einen Wert zuweisen, +\Macro{KOMAoption}[% + \Parameter{Option}\Parameter{Werteliste}% +](\Package{koma-script})'none' +erlaubt das gleichzeitige Setzen mehrere Werte für genau einen Schlüssel. +Für die von \TUDScript \emph{zusätzlich} zur Verfügung gestellten Optionen +werden äquivalent dazu die Befehle \Macro{TUDoptions}[\Parameter{Optionenliste}] +und \Macro{TUDoption}[\Parameter{Option}\Parameter{Werteliste}] definiert. +Damit kann das Verhalten von Optionen im Dokument~-- innerhalb einer Gruppe +auch lokal~-- geändert werden. + +Die Voreinstellung jeder Option wird mit \enquote{Standardwert:\,\PName{Wert}} +bei deren Beschreibung angeführt. Einige dieser Voreinstellungen sind nicht +immer gleich sondern werden in Abhängigkeit der genutzten Benutzereinstellungen +und Optionen gesetzt. Diese bedingten Voreinstellungen werden durch +\enquote{% + Standardwert:\,\PName{Wert}% + \PValue{\,|\,}Bedingung:\,\PName{bedingter~Wert}% +} +angegeben. Wird ein Schlüssel durch den Benutzer \emph{ohne} eine Wertzuweisung +genutzt, so wird~-- falls vorhanden~-- ein vordefinierter Säumniswert gesetzt, +welcher in der Beschreibung aller Optionen durch die~\PValue{\emph{kursive}} +Schreibweise innerhalb der Werteliste gekennzeichnet ist. In den meisten Fällen +ist der Säumniswert eines Schlüssels \PValue{true}, er entspricht folglich der +Angabe \PName{Schlüssel}\PValue{=true}. Mit der expliziten Wertzuweisung eines +Schlüssels durch den Benutzer werden sowohl einfache als auch bedingte +Voreinstellungen immer überschrieben. Die neben den Optionen neu eingeführten +Befehle und Umgebungen der Klassen werden im gleichen Stil erläutert. + + + +\section{Schnelleinstieg} +Das Handbuch gliedert sich in drei Teile. In \autoref{part:main} ist die +Dokumentation von \TUDScript zu finden. Hier werden alle neuen Optionen, +Umgebungen und Befehle, die über die Funktionalität von \KOMAScript{} +hinausgehen, erläutert. \autoref{part:additional} enthält zum einen einfache +Minimalbeispiele, um den prinzipiellen Umgang und die Funktionalitäten von +\TUDScript zu demonstrieren. Zum anderen werden hier auch ausführliche und +dokumentierte Tutorials vor allem für \hologo{LaTeX}"=Neulinge angeboten. +Insbesondere das Tutorial \Tutorial{treatise} ist mehr als einen Blick wert, +wenn eine wissenschaftliche Arbeit mit \hologo{LaTeXe} verfasst werden soll. +Abschließend werden verschiedenste Pakete vorgestellt, die nicht speziell für +das \TUDScript-Bundle selber sondern auch für andere \hologo{LaTeXe}"=Klassen +verwendet werden können und demzufolge für jeden Anwender interessant sein +könnten. Außerdem werden hier einige Tipps \& Tricks beim Umgang mit +\hologo{LaTeX} beschrieben, um kleinere oder größere Probleme zu lösen. + +Die Klassen \Class{tudscrbook}, \Class{tudscrreprt} und \Class{tudscrartcl} +sind Wrapper"=Klassen der bekannten \KOMAScript-Klassen \Class{scrbook}, +\Class{scrreprt} sowie \Class{scrartcl} und können einfach anstelle deren +verwendet werden. Auf diesen basierende Dokumente können durch das Umstellen +der Dokumentklasse einfach in das \TUDCD überführt werden. Bei Fragestellungen +bezüglich Layout, Schriften oder ähnlichem ist in jedem Fall ein weiterer Blick +in das hier vorliegende Handbuch empfehlenswert. diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex new file mode 100644 index 0000000000..915ea48199 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex @@ -0,0 +1,3663 @@ +\setchapterpreamble{\tudhyperdef'{sec:mainclasses}} +\chapter[% + Die Hauptklassen \Class*{tudscrbook}, \Class*{tudscrreprt} und + \Class*{tudscrartcl}% +]{Die Hauptklassen} +\index{Hauptklassen|!}% +% +\ChangedAt*{% + v2.02:Umbenennung einiger Befehle für Kompatibilität mit anderen Paketen;% + v2.03:Anpassungen interner Befehle an \KOMAScript-Version~v3.15% +} +% +\begin{Declaration*}{\Class{tudscrbook}} +\begin{Declaration*}{\Class{tudscrreprt}} +\begin{Declaration*}{\Class{tudscrartcl}} +Es werden die drei neuen Hauptklassen +% +\begin{description} +\item \Class{tudscrbook} +\item \Class{tudscrreprt} +\item \Class{tudscrartcl} +\end{description} +% +eingeführt, welche auf den \KOMAScript-Klassen basieren und grundsätzlich alle +deren bereitgestellte Optionen~-- beispielsweise +\Option{parskip=\PName{Methode}}(\Package{koma-script})'none' für die +Absatzeinstellungen oder +\Option{BCOR=\PName{Längenwert}}(\Package{typearea})'none' zur Festlegung der +Bindekorrektur~-- sowie Umgebungen und Befehle unterstützen. Zusätzlich zu den +\KOMAScript"=Klassen werden weitere Pakete zwingend benötigt, welche unter +\autoref{sec:packages:needed} aufgeführt sind und durch \TUDScript geladen +werden. + +Es sei hier abermals auf die \scrguide[Anwenderdokumentation von \KOMAScript] +hingewiesen, viele der folgend beschriebenen Befehle und Optionen beziehen sich +auf die darin vorgestellten Einstellungsmöglichkeiten. Die Anpassungen und +Erweiterungen der \KOMAScript"=Klassen an das \CD und die neu definierten +beziehungsweise geänderten oder erweiterten Befehle und Optionen werden im +Folgenden erläutert. + +\begin{Declaration}{\Macro{TUDoptions}[\Parameter{Optionenliste}]} +\begin{Declaration}{\Macro{TUDoption}[\Parameter{Option}\Parameter{Werteliste}]} +\printdeclarationlist% +\index{Optionen|!}% +% +Mit diesen beiden Befehlen besteht für die meisten der neuen Klassen- respektive +Paketoptionen die Möglichkeit, den Wert der Optionen noch nach dem Laden der +Klasse beziehungsweise des Paketes zu ändern. Sie sind das Äquivalent zu den +beiden \KOMAScript-Befehlen \Macro{KOMAoptions}(\Package{koma-script})'none' +beziehungsweise \Macro{KOMAoption}(\Package{koma-script})'none'. + +Man kann wahlweise mit der Anweisung \Macro{TUDoptions} die Werte mehrerer +Optionen gleichzeitig ändern, wobei diese durch Kommata zu trennen sind. Dabei +muss innerhalb der Optionenliste jede zu ändernde Option in der Form +\PName{Option}\PValue{=}\PName{Wert} angegeben werden. Die meisten der +\TUDScript-Optionen besitzen auch einen Standard- respektive Säumniswert. +Werden diese in der Form \PName{Option} ohne die Angabe eines Wertes genutzt, +so wird der jeweiligen Option einfach der vorgesehene Säumniswert zugewiesen. + +Einige Optionen können gleichzeitig mehrere, sich ergänzende Werte besitzen. +Für diese besteht die Möglichkeit, mit \Macro{TUDoption} einer einzelnen Option +nacheinander eine Reihe von Werten zuzuweisen, wobei diese in der Werteliste +durch Komma voneinander zu trennen sind. + +Diese beiden Befehlen erlauben es im Bedarfsfall das Verhalten von einer Option +oder mehreren Optionen im Dokument zu ändern. Werden diese Befehle in einer +Umgebung oder Gruppe genutzt, bleiben die vorgenommenen Einstellungen innerhalb +dieser lokal begrenzt. +\end{Declaration} +\end{Declaration} + + + +\section{Die Schriften des \CDs} +\tudhyperdef*{sec:fonts}% +\index{Schriftart|?(}% +% +\ChangedAt*{% + v2.00:Schriften~-- insbesondere für den mathematischen Satz~-- verbessert;% + v2.01:Unterschneidung (Kerning) der Ziffern verbessert;% +} +% +Das \TUDCD gibt die Verwendung der Schriftfamilie \OpenSans für den Fließtext +vor, was in der Standardkonfiguration durch \TUDScript auch so umgesetzt wird. +Da jedoch in längeren Texten die Verwendung einer Serifenschriften aus +typografischer Sicht zu empfehlen ist, gibt es allerdings die Möglichkeit, die +ursprünglich vorgesehenen Schriften des \CDs nicht zu laden und stattdessen die +\hologo{LaTeX}"=Standardschriften beziehungsweise ein anderes Schriftpaket zu +verwenden. Die Erläuterungen dazu sind in \autoref{sec:text} zu finden. Zur +Verwendung der Schriften mit \hologo{LaTeXe}"=Klassen, welche nicht zum +\TUDScript-Bundle gehören, lässt sich das Paket \Package{tudscrfonts} laden. + +\ChangedAt{% + v2.02;% + v2.04:Einfachere Verwendung des Paketes \Package{fontspec};% + v2.06:\OpenSans als neue Schrift im \TUDCD;% +} +Durch das \CD werden keine Schriften für den Mathematiksatz festgelegt. Das ist +insbesondere für sowohl mathematische Abhandlungen als auch ingenieur- und +naturwissenschaftliche Dokumente nicht tragbar. Im Mathematikmodus werden +deshalb die lateinischen Glyphen mithilfe des Paketes \Package{mathastext} +sowie die griechischen Lettern der \OpenSans genutzt. Zu Ergänzung kann für +zusätzliche mathematische Symbole das Paket \Package{mdsymbol} geladen werden. + +Diese Einstellung lässt sich deaktivieren, wodurch sich die Standardschriften +oder gegebenenfalls die eines zusätzlichen Paketes für den mathematischen Satz +nutzen lassen. Die dafür relevanten Einstellungen werden in \autoref{sec:math} +erläutert. Weiterhin sind ergänzende Hinweise zu einem typografisch sauberen +Mathematiksatz in \autoref{sec:tut} zu finden. + + +\minisec{Die Schriftformate Type1 und OpenType} +\index{Type1-Schriften}% +\index{OpenType-Schriften}% +\ChangedAt{v2.02:OpenType-Schriften mit Paket \Package{fontspec} verwendbar} +% +Das \TUDScript-Bundle unterstützt die Nutzung der Schriften des \CDs sowohl +im Type1- als auch im OpenType-Format. Beide Formate werden durch das Paket +\Package{opensans} bereitgestellt, wobei unabhängig vom genutzten +Textsatzsystem die Schriften im Type1-Format geladen werden. Die Verwendung der +Schriften im OpenType-Format ist auch beim Einsatz von \Engine{LuaLaTeX} oder +\Engine{XeLaTeX} nicht zwingend erforderlich. Dennoch ist dies problemlos +möglich, indem einfach das Paket \Package{fontspec} eingebunden wird. + +Ein Verzicht auf die Type1-Schriften ist dennoch nicht ohne Weiteres möglich. +Denn einerseits sind diese für die Kompilierung eines Dokumentes über den +klassischen Prozesspfad via \Path{latex\,>\,dvips\,>\,ps2pdf}~-- wie es +beispielsweise für die Erstellung von Grafiken mit \Package{pstricks} notwendig +ist~-- erforderlich. Andererseits werden für den Mathematiksatz die Glyphen den +Type1-Schriften entnommen. Eine Verwendung der OpenType-Schriften für den +Mathematiksatz ist leider nicht ohne einen erheblichen Aufwand möglich, weshalb +\TUDScript~-- insbesondere aufgrund des nicht vorhandenen Mehrwerts~-- darauf +verzichtet. +\index{Schriftart|?)}% + + + +\subsection{Schriften für den Textsatz} +\tudhyperdef*{sec:text}% +\index{Schriftstärke}% +% +\begin{Declaration}[% + v2.02!\Option{cdfont=head}; + v2.02!\Option{cdfont=heavyhead}; + v2.03!\Option{cdfont=din}; + v2.03!\Option{cdfont=nodin}; + v2.05!\Option{cdfont=normalbold}; + v2.05!\Option{cdfont=ultrabold}; + v2.06!\Option{cdfont=liningfigures}; + v2.06!\Option{cdfont=oldstylefigures}; + v2.06!\Option{cdfont=standardgreek}; +]{\Option{cdfont=\PSet}}[true,normalbold,liningfigures]% +\printdeclarationlist% +% +Mit der Option \Option{cdfont} können durch den Anwender alle zentralen +Schrifteinstellungen für die \TUDScript-Klassen vorgenommen werden. Dies +betrifft die Schriften sowohl für den Fließtext als auch den Mathematiksatz. +Dabei lassen sich insbesondere unterschiedliche Kombinationen von normaler und +fetter Schriftstärke für die \OpenSans einstellen. Zu Beginn des Dokumentes +sind diese maßgeblich für die Definition der Mathematikschriften. Die +Schriftstärke im charakteristischen Querbalken der Kopfzeile lässt sich mit +dieser Option ebenfalls einstellen. +% +\begin{values}{\Option{cdfont}} +\itemfalse + Es werden die \hologo{LaTeX}"=Standardschriften und nicht die Hausschrift + des \CDs verwendet. Der Anwender kann beliebige Schriftpakete nutzen.% + \footnote{% + Für die Verwendung der klassischen \hologo{LaTeX}"=Schriften, ist das Paket + \Package{lmodern} sehr empfehlenswert.% + } +\itemtrue*[light/lightfont/noheavyfont] + Es wird die Hausschrift \OpenSans im Stil des \CDs genutzt. Die Überschriften + der obersten Gliederungsebenen bis einschließlich \Macro*{subsubsection} + werden entweder in fetter oder extra"~fetter Schriftstärke gesetzt + (\seeref{\Option{headings=\PSet}'ppage'}), darunter liegende% + \footnote{% + \Macro{paragraph}(\Package{koma-script})'none' und + \Macro{subparagraph}(\Package{koma-script})'none'% + } verwenden immer den fetten Schriftschnitt. Dieser nutzt standardmäßig + \textcdrn{Open~Sans~Regular}, kann allerdings mit \Option{cdfont=heavybold} + stärker eingestellt werden. Im Fließtext kommt \textcdln{Open~Sans~Light} zum + Einsatz. +\item[heavy/heavyfont] + Diese Einstellung unterscheidet sich von \Option{cdfont=true} insoweit als + die Schriftstärke der Hausschrift erhöht wird. Der Fließtext des Dokumentes + wird in \textcdrn{Open~Sans~Regular} gesetzt. Der fette Schriftschnitt ist im + Normalfall auf \textcdsn{Open~Sans~Semi"~Bold} festgelegt. +\end{values} +% +Die Stärke der fetten Schriften lässt sich mit folgenden Einstellungen anpassen. +% +\begin{values}{\Option{cdfont}} +\item[normalbold] + \ChangedAt{v2.05} + Für die fette Schriftstärke wird \textcdrn{Open~Sans~Regular} respektive bei + stärkerer Grundschrift (\Option{cdfont=heavy}) \textcdsn{Open~Sans~Semi"~Bold} + verwendet. Dies ist die Voreinstellung. +\item[heavybold/ultrabold] + \ChangedAt{v2.05} + Die fetten Schriften werden stärker hervorgehoben. Es kommt + \textcdsn{Open~Sans~Semi"~Bold} respektive \textcdbn{Open~Sans~Bold} bei + erhöhter Schriftstärke (\Option{cdfont=heavy}) zum Einsatz. +\end{values} +% +Die folgende Tabelle verdeutlicht die Möglichkeiten zur Kombination der +Einstellungen: +\begin{center} +\footnotesize% +\setlength{\tabcolsep}{.5em}% +\begin{tabular}{ccccc} + \toprule + & \multicolumn{2}{c}{\Option{cdfont=normalbold}} + & \multicolumn{2}{c}{\Option{cdfont=heavybold}} + \tabularnewline + & \Macro{mdseries} & \Macro{bfseries} & \Macro{mdseries} & \Macro{bfseries} + \tabularnewline\midrule + \Option{cdfont=true} + & \textcdln{Open~Sans~Light} & \textcdrn{Open~Sans~Regular} + & \textcdln{Open~Sans~Light} & \textcdsn{Open~Sans~Semi"~Bold} + \tabularnewline\midrule + \Option{cdfont=heavy} + & \textcdrn{Open~Sans~Regular} & \textcdsn{Open~Sans~Semi"~Bold} + & \textcdrn{Open~Sans~Regular} & \textcdbn{Open~Sans~Bold} + \tabularnewline\bottomrule +\end{tabular} +\end{center} +\par\medskip\noindent +% +\index{Ziffernform}% +Weiterhin lässt sich die Gestalt der Ziffern anpassen, wobei zwischen +Versalziffern und Mediävalziffern gewählt werden. +% +\begin{values}{\Option{cdfont}} +\item[liningfigures/normalfigures] + \ChangedAt{v2.06} + Mit dieser Einstellung kommen dicktengleiche/äquidistant/proportionale + Versalziffern oder auch Majuskelziffern (\textbf{1234567890}) zum Einsatz. + Mit \Macro{oldstylenums}[\Parameter{Ziffer(n)}] lassen sich + Mediävalziffern oder auch Minuskelziffern explizit setzen. Dieses Verhalten + ist standardmäßig aktiviert. +\item[oldstylefigures/osf/oldnumbers] + \ChangedAt{v2.06} + Für den Fließtext werden nichtproportionale Mediävalziffern oder auch + Minuskelziffern (\textbf{\oldstylenums{0123456789}}) standardmäßig verwendet. +\end{values} +% +Außerdem dient die Option \Option{cdfont=\PSet} als erweiterte Schnittstelle +für den Anwender, um zusätzliche Einstellungen für die Schriftnutzung vornehmen +zu können, für welche normalerweise separate Optionen vorgesehen sind. Diese +Möglichkeiten werden folgend kurz erläutert und auf die tatsächlich zugrunde +liegende Option verweisen. + +Die genutzten Mathematikschriften können mit folgenden Werte beeinflusst werden: +% +\begin{values}{\Option{cdfont}} +\item[nomath/nocdmath] + Diese Einstellung deaktiviert die \OpenSans für den mathematischen Satz. Es + werden die \hologo{LaTeX}"=Standardschriften verwendet und es lassen sich + beliebige Schriftpakete für den Mathematikmodus nutzen, + \seeref{\Option{cdmath=false}}. +\item[math/cdmath] + Die \OpenSans wird für die Mathematikschriften genutzt, + \seeref{\Option{cdmath=true}}. +\item[upgreek/uprightgreek] + Griechische Groß- und Kleinbuchstaben sind aufrecht, + \seeref{\Option{slantedgreek=false}}. +\item[slgreek/slantedgreek] + Die Ausgabe der griechischen Glyphen erfolgt kursiv, + \seeref{\Option{slantedgreek=true}}. +\item[texgreek/standardgreek] + \ChangedAt{v2.06} + Es kommt der \LaTeX-Standard zum Einsatz, bei dem griechische Majuskeln + aufrecht und Minuskeln kursiv ausgegeben werden, + \seeref{\Option{slantedgreek=standard}}. +\end{values} +% +\ChangedAt{v2.02} +Für die \TUDScript-Klassen gibt es bei den \PageStyle{tudheadings}-Seitenstilen +folgende Einstellmöglichkeiten für die Schriftart im Querbalken: +% +\begin{values}{\Option{cdfont}} +\item[nohead/noheadfont] + Bei deaktivierter Hausschrift für den Fließtext können diese ebenfalls im + Querbalken deaktiviert werden, \seeref{\Option{cdhead=false}}. +\item[head/lighthead/lightfonthead/noheavyfonthead] + Für den Querbalken der Kopfzeile wird~-- unabhängig von der Verwendung der + Hausschrift im Fließtext~-- \OpenSans in normaler Schriftstärke verwendet, + \seeref{\Option{cdhead=true}}. +\item[heavyhead/heavyfonthead] + Im Querbalken wird~-- unabhängig von der Dokumentschrift~-- \OpenSans in + erhöhter Stärke genutzt, \seeref{\Option{cdhead=heavy}}. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.06]{\Option{ttfont=\PSet}}[true]% +\printdeclarationlist% +\index{Schriftart}% +\index{Schriftstärke}% +% +\ChangedAt*{% + v2.06:Verwendung der \texttt{Roboto~Mono} als Schreibmaschinenschrift möglich +} +Bei aktivierter Option \Option{cdfont} lässt sich zusätzlich die verwendete +\texttt{Schreibmaschinenschrift} einstellen, wofür selbige aus einem der Pakete +\Package{roboto-mono} oder \Package{lmodern} genutzt wird und insbesondere die +gewählten Einstellungen für die Schriftstärke der Option \Option{cdfont} +beachtet werden. Ein direktes Laden des jeweiligen Paketes durch den Benutzer +ist nicht notwendig. +% +\begin{values}{\Option{ttfont}} +\itemfalse + Es findet keine Anpassung Schreibmaschinenschrift (\Macro*{ttfamily}) statt, + mögliche Änderungen können durch den Anwender erfolgen. +\itemtrue*[roboto/roboto-mono] + Sollte das Paket \Package{roboto-mono} installiert sein, wird die darin + definierte Schreibmaschinenschrift genutzt. Diese ist serifenlos und liegt in + einer Vielzahl unterschiedlicher Schriftschnitte vor, weshalb sich diese + ideal mit der \OpenSans kombinieren lässt. +\item[lmodern/lmtt/lm] + Es wird explizit die Schreibmaschinenschrift aus \Package{lmodern} aktiviert. +\end{values} +\end{Declaration} + + + +\minisec{Auszeichnungen im Text} +\index{Schriftstärke}% +\index{Schriftauszeichnung}% +% +Unabhängig davon, welche Schriftfamilie im Dokument verwendet wird, können die +Schriften des \CDs jederzeit mit einem der hier aufgeführten Textschalter oder +Textkommandos innerhalb des Dokumentes genutzt werden. Ein Textschalter wirkt +sich~-- wenn er nicht lokal durch eine Gruppe oder Umgebung begrenzt wird~-- +global auf das Dokument aus, wie etwa beispielsweise \Macro*{bfseries}. Bei +einem Textkommando hingegen kommt die Schriftart nur für das nachfolgend +angegebene Argument zum Einsatz, wie bei \Macro*{textbf}[\Parameter{Text}]. +% +\begin{Declaration}[v2.04]{\Macro{cdfont}[\Parameter{Schriftart}]} +\begin{Declaration}[v2.04]{% + \Macro{textcd}[\Parameter{Schriftart}\Parameter{Text}]% +} +\printdeclarationlist +Diese beiden Befehle dienen zur gezielten Aktivierung einer Schriftart des \CDs +in Stärke und Schnitt. Hierbei entspricht \Macro{cdfont} einem Textschalter und +ändert die verwendete Schriftart unverzüglich im aktuellen Geltungsbereich auf +\PName{Schriftart}, wohingegen \Macro{textcd} als Textkommando fungiert und den +im zweiten Argument gegebenen \PName{Text} in \PName{Schriftart} setzt ohne +dabei die Dokumentschriftart selbst zu ändern. + +Für die Schriftauswahl muss im ersten Argument die Bezeichnung der gewünschten +Schriftart angegeben werden. Mögliche Werte sind der nachfolgenden Tabelle zu +entnehmen. Der Vorsatz \PValue{Open Sans} für die \PName{Schriftart} im +Argument ist dabei optional. Ebenso sind weder Leerzeichen noch die passende +Groß- und Kleinschreibung notwendig. Für die Wahl der Schriftstärke ist allein +die Bezeichnung \PValue{Light/Regular/Semi-Bold/Bold/Extra-Bold} ausreichend. +Anstelle des Suffix' \PValue{Italic} ist auch die Nutzung von \PValue{Oblique} +oder \PValue{Slanted} als Alias für die kursiven Schriftlagen möglich. +% +\begin{center}% + \newcommand*\listfonts[2]{% + \csuse{textcd#2}{Open Sans #1} & + \begin{Declaration*}{\Macro{cdfont#2}} + \Macro*{cdfont#2}'none'% + \end{Declaration*} + & + \begin{Declaration*}{\Macro{textcd#2}[\Parameter{Text}]} + \Macro*{textcd#2}[\Parameter{Text}]'none'% + \end{Declaration*} + \tabularnewline + }% + \begin{tabular}{lll}% + \toprule% + \textbf{Schriftart/Bezeichnung} & \textbf{Schalter} & \textbf{Textkommando} + \tabularnewline + \midrule + \listfonts{Light}{ln} + \listfonts{Regular}{rn} + \listfonts{Semi-Bold}{sn} + \listfonts{Bold}{bn} + \listfonts{Extra-Bold}{xn} + \listfonts{Light Italic}{li} + \listfonts{Regular Italic}{ri} + \listfonts{Semi-Bold Italic}{si} + \listfonts{Bold Italic}{bi} + \listfonts{Extra-Bold Italic}{xi} + \bottomrule% + \end{tabular}% +\end{center}% +% +Alternativ zu \Macro{cdfont} und \Macro{textcd} werden für jeden Schriftschnitt +auch explizite Textschalter und "~kommandos bereitgestellt, bei denen das +Argument für die Bezeichnung der Schriftart entfällt. Diese sind in der zweiten +und dritten Spalte der Tabelle aufgeführt. +\end{Declaration} +\end{Declaration} + + + +\subsection{Schriften für den Mathematiksatz} +\tudhyperdef*{sec:math}% +\index{Mathematiksatz|?(}% +% +\begin{Declaration}[v2.03]{\Option{cdmath=\PBoolean}}% + [true][\Option{cdfont=false}:false] +\printdeclarationlist% +% +Diese Option dient zur Anpassung der Mathematikschriften. Wird diese aktiviert, +so werden zur Hausschrift passende Glyphen im Mathematikmodus genutzt. Normale +sowie fette Schriftstärke werden zu \emph{Beginn des Dokuments} abhängig von +der zu diesem Zeitpunkt aktiven Einstellung für die Schriften des Fließtexts +(\seeref{\Option{cdfont}}) definiert. Auf fette Mathematikschriften kann im +Dokument mit \Macro{boldmath} umgeschaltet werden, eine Anpassung der +Einstellungen ist durch \Macro{TUDoptions} möglich. Gültige Werte für die +Option \Option{cdmath} sind: +% +\begin{values}{\Option{cdmath}} +\itemfalse + Es werden die normalen \hologo{LaTeX}"=Serifenschriften beziehungsweise die + Schriften beliebig nutzbarer Pakete für den Mathematiksatz verwendet. +\itemtrue* + Im Mathematikmodus kommt \OpenSans sowohl für lateinische als auch + griechische Buchstaben zum Einsatz. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.06!\Option{slantedgreek=standard}; +]{\Option{slantedgreek=\PBoolean}}[true] +\printdeclarationlist% +\index{Griechische Buchstaben|(}% +% +Die Option ändert die standardmäßige Neigung der griechischen Großbuchstaben im +Mathematikmodus bei der Verwendung der Standardbefehle für griechische +Buchstaben. +% +\begin{values}{\Option{slantedgreek}} +\itemfalse + Die griechischen Glyphen werden im Mathematiksatz allesamt aufrecht gesetzt. +\itemtrue* + Alle griechischen Buchstaben werden im Mathematikmodus kursiv ausgegeben. +\item[standard/latex] + Die Ausgabe entspricht mit aufrechten Majuskeln und kursiven Minuskeln der + griechischen Lettern dem \LaTeX-Standard beim mathematischen Satz. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Macro{Gamma}} +\begin{Declaration}{\Macro{Delta}} +\begin{Declaration}{\Macro{Theta}} +\begin{Declaration}{\Macro{Lambda}} +\begin{Declaration}{\Macro{Xi}} +\begin{Declaration}{\Macro{Pi}} +\begin{Declaration}{\Macro{Sigma}} +\begin{Declaration}{\Macro{Upsilon}} +\begin{Declaration}{\Macro{Phi}} +\begin{Declaration}{\Macro{Psi}} +\begin{Declaration}{\Macro{Omega}} +\begin{Declaration}{\Macro{alpha}} +\begin{Declaration}{\Macro{beta}} +\begin{Declaration}{\Macro{gamma}} +\begin{Declaration}{\Macro{delta}} +\begin{Declaration}{\Macro{epsilon}} +\begin{Declaration}{\Macro{varepsilon}} +\begin{Declaration}{\Macro{zeta}} +\begin{Declaration}{\Macro{eta}} +\begin{Declaration}{\Macro{theta}} +\begin{Declaration}{\Macro{vartheta}} +\begin{Declaration}{\Macro{iota}} +\begin{Declaration}{\Macro{kappa}} +\begin{Declaration}{\Macro{lambda}} +\begin{Declaration}{\Macro{mu}} +\begin{Declaration}{\Macro{nu}} +\begin{Declaration}{\Macro{xi}} +\begin{Declaration}{\Macro{pi}} +\begin{Declaration}{\Macro{varpi}} +\begin{Declaration}{\Macro{rho}} +\begin{Declaration}{\Macro{varrho}} +\begin{Declaration}{\Macro{sigma}} +\begin{Declaration}{\Macro{varsigma}} +\begin{Declaration}{\Macro{tau}} +\begin{Declaration}{\Macro{upsilon}} +\begin{Declaration}{\Macro{phi}} +\begin{Declaration}{\Macro{varphi}} +\begin{Declaration}{\Macro{chi}} +\begin{Declaration}{\Macro{psi}} +\begin{Declaration}{\Macro{omega}} +\settowidth\tempdim{\Macro{varepsilon}}% +\addtolength\tempdim{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth\relax}% +\printdeclarationlist(% + \begin{minipage}{-\tempdim}% + \small% + \newcommand\tablecontent{}% + \newcommand*\greekLetters{% + Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega,% + alpha,beta,gamma,delta,epsilon,varepsilon,zeta,eta,theta,vartheta,% + iota,kappa,lambda,mu,nu,xi,pi,varpi,rho,varrho,sigma,varsigma,tau,% + upsilon,phi,varphi,chi,psi,omega% + }% + \def\do#1{% + \appto\tablecontent{% +% \begin{Declaration*}{\Macro{up#1}} + \Macro*{up#1}'none'% +% \end{Declaration*} + & $\csuse{up#1}$ & & +% \begin{Declaration*}{\Macro{it#1}} + \Macro*{it#1}'none'% +% \end{Declaration*} + & $\csuse{it#1}$\tabularnewline + }% + }% + \expandafter\docsvlist\expandafter{\greekLetters}% + \centering% + \vspace{\intextsep}\noindent + \begin{tabularm}{5} + \toprule% + \textbf{Befehl (aufrecht)} & \textbf{Symbol} & & + \textbf{Befehl (kursiv)} & \textbf{Symbol} + \tabularnewline\midrule\tablecontent\bottomrule% + \end{tabularm} + \end{minipage}% +)% +% +Unabhängig von der Option \Option{slantedgreek} können sowohl kursive als auch +aufrechte griechischen Glyphen im Mathematikmodus mit diesen Befehlen direkt +verwendet werden. Dies ist nützlich, um zwischen \emph{kursiven Variablen} und +\emph{aufrechten Konstanten} zu unterscheiden. Weiterhin kann anstelle von +\Macro*{up\Parameter{Glyphe}} oder \Macro*{it\Parameter{Glyphe}} auch der +Präfix \Macro*{other\Parameter{Glyphe}} genutzt werden. Damit wird~-- abhängig +von der Option \Option{slantedgreek}~-- die komplementäre Schriftlage der +angegebenen Glyphe gesetzt. +\index{Griechische Buchstaben|)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + + +\minisec{Zusätzliche Hinweise zum Mathematiksatz} +Unter Umständen werden zusätzliche Symbole für den Mathematiksatz benötigt. +Sehr oft kommt hierfür das Paket \Package{amssymb} zum Einsatz. Dieses stellt +zahlreiche zusätzliche für die \hologo{LaTeX}"=Standardschriften zur Verfügung. +Diese sind in Verbindung mit der \OpenSans aus typografischer Sicht jedoch +keine ideale Lösung. Die Symbole aus dem Paket \Package{mdsymbol} passen +wesentlich besser zu besagter Schriftfamilie, weshalb diesem Paket der Vorzug +gegeben werden sollte, falls die Schriften des \CDs für den mathematischen Satz +genutzt werden. Weitere Hinweise zum typografisch guten Mathematiksatz sind +außerdem in \autoref{sec:tut} zu finden. +\index{Mathematiksatz|?)}% + + +\subsection{Vertikaler Leerraum in Abhängigkeit der Schriftgröße} +\index{Leerraum}% +\index{Schriftgröße}% +% +Bei den \TUDScript-Klassen sind im Normalfall mehrere Längen von der für das +Dokument gewählten Schriftgröße abhängig~-- im Gegensatz zu \KOMAScript. Dies +hat den großen Vorteil, dass bei einer Änderung der Schriftgröße die folgend +genannten Befehle respektive Längen nicht separat durch den Anwender angepasst +werden müssen, um weiterhin sinnvoll verwendet werden zu können. + +Die Anpassung an die Schriftgröße erfolgt sowohl die dehnbaren Längen +\Length{bigskipamount}, \Length{medskipamount} und \Length{smallskipamount}, +welche von den Befehlen \Macro{bigskip}, \Macro{medskip} beziehungsweise +\Macro{smallskip} für das Einfügen vertikaler Abstände genutzt werden, als auch +die beiden Längen \Length{abovecaptionskip}(\Package{koma-script})'none' und +\Length{belowcaptionskip}(\Package{koma-script})'none' für den Abstand zwischen +einem Gleitobjekt~-- beispielsweise eine Abbildung oder eine Tabelle~-- und +dessen mit \Macro{caption}(\Package{koma-script},\Package{caption})'none' +gesetzten Beschreibung. Außerdem wird die Länge \Length{columnsep} als Maß für +den horizontalen Abstand der einzelnen Textspalten im zwei- oder mehrspaltigen +Layout, wie es beispielsweise mit dem Paket \Package{multicol} erzeugt werden +kann, in Relation zur Schriftgröße sinnvoll festgelegt. + +Die verwendete Schriftgröße kann durch den Anwender über die \KOMAScript-Option +\Option{fontsize=\PName{Schriftgröße}}(\Package{koma-script})'none' festgelegt +werden. +\Attention{% + Dabei ist zu beachten, dass diese immer als Klassenoption angegeben werden + sollte.% +} +Weitere Hinweise zur Wahl der passenden Schriftgröße sind außerdem in +\autoref{sec:fontsize} zu finden. + +\begin{Declaration}[v2.05]{\Option{relspacing=\PBoolean}}[true]% +\printdeclarationlist% +% +Mit der Option \Option{relspacing=\PBoolean} lässt sich die zuvor beschriebene +Schriftgrößenabhängigkeit sowohl für vertikalen Leerraum zwischen zwei Absätzen +oder bei Beschriftungen als auch für den horizontalen Abstand zwischen den +Textspalten im mehrspaltigen Layout anpassen. +% +\begin{values}{\Option{relspacing}} +\itemfalse[absolute/standard] + Die besagten Längen werden nicht angepasst, passende Werte sollten bei einer + Änderung der Schriftgröße durch den Anwender gewählt werden. +\itemtrue*[relative/fontsize] + In Abhängigkeit von der gewählten Schriftgröße werden die zuvor genannten + Längen automatisch festgelegt. +\end{values} +\end{Declaration} + + + +\section{Das Layout des \CDs} +\index{Layout|(}% +\subsection{Der Satzspiegel} +\index{Satzspiegel|(}% +% +\begin{Declaration}[% + v2.03; + v2.05!\Option{cdgeometry=restricted};% + v2.05!\Option{cdgeometry=adapted};% + v2.05!\Option{cdgeometry=calculated};% + v2.05!\Option{cdgeometry=custom};% +]{\Option{cdgeometry=\PSet}}[true,restricted][\Option{cd=false}:false]% +\printdeclarationlist% +\index{Layout!Seitenstil}% +\index{Satzspiegel!doppelseitig}% +% +Diese Option ist für die Aufteilung beziehungsweise die Berechnung des +Satzspiegels verantwortlich. Das Maß der Seitenränder ist im \CD fest +vorgegeben und wird standardmäßig von den \TUDScript-Klassen eingehalten. +Allerdings lassen sich die Seitenränder anpassen, um beispielsweise einen +vernünftigen doppelseitigen Satz zu ermöglichen.% +\footnote{Hierbei sollte der innere Rand schmaler als der äußere sein} +Des Weiteren besteht die Möglichkeit, auf das \KOMAScript"=Standardverhalten +zurückzufallen und die Satzspiegelberechnung durch das Paket \Package{typearea} +vornehmen zu lassen. Hier hat insbesondere die Klassenoption +\Option{DIV=\PSet}(\Package{typearea})'none'|declare| maßgeblichen Einfluss auf +den Satzspiegel. Mehr dazu ist in der \scrguide[Dokumentation von \KOMAScript] +zu finden. +\ChangedAt{v2.05} +Zusätzlich lässt sich mit \Option{cdgeometry=custom} der Satzspiegel durch den +Anwender (fast) beliebig festlegen. +% +\begin{values}{\Option{cdgeometry}} +\itemfalse + Die Satzspiegelberechnung erfolgt via \Package{typearea}, die Vorgaben des + \CDs bezüglich der Seitenränder werden ignoriert. +\itemtrue*[asymmetric/cd] + Die Seitenränder werden im asymmetrischen Stil des \CDs fest definiert und + auch für den doppelseitigen Satz + (Klassenoption \Option{twoside=true}(\Package{typearea})'none') genutzt.% + \footnote{links: 30\,mm, rechts: 20\,mm, oben: 20\,mm, unten: 30\,mm} +\item[symmetric/centred/centered] + Der Satzspiegel wird im einseitigen sowie doppelseitigen Satz auf der Seite + zentriert.% + \footnote{links: 25\,mm, rechts: 25\,mm, oben: 20\,mm, unten: 30\,mm} +\item[twoside/balanced] + Diese Einstellung aktiviert den doppelseitigen Satz + (\Option{twoside=true}(\Package{typearea})'none') und ändert den Satzspiegel + derart, dass die Ränder der inneren Seiten schmaler sind als die der äußeren.% + \footnote{innen: 20\,mm, außen: 30\,mm, oben: 20\,mm, unten: 30\,mm} + \Attention{% + Der so erzeugte Satzspiegel ist jedoch unvorteilhaft, da das Logo der \TnUD + sehr nah am inneren Seitenrand des Dokumentes gesetzt wird und folglich auf + rechten respektive ungeraden Seiten sehr weit an den Blattrand rückt. + } + Dieses Problem kann~-- bei \Class{tudscrbook} sowie \Class{tudscrreprt}~-- + prinzipiell gelöst werden, indem Titel, Teile und Kapitel über das Aktivieren + der \KOMAScript-Option \Option{open=left}(\Package{koma-script})'none' immer + auf einer linken Seite beginnen, was allerdings aus typografischer Sicht eher + unüblich ist. +\end{values} +% +\ChangedAt{v2.05:Neue Möglichkeiten bei der Satzspiegelberechnung im \CD} +Mit den folgenden Werten lässt sich einstellen, in welcher Variante der +Satzspiegel nach dem \TUDCD erstellt werden soll. +% +\begin{values}{\Option{cdgeometry}} +\item[restricted] + Der Satzspiegel entspricht den expliziten Vorgaben des \CDs. +\item[adapted] + Laut dem Handbuch zum \CD werden für Papierformate zwischen DIN~A6 und DIN~A4 + \enquote{im Interesse größter Einheitlichkeit die Maßverhältnisse über einen + größeren Formatbereich hinweg \enquote{eingefroren}.} Dies kann jedoch zu + schlecht nutzbaren Satzspiegeln führen. Mit dieser Einstellung kann die + Fixierung deaktiviert und der äquivalente Satzspiegel beispielsweise für das + Format~DIN~A5 aktiviert werden. Bei Formaten außerhalb des fixierten Bereichs + hat diese Einstellung keinen Einfluss. +\item[calculated] + Der Satzspiegel wird anhand der Referenzmaße für das Format~DIN~A4 für das + eingestellte Papierformat \emph{skaliert}. Die eigentlich definierten + diskreten Maße bei unterschiedlichen Gestaltungshöhen werden ignoriert. +\end{values} +% +\ChangedAt{v2.05} +Da es häufig sehr restriktive~-- wenn auch meistens völlig willkürliche~-- +Vorgaben für die Seitenränder gibt, besteht außerdem die Möglichkeit, diese +weitestgehend manuell einzustellen. +\begin{values}{\Option{cdgeometry}} +\item[custom] + Für die Festlegung der Seitenränder ist das Paket \Package{geometry} + maßgeblich verantwortlich. Der Anwender kann mit den beiden, durch das Paket + bereitgestellten Befehlen \Macro{geometry}(\Package{geometry})'none' und + \Macro{newgeometry}(\Package{geometry})'none' den Satzspiegel selbst + definieren. Für Hinweise zur Verwendung der Befehle sollte die Dokumentation + von \Package{geometry} genutzt werden. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.03]{\Option{extrabottommargin=\PName{Höhe}}}[0pt]% +\printdeclarationlist% +% +Mit dieser Option kann die Größe des unteren Seitenrandes angepasst werden, +wenn der Satzspiegel des \CDs verwendet wird (\seeref{\Option{cdgeometry}}). +Insbesondere für den Fall, dass bei Seiten im Stil \PageStyle{tudheadings} +im Fußbereich entweder mit \Macro{footlogo} Drittlogos verwendet werden und +diese über das optionale Argument oder via \Option{footlogoheight} über die +Standardhöhe hinaus vergrößert wurden oder mit \Macro{footcontent} ein +übergroßer Inhalt angegeben wurde, kann dieser unter Umständen etwas zu klein +sein. Mit der Option \Option{extrabottommargin} wird der Fußbereich durch +positive Werte vergrößert, negative Werte verkleinern diesen entsprechend. + +Alternativ zur Option \Option{extrabottommargin} kann auch die Einstellung +\Option{cdfoot=\PValueName{Höhe}} mit einem Längenwert verwendet werden. +Dabei spielt es für beide Optionen keine Rolle, ob eine \hologo{LaTeX}"=Länge, +ein \hologo{TeX}"=Abstand oder eine \hologo{TeX}"=Ausdehnung als Länge bei der +Wertzuweisung verwendet wird. +\end{Declaration} + +\minisec{Bindekorrektur} +\index{Satzspiegel!Bindekorrektur|!}% +% +Im Zusammenhang mit den Seitenrändern oder besser dem Satzspiegel ist die durch +das Paket \Package{typearea} zur Verfügung gesellte \KOMAScript-Option +\Option{BCOR=\PName{Längenwert}}(\Package{typearea})'none'|declare| zu +erwähnen. Mit dieser kann bei der Satzspiegelberechnung ein Heftrand respektive +eine Bindekorrektur berücksichtigt werden. Durch die \TUDScript-Klassen wird +der mit dieser Option angegebene Wert auch an das Paket \Package{geometry} +weitergereicht, sodass der Benutzer unabhängig von der Satzspiegelgestaltung +(\Option{cdgeometry}) die Option \Option{BCOR}(\Package{typearea})'none' nutzen +kann. So lässt sich eine Bindekorrektur von beispielsweise \unit[5]{mm} mit der +\emph{Klassenoption} \Option*{BCOR=5mm} festlegen. + +Eine Anpassung der Bindekorrektur hat natürlich \emph{immer} eine Änderung der +verfügbaren Breite des Textbereichs zur Folge hat und führt somit zwingend zu +einer Anpassung des Satzspiegels. Da die Bindekorrektur jedoch abhängig von der +Höhe des Buchblocks gewählt werden sollte, welche letztendlich erst mit dem +Druck des fertiggestellten Dokumentes bestimmt werden kann, muss diese zu +Beginn abgeschätzt werden. +% +\begin{Example} +Als Faustregel gilt, dass die erforderliche Bindekorrektur in etwa der halben +Höhe des Buchblocks entsprechen sollte. Dessen Höhe wiederum ist abhängig von +der Anzahl der Seiten sowie der Dichte des verwendeten Papiers. Wird normales +Papier mit einer Dichte von \unit[80]{g/m²} verwendet, so entsprechen 100~Blatt +in etwa einer Höhe von \unit[10]{mm}, bei \unit[100]{g/m²} ca. \unit[12]{mm}. +Dementsprechend wäre eine Bindekorrektur von \Option*{BCOR=5mm} beziehungsweise +\Option*{BCOR=6mm} bei diesem Beispiel zu wählen. +\index{Satzspiegel|)}% +\end{Example} + +\minisec{Kopf"~ und Fußzeile im Zusammenspiel mit dem Satzspiegel} +\index{Layout!Kopfzeile|?}% +\index{Layout!Fußzeile|?}% +% +Da im \CD nicht festgelegt ist, wie die Gestaltung der Kopf"~ und Fußzeilen in +einer wissenschaftlichen Arbeit auszuführen ist, bleibt dem Nutzer dafür eine +gewisse Freiheit. Dafür sollte idealerweise das zu \KOMAScript{} gehörige Paket +\Package{scrlayer-scrpage} genutzt werden. + +In der Dokumentation zu \Package{typearea} wird auch darauf eingegangen, wann +Kopf"~ und Fußzeile bei der Satzspiegelkonstruktion entweder dem Rand oder dem +Textkörper zugeschlagen werden sollten. Dies sollte bei der Erstellung eigener +Kopf"~ und Fußzeilen beachtet werden. Die Einstellung dafür erfolgt mit den +beiden \KOMAScript"=Optionen +\Option{headinclude=\PBoolean}(\Package{typearea})'none'|declare| sowie +\Option{footinclude=\PBoolean}(\Package{typearea})'none'|declare|. +Diese können~-- unabhängig von der Einstellung zur Satzspiegelgestaltung durch +die Option \Option{cdgeometry}~-- verwendet werden. + + +\subsection{Die Gestalt von Titel, Umschlagseite, Teilen sowie Kapiteln \& Co.} +\index{Layout!Farben|(}% +\index{Layout!Seitenstil|(}% +\index{Layout!Überschriften|(}% +% +Falls die nachfolgend beschriebene Option \Option{cd=\PSet} aktiviert ist, +werden einige, spezielle Seiten im prägnanten Stil mit dem Logo der \TnUD und +der dazugehörigen Kopfzeile mit Querbalken gesetzt. Dies betrifft insbesondere +\hyperref[sec:title]{die Umschlagseite und den Titel aus \autoref{sec:title}}, +die \hyperref[sec:part]{Teileseiten in \autoref{sec:part}} sowie die +\hyperref[sec:chapter]{Kapitelseiten in \autoref{sec:chapter}}. Mit den +\PageStyle{tudheadings}"=Seitenstilen oder der \Environment{tudpage}"=Umgebung +können weitere Seiten in diesem Stil erzeugt werden. Wird das Paket +\Package{tudscrsupervisor} verwendet und mit den bereitgestellten Befehlen oder +Umgebungen eine Aufgabenstellung, ein Gutachten oder ein Aushang erstellt, so +erscheinen auch diese in besagtem Seitenstil. +% +\begin{Declaration}[% + v2.03!\Option{cd=bicolor}:% + Farbeinsatz nur im Kopf mit farbig abgesetztem Querbalken; + v2.03!\Option{cd=fullcolor}:% + voller Farbeinsatz mit farbig abgesetztem Querbalken;% + v2.04!\Option{cd=barcolor}:nur farbig abgesetzter Querbalken;% +]{\Option{cd=\PSet}}[true] +\printdeclarationlist% +% +Mit dieser Option wird festgelegt, ob und wie das \TUDCD im gesamten Dokument +verwendet wird. Sie hat Einfluss auf die Ausprägung von Titel"~, Teil"~, und +Kapitelseiten sowie die Überschriften der weiteren Gliederungsebenen. +% +\begin{values}{\Option{cd}} +\itemfalse + Diese Einstellung erzeugt das Standard"=Verhalten der \KOMAScript"=Klassen, + es wird kein \CD genutzt. +\itemtrue*[nocolor/monochrome] + Das Layout für Titel"~, Teil"~ und Kapitelseiten ist im \CD, es wird + schwarze Schrift für Titel, Teil"~ und Kapitelüberschriften verwendet. Die + Ausprägung des Seitenkopfes ist abhängig von der Option \Option{cdhead}. +\item[lightcolor/pale] + Die Einstellung entspricht weitestgehend der Option \Option{cd=true}, + allerdings wird die primäre Hausfarbe \Color{HKS41} für den Kopf des + \PageStyle{tudheadings}"=Seitenstils und Überschriften genutzt. +\item[barcolor] + \ChangedAt{v2.04} + Zusätzlich zur vorherigen Einstellung wird außerdem der Querbalken farbig + abgesetzt. +\item[bicolor/bichrome] + \ChangedAt{v2.03} + Der Kopf wird mit einem farbigen Hintergrund in der Hausfarbe gesetzt, auch + der Querbalken wird farbig hinterlegt. Für die Überschriften wird die + primären Hausfarbe verwendet. +\item[color] + Der Titel sowie Teil"~ und Kapitelseiten werden allesamt farbig gestaltet, + der Seitenkopf wird in der primären Hausfarbe \Color{HKS41} gesetzt, der + Querbalken erhält Linien als Begrenzung. +\item[fullcolor/full] + \ChangedAt{v2.03} + Entspricht der vorherigen Einstellung, allerdings wird der Querbalken nicht + durch Linien begrenzt sondern farbig hinterlegt. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.06]{\Option{headings=\PSet}}[heavy] +\printdeclarationlist% +\index{Schriftstärke}% +% +Die Option \Option{headings=\PSet}(\Package{koma-script})'none' wird bereits +von \KOMAScript{} definiert und dient unter anderem zum Festlegen der Größe von +Überschriften. Diese wird von \TUDScript erweitert, um im Layout des \CDs die +Schriftstärke der Überschriften anpassen zu können. +% +\begin{values}{\Option{headings}} +\item[light/normalbold] + Die Überschriften werden in fetter Schrift gesetzt. +\item[heavy/ultrabold] + Für Überschriften wird die extra"~fette Schriftstärke verwendet. +\end{values} +% +Die Einstellungen gelten für die Gliederungsebenen bis einschließlich +\Macro*{subsubsection}. +\end{Declaration} + + +\subsubsection{Individuelle Einstellungen für einzelne Elemente des Layouts} +Das Verhalten aller für das Layout relevanten Elemente wird von der eben zuvor +erläuterten Option \Option{cd=\PSet} bestimmt. Dies betrifft zum einen sowohl +den Titel~(\Macro{maketitle}) als auch die Umschlagseite~(\Macro{makecover}) +und zum anderen alle Teileseiten +(% + \Macro{part}(\Package{koma-script})'none', + \Macro{addpart}(\Package{koma-script})'none'% +) +und Kapitelseiten +(% + \Macro{chapter}(\Package{koma-script})'none', + \Macro{addchap}(\Package{koma-script})'none'% +) +sowie alle darunter liegenden Gliederungsebenen. + +Soll ein bestimmtes Element des Layouts abweichend von der allgemeinen +Einstellung für das gesamte Dokument erscheinen, so kann eine der folgenden +Optionen genutzt werden, um dieses individuell anzupassen und die mit +\Option{cd=\PSet} eingestellten Vorgaben für das jeweilige Element zu +überschreiben.% +\footnote{% + \Option{cdtitle} für den Titel, \Option{cdcover} für die Umschlagseite, + \Option{cdpart} für Teile, \Option{cdchapter} für Kapitel sowie + \Option{cdsection} für alle darunter liegenden Gliederungsebenen% +} +Die gültigen Wertzuweisungen für die einzelnen Elemente entsprechend dabei den +möglichen Werten für die Option \Option{cd=\PSet}. + +Zu beachten ist dabei, dass die verwendete Schrift für die Elemente des Layouts +abhängig von der Option \Option{cdfont=\PSet} ist. Für Titel- und Umschlagseite +kann diese direkt über das optionale Argument von \Macro{maketitle} respektive +\Macro{makecover} geändert werden. + +\begin{Declaration}[% + v2.03!\Option{cdtitle=bicolor}:% + Farbeinsatz nur im Kopf mit farbig abgesetztem Querbalken; + v2.03!\Option{cdtitle=fullcolor}:% + voller Farbeinsatz mit farbig abgesetztem Querbalken; + v2.04!\Option{cdtitle=barcolor}:nur farbig abgesetzter Querbalken;% +]{\Option{cdtitle=\PSet}} +\printdeclarationlist% +\index{Titel|?}% +% +Mit der Option \Option{cdtitle} kann die allgemeine Einstellung für den Titel +überschrieben werden. Es kann zwischen dem normalen (\Option*{cdtitle=false}) +und dem im \CD umgeschaltet werden. Die neue Titelseite unterstützt alle durch +\KOMAScript{} definierten Befehle für den Titel.% +\footnote{% + \Macro{extratitle}[\Parameter{Schmutztitel}](\Package{koma-script}), + \Macro{frontispiece}[\Parameter{Frontispiz}](\Package{koma-script}) für eine + Seite vor dem eigentlichen Haupttitel sowie + \Macro{titlehead}[\Parameter{Kopf}](\Package{koma-script}), + \Macro{subject}[\Parameter{Typisierung}], \Macro{title}[\Parameter{Titel}], + \Macro{subtitle}[\Parameter{Untertitel}], \Macro{author}[\Parameter{Autor}], + \Macro{and}, \Macro{thanks}[\Parameter{Fußnote}](\Package{koma-script}), + \Macro{publishers}[\Parameter{Verlag}](\Package{koma-script}) und + \Macro{date}[\Parameter{Datum}] für den Titel selbst sowie + \Macro{uppertitleback}[\Parameter{Titelrückseitenkopf}](\Package{koma-script}) + und + \Macro{lowertitleback}[\Parameter{Titelrückseitenfuß}](\Package{koma-script}) + für die Rückseite des Titels sowie abschließend + \Macro{dedication}[\Parameter{Widmung}](\Package{koma-script}) für eine + Danksagung. +} +Zusätzlich werden viele neue Felder definiert, welche vor allem für eine +wissenschaftliche Arbeit von Relevanz sind. Genaueres dazu +ist in \autoref{sec:title} nachzulesen. Unabhängig von der gewählten Variante +der Titelseite wird diese immer mit \Macro{maketitle} erzeugt. +\end{Declaration} + +\begin{Declaration}[% + v2.02;% + v2.03!\Option{cdcover=bicolor}:% + Farbeinsatz nur im Kopf mit farbig abgesetztem Querbalken; + v2.03!\Option{cdcover=fullcolor}:% + voller Farbeinsatz mit farbig abgesetztem Querbalken; + v2.04!\Option{cdcover=barcolor}:nur farbig abgesetzter Querbalken;% +]{\Option{cdcover=\PSet}} +\printdeclarationlist% +\index{Umschlagseite|?}% +% +Die \TUDScript-Klassen führen zusätzlich den Befehl \Macro{makecover} ein, mit +dem sich neben dem Titel eine separate Umschlagseite erzeugen lässt. Diese ist +in ihrer Gestalt der Titelseite sehr ähnlich, wird normalerweise jedoch in +einem anderen Satzspiegel als dem des Buchblocks gesetzt. Mit der Option +\Option{cdcover} kann~-- unabhängig von \Option{cd=\PSet}~-- das Aussehen der +Umschlagseite geändert werden. Wird \Option*{cdcover=false} gewählt, entspricht +die Umschlagseite dem originalen \KOMAScript-Titel. Die Verwendung des Befehls +\Macro{makecover} sowie die dazugehörigen Parameter werden detailliert in +\autoref{sec:title} erläutert. +\end{Declaration} + +\begin{Declaration}[% + v2.03!\Option{cdpart=bicolor}:% + Farbeinsatz nur im Kopf mit farbig abgesetztem Querbalken; + v2.03!\Option{cdpart=fullcolor}:% + voller Farbeinsatz mit farbig abgesetztem Querbalken; + v2.04!\Option{cdpart=barcolor}:nur farbig abgesetzter Querbalken;% +]{\Option{cdpart=\PSet}} +\printdeclarationlist% +\index{Layout!Teileseiten|?}% +% +Für die Teileseiten kann der Wert des Schlüssels \Option{cd=\PSet} separat +überschrieben und somit deren Layout respektive Erscheinungsbild beeinflusst +werden, welches bei der Benutzung der Befehle +\Macro{part}(\Package{koma-script})'none' und +\Macro{addpart}(\Package{koma-script})'none' sowie deren Sternversionen +verwendet wird. In \autoref{sec:part} sind weitere Hinweise zur Teileseite im +\CD zu finden. +\end{Declaration} + +\begin{Declaration}[% + v2.03!\Option{cdchapter=bicolor}:% + Farbeinsatz nur im Kopf mit farbig abgesetztem Querbalken; + v2.03!\Option{cdchapter=fullcolor}:% + voller Farbeinsatz mit farbig abgesetztem Querbalken; + v2.04!\Option{cdchapter=barcolor}:nur farbig abgesetzter Querbalken;% +]{\Option{cdchapter=\PSet}} +\printdeclarationlist% +\index{Layout!Kapitelseiten|?}% +% +Für Kapitelseiten kann der Schlüsselwert \Option{cd=\PSet} ebenfalls angepasst +und damit das Layout respektive Erscheinungsbild geändert werden, das bei der +Verwendung von \Macro{chapter}(\Package{koma-script})'none' beziehungsweise +\Macro{addchap}(\Package{koma-script})'none' und den dazugehörigen +Sternversionen genutzt wird. Weitere Hinweise zur Kapitelseite im \CD sind in +\autoref{sec:chapter} zu finden. +\end{Declaration} + +\begin{Declaration}[v2.05]{\Option{cdsection=\PSet}} +\printdeclarationlist% +% +Für Überschriften der weiteren Gliederungsebenen +\Macro{section}(\Package{koma-script})'none', +\Macro{subsection}(\Package{koma-script})'none', +\Macro{subsubsection}(\Package{koma-script})'none' sowie +\Macro{paragraph}(\Package{koma-script})'none' und +\Macro{subparagraph}(\Package{koma-script})'none' +werden in der primären Hausfarbe \Color{HKS41} ausgegeben, falls über die +Option \Option{cd=\PSet} eine farbige Ausprägung des Layouts eingestellt wurde. +Mit der Angabe von \Option*{cdsection=true} erscheinen die Überschriften der +genannten Gliederungsebenen ohne Farbeinsatz. +\end{Declaration} +% +\begin{Example} +Soll die Titelseite in Farbe, der Rest des Dokumentes allerdings in schwarzer +Schrift gesetzt werden, so kann dies folgendermaßen erreicht werden: +\begin{Code}[escapechar=§] +\documentclass[cd=true,cdtitle=color]{§\PName{Dokumentklasse}§} +\end{Code} +\index{Layout!Farben|)}% +\index{Layout!Seitenstil|)}% +\end{Example} + + +\subsubsection{Die vertikale Position der Überschriften} +\begin{Declaration}[v2.05]{\Option{pageheadingsvskip=\PName{Längenwert}}} +\begin{Declaration}[v2.05]{\Option{headingsvskip=\PName{Längenwert}}} +\printdeclarationlist% +\index{Layout!Teileseiten|?}% +\index{Layout!Kapitelseiten|?}% +% +Mit diesen beiden Optionen kann die vertikale Position spezieller Überschriften +verändert werden. Mit der Option \Option{pageheadingsvskip} lässt sich sowohl +der Titel auf einer Titelseite +(\KOMAScript-Option \Option{titlepage=true}(\Package{koma-script})'none') als +auch die Überschriften von separaten Kapitelseiten (\Option{chapterpage=true}) +und Teilen vertikal verschieben. Demgegenüber kann mit der zweiten Option +\Option{headingsvskip}, sowohl den Titel des Titelkopfes +(\KOMAScript-Option \Option{titlepage=false}(\Package{koma-script})'none') als +auch die Kapitelüberschrift bei deaktivierter Kapitelseite +(\Option{chapterpage=false}) in ihrer vertikalen Position anzupassen. + +Die zuvor genannten Überschriften werden normalerweise im Layout relativ tief +im Textbereich gesetzt. Mit negativen Werten werden die Überschriften nach oben +verschoben, wobei darauf geachtet werden sollte, dass diese sich danach noch +innerhalb des Satzspiegels befinden. Positive Werte setzen die Überschriften +dementsprechend tiefer. +\index{Layout!Überschriften|)}% +\end{Declaration} +\end{Declaration} + + + +\subsection{Seiten im Stil des \CDs} +\tudhyperdef*{sec:tudheadings}% +\index{Layout!Seitenstil|?(}% +% +\begin{Declaration}{\Macro{faculty}[\Parameter{Fakultät}]} +\begin{Declaration}{\Macro{department}[\Parameter{Einrichtung}]} +\begin{Declaration}{\Macro{institute}[\Parameter{Institut}]} +\begin{Declaration}{\Macro{chair}[\Parameter{Lehrstuhl}]} +\begin{Declaration}{\Macro{extraheadline}[\Parameter{Textzeile}]} +\printdeclarationlist% +\index{Layout!Kopfzeile}% +\index{Layout!Querbalken}% +% +Für den Seitenstil des \TUDCDs charakteristisch ist die Kopfzeile mit dem +prägnanten Querbalken. In dieser wird~-- falls angegeben~-- in fetter Schrift +die Fakultät ausgegeben, danach folgen durch Kommas getrennt die Einrichtung, +das Institut und der Lehrstuhl beziehungsweise die Professur. Sollte der Platz +in der ersten Zeile nicht ausreichen, erfolgt ein automatischer Zeilenumbruch. + +In besonderen Ausnahmefällen erlaubt das \CD die Angabe einer zusätzlichen +zweiten beziehungsweise dritten Zeile unterhalb der Angaben des Bereichs an der +\TnUD, welche weitere, frei wählbare Angaben enthält. Diese kann mit dem Befehl +\Macro{extraheadline}[\Parameter{Textzeile}] definiert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +% +\begin{Declaration}[v2.02]{\PageStyle{tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{plain.tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{empty.tudheadings}} +\printdeclarationlist% +% +\ChangedAt*{% + v2.03:Seitenstile um zweifarbigen Kopf und farbigen Fuß erweitert% +} +Ein zentrales Element des \TUDCDs ist der prägnante Seitenkopf mit der Angabe +von Fakultät~(\Macro{faculty}), Einrichtung~(\Macro{department}), +Institut~(\Macro{institute}) und Lehrstuhl~(\Macro{chair}) im dazugehörigen +Querbalken. Durch die Nutzung des Paketes \Package{scrlayer-scrpage} lassen +sich entweder einzelne Seiten oder auch ganze Dokumente sehr einfach in diesem +Stil setzen. Dazu muss lediglich mit +\Macro{pagestyle}[\Parameter{Seitenstil}](\Package{koma-script})'none' einer +der Seitenstile geladen werden. + +Allen Seitenstilen gemein ist der typische Kopf mit dem charakteristischen +Querbalken, dessen Gestalt für \emph{alle} Seitenstile gleichermaßen über die +Option \Option{cdhead} angepasst werden kann. Mit dem Befehl \Macro{headlogo} +lässt sich ein zusätzliches Zweitlogo im Kopfbereich ausgegeben. +\Attention{% + Für die speziellen Layout-Elemente Titel und Umschlagseite sowie Teile- und + Kapitelseiten wird die Einstellung von \Option{cdhead} durch die Nutzung der + Option~\Option{cd=\PSet} überschrieben. +} + +Die Ausprägung des Fußes unterscheidet sich bei den einzelnen Seitenstilen. +Dieser ist beim Seitenstil \PageStyle{empty.tudheadings} immer leer. Die beiden +Stile~-- oder vielmehr das Seitenstil"~Paar~-- \PageStyle{tudheadings} und +\PageStyle{plain.tudheadings} übernehmen die Einstellungen für die Fußzeile aus +der Anwenderschnittstelle von \Package{scrlayer-scrpage}.% +\footnote{% + Es können die Befehle + \Macro{lefoot}(\Package{scrlayer-scrpage})'none', + \Macro{cefoot}(\Package{scrlayer-scrpage})'none' und + \Macro{refoot}(\Package{scrlayer-scrpage})'none' sowie + \Macro{lofoot}(\Package{scrlayer-scrpage})'none', + \Macro{cofoot}(\Package{scrlayer-scrpage})'none' und + \Macro{rofoot}(\Package{scrlayer-scrpage})'none' respektive + \Macro{ofoot}(\Package{scrlayer-scrpage})'none', + \Macro{cfoot}(\Package{scrlayer-scrpage})'none' und + \Macro{ifoot}(\Package{scrlayer-scrpage})'none' + genutzt werden.% +} +Wie die einzelnen Befehle zur Individualisierung der Fußzeile zu verwenden +sind, kann der \scrguide[\KOMAScript-Anleitung] entnommen werden. Alternativ +zu einer eigenen Definition der Fußzeile lässt sich außerdem die Option +\Option{cdfoot} verwenden. Zusätzlich kann über \Macro{footcontent} ein freier +Inhalt für den Fußbereich definiert werden, mit \Macro{footlogo} ist die +Ausgabe von einem oder mehreren Logos in diesem möglich. Die verwendete Schrift +im Fußbereich wird durch das Schriftelement~\Font{tudheadings} festgelegt. + +Sobald einer der definierten Stile mit +\Macro{pagestyle}[\Parameter{Seitentil}](\Package{koma-script})'none' aktiviert +wurde, sind die beiden Seitenstile \PageStyle{tudheadings} sowie +\PageStyle{plain.tudheadings} zusätzlich unter den Namen \PageStyle{headings} +respektive \PageStyle{plain} verwendbar. Dies hat den Vorteil, dass bei +Optionen oder Befehlen, welche automatisch zwischen den beiden Seitenstilen +\PageStyle{headings} und \PageStyle{plain} umschalten, durch die einmalige +Auswahl von einem der \PageStyle{tudheadings}"=Stilen nun zwischen diesen +umgeschaltet wird. + +Der Seitenstil \PageStyle{empty} erzeugt allerdings weiterhin eine komplett +leere Seite. Soll eine Seite mit der prägnanten Kopfzeile der \TnUD und leerem +Seitenfuß erschienen, so muss \Macro*{pagestyle}[\PParameter{empty.tudheadings}] +manuell aufgerufen werden. Um auf das normale Verhalten von \KOMAScript{} +zurückzuschalten, muss mit \Macro*{pagestyle}[\Parameter{Seitentil}] einer der +beiden Seitenstile \PageStyle{scrheadings}(\Package{scrlayer-scrpage})'none' +oder \PageStyle{plain.scrheadings}(\Package{scrlayer-scrpage})'none' aktiviert +werden. +\index{Layout!Seitenstil|?)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[% + v2.03;% + v2.04!\Option{cdhead=barcolor}:nur farbig abgesetzter Querbalken;% + v2.05!\Option{cdhead=date}:Datum zwischen Kopf- und Textbereich;% +]{\Option{cdhead=\PSet}}[true,nocolor,textwidth] +\printdeclarationlist% +\index{Layout!Seitenstil|(}% +\index{Layout!Kopfzeile}% +\index{Layout!Querbalken}% +\index{Datum}% +% +Mit dieser Option lassen sich für die \PageStyle{tudheadings}"=Seitenstile +sowohl die Gestalt des Logos sowie des Querbalkens als auch die darin +verwendete Schrift beeinflussen. Die folgenden Werte können für eine Anpassung +der Schriftart im Balken verwendet werden: +% +\begin{values}{\Option{cdhead}} +\itemfalse + Sollte mit \Option{cdfont=false} die Verwendung der Hausschrift im Stil des + \TUDCDs deaktiviert worden sein, wird die Kopfzeile im Querbalken in den + Serifenlosen der aktiven Schrift gesetzt. Ist die Hausschrift aktiviert, + hat diese Einstellung keinen Einfluss. +\itemtrue*[light/lightfont/noheavyfont] + Im Querbalken wird für \Macro{faculty} \textcdsn{Open~Sans~Semi"~Bold} + verwendet, für \Macro{department}, \Macro{institute}, + \Macro{chair} und \Macro{extraheadline} kommt \textcdln{Open~Sans~Light} zum + Einsatz. +\item[heavy/heavyfont] + Der Inhalt von \Macro{faculty} wird in \textcdbn{Open~Sans~Bold} gesetzt, für + die restlichen Felder wird \textcdrn{Open~Sans~Regular} genutzt. +\end{values} +% +Bei der Ausprägung des Kopfes und des Querbalkens gibt es mehrere Varianten. +Einerseits kann der Querbalken mit zwei Außenlinien dargestellt werden: +% +\begin{values}{\Option{cdhead}} +\item[nocolor/monochrome] + Der Kopf und die Linien des Querbalkens erscheinen in schwarzer Farbe. +\item[lightcolor/pale] + Sowohl Kopf als auch Querbalken werden in der primären Hausfarbe gesetzt. +\end{values} +% +Andererseits ist auch eine Darstellung mit mehr Farbeinsatz möglich, bei +welcher der Querbalken und gegebenenfalls der ganze Seitenkopf farbig +abgesetzt wird. Dabei erstreckt sich der Kopfbereich immer über die komplette +Seitenbreite, \seeref{\Option{cdhead=paperwidth}}. +% +\begin{values}{\Option{cdhead}} +\item[barcolor] + \ChangedAt{v2.04} + Im Gegensatz zur vorherigen Einstellung wird der Querbalken mit farbigem + Hintergrund verwendet, der darüber liegende Teil des Kopfes wird ohne + farbigen Hintergrund gesetzt. +\item[bicolor/bichrome] + \ChangedAt{v2.03} + Die Kopfzeile wird farbig abgesetzt, wobei der Hintergrund des Logos und der + Querbalken unterschiedlich ausfallen. Die Außenlinien der Querbalkens + entfallen. +\end{values} +% +Für den Fall, dass der Querbalken lediglich mit zwei Außenlinien dargestellt +wird, kann zusätzlich dessen Laufweite festgelegt werden: +% +\begin{values}{\Option{cdhead}} +\item[textwidth/slim] + Der Querbalken im Kopf erstreckt sich nur über den Textbereich. Diese + Einstellung ist insbesondere sinnvoll, wenn ein randloser Ausdruck technisch + nicht möglich ist. +\item[paperwidth/wide] + Die horizontale Ausdehnung des Querbalkens erstreckt sich über die komplette + Seitenbreite bis an den Blattrand. Dieses Verhalten lann im farbigen Layout + des Kopfes nicht deaktiviert werden. +\end{values} +% +\ChangedAt{v2.05} +Neben den zuvor beschriebenen Möglichkeiten zur Gestaltung des Kopfbereiches +kann auf allen Seiten mit aktiviertem \PageStyle{tudheadings}"=Seitenstil +unterhalb des Querbalkens das mit \Macro{date} angegebene Datum rechtsbündig +eingeblendet werden. +% +\begin{values}{\Option{cdhead}} +\item[date/showdate] + Das eingestellte Datum wird rechts oberhalb vom Textbereich eingeblendet. +\item[nodate/hidedate] + Es erscheint kein Datum zwischen Kopf- und Textbereich. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.03!\Option{cdfoot=color}:farbiger Hintergrund der Fußzeile;% + v2.03!\Option{cdfoot=\PValueName{Höhe}};% +]{\Option{cdfoot=\PSet}}[false]% +\printdeclarationlist% +\index{Layout!Fußzeile}% +\index{Layout!Kolumnentitel}% +\index{Satzspiegel!doppelseitig}% + +Die \TUDScript-Klassen sind~-- insbesondere aufgrund der Möglichkeit zur +Verwendung des Paketes \Package{scrlayer-scrpage}~-- bei der Gestaltung der +Kopf"~ und Fußzeilen sehr flexibel und individuell anpassbar. Die Ausprägung +und der Inhalt dieser ist nicht explizit durch das \CD vorgegeben und können +durch den Anwender beliebig gewählt und geändert werden. + +Eine Möglichkeit für deren Gestaltung zeigt das Handbuch für das \TUDCD. Dieses +wird ohne Kopf"~ und mit einer einfachen Fußzeile gesetzt, welche den aktuellen +Kolumnentitel sowie die Paginierung enthält. Mit \Option{cdfoot} kann diese +Ausprägung aktiviert werden, was auch für dieses Anwenderhandbuch geschehen ist. +% +\begin{values}{\Option{cdfoot}} +\itemfalse + Die Kopf"~ und Fußzeilen zeigen Standardverhalten, zur manuellen Änderung + sollte unbedingt das \KOMAScript"=Paket \Package{scrlayer-scrpage} verwendet + werden. +\itemtrue* + Die Fußzeilen des Dokumentes werden äquivalent zum Handbuch des \TUDCDs mit + lebenden Kolumnentitel und Seitenzahl gesetzt, wobei im doppelseitigen Satz + (Klassenoption \Option{twoside=true}(\Package{typearea})'none') die + Paginierung außen platziert wird. +\end{values} +% +Wird beim Laden der Klasse respektive des Paketes \Package{scrlayer-scrpage} +die Option \Option{manualmark}(\Package{scrlayer-scrpage})'none'|declare| nicht +explizit angegeben, so werden mit \Option{cdfoot=true} über die +\KOMAScript-Option \Option{automark}(\Package{scrlayer-scrpage})'none'|declare| +auch gleichzeitig die automatischen Kolumnentitel aktiviert, welche als Marken +die Titel der Gliederungsebenen verwendet. Genaueres dazu und der Möglichkeit, +die Kolumnentitel manuell festzulegen, ist dem \scrguide zu entnehmen. + +\ChangedAt{v2.03} +Sollte einer der \PageStyle{tudheadings}"=Seitenstil aktiviert sein und es wird +auf der erzeugten Seite ein farbiges Layout~-- beispielsweise der zweifarbige +Kopf (\Option{cdhead=bicolor}) oder ein farbiger Seitenhintergrund~-- genutzt, +so kann auch die Fußzeile einen farbigen Hintergrund erhalten. +% +\begin{values}{\Option{cdfoot}} +\item[nocolor/monochrome] + Der Fuß wird immer ohne farbigen Hintergrund gesetzt. +\item[color/bicolor/bichrome] + Die Fußzeile wird farbig abgesetzt, falls entweder der Kopf in einer farbigen + Variante genutzt wird (\seeref{\Option{cdhead}}) oder eine Seite mit einem + farbigen Hintergrund in der Hausfarbe (Titel oder Kapitelseite) aktiv ist. +\end{values} +% +Mit den Befehlen \Macro{footlogo}'ppage' und \Macro{footcontent}'ppage' können +für den Fußbereich zusätzliche Inhalte definiert werden. Sollte der zur +Verfügung stehende Platz hierfür nicht ausreichen, lässt sich dieser vergrößern. +% +\begin{values}{\Option{cdfoot}} +\item[\PValueName{Höhe}] + Wird der Option ein Längenwert übergeben, entspricht dies exakt der + Verwendung von Option \Option{extrabottommargin=\PName{Höhe}}. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.04]{\Font{tudheadings}} +\printdeclarationlist% +\index{Schriftelemente}% +% +Im Fußbereich der Seiten im \PageStyle{tudheadings}"=Seitenstil wird das +Schriftelement~\Font{tudheadings} verwendet. Dieses wirkt sich auf die +Seitenzahlen, den Kolumnentitel und die mit \Macro{footcontent} angegebenen +Inhalte aus. Hierüber wird die Wahl der richtigen Schriftfarbe in Abhängigkeit +vom Seitenhintergrund und den Einstellungen für die Optionen \Option{cdhead} +sowie \Option{cdfoot} realisiert. Wie \Font{tudheadings} angepasst werden +kann, ist in \autoref{sec:fonts:elements} zu finden. +\end{Declaration} + +\begin{Declaration}{\Macro{headlogo}[\LParameter\Parameter{Dateiname}]} +\printdeclarationlist% +\index{Layout!Kopfzeile}% +\index{Layout!Zweitlogo|?}% +\index{Layout!Dresden-concept-Logo@\DDC-Logo}% +% +Neben dem Logo der \TnUD darf zusätzlich ein Zweitlogo im Kopf verwendet +werden. Dieses lässt sich mit diesem Befehl einbinden. Normalerweise wird es +auf die Höhe der Erstlogos skaliert. Über das optionale Argument können weitere +Formatierungsbefehle an den im Hintergrund verwendeten Befehl +\Macro{includegraphics}(\Package{graphicx})'none' durchgereicht werden, um +beispielsweise die Größe des Zweitlogos anzupassen. Welche Parameter angepasst +werden können, ist der Dokumentation des \Package{graphicx}"=Paketes zu +entnehmen. + +Sollte die Option \Option{ddc} aktiviert sein, wird das \DDC-Logo nicht im Kopf +sondern automatisch im Fuß gesetzt. Die Option \Option{ddchead} setzt dieses +auf jeden Fall im Kopf und überschreibt damit das mit \Macro{headlogo} +angegebene Zweitlogo. +\end{Declaration} + +\begin{Declaration}[v2.03]{% + \Macro{footlogo}[\LParameter\Parameter{Dateinamenliste}]% +} +\begin{Declaration}[v2.03]{\Macro{footlogosep}}% +\printdeclarationlist% +\index{Layout!Fußzeile}% +\index{Layout!Drittlogo}% +\index{Layout!Dresden-concept-Logo@\DDC-Logo}% + +Laut den Richtlinien des \CDs dürfen im Fußbereich weitere Logos erscheinen, +beispielsweise von kooperierenden Unternehmen oder Sponsoren. Die Dateinamen +der gewünschten Logos können als kommaseparierte Liste im obligatorischen +Argument des Befehls \Macro{footlogo} angegeben werden. Sollte tatsächlich +nicht nur ein Dateiname sondern eine Liste übergeben worden sein, so wird bei +der Ausgabe der Logos zwischen diesen jeweils der in \Macro{footlogosep} +gespeicherte Separator~-- standardmäßig \Macro*{hfill}~-- gesetzt. Dieser kann +mit \Macro*{renewcommand*}[\PParameter{\Macro{footlogosep}}\PParameter{\dots}] +beliebig durch den Anwender angepasst werden. Der Separator wird auch gesetzt, +falls in \PName{Dateinamenliste} lediglich ein Komma verwendet wurde. Mit +\Macro{footlogo}[\PParameter{,\PName{Dateiname},}] kann so beispielsweise ein +Logo zentriert im Fuß gesetzt werden. +\Attention{% + Dabei ist zu beachten, dass ein mit der Option \Option{ddc} beziehungsweise + \Option{ddcfoot} gesetztes \DDC-Logo im Fußbereich~-- im Gegensatz zur + Verwendung von \Macro{footcontent}~-- überlagert werden könnte. Hier muss der + Anwender im Zweifel durch das Einfügen von Separatoren~-- sprich Kommas~-- im + Argument von \Macro{footlogo} etwas Formatierungsarbeit leisten. +} + +Das optionale Argument von \Macro{footlogo} wird an +\Macro{includegraphics}(\Package{graphicx})'none' weitergereicht. Dies +geschieht für alle angegeben Dateien aus der Liste gleichermaßen. Sollen für +einzelne Logos individuelle Einstellungen vorgenommen werden, so sind die +entsprechenden Parameter im obligatorischen Argument nach dem jeweiligen +Dateinamen mit einem Doppelpunkt~\enquote{\PValue{:}} als Separator +(\Macro{footlogo}[\PParameter{\PName{Dateiname}:\PName{Parameter}}]) zu +übergeben, wobei diese \emph{nach} den allgemeinen Einstellungen für alle Logos +angewendet werden. Die möglichen Parameter und Werte für die optionalen +Argumente sind der Dokumentation des \Package{graphicx}"=Paketes zu entnehmen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.05]{\Option{footlogoheight=\PName{Längenwert}}}% +\printdeclarationlist% +% +Ohne die Angabe eines optionalen Argumentes bei \Macro{footlogo} für die Größe +werden alle Logos im Fuß auf die Höhe des Logos der \TnUD skaliert. Dies kann +global für alle Logos geändert werden, indem die Option +\Option{footlogoheight=\PName{Längenwert}} gesetzt wird. Sollte die Höhe des +Fußbereiches nicht ausreichen, um alle Logos in der gewünschten Größe +darstellen zu können, kann diese über \Option{extrabottommargin=\PName{Höhe}} +beziehungsweise \Option{cdfoot=\PValueName{Höhe}} angepasst werden. +\end{Declaration} + +\begin{Declaration}[% + v2.04; + v2.05:Änderung des Inhaltes nur einer Spalte möglich +]{% + \Macro{footcontent}[% + \OParameter{Anweisungen}\Parameter{Inhalt}\OParameter{Inhalt}% + ]% +} +\begin{Declaration}[v2.04]{% + \Macro{footcontent*}[% + \OParameter{Anweisungen}\Parameter{Inhalt}\OParameter{Inhalt}% + ]% +} +\printdeclarationlist% +\index{Layout!Fußzeile}% +% +Mit diesem Befehl kann beliebiger Inhalt entweder einspaltig oder zweispaltig +im Fußbereich der \PageStyle{tudheadings}"=Seitenstile gesetzt werden. In der +Form \Macro{footcontent}[\Parameter{Inhalt}] wird der Inhalt über die komplette +Textbreite im Fuß ausgegeben. Wird der Befehl jedoch in der zweiten Variante +\Macro{footcontent}[\Parameter{linker Inhalt}\OParameter{rechter Inhalt}] mit +einem optionalen \emph{nach} dem obligatorischen Argument verwendet, so +erscheint der Fußbereich zweispaltig, wobei der Inhalt aus dem ersten, +obligatorischen Argument in der linken und der Inhalt aus dem zweiten, +optionalen Argument entsprechend in der rechten Fußspalte gesetzt wird. Dabei +wird ein etwaiges \DDC-Logo, welches über die Option \Option{ddc} respektive +\Option{ddcfoot} gesetzt wurde, beachtet und der für den Text zur Verfügung +stehende Platz im Fuß reduziert. Mögliche Einstellungen des Paketes +\Package{scrlayer-scrpage} für den Fuß werden nicht berücksichtigt, hier kann +es zu Überlagerungen der Inhalte kommen. Gleiches gilt für die Verwendung der +Werte \PValue{true} und \PValue{false} für die Option \Option{cdfoot}. + +\ChangedAt{v2.05} +Wird an das Argument für die linke oder die rechte Spalte lediglich ein Stern +\PValue{*} übergeben, so bleibt der bis dahin definierte Inhalt in dieser +Spalte erhalten. Beispielsweise kann die linke Fußbereichsspalte mit +\Macro{footcontent}[\Parameter{Inhalt}\POParameter{*}] angepasst werden ohne +dabei den Inhalt der rechten Spalte zu verändern oder es ließe sich lediglich +die verwendete Schrift des Fußbereichs bei gleichbleibendem Inhalt mit +\Macro{footcontent}[\OParameter{Anweisungen}\PParameter{*}\POParameter{*}]% +anpassen. + +Im Fußbereich wird für die Schrift das Schriftelement \Font{tudheadings} +verwendet. Dabei wird auch die Schriftgröße angepasst, wobei diese sich an der +Kopfzeile orientiert. Zusätzlich können mit dem ersten optionalen Argument von +\Macro{footcontent}~-- vor der eigentlichen Ausgabe des Inhaltes~-- zusätzliche +Schrifteinstellungen respektive \PName{Anweisungen} ausgeführt werden. Soll die +Definition des Inhalts im Fußbereich \emph{ohne} eine automatische Anpassung +der Schriftgröße erfolgen, so ist die Sternversion \Macro{footcontent*} zu +verwenden. Auch hier lässt sich gegebenenfalls das optionale Argument für die +Schriftformatierung nutzen. +\ChangedAt{v2.06} +Zu guter Letzt können bei der Änderung des Inhaltes im Fußbereich auch +vorherige Anpassungen der Schrift unverändert bleiben, indem mit +\Macro{footcontent}[\POParameter{*}\Parameter{Inhalt}\OParameter{Inhalt}] +im optionalen Argument ein Stern verwendet wird. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[% + v2.02:Logo von \DDC automatisch in Kopf/Fuß;% + v2.02!\Option{ddc=colorblack}; + v2.02!\Option{ddc=gray}; + v2.02!\Option{ddc=black}; + v2.02!\Option{ddc=blue}; + v2.02!\Option{ddc=white}; +]{\Option{ddc=\PSet}}[false] +\begin{Declaration}[v2.02]{\Option{ddchead=\PSet}} +\begin{Declaration}[v2.02]{\Option{ddcfoot=\PSet}} +\printdeclarationlist% +\index{Layout!Fußzeile}% +\index{Layout!Kopfzeile}% +\index{Layout!Zweitlogo}% +\index{Layout!Dresden-concept-Logo@\DDC-Logo}% +% +Diese Option fügt das Logo von \DDC entweder im Kopf oder Fuß der Seiten mit +dem Stil \PageStyle{tudheadings} ein. Diese wird automatisch entweder im Kopf +oder~-- falls mit \Macro{headlogo} ein Zweitlogo angegeben wurde~-- im Fuß +gesetzt. + +Alternativ dazu können die Optionen \Option{ddchead} beziehungsweise +\Option{ddcfoot} genutzt werden, welche das Logo explizit entweder im Kopf oder +Fuß setzen. Ein mit \Macro{headlogo} angegebenes Zweitlogo wird durch +\Option{ddchead=\PSet} definitiv unterdrückt, \Option{ddcfoot=\PSet} setzt das +\DDC-Logo in jedem Fall in den Seitenfuß. Die Verwendung einer der drei +Optionen führt folglich zur Deaktivierung der anderen beiden. + +Das \DDC-Logo wird standardmäßig sowohl im Kopf als auch im Fuß in der gleichen +Höhe gesetzt, wie das Logo der \TnUD und kann zumindest für den Kopf nicht +geändert. Wird es im Fuß verwendet, lässt sich die Größe über die Option +\Option{footlogoheight} ändern. Sollte nach einer Vergrößerung der Darstellung +die Höhe des Fußbereiches nicht ausreichen, so kann diese über +\Option{extrabottommargin=\PName{Höhe}} respektive +\Option{cdfoot=\PValueName{Höhe}} angepasst werden. +Die möglichen Werte für die drei Schlüssel sind: +% +\begin{values}{\Option{ddc}} +\itemfalse + Bei den \PageStyle{tudheadings}"=Seitenstile erscheint kein Logo von \DDC. +\itemtrue* + Das Logo von \DDC wird im Kopf beziehungsweise im Fuß verwendet. Die Wahl der + Farbe des Logos geschieht passend zur farblichen Ausprägung der Seite selbst. +\end{values} +% +Die Farbe des \DDC-Logos wird in Abhängigkeit der farblichen Ausprägung des +Layouts (Option \Option{cd=\PSet}) automatisch gewählt. Dies lässt sich manuell +ändern: +% +\begin{values}{\Option{ddc}} +\item[color] + Im Kopf oder Fuß wird die achtfarbige 4C"~Variante des \DDC-Logos genutzt. +\item[colorblack] + Es wird das achtfarbige Logo mit schwarzem \DDC-Schriftzug anstelle des + grauen verwendet. Für den Fuß wird der grüne Claim durch einen schwarzen + ersetzt. Dies ist insbesondere für kleine Darstellungen des Logos im Fuß + sinnvoll. +\item[gray/grey] + Dies Ausgabe des \DDC-Logos erfolgt in Graustufen. +\item[black] + Verwendung des Logos in Graustufen mit schwarzem Schriftzug. +\item[blue] + Schriftzug und Logo werden in Abstufungen der Hausfarbe \Color{HKS41} gesetzt. +\item[white] + Das \DDC-Logo sowie der dazugehörige Schriftzug sind vollständig weiß. +\end{values} +\index{Layout!Seitenstil|)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{language=\PName{Sprache}}} +\begin{Declaration}{\Key{\Environment{tudpage}}{columns=\PName{Anzahl}}} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{pagestyle=\PSet}} +\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont=\PSet}}{% + \seeref{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Environment{tudpage}}{cdhead=\PSet}}{% + \seeref{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Environment{tudpage}}{cdfoot=\PSet}}{% + \seeref{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}{\Key{\Environment{tudpage}}{headlogo=\PName{Dateiname}}}{% + \seeref{\Macro{headlogo}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Environment{tudpage}}{footlogo=\PName{Dateinamenliste}} +}{\seeref{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddc=\PSet}}{% + \seeref{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddchead=\PSet}}{% + \seeref{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddcfoot=\PSet}}{% + \seeref{\Option{ddcfoot}'ppage'}% +} +\printdeclarationlist% +\index{Layout!Kopfzeile}% +\index{Layout!Fußzeile}% +\index{Layout!Seitenstil}% +% +Die \Environment{tudpage}"=Umgebung hat ihren Ursprung in einer früheren +Version, als die \PageStyle{tudheadings}"=Seitenstile noch nicht verfügbar +waren, welche mittlerweile anstelle dieser Umgebung verwendet werden können. +Für die \Environment{tudpage}"=Umgebung lassen sich verschiedene Parameter als +optionales Argument angegeben. Wird das Paket \Package{babel} genutzt, kann die +genutzte Sprache mit \Key{\Environment{tudpage}}{language=\PName{Sprache}} +geändert werden, was zur Anpassung der sprachspezifischen Trennungsmuster und +Bezeichner führt. Wurde das Paket \Package{multicol} geladen, wird mit dem +Parameter \Key{\Environment{tudpage}}{columns=\PName{Anzahl}} der Inhalt der +Umgebung mehrspaltig gesetzt. Mit \Key{\Environment{tudpage}}{pagestyle} kann +der Seitenstil angepasst werden, wobei \PValue{headings}, \PValue{plain} und +\PValue{empty} gültige Werte sind. + +Die weiteren Parameter entsprechen in ihrem Verhalten den gleichnamigen +Klassenoptionen oder Befehlen, wirken sich jedoch nur innerhalb der +\Environment{tudpage}"=Umgebung aus. Das Verhalten sowie gültige +Wertzuweisungen ist auf den angegebenen Seiten dokumentiert. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{Der Titel und die Umschlagseite} +\tudhyperdef*{sec:title}% +\index{Titel}% +\index{Umschlagseite}% +% +\ChangedAt*{% + v2.03:Bugfix für Umschlagseite und Titel beim Satzspiegel% +} +% +Für das Erstellen eines Titels mit dem Befehl \Macro{maketitle} wird mit der +\KOMAScript-Option +\Option{titlepage=\PBoolean}(\Package{koma-script})'none'|declare| +festgelegt, ob dieser in Gestalt einer ganzen Titelseite oder nur als Titelkopf +erscheinen soll. Für den Titel im \TUDCD werden alle Felder unterstützt, welche +bereits durch \KOMAScript{} definiert sind. Darüber hinaus werden für die +\TUDScript-Klassen weitere Felder bereitgestellt, welche Auswirkungen auf die +Gestalt des Titels haben. Diese werden nachfolgend in diesem \autorefname +erläutert. Der Titel~-- bestehend aus einem möglichen Schmutztitel +(\Macro{extratitle}(\Package{koma-script})) inklusive dazugehöriger Rückseite +(\Macro{frontispiece}[\Parameter{Frontispiz}](\Package{koma-script})), der +eigentlichen Titelseite respektive des Titelkopfes und der nachgelagerten +Elementen~-- kann mit \Macro{maketitle} ausgegeben werden. Außerdem kann im +zweispaltigen Satz \Macro{maketitleonecolumn} verwendet werden, womit eine +einspaltige Ergänzung nach dem Titel selbst ermöglicht wird. + +Zusätzlich zum Titel lässt sich mit \Macro{makecover} eine Umschlagseite +erzeugen. Diese kann insbesondere für gebundene Arbeiten verwendet werden. Es +wird~-- im Vergleich zum Titel~-- lediglich einer reduzierte Anzahl an Feldern +auf dieser ausgegeben. + +\begin{Declaration}[% + v2.01:Bugfix für Schriftstärke auf Titelseite;% + v2.02:Unterstützung der Schriftelemente \Font*{titlehead}, + \Font*{subject}, \Font*{title}, \Font*{subtitle}, \Font*{author}, + \Font*{date}, \Font*{publishers}, \Font*{dedication}, + \Font*{titlepage} und \Font*{thesis}% +]{\Macro{maketitle}[\OLParameter{Seitenzahl}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{maketitle}}{pagenumber=\PName{Seitenzahl}}% +} +\begin{Declaration}[v2.06]{\Key{\Macro{maketitle}}{cdgeometry=\PSet}}{% + \seeref{\Option{cdgeometry}'ppage'}% +} +\begin{Declaration}[v2.02]{\Key{\Macro{maketitle}}{cdfont=\PSet}}{% + \seeref{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{cdhead=\PSet}}{% + \seeref{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{cdfoot=\PSet}}{% + \seeref{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Macro{maketitle}}{headlogo=\PName{Dateiname}}% +}{\seeref{\Macro{headlogo}'ppage'}} +\begin{Declaration}[v2.03]{% + \Key{\Macro{maketitle}}{footlogo=\PName{Dateinamenliste}} +}{\seeref{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddc=\PSet}}{% + \seeref{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddchead=\PSet}}{% + \seeref{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddcfoot=\PSet}}{% + \seeref{\Option{ddcfoot}'ppage'}% +} +\printdeclarationlist% +\index{Titel|!(}% +\index{Satzspiegel!doppelseitig}% +% +Der Befehl \Macro{maketitle} setzt für \Option{cdtitle=false} den normalen +\KOMAScript"=Titel{}, ansonsten wird die Titelseite im \TUDCD erzeugt. Die +letztere Variante ist im Vergleich zum Standardtitel um eine Vielzahl von +Feldern erweitert worden und erlaubt insbesondere die Angabe von Daten für das +Deckblatt einer akademischen Abschlussarbeit. Die einzelnen Felder werden +später in diesem \autorefname erläutert. Wird das Dokument doppelseitig und mit +rechts öffnenden Kapiteln gesetzt,% +\footnote{% + \KOMAScript-Optionen \Option{twoside=true}(\Package{typearea})'none' und + \Option{open=right}(\Package{koma-script})'none', Standard für + \Class{tudscrbook}% +} +so wird zusätzlich die Option \Option{cleardoublespecialpage} einbezogen. Dies +ist insbesondere bei den Befehlen \Macro{uppertitleback}(\Package{koma-script}) +respektive \Macro{lowertitleback}(\Package{koma-script}) für die Titelrückseite +zu beachten. + +Das optionale Argument erlaubt~-- ebenso wie bei den \KOMAScript"=Klassen~-- +die Änderung der Seitenzahl der Titelseite. Diese wird jedoch nicht ausgegeben, +sondern beeinflusst lediglich die Zählung. Sie sollten hier unbedingt eine +ungerade Zahl wählen, da sonst die gesamte Zählung durcheinander gerät. +Wird eine Titelseite +(\KOMAScript-Option \Option{titlepage=true}(\Package{koma-script})'none') im +\TUDCD gesetzt (\Option{cdtitle=true}), können auch die weiterhin aufgeführten +Parameter im optionalen Argument verwendet werden. Diese entsprechen in ihrem +Verhalten den gleichnamigen Optionen respektive Befehlen, wirken sich jedoch +nur lokal und einzig auf die Titelseite aus. So kann beispielsweise die Nutzung +eines \DDC-Logos auf den Titel beschränkt bleiben. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{maketitleonecolumn}[% + \OLParameter{Seitenzahl}\Parameter{Einspaltentext}% + ]% +} +\printdeclarationlist% +\index{Satzspiegel!doppelseitig}% +\index{Satzspiegel!zweispaltig}% +% +Im zweispaltigen Satz +(Klassenoption~\Option{twocolumn}(\Package{typearea})'none'|declare|) wird mit +\Macro{maketitle} die Titelseite selbst immer einspaltig gesetzt. Direkt nach +dem Titel folgt normalerweise der zweispaltige Fließtext. Mit dem Befehl +\Macro{maketitleonecolumn} kann nach dem Titel zusätzlich weiterer Inhalt~-- +zum Beispiel eine Zusammenfassung respektive eine Kurzfassung~-- einspaltig +gesetzt werden. + +Bei einer aktivierten Titelseite +(\KOMAScript-Option~\Option{titlepage=true}(\Package{koma-script})'none') +erfolgt die Ausgabe des Argumentes \Parameter{Einspaltentext} direkt nach +dieser auf einer oder gegebenenfalls mehreren neuen Seiten ebenfalls +einspaltig. Wird der Befehl \Macro{maketitleonecolumn} statt mit einer +Titelseite jedoch mit einem Titelkopf +(\KOMAScript-Option~\Option{titlepage=false}(\Package{koma-script})'none') zum +Einsatz, so folgt diesem die einspaltige Textpassage aus dem obligatorischen +Argument direkt, wobei gegebenenfalls bei entsprechendem Inhalt ein +automatischer Seitenumbruch erfolgt. Danach wird direkt und ohne zusätzlichen +Umbruch auf das zweispaltige Layout umgeschaltet. + +Der optionale Parameter von \Macro{maketitleonecolumn} kann äquivalent zu +\Macro{maketitle} für die Änderung der Seitenzahl, der verwendeten Schrift +sowie zur Anpassung von Kopf und Fuß verwendet werden. Dabei ist zu beachten, +dass ein Großteil der Parameter nur Auswirkungen haben, falls eine Titelseite +(\KOMAScript-Option \Option{titlepage=true}(\Package{koma-script})'none') +verwendet wird. +\end{Declaration} + +\begin{Declaration}[% + v2.02:Umschlagseite für Layout ohne \noexpand\CD hinzugefügt;% + v2.02:Unterstützung der Schriftelemente \Font*{titlehead}, + \Font*{subject}, \Font*{title}, \Font*{subtitle}, \Font*{author}, + \Font*{publishers}, \Font*{titlepage} und \Font*{thesis}% +]{\Macro{makecover}[\OLParameter{Seitenzahl}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{makecover}}{pagenumber=\PName{Seitenzahl}}% +} +\begin{Declaration}{\Key{\Macro{makecover}}{cdgeometry=\PBoolean}} +\begin{Declaration}[v2.02]{\Key{\Macro{makecover}}{cdfont=\PSet}}{% + \seeref{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{cdhead=\PSet}}{% + \seeref{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{cdfoot=\PSet}}{% + \seeref{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Macro{makecover}}{headlogo=\PName{Dateiname}}% +}{\seeref{\Macro{headlogo}'ppage'}} +\begin{Declaration}[v2.03]{% + \Key{\Macro{makecover}}{footlogo=\PName{Dateinamenliste}} +}{\seeref{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddc=\PSet}}{% + \seeref{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddchead=\PSet}}{% + \seeref{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddcfoot=\PSet}}{% + \seeref{\Option{ddcfoot}'ppage'}% +} +\printdeclarationlist% +\index{Umschlagseite|!(}% +% +Eine Umschlagseite wird zumeist für gebundene Abschlussarbeiten verlangt, um +diese beispielsweise für einen Prägedruck auf dem Buchdeckel zu verwenden. +Deshalb ist die farbige Ausprägung der Umschlagseite auch deaktiviert, wenn +diese für das restliche Dokument aktiv ist (\Option{cd=color}). Dies kann +jedoch jederzeit mit \Option{cdcover=\PSet} überschrieben werden. + +Wird \Option{cdcover=true} gewählt, so wird die Umschlagseite im \TUDCD +gesetzt. Auf dieser werden der Titel des Dokumentes, die Typisierung +durch \Macro{thesis} und/oder \Macro{subject} sowie der Autor oder respektive +die Autoren und gegebenenfalls der mit \Macro{publishers}(\Package{koma-script}) +angegebene Verlag ausgegeben. +\ChangedAt{v2.02} +Für die Einstellung \Option{cdcover=false} wird lediglich der normale +\KOMAScript"=Titel als separate Umschlagseite ausgegeben. + +Die Titelseite selbst gehört immer zum Buchblock und sollte daher im gleichen +Satzspiegel gesetzt werden. Dem entgegen steht die Umschlagseite, welche +zumeist in einem anderen Layout erscheint. Normalerweise wird das Cover~-- +unabhängig von der Option \Option{cdgeometry}~-- im asymmetrischen Satzspiegel +des \CDs gesetzt. Mit \Key*{\Macro{makecover}}{cdgeometry=false} im optionalen +Argument kann das Verhalten geändert werden. In diesem Fall erscheint auch die +Umschlagseite im Buchblock des restlichen Dokumentes. Allerdings können für +diese Einstellung die Seitenränder mit den Befehlen +\Macro{coverpagetopmargin}(\Package{koma-script})'none', +\Macro{coverpageleftmargin}(\Package{koma-script})'none', +\Macro{coverpagerightmargin}(\Package{koma-script})'none' sowie +\Macro{coverpagebottommargin}(\Package{koma-script})'none' +durch den Nutzer frei angepasst werden. Mehr dazu ist im \scrguide zu finden. + +Außerdem kann mit dem optionalen Argument die Seitenzahl der Umschlagseite +geändert werden. Diese wird jedoch nicht ausgegeben, sondern beeinflusst +lediglich die Zählung. Sie sollten hier unbedingt eine ungerade Zahl wählen, da +sonst die gesamte Zählung durcheinander gerät. Die weiterhin aufgeführten +Parameter entsprechen in ihrem Verhalten beziehungsweise ihrer Funktion den +gleichnamigen Optionen respektive Befehlen, wirken sich jedoch nur lokal und +einzig auf die Umschlagseite aus. +\index{Umschlagseite|!)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{title}[\Parameter{Titel}]} +\begin{Declaration}[% + v2.01:Bugfix für Schriftstärke bei Verwendung des Untertitels% +]{\Macro{subtitle}[\Parameter{Untertitel}]} +\printdeclarationlist% +\index{Titel!Felder|(}% +% +Die Befehle \Macro{title} und \Macro{subtitle} sind selbsterklärend. Anzumerken +ist, dass die Schriftstärke des Titels von der Option \Option{headings} abhängt +und der Untertitel immer im fetten Schnitt erscheint. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Font{titlepage}} +\begin{Declaration}[v2.02]{\Font{thesis}} +\begin{Declaration}[v2.06]{\Macro{raggedtitle}} +\printdeclarationlist% +\index{Schriftelemente}% +% +Die \TUDScript-Klassen definieren diese neuen Schriftelemente. Dabei wird +\Font{titlepage} auf der Titelseite für alle Felder verwendet, welche kein +spezielles Schriftelement verwenden, welches ohnehin durch \KOMAScript{} +bereitgestellt wird. Das mit \Macro{thesis} angegebene Feld, in welchem der Typ +einer Abschlussarbeit angegeben wird, nutzt das Schriftelement~\Font{thesis}. + +\ChangedAt{v2.02} +Für alle Felder des Titels und der Umschlagseite lassen sich die verwendeten +Schriften anpassen. In \autoref{sec:fonts:elements} lässt sich nachlesen, wie +dies genau funktioniert. Dabei werden für Titel und Umschlagseite sowohl die +bereits durch \KOMAScript{} bereitgestellten Schriftelemente +\Font{titlehead}(\Package{koma-script})'none', +\Font{subject}(\Package{koma-script})'none', +\Font{title}(\Package{koma-script})'none', +\Font{subtitle}(\Package{koma-script})'none', +\Font{author}(\Package{koma-script})'none', +\Font{publishers}(\Package{koma-script})'none', +\Font{date}(\Package{koma-script})'none' und +\Font{dedication}(\Package{koma-script})'none' +als auch die neuen \Font{titlepage} und \Font{thesis} unterstützt. +\ChangedAt{v2.06} +Der Befehl \Macro{raggedtitle} definiert die Ausrichtung des Titels, welcher +standardmäßig linksbündig gesetzt wird. +\begin{Example} +Um die Einträge auf der Titelseite zentriert auszugeben, genügt folgende +Definition: +\begin{Code} +\let\raggedtitle\centering +\end{Code} +\end{Example} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{author}[\Parameter{Autor(en)}]} +\begin{Declaration}{\Macro{authormore}[\Parameter{Autorenzusatz}]} +\begin{Declaration}[% + v2.02;% + v2.05:optionales Argument zur Formatierung mit \Macro*{hypersetup};% + v2.06:wird für alle Klassen bereitgestellt, Verwendung im Titel möglich% +]{% + \Macro{emailaddress}[\OParameter{Einstellungen}\Parameter{E-Mail-Adresse}]% +} +\begin{Declaration}[% + v2.05;% + v2.06:wird für alle Klassen bereitgestellt, Verwendung im Titel möglich% +]{\Macro{emailaddress*}[\Parameter{E-Mail-Adresse}]} +\begin{Declaration}{\Macro{dateofbirth}[\Parameter{Geburtsdatum}]} +\begin{Declaration}{\Macro{placeofbirth}[\Parameter{Geburtsort}]} +\begin{Declaration}{\Macro{matriculationnumber}[\Parameter{Matrikelnummer}]} +\begin{Declaration}{\Macro{matriculationyear}[\Parameter{Immatrikulationsjahr}]} +\begin{Declaration}[% + v2.05:Für Titel verwendbar% +]{\Macro{course}[\Parameter{Studiengang}]} +\begin{Declaration}[% + v2.02;% + v2.05:Für Titel verwendbar% +]{\Macro{discipline}[\Parameter{Studienrichtung}]} +\printdeclarationlist% +\index{Autorenangaben|?}% +\index{Kollaboratives Schreiben}% +\index{Datum!Geburtsdatum|?}% +% +Mit dem Befehl \Macro{author} wird der Autor angegeben. Innerhalb des +Argumentes können auch mehrere Autoren aufgeführt werden, wobei diese in diesem +Fall jeweils mit \Macro{and} zu trennen sind. Alle weiteren hier vorgestellten +Befehle können selbst im Argument von \Macro{author} verwendet werden, wodurch +für jeden Autor individuelle Angaben möglich sind. + +Mit \Macro{authormore} wird unter dem Autor eine Zeile ausgegeben, welche +durch den Anwender frei belegt werden kann. Mit \Macro{emailaddress} kann für +jeden Autor eine E"~Mail"=Adresse angegeben werden, welche als Hyperlink +definiert wird, falls das Paket \Package{hyperref} geladen wurde. Das optionale +Argument wird an \Macro{hypersetup}(\Package{hyperref})'none' aus besagtem +Paket übergeben und kann somit für zusätzliche Einstellungen genutzt werden. +Mit der Sternversion \Macro{emailaddress*} erfolgt keine Formatierung des +Eintrags im Argument. + +Sollte das Paket \Package{isodate} oder \Package{datetime2} geladen sein, wird +die damit eingestellte Formatierung des Datums durch \Macro{dateofbirth}~-- wie +übrigens bei jedem anderem Datumsfeld der \TUDScript-Klassen auch~-- für das +Geburtsdatum auf dem Titel verwendet. Hierfür wird entweder +\Macro{printdate}(\Package{isodate})'none' von \Package{isodate} oder +\Macro{DTMDate}(\Package{datetime2})'none' aus \Package{datetime2} genutzt. Mit +dem Befehl \Macro{placeofbirth} lässt sich zusätzlich ein Geburtsort angeben. + +Die weiteren Befehle als zusätzliche Angabe erklären sich quasi von selbst. +Anzumerken ist, dass die mit den Befehlen \Macro{matriculationnumber}, +\Macro{matriculationyear}, \Macro{course} sowie \Macro{discipline} gemachten +Angaben ebenfalls vom Paket \Package{tudscrsupervisor} innerhalb der +\Environment{task}(\Package{tudscrsupervisor})"=Umgebung genutzt werden, falls +diese denn zum Einsatz kommt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{and}} +\printdeclarationlist% +\index{Kollaboratives Schreiben|?}% +% +Dieser Befehl wird sowohl bei den \hologo{LaTeX}"=Standardklassen als auch bei +den \KOMAScript"=Klassen lediglich auf der Titelseite dazu verwendet, mehrere +Autoren im Argument von \Macro{author} voneinander zu trennen. + +Bei den \TUDScript-Klassen hingegen ist dieser Befehl derart in seiner Funktion +erweitert worden, dass damit die Angabe einer kollaborativen Autorenschaft für +Abschlussarbeiten innerhalb des Befehls \Macro{author} möglich ist. Außerdem +kann er noch im Argument von \Macro{supervisor}, \Macro{referee} sowie +\Macro{advisor} verwendet werden, um mehrere Betreuer beziehungsweise Gutachter +und Fachreferenten anzugeben. Er ist dabei nicht auf die Verwendung für den +Titel allein beschränkt sondern kann auch bei der Angabe von Personen in den +entsprechenden Feldern der Umgebungen +\begin{Bundle}{\Package{tudscrsupervisor}} +\Environment{task}, \Environment{evaluation} und \Environment{notice} +\end{Bundle} +aus dem Paket \Package{tudscrsupervisor} eingesetzt werden. +\end{Declaration} +% +\begin{Example} +Angenommen, es soll eine Abschlussarbeit von zwei unterschiedlichen Autoren in +kollaborativer Gemeinschaft erstellt werden, so lässt sich die Autorenangaben +folgendermaßen gestalten: +\begin{Code} +\author{% + Mickey Mouse% + \matriculationnumber{12345678}% + \dateofbirth{2.1.1990}% + \placeofbirth{Dresden}% +\and% + Donald Duck% + \matriculationnumber{87654321}% + \dateofbirth{1.2.1990}% + \placeofbirth{Berlin}% +} +\matriculationyear{2010} +\end{Code} +Alle zusätzlichen Angaben außerhalb des Argumentes von \Macro{author} werden +für beide Autoren gleichermaßen übernommen. Angaben innerhalb des Argumentes +von \Macro{author} werden den jeweiligen, mit \Macro{and} getrennten Autoren +zugeordnet. Mehr dazu ist im Minimalbeispiel in \autoref{sec:exmpl:thesis}. +\end{Example} + +\begin{Declaration}[% + v2.05:Angabe von Parametern für Prä- und Suffix bei Datumsausgabe möglich; +]{\Macro{date}[\OLParameter{Suffix}\Parameter{Datum}]} +\begin{Declaration}[v2.05]{% + \Macro{date*}[\OLParameter{Suffix}\Parameter{Datum}]% +} +\begin{Declaration}[v2.05]{% + \Key{\Macro{date}}{before=\PName{Präfix}}% +} +\begin{Declaration}[v2.05]{% + \Key{\Macro{date}}{after=\PName{Suffix}}% +} +\begin{Declaration}[v2.05]{% + \Key{\Macro{date}}{place=\PName{Ort}}% +} +\begin{Declaration}{\Macro{defensedate}[\Parameter{Verteidigungsdatum}]} +\printdeclarationlist% +\index{Datum|?}% +\index{Datum!Abgabedatum|?}% +\index{Datum!Verteidigungsdatum|?}% +% +Mit dem Befehl \Macro{date} lässt sich das Datum angegeben. +\ChangedAt{v2.05} +Über das optionale Argument können die beiden Parameter +\Key{\Macro{date}}{before} und \Key{\Macro{date}}{after} genutzt werden, um +ergänzende Angaben vor beziehungsweise nach dem eigentlichen Datum auszugeben. +Die Sternversion \Macro{date*} setzt den mit \Macro{place} angegebenen Ort vor +das Datum. Dies geschieht auch für die normale Version von \Macro{date}, wenn +der Parameter \Key{\Macro{date}}{place} verwendet wird. + +Das Datum wird bei normalen Dokumenten direkt nach dem Autor respektive den +Autoren ausgegeben. Bei Abschlussarbeiten~-- aktiviert durch die Verwendung von +\Macro{thesis} oder \Option{subjectthesis} in Verbindung mit \Macro{subject}~-- +erscheint dieses am Ende der Titelseite als Abgabedatum. Außerdem kann in +diesem Fall mit dem Befehl\Macro{defensedate} das Datum der Verteidigung +angegeben werden, wie es beispielsweise bei dem Druck von Dissertationen üblich +ist. + +Sollte eines der Pakete \Package{isodate} oder \Package{datetime2} geladen +sein, so wird mit \Macro{printdate}(\Package{isodate})'none' beziehungsweise +\Macro{DTMDate}(\Package{datetime2})'none' die durch das jeweilige Paket +eingestellte Ausgabeformatierung des Datums für alle Datumsfelder des +Dokumentes und folglich auch für die beiden Felder \Macro{date} und +\Macro{defensedate} verwendet. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{thesis}[\Parameter{Typisierung}]} +\begin{Declaration}{\Macro{subject}[\Parameter{Typisierung}]} +\printdeclarationlist% +\index{Abschlussarbeit|!}% +\index{Typisierung}% +% +Mit diesen beiden Befehlen kann der Typ der Dokumentes beziehungsweise der +Abschlussarbeit angegeben werden. Während der Befehl \Macro{thesis} den Inhalt +des Feldes unter dem Titel vertikal zentriert auf der Titelseite ausgibt, +erscheint der Inhalt des Befehls \Macro{subject} oberhalb des Titels. Es können +auch beide Befehle parallel mit unterschiedlichen Inhalten verwendet werden. +Der Befehl \Macro{thesis} dient den \TUDScript"=Dokumentklassen außerdem zur +Erkennung von Abschlussarbeiten gedacht, da für diese spezielle Felder +bereitgehalten werden und auch die Titelseite leicht geändert gesetzt wird. + +Des Weiteren ist es bei beiden Befehlen möglich, spezielle Werte als Argument +zur Typisierung des Dokumentes zu verwenden. Diese werden entsprechend der +gewählten Dokumentensprache~-- entweder Deutsch oder Englisch~-- entschlüsselt +und gesetzt. Die möglichen Werte sind \autoref{tab:thesis} zu entnehmen. Dabei +ist zu beachten, dass das Setzen eines speziellen Wertes für \emph{entweder} +\Macro{thesis} \emph{oder} \Macro{subject} möglich ist. Die Verwendung eines +der genannten Werte führt immer dazu, dass das Dokument als Abschlussarbeiten +erkannt und die erweiterte Titelseite aktiviert wird. Gleichzeitig wird damit +die Option \Option{subjectthesis} beeinflusst. Sollte vom Anwender kein +explizites Verhalten für \Option{subjectthesis} definiert sein, so führt die +Verwendung von \Macro{thesis}[\Parameter{Wert}] zu \Option{subjectthesis=false} +und \Macro{subject}[\Parameter{Wert}] zu \Option{subjectthesis=true}. +% +\begin{table} +\index{Bezeichner}% +\index{Typisierung}% +\caption{% + Spezielle Werte zur Typisierung des Dokumentes für + \Macro{thesis} und \Macro{subject}% +}% +\label{tab:thesis}% +% +\centering% +\newcommand*\typecast[2]{% + \PValue{#1} & \Term{#2} & \csuse{#2} & \selectlanguage{english}\csuse{#2} + \tabularnewline% +}% +\begin{tabular}{llll} + \toprule + \textbf{Wert} & \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch} + \tabularnewline + \midrule + \typecast{diss}{dissertationname} + \typecast{doctoral}{dissertationname} + \typecast{phd}{dissertationname} + \typecast{diploma}{diplomathesisname} + \typecast{master}{masterthesisname} + \typecast{bachelor}{bachelorthesisname} + \typecast{student}{studentthesisname} + \typecast{evidence}{studentresearchname} + \typecast{project}{projectpapername} + \typecast{seminar}{seminarpapername} + \typecast{term}{termpapername} + \typecast{research}{researchname} + \typecast{log}{logname} + \typecast{report}{reportname} + \typecast{internship}{internshipname} + \bottomrule +\end{tabular} +\end{table} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{subjectthesis=\PBoolean}}% + [false][\Macro{subject}[\Parameter{\autoref{tab:thesis}}]:true] +\printdeclarationlist% +% +Der Befehl \Macro{thesis} dient den \TUDScript"=Hauptklassen zur Unterscheidung +zwei unterschiedlicher Ausprägungen der Titelseite und ist speziell für +Abschlussarbeiten gedacht. Außerdem kann bei der Nutzung spezieller Werte +aus \autoref{tab:thesis} innerhalb des Argumentes von \Macro{subject} ebenfalls +das Verhalten für Abschlussarbeiten aktiviert werden, wobei hierdurch die +Einstellung \Option{subjectthesis=true} automatisch vorgenommen wird. + +Für den Standardfall~-- bekanntlich \Option{subjectthesis=false}~-- wird der +durch \Macro{thesis} gegebene Typ der Abschlussarbeit sowie der gegebenenfalls +durch \Macro{graduation} gesetzte angestrebte Abschluss in großen Lettern und +sehr zentral auf der Titelseite gesetzt. Die Verwendung von \Macro{subject} ist +hierbei weiterhin möglich. +% +Wird die Option mit \Option{subjectthesis=true} aktiviert, so wird die mit +\Macro{thesis} gesetzte Bezeichnung nicht unterhalb sondern oberhalb des Titels +an der Stelle von \Macro{subject} ausgegeben. Der mit \Macro{graduation} +angegebene Abschluss wird weiterhin unter dem Titel, allerdings in schlankerer +Schrift gesetzt. Eine etwaige Verwendung des Befehls \Macro{subject} wird in +diesem Fall ignoriert. +% +\begin{values}{\Option{subjectthesis}} +\itemfalse + Die Ausgabe des Typs der Abschlussarbeit (\Macro{thesis}) selbst sowie des + angestrebten Abschlusses (\Macro{graduation}) erfolgt in großen Lettern + zentral auf der Titelseite. +\itemtrue* + Der Typ der Abschlussarbeit (\Macro{thesis}) wird oberhalb des Titels in der + Betreffzeile gesetzt. Der angestrebte Abschluss (\Macro{graduation}) wird + zentral ausgegeben. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.02]{% + \Macro{graduation}[\OParameter{Kurzform}\Parameter{Grad}]% +} +\printdeclarationlist% +% +Mit diesem Befehl wird der angestrebte akademische Grad auf der Titelseite +ausgegeben. Da dies nur mit einer Abschlussarbeit erreicht werden kann erfolgt +die Ausgabe nur, wenn entweder \Macro{thesis} oder \Macro{subject} verwendet +wurde, wobei bei letzterem Befehl im Argument zwingend ein Wert aus +\autoref{tab:thesis} verwendet werden muss. + +Bei der Ausgabe des akademischen Grades hat die Option \Option{subjectthesis} +Einfluss auf die Ausgabe auf der Titelseite. Bei \Option{subjectthesis=false} +wird der Abschluss~-- ähnlich wie der Typ der Abschlussarbeit~-- zentral und in +relativ großen Lettern gesetzt. Für \Option{subjectthesis=true} erfolgt die +Ausgabe kleiner und in weniger starken Buchstaben. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisor}[\Parameter{Name(n)}]} +\begin{Declaration}{\Macro{referee}[\Parameter{Name(n)}]} +\begin{Declaration}{\Macro{advisor}[\Parameter{Name(n)}]} +\begin{Declaration}{\Macro{professor}[\Parameter{Name}]} +\printdeclarationlist% +\index{Betreuer|?}% +\index{Gutachter|?}% +\index{Referent|?}% +% +Mit \Macro{supervisor}, \Macro{referee} und \Macro{advisor} werden die Betreuer +einer Abschlussarbeit beziehungsweise die Gutachter und Fachreferenten einer +Dissertation angegeben. Zusätzlich kann mit \Macro{professor} der betreuende +Hochschullehrer beziehungsweise die betreuenden Professoren für studentische +Arbeiten angegeben werden. Die Angabe mehrerer Person erfolgt wie beim Befehl +\Macro{author} durch die Trennung mittels \Macro{and}. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.06]{\Option{titlesignature=\PBoolean}}[false]% +\printdeclarationlist% +% +Einige Lehrstühle an der \TnUD verlangen eine Unterschrift des Autors einer +Abschlussarbeit direkt auf der Titelseite. Mit dem Aktivieren dieser Option +wird ein solches Feld am unteren Seitenrand des Titels erzeugt. +\end{Declaration} + +\begin{Declaration}{\Macro{titledelimiter}[\Parameter{Trennzeichen}]} +\printdeclarationlist% +\index{Titel!Trennzeichen}% +% +Für den Titel und die Umschlagseite werden durch die \TUDScript-Klassen eine +Reihe von zusätzlichen Feldern bereitgestellt. Einigen dieser Felder wird eine +Beschreibung (\seeref{\autoref{sec:localization}}) vorangestellt. Dazwischen +wird bei der Ausgabe ein Trennzeichen eingefügt. Ein Doppelpunkt gefolgt von +einem Leerzeichen (:\Macro*{nobreakspace}) ist hierfür die Voreinstellung. Mit +dem Befehl \Macro{titledelimiter} lässt sich dieses Trennzeichen beliebig an +die individuellen Wünsche des Anwenders anpassen. +\index{Titel!Felder|)}% +\end{Declaration} + + +\begin{Bundle}{\Package{koma-script}} +\begin{Declaration}{\Macro{extratitle}[\Parameter{Schmutztitel}]} +\begin{Declaration}{\Macro{frontispiece}[\Parameter{Frontispiz}]} +\begin{Declaration}{\Macro{titlehead}[\Parameter{Kopf}]} +\begin{Declaration}{\Macro{publishers}[\Parameter{Verlag}]} +\begin{Declaration}{\Macro{thanks}[\Parameter{Fußnote}]} +\begin{Declaration}{\Macro{uppertitleback}[\Parameter{Titelrückseitenkopf}]} +\begin{Declaration}{\Macro{lowertitleback}[\Parameter{Titelrückseitenfuß}]} +\begin{Declaration}{\Macro{dedication}[\Parameter{Widmung}]} +\printdeclarationlist% +% +Diese Befehle entsprechen den in ihrem Verhalten den originalen Pendants der +\KOMAScript"=Klassen und sollen hier der Vollständigkeit halber erwähnt werden. + +Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels~-- welcher +beliebig gestaltet und formatiert werden kann~-- und der gegebenenfalls mit +\ChangedAt[\Macro{frontispiece}](){% + v2.06:Schmutztitelrückseite aus \Package{koma-script} wird unterstützt% +}% +\Macro{frontispiece} definierten Rückseite erfolgt als Bestandteil der Titelei +mit \Macro{maketitle} vor der eigentlichen Titelseite. Mit dem Befehl +\Macro{titlehead} kann ein zusätzlicher, beliebig formatierbarer Text oberhalb +der Typisierung und des Titels ausgegeben werden. Da die vertikale Position des +Dokumenttitels durch das \CD fest vorgegeben ist, kann es~-- im Gegensatz zu +den \KOMAScript"=Klassen~-- passieren, dass der Kopf des Haupttitels selbst in +die Kopfzeile ragt. Dies wird durch die \TUDScript-Klassen nicht geprüft und +muss gegebenenfalls vom Anwender kontrolliert werden. Der mit dem Befehl +\Macro{publishers} definierte Inhalt muss nicht zwingende einen Verlag +bezeichnen sondern kann auch andere Informationen beinhalten, welche am Ende +der Titelseite ausgegeben werden sollen. + +Fußnoten werden auf dem Titel nicht mit +\Macro{footnote}(\Package{koma-script})'none', sondern mit der Anweisung +\Macro{thanks} erzeugt. Diese dienen in der Regel für Anmerkungen bei Titel +oder den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen +verwendet. Der Befehl \Macro{thanks} kann nur innerhalb des Arguments einer der +Anweisungen für die Titelseite wie beispielsweise \Macro{author} oder +\Macro{title} verwendet werden. + +\index{Satzspiegel!doppelseitig}% +Im doppelseitigen Druck lässt sich die Rückseite der Haupttitelseite für +weitere Angaben nutzen. Sowohl den Titelrückseitenkopf als auch den +Titelrückseitenfuß kann der Anwender mit \Macro{uppertitleback} und +\Macro{lowertitleback} frei gestalten. + +Mit \Macro{dedication} lässt eine separate Widmungsseite zentriert und in etwas +größerer Schrift setzen. Die Rückseite ist~-- wie auch die des Schmutztitels~-- +grundsätzlich leer. Die Widmung wird mit der restlichen Titelei ausgegeben und +muss daher vor der Nutzung von \Macro{maketitle} angegeben werden. +\index{Titel|!)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Bundle} + +\subsection{Die Teileseite} +\tudhyperdef*{sec:part}% +% +\ChangedAt[\Macro{partpagestyle}(\Package{koma-script})]{% + v2.02:Seitenstil \PageStyle{plain.tudheadings} wird genutzt% +} +Wird für die Teileseiten das Layout des \CDs verwendet, so wird der Seitenstil +dieser (\Macro{partpagestyle}(\Package{koma-script})'none') auf +\PageStyle{plain.tudheadings} gesetzt. Möchten Sie stattdessen einen anderen +Seitenstil nutzen, so kann dieser mit +\Macro*{renewcommand*}[% + \PParameter{\Macro{partpagestyle}(\Package{koma-script})'none'}% + \Parameter{Seitenstil}% +] +angepasst werden. + +\begin{Declaration}[v2.06]{\Macro{setpartsubtitle}[\Parameter{Untertitel}]} +\begin{Declaration}[v2.06]{\Font{partsubtitle}} +\printdeclarationlist% +\index{Layout!Teileseiten|?}% +\index{Layout!Überschriften}% +\index{Schriftelemente}% +% +Mit \Macro{setpartsubtitle}[\Parameter{Untertitel}] kann für Teile nach der +Überschrift selbst ein Untertitel gesetzt werden. Der Befehl muss in gleicher +Weise wie \Macro{setpartpreamble}(\Package{koma-script})'none' \emph{vor} der +Verwendung von \Macro{part}(\Package{koma-script})'none' oder den davon +abgeleiteten Varianten angegeben werden. Mit dem Schriftelement +\Font{partsubtitle} lässt sich die Schrift für den gegebenen Untertitel +verändern. In \autoref{sec:fonts:elements} ist zu finden, wie es angepasst +werden kann. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{parttitle=\PBoolean}}[false]% +\printdeclarationlist% +\index{Layout!Teileseiten|?}% +\index{Layout!Überschriften}% +% +Diese Option ermöglicht es, den mit \Macro{title} gegebenen Titel des +Dokumentes selbst in großer Schrift auf einer Teileseite auszugeben, die +Bezeichnung des mit +\Macro{part}[\Parameter{Bezeichnung}](\Package{koma-script})'none' erzeugten +Teils wird in diesem Fall als Untertitel direkt darunter gesetzt. Diese +Layout"=Variante findet sich im Handbuch für das \TUDCD. \notudscrartcl +% +\begin{values}{\Option{parttitle}} +\itemfalse + Die Bezeichnung des Teils erscheint in großer Schrift, der Titel des + Dokumentes wird nicht ausgegeben. +\itemtrue* + Der angegebene Titel wird in großer Auszeichnung auf der Teileseite gesetzt, + die Bezeichnung des Teils selber als Untertitel. +\end{values} +\end{Declaration} + + + +\subsection{Die Kapitelseite} +\begin{Declaration}{\Option{chapterpage=\PBoolean}}% + [false][\Option{cd=color}:true]% +\printdeclarationlist% +\tudhyperdef*{sec:chapter}% +\index{Layout!Kapitelseiten|?}% +\index{Layout!Überschriften}% +\index{Satzspiegel!doppelseitig}% +\index{Vakatseiten}% +% +Mit dieser Einstellung kann die Überschrift eines Kapitels separat auf einer +Seite ausgegeben werden. Der nachfolgende Text wird auf der nächsten +beziehungsweise bei doppelseitigem Satz und rechts öffnenden Kapiteln% +\footnote{% + \KOMAScript-Optionen \Option{twoside=true}(\Package{typearea})'none' und + \Option{open=right}(\Package{koma-script})'none', Standard für + \Class{tudscrbook}% +} +auf der übernächsten Seite ausgegeben. Die in diesem Fall erzeugte Rückseite +wird in ihrer Ausprägung~-- wie auch Teileseiten~-- durch die Einstellung von +\Option{cleardoublespecialpage} bestimmt. Beim farbigen Layout ist diese Option +standardmäßig aktiviert. \notudscrartcl +% +\begin{values}{\Option{chapterpage}} +\itemfalse + Es gibt keine Sonderstellung von Kapiteln, der nachfolgende Text wird direkt + unter der Überschrift respektive nach der mit + \Macro{setchapterpreamble}(\Package{koma-script})'none' erzeugten + Kapitelpräambel auf der gleichen Seite ausgegeben. +\itemtrue* + Die Kapitelüberschrift und gegebenenfalls die Kapitelpräambel werden auf + einer separaten Seite gesetzt. Der folgende Text erscheint auf der nächsten + respektive übernächsten Seite, \seeref*{\Option{cleardoublespecialpage}}. +\end{values} +% +\ChangedAt[\Macro{chapterpagestyle}(\Package{koma-script})]{% + v2.02:nicht mehr abhängig von \Macro{partpagestyle}(\Package{koma-script}) +} +Mit \Macro*{renewcommand*}[% + \PParameter{\Macro{chapterpagestyle}(\Package{koma-script})'none'}% + \Parameter{Seitenstil}% +] +lässt sich übrigens~-- unabhängig von der Option \Option{chapterpage}~-- der +Seitenstil von Kapiteln anpassen. Bei der Verwendung von Kapitelseiten mit +\Option{chapterpage=true} ist außerdem das Aktivieren der \KOMAScript-Option +\Option{chapterprefix=\PBoolean}(\Package{koma-script})'none'|declare| +empfehlenswert. Damit werden die Kapitelüberschriften mit einer Vorsatzzeile +gesetzt. Wird ein nummeriertes Kapitel erzeugt, so wird zunächst in einer Zeile +\enquote{Kapitel} gefolgt von der aktuellen Kapitelnummer ausgegeben, in der +nächsten Zeile wird anschließend die eigentliche Überschrift in linksbündigem +Flattersatz ausgegeben. Mehr dazu ist der \scrguide[\KOMAScript-Dokumentation] +zu entnehmen. +\end{Declaration} + +\begin{Declaration}[v2.06]{\Macro{setchaptersubtitle}[\Parameter{Untertitel}]} +\begin{Declaration}[v2.06]{\Font{chaptersubtitle}} +\printdeclarationlist% +\index{Layout!Kapitelseiten|?}% +\index{Layout!Überschriften}% +\index{Schriftelemente}% +% +Mit \Macro{setchaptersubtitle}[\Parameter{Untertitel}] kann für Kapitel nach +der Überschrift selbst ein Untertitel gesetzt werden. Der Befehl muss in +gleicher Weise wie \Macro{setchapterpreamble}(\Package{koma-script})'none' +\emph{vor} der Verwendung von \Macro{chapter}(\Package{koma-script})'none' oder +den davon abgeleiteten Varianten angegeben werden. Mit dem Schriftelement +\Font{chaptersubtitle} lässt sich die Schrift für den gegebenen Untertitel +verändern. In \autoref{sec:fonts:elements} ist zu finden, wie es angepasst +werden kann. +\end{Declaration} +\end{Declaration} + + +\subsection{Vakatseiten} +\index{Vakatseiten|(}% +% +Automatisch erzeugte Vakatseiten~-- auch absichtliche Leerseiten genannt~-- +sind in Abhängigkeit der +\KOMAScript-Optionen \Option{twoside=\PSet}(\Package{typearea})'none'|declare| +und \Option{open=\PName{Methode}}(\Package{koma-script})'none'|declare| am +Beginn von Teilen und Kapiteln in Dokumenten zu finden.% +\footnote{% + Voreinstellungen + \Class{tudscrbook}: + \Option{twoside=true}(\Package{typearea})'none', + \Option{open=right}(\Package{koma-script})'none'; + \Class{tudscrartcl}, \Class{tudscrreprt}: + \Option{open=any}(\Package{koma-script})'none', + \Option{twoside=false}(\Package{typearea})'none'% +} +Für die Vakatseiten kann der Seitenstil mit der \KOMAScript"=Option +\Option{cleardoublepage=\PSet}(\Package{koma-script})'none'|declare| +eingestellt werden. + +\begin{Declaration}[% + v2.06:Einstellung für farbige Rückseiten% +]{\Option{cleardoublespecialpage=\PSet}}[true]% +\printdeclarationlist% +\index{Titel}% +\index{Layout!Teileseiten}% +\index{Layout!Kapitelseiten}% +\index{Layout!Rückseiten}% +\index{Satzspiegel!doppelseitig}% +% +Diese Option wirkt sich lediglich bei aktiviertem doppelseitigem Satz und +ausschließlich rechts eröffnenden Seiten für Teile beziehungsweise Kapitel +aus.% +\footnote{% + \KOMAScript"=Option \Option{twoside=true}(\Package{typearea})'none' und + \Option{open=right}(\Package{koma-script})'none'% +} +In diesem Fall kann der Stil der darauffolgenden, linken Seite~-- sprich der +Rückseite~-- beeinflusst werden. Das Normalverhalten sieht vor, dass nach einem +Teil die nachfolgende Rückseite unabhängig von der Einstellung für +\Option{cleardoublepage}(\Package{koma-script})'none' immer als vollständig +leere Seite ohne Kopf"~ oder Fußzeilen gesetzt wird. + +Diese Option erlaubt es, das Normalverhalten zu deaktivieren und für die Seite +nach der Teileseite~-- und abhängig von \Option{chapterpage} auch nach einem +Kapitelanfang auf einer separaten Seite~-- den Seitenstil der Option +\Option{cleardoublepage}(\Package{koma-script})'none' zu übernehmen. Des +Weiteren kann auch ein anderer, bereits definierter Seitenstil gewählt werden. +Außerdem kann im farbigen Layout die Rückseite in der gleichen Farbe wie die +Vorderseite von Titel, Teil oder Kapitel gesetzt werden. +\notudscrartcl +% +\begin{values}{\Option{cleardoublespecialpage}} +\itemfalse + Die Rückseiten sind vollständig leere Seiten, unabhängig von Option + \Option{cleardoublepage}(\Package{koma-script})'none'. +\itemtrue* + Der Seitenstil der Rückseite von Teilen und gegebenenfalls Kapiteln entspricht + der Einstellung von \Option{cleardoublepage}(\Package{koma-script})'none' für + Vakatseiten. +\item[current] + Für die erzeugte Rückseite wird der aktuell definierte Seitenstil + (\Macro{pagestyle}(\Package{koma-script})'none') verwendet. +\item[\PValueName{Seitenstil}] + Mit der Angabe von \Option{cleardoublespecialpage=\PName{Seitenstil}} + kann ein beliebiger, bereits definierter Seitenstil für die Rückseite nach + Teilen und Kapiteln verwendet werden. +\item[color] + Im farbigen Layout ist auch die Rückseite von Teilen und Kapiteln farbig, + \seeref{\Option{cd}}. Die Einstellung wirkt sich ebenfalls auf die Rückseite + des Titels aus.\footnote{% + \seeref{\Macro{uppertitleback}(\Package{koma-script}) und + \Macro{lowertitleback}(\Package{koma-script})} im \scrguide*% + }% +\item[nocolor] + Es werden weiße Rückseiten bei Titel, Teilen und gegebenenfalls Kapiteln + erzeugt. +\end{values} +\index{Vakatseiten|)}% +\end{Declaration} + + + +\subsection{Verwendung von Schriftelementen} +\tudhyperdef*{sec:fonts:elements}% +\index{Schriftelemente|!}% +% +Vom \TUDScript-Bundle werden weitere Schriftelemente~-- in Ergänzung zu den +bereits durch \KOMAScript{} bereitgestellten~-- definiert. Dies sind +\Font{titlepage}, \Font{thesis}, \Font{tudheadings} sowie \Font{partsubtitle} +und \Font{chaptersubtitle}. Sowohl die durch \KOMAScript{} definierten als auch +alle hier genannten und folgend erläuterten Schriftelemente lassen sich im +Bedarfsfall über den Befehl \Macro{addtokomafont}[% + \Parameter{Schriftelement}\Parameter{Einstellungen}% +](\Package{koma-script})'none' angepassen. Mehr dazu ist im \scrguide innerhalb +des Abschnitts \emph{Textauszeichnungen} zu finden. + + + +\subsection{Verwendung von Feldinhalten} +\index{Felder|!}% +\begin{Declaration}[v2.06]{\Macro{getfield}[\Parameter{Feldname}]} +\printdeclarationlist +Mit diesem Makro kann auf den Inhalt eines zuvor angegebenen Feldes zugegriffen +werden. +\begin{Example} +Das für dieses Dokument angegebene Datum lautet \enquote{\getfield{date}}. Es +kann wie folgt ausgegeben werden: +\begin{Code} +\getfield{date} +\end{Code} +\end{Example} +Weitere mögliche Argumente sind beispielsweise \PValue{faculty}, +\PValue{department}, \PValue{institute} und \PValue{chair} sowie \PValue{title}, +\PValue{author}, \PValue{thesis}, \PValue{professor}, \PValue{supervisor} oder +\PValue{place}. +\end{Declaration} + +\subsection{Die Farben des \CDs} +\index{Layout!Farben}% +% +Zur Verwendung der Farben des \CDs wird das Paket \Package{tudscrcolor} +genutzt. Falls dieses nicht in der Präambel geladen wird~-- um beispielsweise +zusätzliche Optionen aufzurufen~-- binden die \TUDScript"=Klassen dieses +automatisch ein. Detaillierte Informationen sind in der Dokumentation von +\Package{tudscrcolor}'full' zu finden. +\index{Layout|)}% + + + +\section{Zusätzliche Optionen und Erweiterungen} +\ChangedAt*{% + v2.03:Bugfix für \abstractname, \confirmationname{} und \blockingname{} + bei der Festlegung von Seitenstil und Kolumnentitel% +}% +Neben den Befehlen für die Anpassung des Layouts an das \TUDCD stellen die +\TUDScript-Klassen weitere Befehle und Umgebungen zur Verfügung, um die +Anwendung insbesondere für wissenschaftliche Arbeiten zu erleichtern. + + +\subsection{Zusammenfassung/Kurzfassung} +\index{Zusammenfassung|!(}% +% +\begin{Declaration}[% + v2.02!\Option{abstract=multiple}:ersetzt \Option{abstract=double};% + v2.02!\Option{abstract=tocleveldown};% + v2.02!\Option{abstract=markboth};% + v2.04!\Option{abstract=tocmultiple}% +]{\Option{abstract=\PSet}}% +\printdeclarationlist% +\index{Satzspiegel!zweispaltig}% +% +Diese Option wird bereits durch \KOMAScript{} für die Klassen \Class{scrartcl} +und \Class{scrreprt} standardmäßig bereitgestellt. Für die Klasse +\Class{scrbook} geschieht dies nicht. Dazu heißt es im Handbuch: +% +\begin{quoting} +Bei Büchern wird in der Regel eine andere Art der Zusammenfassung verwendet. +Dort wird ein entsprechendes Kapitel an den Anfang oder Ende des Werks gesetzt. +Oft wird diese Zusammenfassung entweder mit der Einleitung oder einem weiteren +Ausblick verknüpft. Daher gibt es bei \Class{scrbook} generell keine +\Environment{abstract}"=Umgebung. Bei Berichten im weiteren Sinne, etwa einer +Studien- oder Diplomarbeit, ist ebenfalls eine Zusammenfassung in dieser Form +zu empfehlen. +\end{quoting} +% +Durch die \TUDScript-Klassen wird die \Option{abstract}"=Option erweitert. +Neben den Auswahlmöglichkeit, welche bereits \KOMAScript{} für die Klassen +\Class{tudscrartcl} und \Class{tudscrreprt} anbietet, kann die Überschrift für +die Zusammenfassung außerdem in Gestalt eines \sectionautorefname{}s oder für +\Class{tudscrreprt} und \Class{tudscrbook} in der Form eines +\chapterautorefname{}s ausgegeben werden. +% +\begin{values}{\Option{abstract}} +\itemfalse(nur \Class{tudscrartcl} und \Class{tudscrreprt}) + Es wird keine Überschrift für die \Environment{abstract}"=Umgebung ausgegeben. +\itemtrue*(nur \Class{tudscrartcl} und \Class{tudscrreprt}) + Wie bei den \KOMAScript"=Klassen wird eine zentrierte Überschrift mit dem + Bezeichner \Term{abstractname} vor der eigentlichen Zusammenfassung gesetzt. +\item[section/addsec] + Die Überschrift (\Term{abstractname}) verwendet den Gliederungsbefehl + \Macro{section}(\Package{koma-script})'none'. +\item[chapter/addchap][\Class{tudscrbook}](% + nur \Class{tudscrreprt} und \Class{tudscrbook}% + ) + Es wird der Befehl \Macro{chapter}(\Package{koma-script})'none' für das + Setzen der Überschrift (\Term{abstractname}) genutzt. +\item[heading] + Es wird die höchstmögliche Gliederungsebene verwendet. Für + \Class{tudscrartcl} entspricht dies \Option{abstract=section}, bei + \Class{tudscrreprt} und \Class{tudscrbook} \Option{abstract=chapter}. +\end{values} +% +Abhängig von der gewählten Gliederungsebene der Überschrift wird das Verhalten +für das Setzen eines Eintrages ins Inhaltsverzeichnis festgelegt. Ohne oder mit +zentrierter Überschrift wird per Voreinstellung kein Eintrag erzeugt. Wird die +Überschrift jedoch in Form einer Gliederungsebene gewählt, so erscheint die +Zusammenfassung für gewöhnlich im Inhaltsverzeichnis auf der obersten Ebene. +Das voreingestellte Verhalten für die Einträge ins Inhaltsverzeichnis kann +jederzeit mit folgenden Werten durch den Anwender überschrieben werden. +% +\begin{values}{\Option{abstract}} +\item[notoc/nottotoc] + Die Zusammenfassung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\item[toc/totoc] + Es wird auf der obersten Gliederungsebene der aktuell verwendeten + Dokumentklasse (\Macro*{chapter} oder \Macro*{section}) ein nicht + nummerierten Eintrag im Inhaltsverzeichnis für die Zusammenfassung gesetzt. +\item[tocleveldown/leveldown/totocleveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Stufe unterhalb der obersten + Gliederungsebene (\Macro*{section} oder \Macro*{subsection}) erzeugt. +\item[tocmultiple/totocmultiple/tocaggregate/totocaggregate] + \ChangedAt{v2.04} + Es wird ein \emph{einziger} Inhaltsverzeichniseintrag für \emph{alle} + Zusammenfassungen erstellt. +\end{values} +% +\ChangedAt{v2.02} +Außerdem kann das Verhalten für die Kolumnentitel durch den Nutzer beeinflusst +werden. Diese werden normalerweise automatisch gesetzt, wenn diese über die +\KOMAScript-Option \Option{automark}(\Package{scrlayer-scrpage})'none' +aktiviert wurden und sind von der aktuellen Gliederungsebene der Überschrift +abhängig. Werden jedoch mit Hilfe der \KOMAScript-Option +\Option{manualmark}(\Package{scrlayer-scrpage})'none' manuelle Kolumnentitel +genutzt, müssen diese normalerweise auch für die Zusammenfassung durch den +Anwender gesetzt werden. Mit \Option{abstract=markboth} lässt sich allerdings +das Setzen der Kolumnentitel unabhängig davon forcieren. +% +\begin{values}{\Option{abstract}} +\item[markboth] + Unabhängig von der Verwendung manueller oder automatischer Kolumnentitel + werden diese auf rechten sowie linken Seiten mit \Term{abstractname} gesetzt. +\item[nomarkboth] + Die Einstellung für manuelle oder automatische Kolumnentitel werden beachtet + und abhängig von der verwendeten Gliederungsebene der Überschrift gesetzt. +\end{values} +% +Mit dem optionalen Parameter \Key{\Environment{abstract}}{markboth} der +\Environment{abstract}"=Umgebung kann der Kolumnentitel mit einem beliebigen +Inhalt gesetzt werden. + +Häufig wird für Abschlussarbeiten verlangt, neben der deutschsprachigen auch +noch eine englischsprachige Zusammenfassung zu verfassen. Mit der Einstellung +\Option{abstract=multiple} lassen sich mehrere Zusammenfassungen auf einer +Seite ausgeben~-- sofern genügend Platz vorhanden ist. Außerdem kann die +standardmäßige vertikale Zentrierung der \Environment{abstract}"=Umgebung +auf einer Seite unterdrückt werden. Diese Einstellungen zur Positionierung der +Zusammenfassungen innerhalb der \Environment{abstract}"=Umgebung werden nur +wirksam, wenn eine Titelseite +(\KOMAScript-Option \Option{titlepage=true}(\Package{koma-script})'none') und +\emph{keine} Überschriften in Form von Kapiteln (\Option{abstract=chapter}) +verwendet werden. +% +\begin{values}{\Option{abstract}} +\item[single/one/simple] + Jede Zusammenfassung wird auf einer eigenen Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multiple/multi/all/aggregate] + \ChangedAt{v2.02} + Zusammenfassungen, welche mit \Macro{nextabstract} getrennt wurden, werden + direkt nacheinander auf der gleichen Seite ausgegeben, wenn ausreichend Platz + auf dieser vorhanden sein sollte. Ist die Klassenoption + \Option{twocolumn}(\Package{typearea})'none' aktiviert, erfolgt die Ausgabe + aller Zusammenfassungen ohne Spaltenumbruch. +\item[fill/fil/vfil/vfill] + Alle Zusammenfassungen werden bei der Ausgabe auf einer Seite vertikal + zentriert. Diese Einstellung steht für den zweispaltigen Satz + (Klassenoption \Option{twocolumn}(\Package{typearea})'none') nicht zur + Verfügung. +\item[nofill/nofil/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Fließtext auch. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.02:Trennung einzelner Abschnitte mit \Macro{nextabstract};% +]{\Environment{abstract}[\OLParameter{Sprache}]} +\begin{Declaration}{\Macro{nextabstract}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{abstract}}{language=\PName{Sprache}}} +\begin{Declaration}[v2.02]{\Key{\Environment{abstract}}{markboth=\PSet}} +\begin{Declaration}[v2.02]{% + \Key{\Environment{abstract}}{pagestyle=\PName{Seitenstil}}% +} +\begin{Declaration}{\Key{\Environment{abstract}}{columns=\PName{Anzahl}}} +\begin{Declaration}{\Key{\Environment{abstract}}{option=\PSet}}{% + \seeref{\Option{abstract}'ppage'}% +} +\printdeclarationlist% +\index{Satzspiegel!zweispaltig}% +% +Die \Environment{abstract}"=Umgebung dient speziell für die Ausgabe einer +Zusammenfassung, entweder zu Beginn eines Dokumentes oder beispielsweise vor +einem Teil oder Kapitel. Wird ein Titelkopf und keine Titelseite verwendet +(\KOMAScript-Option \Option{titlepage=false}(\Package{koma-script})'none'), so +wird eine Zusammenfassung~-- identisch zu den \KOMAScript"=Klassen~-- in einer +\Environment{quotation}(\Package{koma-script})'none'"=Umgebung ausgegeben, +wobei die Überschrift \emph{nicht} in der Form einer Gliederungsebene gesetzt +wird. Diese Umgebung hat jedoch den Nachteil, dass die \KOMAScript-Option +\Option{parskip=\PName{Methode}}(\Package{koma-script})'none' nicht beachtet +wird. Um dies zu beheben, kann das Paket \Package{quoting} geladen werden, +wodurch stattdessen die Umgebung \Environment{quoting}(\Package{quoting})'none' +verwendet wird. + +Mit der zuvor erläuterten Option \Option{abstract} kann eingestellt werden, in +welcher Gestalt die Zusammenfassung ausgegeben werden soll. Des Weiteren lässt +sich jede \Environment{abstract}"=Umgebung individuell über weitere Parameter +als optionales Argument anpassen. Damit lassen sich gegebenenfalls für eine +bestimmte \Environment{abstract}"=Umgebung die globalen Einstellungen +der Option \Option{abstract} lokal ändern und gezielt anpassen. + +Wird das Paket \Package{babel} durch den Anwender geladen, kann mit dem +optionalen Parameter \Key{\Environment{abstract}}{language=\PName{Sprache}}die +Sprache innerhalb der \Environment{abstract}"=Umgebung geändert werden. Dafür +muss die gewünschte Sprache bereits mit dem Laden von \Package{babel} entweder +als Paketoption oder besser noch als Klassenoption angegeben worden sein. +Dadurch werden innerhalb der Umgebung die Bezeichnung \Term{abstractname} und +die Trennungsmuster sprachspezifisch angepasst. Die gewünschte Sprache kann +auch ohne die Verwendung des Parameters \Key{\Environment{abstract}}{language} +direkt als optionales Argument übergeben werden. + +\ChangedAt{v2.02} +Mit \Key{\Environment{abstract}}{markboth} können die gesetzten Kolumnentitel +beeinflusst werden. Wird \Key{\Environment{abstract}}{markboth=false} +angegeben, werden automatische respektive manuelle Kolumnentitel verwendet. Die +Einstellung \Key{\Environment{abstract}}{markboth=true} wiederum setzt diese +für linke und rechte Seiten auf \Term{abstractname}. Zusätzlich lässt sich mit +\Key{\Environment{abstract}}{markboth=\PValueName{Kolumnentitel}} der +Kolumnentitel direkt festlegen. So können die Kolumnen beispielsweise mit der +Verwendung von \Key{\Environment{abstract}}{markboth=\PParameter{}} auch +gelöscht werden. Sollte \Key{\Environment{abstract}}{markboth} aktiviert +werden, so wird in der Umgebung automatisch der Seitenstil \PageStyle{headings} +genutzt~-- falls eine Titelseite +(\KOMAScript-Option \Option{titlepage=true}(\Package{koma-script})'none') +verwendet wird. Mit dem Parameter \Key{\Environment{abstract}}{pagestyle} kann +dieser auch manuell angegeben werden, die \PageStyle{tudheadings}"=Seitenstile +werden dabei ebenfalls unterstützt werden. + +Wurde das Paket \Package{multicol} geladen, kann mit dem Parameter +\Key{\Environment{abstract}}{columns=\PName{Anzahl}} die Zusammenfassung +mehrspaltig gesetzt werden. Dem Parameter \Key{\Environment{abstract}}{option} +können alle gültigen, bereits erläuterten Werte der Option \Option{abstract} +übergeben werden. Die damit gemachten Einstellungen wirken sich~-- im Gegensatz +zur Variante der späten Optionenwahl% +\footnote{% + \Macro{TUDoption}[\PParameter{abstract}\Parameter{Einstellung}] oder + \Macro{TUDoptions}[\PParameter{abstract=\PName{Einstellung}}]% +} +respektive als Angabe einer Klassenoption~-- lediglich lokal auf die verwendete +\Environment{abstract}"=Umgebung aus. + +\ChangedAt{v2.02} +Sollen mehrere Zusammenfassungen erzeugt und dabei die Einstellungen +\Option{abstract=single} beziehungsweise \Option{abstract=multiple} sowie +\Option{abstract=fill} respektive \Option{abstract=nofill} beachtet werden, so +ist die \Environment{abstract}"=Umgebung nur einmal zu verwenden. Innerhalb +dieser müssen die einzelnen Zusammenfassungen jeweils mit \Macro{nextabstract} +voneinander getrennt werden. Der Befehl akzeptiert dabei im optionalen Argument +alle Parameter, welche auch von der \Environment{abstract}"=Umgebung selbst +unterstützt werden. Das Minimalbeispiel in \fullref{sec:exmpl:dissertation} +zeigt hierfür das notwendige Vorgehen. + +Wird die \Environment{abstract}"=Umgebung innerhalb des Argumentes der Befehle +\Macro{setpartpreamble}(\Package{koma-script})'none' beziehungsweise +\Macro{setchapterpreamble}(\Package{koma-script})'none' verwendet, so wird die +Überschrift~-- im Fall, dass nicht \Option{abstract=false} gewählt ist~-- +\emph{immer} in Textgröße und zentriert gesetzt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\minisec{Umbenennung der \abstractname} +Mit dem \KOMAScript-Befehl \Macro{renewcaptionname}(\Package{koma-script})'none' +kann der Bezeichner~-- sprich der Wortlaut~-- der für die +\Environment{abstract}"=Umgebung verwendeten Überschrift verändert werden. Mehr +dazu ist in \autoref{sec:localization} zu finden. +% +\begin{Example} +Die Überschrift der \Environment{abstract}"=Umgebung soll für die Sprache +\PValue{ngerman} von \enquote{\abstractname} in \enquote{Kurzfassung} umbenannt +werden. Das Makro \Macro{renewcaptionname}(\Package{koma-script})'none' +erwartet die drei obligatorischen Argumente +\Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt}: +\begin{Code}[escapechar=§] +\renewcaptionname{ngerman}{\abstractname}{Kurzfassung} +\end{Code} +\index{Zusammenfassung|!)}% +\end{Example} + + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +\index{Selbstständigkeitserklärung|!(}% +\index{Sperrvermerk|!(}% +% +\begin{Declaration}[% + v2.02!\Option{declaration=multiple}:ersetzt \Option{declaration=double};% + v2.02!\Option{declaration=tocleveldown};% + v2.02!\Option{declaration=markboth};% + v2.04!\Option{declaration=tocmultiple}% +]{\Option{declaration=\PSet}}[true]% +\printdeclarationlist% +% +Mit \Option{declaration} kann äquivalent zur Option \Option{abstract} die +Gestaltung von Selbstständigkeitserklärung und Sperrvermerk angepasst werden. +Zur Ausgabe der Erklärungen werden die Umgebung \Environment{declarations} +sowie die Befehle \Macro{declaration} beziehungsweise \Macro{confirmation} und +\Macro{blocking} bereitgestellt. + +Die beiden Optionen \Option{abstract} und \Option{declaration} ähneln sich sehr +stark. Alle möglichen Wertzuweisungen für \Option{declaration} wurden bereits +bei der Beschreibung von \Option{abstract} ausführlich erläutert. Deshalb +geschieht dies hier in einer etwas kürzeren Ausführung. Sollte Ihnen eine +Erläuterung etwas dürftig erscheinen, so hilft mit Sicherheit ein Blick zur +Erklärung der Option \Option{abstract}'full'. + +Die möglichen Werte für die Gestaltung der Überschrift werden nachfolgend +genannt. Im Gegensatz zur Option \Option{abstract} stehen die beiden +Einstellungen \Option{declaration=true} und \Option{declaration=false} auch für +die Klasse \Class{tudscrbook} zur Verfügung. +% +\begin{values}{\Option{declaration}} +\itemfalse + Es wird keine Überschrift über den Erklärungen selbst ausgegeben. +\itemtrue* + Eine zentrierte Überschrift mit dem Bezeichner \Term{confirmationname} vor + der Selbstständigkeitserklärung beziehungsweise \Term{blockingname} vor dem + Sperrvermerk wird gesetzt. +\item[section/addsec] + Die Überschrift verwendet den Gliederungsbefehl + \Macro{section}(\Package{koma-script})'none'. +\item[chapter/addchap][\Class{tudscrbook}](% + nur \Class{tudscrreprt} und \Class{tudscrbook}% + ) + Es wird der Befehl \Macro{chapter}(\Package{koma-script})'none' für das + Setzen der Überschrift genutzt. +\item[heading] + Es wird die höchstmögliche Gliederungsebene verwendet. Für + \Class{tudscrartcl} entspricht dies \Option{declaration=section}, bei + \Class{tudscrreprt} und \Class{tudscrbook} \Option{declaration=chapter}. +\end{values} +% +Abhängig von der gewählten Gliederungsebene der Überschrift wird das Verhalten +für das Setzen eines Eintrages ins Inhaltsverzeichnis festgelegt. Normalerweise +wird nur für Überschriften in Form einer Gliederungsebene ein Eintrag der +Erklärung ins Inhaltsverzeichnis erstellt, für \Option{declaration=true} und +\Option{declaration=false} geschieht dies standardmäßig nicht. Mit folgenden +Werten kann das voreingestellte Verhalten überschrieben werden. +% +\begin{values}{\Option{declaration}} +\item[notoc/nottotoc] + Die Erklärung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\item[toc/totoc] + Unabhängig von der Wahl der Überschrift erhält jede Erklärung einen nicht + nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene + der verwendeten Dokumentklasse (\Macro*{chapter} oder \Macro*{section}). +\item[tocleveldown/leveldown/totocleveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Stufer unter der obersten + Gliederungsebene (\Macro*{section} oder \Macro*{subsection}) erzeugt. +\item[tocmultiple/totocmultiple/tocaggregate/totocaggregate] + \ChangedAt{v2.04} + Es wird ein \emph{einziger} Inhaltsverzeichniseintrag für \emph{alle} + Erklärungen erstellt. +\end{values} +% +\ChangedAt{v2.02} +Normalerweise werden automatische Kolumnentitel abhängig von der +Gliederungsebene der Überschrift gesetzt, falls diese über die +\KOMAScript-Option \Option{automark}(\Package{scrlayer-scrpage})'none' +aktiviert sind. Werden manuelle Kolumnentitel genutzt, müssen diese auch für +die Erklärungen manuell gesetzt werden. Mit \Option{declaration=markboth} lässt +sich unabhängig davon das Setzen der Kolumnentitel auf linken und rechten +Seiten forcieren, wobei hierfür der Titel der Überschrift genutzt wird. +% +\begin{values}{\Option{declaration}} +\item[markboth] + Unabhängig von der Verwendung manueller oder automatischer Kolumnentitel + werden diese auf rechten sowie linken Seiten mit den Bezeichnern + \Term{confirmationname} beziehungsweise \Term{blockingname} gesetzt. +\item[nomarkboth] + Die Einstellung für manuelle oder automatische Kolumnentitel werden beachtet. +\end{values} +% +Für \Macro{declaration} respektive \Macro{confirmation} und \Macro{blocking} +sowie die \Environment{declarations}"=Umgebung lässt sich mit dem Parameter +\Key{\Environment{declarations}}{markboth} ein beliebiger Kolumnentitel setzen. + +Die folgenden Einstellungen zur Positionierung der Erklärungen haben lediglich +Auswirkungen, wenn die Überschrift der Erklärung \emph{nicht} im Form eines +Kapitels ausgegeben und mit der \KOMAScript-Option +\Option{titlepage=true}(\Package{koma-script})'none' eine Titelseite verwendet +wird. +% +\begin{values}{\Option{declaration}} +\item[single/one/simple] + Jede Erklärung wird auf einer separaten Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multiple/multi/all/aggregate] + \ChangedAt{v2.02} + Erklärungen, welche in der \Environment{declarations}"=Umgebung mit den + Befehlen \Macro{confirmation}, \Macro{blocking} und \Macro{declaration} oder + außerhalb dieser mit \Macro{declaration} gesetzt wurden, werden direkt + nacheinander auf der gleichen Seite ausgegeben, wenn ausreichend Platz auf + dieser vorhanden sein sollte. Ist die Klassenoption + \Option{twocolumn}(\Package{typearea})'none' aktiviert, erfolgt die Ausgabe + aller Erklärungen ohne Spaltenumbruch. +\item[fill/fil/vfil/vfill] + Alle Erklärungen auf einer Ausgabeseite werden vertikal zentriert. Für + den zweispaltigen Satz + (Klassenoption \Option{twocolumn}(\Package{typearea})'none') steht diese + Einstellung nicht zur Verfügung. +\item[nofill/nofil/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Fließtext auch. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.02;% + v2.04:Trennung einzelner Abschnitte mit \Macro{nextdeclaration};% +]{\Environment{declarations}[\OLParameter{Sprache}]} +\begin{Declaration}{% + \Macro{nextdeclaration}[% + \OLParameter{Sprache}\Parameter{Überschrift}\Parameter{Erklärung}% + ]% +} +\begin{Declaration}{\Key{\Environment{declarations}}{language=\PName{Sprache}}} +\begin{Declaration}{\Key{\Environment{declarations}}{markboth=\PSet}} +\begin{Declaration}{% + \Key{\Environment{declarations}}{pagestyle=\PName{Seitenstil}}% +} +\begin{Declaration}{% + \Key{\Environment{declarations}}{columns=\PName{Anzahl}}% +} +\begin{Declaration}{\Key{\Environment{declarations}}{option=\PSet}} +\begin{Declaration}{% + \Key{\Environment{declarations}}{supporter=\PName{Unterstützer}} +} +\begin{Declaration}{\Key{\Environment{declarations}}{place=\PName{Ort}}} +\begin{Declaration}{\Key{\Environment{declarations}}{closing=\PName{Ende}}} +\begin{Declaration}{\Key{\Environment{declarations}}{company=\PName{Firma}}} +\printdeclarationlist% +% +Für Selbstständigkeitserklärung und Sperrvermerk sollte im einfachsten Fall +\Macro{declaration} beziehungsweise \Macro{confirmation} und \Macro{blocking} +verwendet werden. Sobald diese jedoch in anderer Reihenfolge, mehrfacher +Ausführung, unterschiedlichen Sprachen oder um zusätzliche Erklärungen ergänzt +werden, bietet die \Environment{declarations}"=Umgebung entsprechende +Freiheiten. + +Innerhalb dieser Umgebung können Selbstständigkeitserklärung und Sperrvermerk +mit dem Befehl \Macro{declaration} direkt nacheinander folgend beziehungsweise +mit \Macro{confirmation} und \Macro{blocking} auch separat ausgegeben werden. +Dies kann in beliebiger Reihenfolge und auch mehrmals geschehen, um diese +beispielsweise mehrsprachig zu setzen. +\ChangedAt{v2.04} Des Weiteren gibt es mit \Macro{nextdeclaration} die +Möglichkeit, eine Erklärung völlig frei zu verfassen. Dieser Befehl kann +\emph{ausschließlich} innerhalb der \Environment{declarations}"=Umgebung +genutzt werden, wobei im ersten Argument die gewünschte Überschrift und im +zweiten der Inhalt respektive Text der Erklärung selbst angegeben werden muss. + +Die folgend beschriebenen Parameter können sowohl für die Umgebung +\Environment{declarations} selbst als auch für die zuvor genannten Befehle als +optionales Argument verwendet werden. Ähnlich wie die gleichnamigen Optionen +sind auch die Umgebungen \Environment{abstract} und \Environment{declarations} +sehr ähnlich zueinander. Deshalb werden die Erläuterungen relativ kurz +gehalten. Ist ein Erklärung für einen Parameter etwas unverständlich, kann +diese bei der Umgebung \Environment{abstract}'full' nachgelesen werden. + +Wurde das Paket \Package{babel} geladen, kann die Sprache~-- sofern diese als +Paketoption oder besser noch als Klassenoption angegeben wurde~-- mit dem +Parameter \Key{\Environment{declarations}}{language=\PName{Sprache}} für die +\Environment{declarations}"=Umgebung geändert werden. Dadurch werden die +Bezeichner~-- unter anderem \Term{confirmationname} und \Term{blockingname}~-- +sowie die Trennungsmuster innerhalb der Umgebung sprachspezifisch angepasst. + +\ChangedAt{v2.02} +Die Kolumnentitel können mit \Key{\Environment{declarations}}{markboth} +beeinflusst werden. Mit \Key{\Environment{declarations}}{markboth=true} werden +für diese auf linker und rechter Seite \Term{confirmationname} beziehungsweise +\Term{blockingname} verwendet. +Automatische (\Option{automark}(\Package{scrlayer-scrpage})'none') respektive +manuelle (\Option{manualmark}(\Package{scrlayer-scrpage})'none') Kolumnentitel +werden mit \Key{\Environment{declarations}}{markboth=false} genutzt. Mit +\Key{\Environment{declarations}}{markboth=\PValueName{Kolumnentitel}} können +diese direkt festgelegt werden. Wird \Key{\Environment{declarations}}{markboth} +in irgendeiner Form genutzt, wird der Seitenstil \PageStyle{headings} +automatisch gesetzt. Dieser lässt sich für die Umgebung mit dem Parameter +\Key{\Environment{declarations}}{pagestyle} auch manuell angegeben. Wurde das +Paket \Package{multicol} geladen, wird der Inhalt der Umgebung mit +\Key{\Environment{declarations}}{columns=\PName{Anzahl}} mehrspaltig gesetzt. +Für \Key{\Environment{declarations}}{option} können alle gültigen Werte der +Option \Option{declaration} angegeben werden. Die Verwendung der weiteren +Parameter \Key{\Macro{confirmation}}{supporter} sowie +\Key{\Macro{confirmation}}{place} und \Key{\Macro{confirmation}}{closing} ist +in der Dokumentation des Befehls \Macro{confirmation} zu finden, der Parameter +\Key{\Macro{blocking}}{company} ist für \Macro{blocking} erläutert. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{confirmation}[\OLParameter{Unterstützer}]} +\begin{Declaration}[v2.05]{\Macro{confirmation*}[\LParameter]} +\begin{Declaration}{\Key{\Macro{confirmation}}{supporter=\PName{Unterstützer}}} +\begin{Declaration}{\Key{\Macro{confirmation}}{place=\PName{Ort}}} +\begin{Declaration}{\Key{\Macro{confirmation}}{closing=\PName{Ende}}} +\begin{Declaration}{\Key{\Macro{confirmation}}{language=\PName{Sprache}}} +\begin{Declaration}[v2.02]{\Key{\Macro{confirmation}}{markboth=\PSet}} +\begin{Declaration}[v2.02]{% + \Key{\Macro{confirmation}}{pagestyle=\PName{Seitenstil}}% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{confirmation}}{columns=\PName{Anzahl}}% +} +\begin{Declaration}{\Key{\Macro{confirmation}}{option=\PSet}} +\printdeclarationlist% +\index{Datum}% +% +Mit diesem Befehl wird ein sprachspezifischer Standardtext für eine +Selbstständigkeitserklärung ausgegeben, welcher in \Term{confirmationtext} +gespeichert ist. Wie dieser angepasst beziehungsweise geändert werden kann, ist +unter \autoref{sec:localization} zu finden. Er kann sowohl innerhalb der +\Environment{declarations}"=Umgebung als auch außerhalb dieser direkt im +Dokument verwendet werden. + +Wird \Term{confirmationtext} nicht geändert, kann dieser über das optionale +Argument von \Macro{confirmation} und die deklarierten Parameter angepasst +werden. Im Standardtext der Selbstständigkeitserklärung werden sowohl der Titel +als auch der Typ der Abschlussarbeit~-- falls dieser mit \Macro{thesis}, +\Macro{subject}[\Parameter{\autoref{tab:thesis}}] beziehungsweise mit der +Option \Option{subjectthesis} angegeben wurde~-- aufgeführt. Über den Parameter +\Key{\Macro{confirmation}}{supporter} oder \emph{zuvor} mit dem Befehl +\Macro{supporter} können weitere an der Arbeit beteiligte Personen angegeben +werden. Mehrere zu nennende Personen sind auch hier durch \Macro{and} zu +trennen. Das Feld der Unterstützer kann auch mit dem bloßen optionalen Argument +ohne die Angabe eines Parameters angepasst werden. +\ChangedAt{v2.05} +Mit der Sternversion \Macro{confirmation*} werden als Unterstützer die mit +\Macro{supervisor}[\Parameter{Name(n)}] definierten Betreuer der Arbeit +angegeben. + +Nach dem eigentlichen Text der Selbstständigkeitserklärung wird der mit +\Key{\Macro{confirmation}}{place} beziehungsweise \Macro{place} angegebene Ort +sowie das mit \Macro{date} eingestellte Datum ausgegeben. Als Voreinstellung +ist für den Ort \enquote{Dresden} gewählt. Danach folgen~-- mit etwas +vertikalem Leerraum für die notwendige Unterschrift~-- der Autor oder die +Autoren, angegeben durch den Befehl \Macro{author}. Soll anstelle dessen etwas +anderes nach dem Text der Selbstständigkeitserklärung gesetzt werden, kann dies +mit dem Parameter \Key{\Macro{confirmation}}{closing} oder zuvor mit dem +Befehl \Macro{confirmationclosing} angepasst werden. Die Parameter +\Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{markboth}, +\Key{\Environment{declarations}}{pagestyle}, +\Key{\Environment{declarations}}{columns} und +\Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen +der \Environment{declarations}"=Umgebung. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Macro{blocking}[\OLParameter{Firma}]} +\begin{Declaration}{\Key{\Macro{blocking}}{company=\PName{Firma}}} +\begin{Declaration}{\Key{\Macro{blocking}}{language=\PName{Sprache}}} +\begin{Declaration}{\Key{\Macro{blocking}}{markboth=\PSet}} +\begin{Declaration}{\Key{\Macro{blocking}}{pagestyle=\PName{Seitenstil}}} +\begin{Declaration}{\Key{\Macro{blocking}}{columns=\PName{Anzahl}}} +\begin{Declaration}{\Key{\Macro{blocking}}{option=\PSet}} +\printdeclarationlist% +% +Beim Sperrvermerk verhält es sich äquivalent zur Selbstständigkeitserklärung. +Es wird der in \Term{blockingtext} hinterlegte Standardtext in der gewählten +Sprache ausgegeben. Dieser kann~-- wie in \autoref{sec:localization} +beschrieben~-- geändert werden. Der Befehl \Macro{blocking} kann sowohl +innerhalb der Umgebung \Environment{declarations} als auch direkt im Dokument +verwendet werden. + +In seiner ursprünglichen Definition, kann er im optionalen Argument über die +deklarierten Parameter angepasst werden. Im Standardtext des Sperrvermerks +werden sowohl der Titel als auch der Typ der Abschlussarbeit~-- falls dieser +mit \Macro{thesis}, \Macro{subject}[\Parameter{\autoref{tab:thesis}}] +respektive mit der Option \Option{subjectthesis} angegeben wurde~-- aufgeführt. +Mit \Key{\Macro{blocking}}{company} oder \emph{vorher} mit \Macro{company} kann +zusätzlich eine im Sperrvermerk zu nennende Firma oder ähnliches angegeben +werden. Dieses Feld lässt sich auch direkt im optionalen Argument ohne die +Verwendung eines Parameters definieren. Die weiteren Parameter +\Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{markboth}, +\Key{\Environment{declarations}}{pagestyle}, +\Key{\Environment{declarations}}{columns} und +\Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen +der \Environment{declarations}"=Umgebung. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{declaration}[\LParameter]} +\begin{Declaration}[v2.05]{\Macro{declaration*}[\LParameter]} +\begin{Declaration}{\Key{\Macro{declaration}}{language=\PName{Sprache}}} +\begin{Declaration}[v2.02]{\Key{\Macro{declaration}}{markboth=\PSet}} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{pagestyle=\PName{Seitenstil}}% +} +\begin{Declaration}[v2.02]{\Key{\Macro{declaration}}{columns=\PName{Anzahl}}} +\begin{Declaration}{\Key{\Macro{declaration}}{option=\PSet}} +\begin{Declaration}{\Key{\Macro{declaration}}{supporter=\PName{Unterstützer}}} +\begin{Declaration}{\Key{\Macro{declaration}}{place=\PName{Ort}}} +\begin{Declaration}{\Key{\Macro{declaration}}{closing=\PName{Ende}}} +\begin{Declaration}{\Key{\Macro{declaration}}{company=\PName{Firma}}} +\printdeclarationlist% +% +Dieser Befehl gibt die Selbstständigkeitserklärung und den Sperrvermerk direkt +aufeinanderfolgend aus. Dabei werden die Einstellungen zur Positionierung der +einzelnen Erklärungen, welche über die Zuweisungen \Option{declaration=single} +beziehungsweise \Option{declaration=multiple} sowie \Option{declaration=fill} +respektive \Option{declaration=nofill} erfolgen, beachtet. Er kann sowohl +innerhalb der \Environment{declarations}"=Umgebung als auch außerhalb dieser +direkt im Dokument verwendet werden und akzeptiert im optionalen Argument dabei +alle für die \Environment{declarations}"=Umgebung beschriebenen Parameter. +\ChangedAt{v2.05} +Die Sternversion erzwingt für die Selbstständigkeitserklärung eine Angabe der +mit \Macro{supervisor}[\Parameter{Name(n)}] definierten Betreuer in dieser. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{supporter}[\Parameter{Unterstützer}]} +\begin{Declaration}{\Macro{place}[\Parameter{Ort}]} +\begin{Declaration}{\Macro{confirmationclosing}[\Parameter{Ende}]} +\begin{Declaration}{\Macro{company}[\Parameter{Firma}]} +\printdeclarationlist% +% +Diese Makros ändern~-- im Gegensatz zu den Parametern von +\Macro{confirmation} und \Macro{blocking}~-- die entsprechenden Feldwerte +global. Damit lässt sich die \emph{mehrfache} Angabe eines Parameters +vermeiden, wenn beispielsweise eine Erklärung in unterschiedlichen Sprachen +erzeugt wird. +\index{Selbstständigkeitserklärung|!)}% +\index{Sperrvermerk|!)}% +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{Lesezeichen} +\index{Lesezeichen}% +% +\begin{Declaration}{\Option{tudbookmarks=\PBoolean}}[true]% +\begin{Declaration}{% + \Macro{tudbookmark}[\OParameter{Ebene}\Parameter{Text}\Parameter{Ankername}]% +}% +\printdeclarationlist% +\index{Titel}% +\index{Umschlagseite}% +\index{Inhaltsverzeichnis}% +\index{Aufgabenstellung}% +\index{Gutachten}% +\index{Aushang}% +% +Diese Option wird wirksam, wenn \Package{hyperref} geladen wurde. Es werden für +die Umschlag- und Titelseite, das Inhaltsverzeichnis sowie~-- bei der +Verwendung des Paketes \Package{tudscrsupervisor}~-- die Aufgabenstellung +Lesezeichen oder auch Outline"=Einträge im PDF"~Dokument erzeugt. +% +\begin{values}{\Option{tudbookmarks}} +\itemfalse + Es erfolgt kein Eintrag von ergänzenden Lesezeichen. +\itemtrue* + Es werden automatisch zusätzliche Lesezeichen eingetragen. +\end{values} +% +Der Befehl \Macro{tudbookmark} arbeitet prinzipiell in der gleichen Weise wie +\Macro{pdfbookmark}(\Package{hyperref})'none' aus \Package{hyperref}. Die +Lesezeichen werden jedoch nur bei aktivierte Option \Option{tudbookmarks} +generiert. +\end{Declaration} +\end{Declaration} + + + +\section{Sprachabhängige Bezeichner} +\tudhyperdef*{sec:localization}% +\index{Bezeichner|!(}% +\index{Titel!Felder|(}% +% +Durch \KOMAScript{} werden Befehle, mit denen sich sprachabhängige Bezeichner +erzeugen oder ändern lassen, zur Verfügung gestellt. Diese werden durch das +\TUDScript-Bundle genutzt, um lokalisierte Begriffe für die Sprachen +\emph{Englisch} und \emph{Deutsch} bereitzustellen. Ein Großteil davon betrifft +Bezeichnungen für Felder auf der Titelseite (\autoref{sec:title}). Hierfür wird +\Macro{providecaptionname}[% + \Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt}% +](\Package{koma-script})'none' +verwendet, wobei \PName{Sprache} dem geladenen Sprachpaket~-- normalerweise das +Paket \Package{babel}~-- bekannt sein muss. + +Sollte der Anwender die im Folgenden erläuterten oder auch andere Bezeichner, +welche von einem beliebigen (Sprach"~)Paket bereitgestellt werden, ändern +wollen, ist hierfür der Befehl +\Macro{renewcaptionname}[% + \Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt}% +](\Package{koma-script})'none' +zu verwenden. Es sollte natürlich dabei eine \PName{Sprache} angegeben werden, +welche im Dokument durch \Package{babel} oder ein anderes Sprachpaket verwendet +wird, beispielsweise \PValue{ngerman} oder \PValue{english}. + +Die Makros der Bezeichner und deren Verwendung werden folgend kurz beschrieben +und tabellarisch aufgeführt. Dabei wurde versucht, alle Befehle der Bezeichner +für bestimmte Begriffe auf \Term*{\noexpand\dots{}name} und beschreibende +Texte auf \Term*{\noexpand\dots{}text} enden zu lassen. + +\begin{Declaration}[% + v2.02:Unterscheidung von einem und mehreren Gutachtern% +]{\Term{refereename}} +\begin{Declaration}{\Term{refereeothername}} +\begin{Declaration}[% + v2.05:Unterscheidung von einem und mehreren Fachreferenten% +]{\Term{advisorname}} +\begin{Declaration}{\Term{advisorothername}} +\begin{Declaration}[% + v2.05:Unterscheidung von einem und mehreren Betreuern% +]{\Term{supervisorname}} +\begin{Declaration}{\Term{supervisorothername}} +\begin{Declaration}[% + v2.02:Unterscheidung von einem und mehreren Professoren% +]{\Term{professorname}} +\begin{Declaration}[v2.02]{\Term{professorothername}} +\printdeclarationlist% +\index{Betreuer}% +\index{Gutachter}% +\index{Hochschullehrer}% +\index{Referent}% +% +Diese sprachabhängigen Begriffe sind die Bezeichner für die Titelseitenfelder +von Betreuer (\Macro{supervisor}), Gutachter (\Macro{referee}) und Fachreferent +(\Macro{advisor}). Soll innerhalb eines dieser Felder mehr als eine Person +angegeben werden, so sind die Einzelpersonen jeweils mit dem Befehl \Macro{and} +voneinander zu trennen. In diesem Fall werden alle nach der erstgenannten +folgenden Personen durch den Bezeichner \Term*{\noexpand\dots{}othername} +ergänzt. + +\ChangedAt{v2.02,v2.05} +Bei den Bezeichnung wird unterschieden, ob eine oder mehrere Personen angegeben +wurden. Wird lediglich eine Person genannt, so ist eine Unterscheidung nicht +notwendig und es wird der Singular genutzt. Werden jedoch zwei oder mehr +Personen angegeben, so wird geprüft, ob der dazugehörige Bezeichner für die +Zweitperson (\Term*{\noexpand\dots{}othername}) definiert ist. Falls dies so +ist, wird die alternative Bezeichnung für die erstgenannte Person verwendet, +andernfalls wird der Plural des Bezeichners verwendet. Dies betrifft alle +Felder, die über \Macro{referee}, \Macro{advisor}, \Macro{supervisor} oder +\Macro{professor} angegeben wurden. + +\renewcaptionname{ngerman}{\refereename}{(Erst-)Gutachter} +\renewcaptionname{english}{\refereename}{(First) Referee(s)} +\renewcaptionname{ngerman}{\advisorname}{(Erster) Fachreferent(en)} +\renewcaptionname{english}{\advisorname}{(First) Advisor(s)} +\renewcaptionname{ngerman}{\supervisorname}{(Erst-)Betreuer} +\renewcaptionname{english}{\supervisorname}{(First) Supervisors(s)} +\renewcaptionname{ngerman}{\professorname}{Betreuende(r) Hochschullehrer} +\renewcaptionname{english}{\professorname}{Supervising professor(s)} +\TermTable{% + supervisorname,supervisorothername,refereename,refereeothername,% + advisorname,advisorothername,professorname,professorothername% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{dissertationname}} +\begin{Declaration}{\Term{diplomathesisname}} +\begin{Declaration}{\Term{masterthesisname}} +\begin{Declaration}{\Term{bachelorthesisname}} +\begin{Declaration}{\Term{studentthesisname}} +\begin{Declaration}{\Term{studentresearchname}} +\begin{Declaration}{\Term{projectpapername}} +\begin{Declaration}{\Term{seminarpapername}} +\begin{Declaration}{\Term{termpapername}} +\begin{Declaration}{\Term{researchname}} +\begin{Declaration}{\Term{logname}} +\begin{Declaration}{\Term{internshipname}} +\begin{Declaration}{\Term{reportname}} +\printdeclarationlist% +\index{Abschlussarbeit}% +\index{Typisierung}% +% +Diese Bezeichner dienen zur Typisierung speziell für eine Abschlussarbeit. Wie +diese genutzt werden können, ist bei der Erläuterung von \Option*{subjectthesis} +beziehungsweise \Macro*{thesis} und \Macro*{subject}'full' zu finden. +\TermTable{% + dissertationname,diplomathesisname,masterthesisname,bachelorthesisname,% + studentresearchname,projectpapername,seminarpapername,researchname,% + logname,internshipname,reportname% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Term{graduationtext}} +\printdeclarationlist% +\index{Abschlussarbeit}% +\index{Typisierung}% +% +Wurde erkannt, dass das aktuelle Dokument eine Abschlussarbeit ist, so kann der +zu erlangende akademische Grad mit dem Befehl \Macro{graduation} angegeben +werden. Bei dessen Ausgabe auf dem Titel wird dabei der entsprechende Text dazu +angegeben. +\TermTable*{graduationtext}{.78\textwidth} +\end{Declaration} + +\begin{Declaration}{\Term{datetext}} +\begin{Declaration}{\Term{defensedatetext}} +\printdeclarationlist% +\index{Abschlussarbeit}% +\index{Datum}% +\index{Datum!Abgabedatum}% +\index{Datum!Verteidigungsdatum}% +% +Wird mit \Macro{date} das (Abgabe-)Datum und mit \Macro{defensedate} ein Datum +der Verteidigung für eine Abschlussarbeit angegeben, so werden auch diese +Felder durch einen Text beschrieben. +\TermTable{datetext,defensedatetext} +\index{Titel!Felder|)}% +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{dateofbirthtext}} +\begin{Declaration}{\Term{placeofbirthtext}} +\begin{Declaration}{\Term{matriculationnumbername}} +\begin{Declaration}{\Term{matriculationyearname}} +\begin{Declaration}{\Term{coursename}} +\begin{Declaration}[v2.02]{\Term{disciplinename}} +\printdeclarationlist% +\index{Autorenangaben}% +\index{Datum!Geburtsdatum}% +% +Werden für den Autor oder die Autoren mit dem entsprechenden Befehl das +Geburtsdatum (\Macro{dateofbirth}), der Geburtsort (\Macro{placeofbirth}), der +Studiengang (\Macro{course}), die Studienrichtung (\Macro{discipline}) oder +auch die Matrikelnummer (\Macro{matriculationnumber}) und/oder das +Immatrikulationsjahr (\Macro{matriculationyear}) angegeben, werden sowohl auf +der Titelseite als auch auf der gegebenenfalls mit \Package{tudscrsupervisor} +erstellten Aufgabenstellung die dazugehörigen Bezeichner vorangestellt. Auf +dem Titel werden diese dabei mit dem durch \Macro{titledelimiter} gegebenen +Trennzeichen vom eigentlichen Feld abgegrenzt. +\TermTable{% + dateofbirthtext,placeofbirthtext,matriculationnumbername,% + matriculationyearname,coursename,disciplinename% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{coverpagename}} +\begin{Declaration}{\Term{titlepagename}} +\printdeclarationlist% +\index{Lesezeichen}% +% +Diese beiden Bezeichner werden bei aktivierter \Option{tudbookmarks} für das +Eintragen von Lesezeichen in ein PDF"=Dokument genutzt. +\TermTable{coverpagename,titlepagename} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{abstractname}} +\printdeclarationlist% +\index{Zusammenfassung}% +% +Dieser Bezeichner wird für die Klasse \Class{tudscrbook} definiert, da selbiger +von \KOMAScript{} für die Buchklasse nicht vorgesehen wird. +\TermTable{abstractname} +\end{Declaration} + +\begin{Declaration}{\Term{confirmationname}} +\begin{Declaration}[v2.02]{\Term{blockingname}} +\printdeclarationlist% +\index{Selbstständigkeitserklärung|(}% +\index{Sperrvermerk|(}% +% +Es werden die Bezeichnungen für Selbstständigkeitserklärung und Sperrvermerk +für die dazugehörigen Überschriften definiert. +\TermTable{confirmationname,blockingname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{confirmationtext}} +\begin{Declaration}[v2.02]{\Term{blockingtext}} +\printdeclarationlist% +% +Die Texte der Erklärungen selbst sind derart aufgebaut, dass sie in +Abhängigkeit von den angegebenen Informationen unterschiedlich ausgeführt +werden. Innerhalb der Selbstständigkeitserklärung (\Macro{confirmation}) werden +gegebenenfalls die Felder für den Titel (\Macro{title}) und die Typisierung der +Abschlussarbeit sowie die angegebenen Unterstützer% +\footnote{% + \Macro{confirmation}[\POParameter{% + \Key{\Macro{confirmation}}{supporter=\PName{Unterstützer}}% + }] + oder \Macro{supporter}[\Parameter{Unterstützer}]% +} +beachtet. Für den Sperrvermerk (\Macro{blocking}) wird neben dem Titel +(\Macro{title}) optional außerdem noch das Feld der externen Firma% +\footnote{% + \Macro{blocking}[% + \POParameter{\Key{\Macro{blocking}}{company=\PName{Firma}}}% + ] + oder \Macro{company}[\Parameter{Firma}]% +} +verwendet. Der Vollständigkeit halber werden im Folgenden noch die Texte für +die Selbstständigkeitserklärung und den Sperrvermerk aufgeführt~-- allerdings +lediglich die deutschsprachige Version. Dabei werden alle möglichen Felder +angezeigt. + +\begingroup + \makeatletter + \def\@@title{\PName{Titel}} + \def\@@thesis{\PName{Abschlussarbeit}} + \def\@supporter{\PName{Vorname Nachname} \and \PName{Vorname Nachname}} + \def\@company{\PName{Firma}} + \makeatother + \vskip\medskipamount\noindent + \textbf{Bezeichner}\quad\Term{confirmationtext}% + \begin{quoting} + \confirmationtext + \end{quoting} + \textbf{Bezeichner}\quad\Term{blockingtext}% + \begin{quoting} + \blockingtext + \end{quoting} + + \makeatletter + \def\@@author{\PName{Vorname Nachname}}% + \def\@supporter{\PName{Vorname Nachname}}% + \makeatother + \newcommand*\showfield[1]{% + \Macro*{getfield}[\PParameter{#1}]'none'~\textrightarrow~\getfield{#1}% + }% + \noindent + Soll eine der Erklärungen geändert und dabei der Inhalt eines Feldes genutzt + werden, lässt sich hierfür \Macro{getfield} verwenden.% + \footnote{% + Titel:~\showfield{title}, Art der Abschlussarbeit:~\showfield{thesis}, + Autor:~\showfield{author}, Firma:~\showfield{company} sowie ebenfalls + Unterstützer:~\showfield{supporter} + } + Gegebenenfalls ist die Definition von \Macro{and} anzupassen. +\endgroup +\index{Selbstständigkeitserklärung|)}% +\index{Sperrvermerk|)}% +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{listingname}} +\begin{Declaration}{\Term{listlistingname}} +\printdeclarationlist% +% +Sollte ein Paket zur Einbindung von externem Quelltext~-- beispielsweise +das Paket \Package{listings}~-- verwendet werden, so werden diese Bezeichnungen +für Quelltextausschnitte und das Quelltextverzeichnis verwendet. +\TermTable{listingname,listlistingname} +\index{Bezeichner|!)}% +\end{Declaration} +\end{Declaration} + +\section{Kompatibilitätseinstellungen zu früheren Versionen} +Bei der Entwicklung von \TUDScript lässt es sich nicht immer vermeiden, dass +Verbesserungen sowie Korrekturen an den Klassen und Paketen zu Änderungen am +Ergebnis der Ausgabe führen, insbesondere bei Umbruch und Layout. Für bereits +archivierte Dokumente, welche mit einer früheren Version erstellt wurden ist +dies jedoch bei einer erneuten Kompilierung unter Umständen eher unerwünscht. + +\begin{Declaration}[v2.03]{\Option{tudscrver=\PName{Version}}}[last] +\printdeclarationlist% +\index{Kompatibilität|!}% +% +Mit dieser Option wird es möglich, auf das (Umbruch-)Verhalten einer älteren +respektive früheren Version von \TUDScript umzuschalten, um nach der +Kompilierung das erwartete Ergebnis zu erhalten. Neue Möglichkeiten, die sich +nicht auf den Umbruch oder das Layout auswirken, sind auch für den Fall +verfügbar, dass per Option die Kompatibilität zu einer älteren Version +ausgewählt wurde. + +Bei der Angabe einer unbekannten Version als Wert wird eine Warnung ausgegeben +und \Option{tudscrver=first} angenommen. Mit \Option{tudscrver=last} wird die +jeweils aktuell verfügbare Version ausgewählt und folglich auf die zukünftige +Kompatibilität des Dokumentes zu der aktuell genutzten Version verzichtet. +Dieses Verhalten entspricht der Voreinstellung. Es ist zu beachten, dass die +Nutzung von \Option{tudscrver} nur als Klassenoption möglich ist. +% +\begin{values}{\Option{tudscrver}} +\item[\PValue{first}/\PValue{2.02}] + \ChangedAt{% + v2.03:Satzspiegel im \CD geändert, Logo von \DDC im Fußbereich + wird ohne vergrößerten Seitenrand verwendet + } + Der Satzspiegel im Layout des \CDs (\seeref{\Option{cdgeometry}}) wurde in + der Version~v2.03 leicht geändert. Der obere Seitenrand wurde verkleinert, + der untere im gleichen Maße vergrößert. Der verfügbare Textbereich ist + folglich identisch. Bei der Aktivierung des \DDC-Logos im Fußbereich der + Seite (\seeref{\Option{ddcfoot}}) wird im Gegensatz zur Version~v2.02 der + gleiche Satzspiegel genutzt. Mit \Option{tudscrver=first} kann dieses + Verhalten deaktiviert werden. +\item[\PValue{2.03}] + \index{Leerraum}% + \index{Schriftgröße}% + \ChangedAt{v2.04:Vertikaler Leerraum abhängig von verwendeter Schriftgröße} + Seit der Version~v2.04 werden mehrere Längen in Abhängigkeit der gewählten + Schriftgröße definiert. Mit der Wahl \Option{tudscrver=2.03} wird diese + Funktionalität deaktiviert, wobei hierfür lediglich die \TUDScript-Option + \Option{relspacing=false} aktiviert wird. +\item[\PValue{2.04}] + \index{Satzspiegel}% + \ChangedAt{% + v2.05:Satzspiegeleinstellungen für die jeweilige ISO/DIN"~Klasse + des Papierformates identisch% + } + Mit der Version~v2.05 werden die vorgegebenen Einstellungen zum Satzspiegel + anhand der B"~ISO/DIN"~Reihe vorgenommen. Damit sind für alle Papierformate + einer spezifischen ISO/DIN"~Klasse die Seitenränder identisch. Mit der Wahl + \Option{tudscrver=2.04} ist der Satzspiegel von der A"~ISO/DIN"~Reihe + abhängig, sodass die B- und C"~Papierformate der gleichen Klasse größere + Seitenränder erhalten, als die D- und A"~Formate. +\item[\PValue{2.05}] + \ChangedAt{v2.06:Griechische Buchstaben standardmäßig kursiv} + Mit dem Wechsel der Hausschrift zu \OpenSans ergaben sich einige Änderungen + bezüglich der Erscheinung des \CDs. Mit dieser Kompatibilitätseinstellung + werden die alten Schriftfamilien \Univers und \DIN + (\Option{cdoldfont=true}, \Option{headings=light}, \Option{ttfont=lmodern}) + aktiviert. Weiterhin wirkt sich für diese Schriftfamilien im Mathematikmodus + die Option \Option{slantedgreek=true} lediglich auf die griechischen + Majuskeln aus. +\item[\PValue{2.06}] + Dies ist Kompatibilitätseinstellung für \TUDScript~\vTUDScript{} und wird für + zukünftige Änderungen bereits vorgehalten. Soll ein mit der momentan + aktuellen Version erzeugtes Dokument auch mit einer späteren Version von + \TUDScript nach einem \hologo{LaTeX}"=Lauf das gleiche Ausgabeergebnis + liefern, muss dies mit \Option{tudscrver=2.06} angegeben werden. +\item[\PValue{last}] + Es werden keine Kompatibilitätseinstellungen für das Dokument vorgenommen. + Mit einer späteren Version von \TUDScript kann ein anderes Umbruchverhalten + innerhalb des Dokumentes auftreten. Dies ist die Standardeinstellung. +\end{values} +\end{Declaration} +\end{Declaration*} +\end{Declaration*} +\end{Declaration*} + +\ToDo[doc]{Wieder rein, falls vernünftig implementiert}[v2.07] +%\subsection{Fußnoten in Überschriften} +%\index{Layout!Überschriften}% +%\index{Fußnoten}% +% +%\begin{Declaration}[% +% v2.02:Fußnoten mit Symbolen in Überschriften möglich% +%]{\Option{footnotes=\PSet}}[nosymbolheadings]% +%\begin{Declaration}[v2.02]{\Counter{symbolheadings}}% +%\printdeclarationlist% +%% +%\ToDo[imp]{Fehler \Macro*{addchap} beheben, Paket \Package*{footmisc}}[v2.06] +%\ToDo[imp]{Zähler auch bei Sternversionen von Kapiteln zurücksetzen}[v2.06] +%\ToDo[imp]{Fußnoten nicht ins Inhaltsverzeichnis und in die Kopfzeile?!}[v2.06] +%\ToDo[imp]{Problem mit \Package*{hyperref} lösbar?}[v2.06] +%% +%Für die Überschriften wird die \KOMAScript-Option \Option{footnotes} erweitert. +%Normalerweise kann diese die Werte \PValue{multiple} und \PValue{nomultiple} +%annehmen, wobei Letzteres der Standardfall ist. Die \TUDScript-Hauptklassen +%erweitern die Option dahingehend, dass auf die Verwendung von Symbolen anstelle +%von Zahlen innerhalb der Überschriften umgeschaltet werden kann. Hierfür wird +%der Zähler \Counter{symbolheadings} definiert, der mit dem Beginn eines neuen +%Kapitels zurückgesetzt wird. +% +%\Attention{% +% Die Option \Option{footnotes=symbolheadings} ist experimentell und kann unter +% Umständen zu Fehlern respektive unerwünschten Ergebnissen führen.% +%} +%% +%\begin{values}{\Option{footnotes}} +%\item[nosymbolheadings/numberheadings] +% Die Fußnoten der Überschriften werden fortlaufend mit denen des Fließtextes +% gesetzt. +%\item[symbolheadings] +% Für die Überschriften werden symbolische Fußnoten mit einem eigenen Zähler +% verwendet. +%\end{values} +%\end{Declaration} +%\end{Declaration} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex new file mode 100644 index 0000000000..c44e01b2c8 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex @@ -0,0 +1,968 @@ +\setchapterpreamble{\tudhyperdef'{sec:obsolete}} +\chapter{Obsolete sowie vollständig entfernte Optionen und Befehle} +% +\section{Veraltete Optionen und Befehle in \TUDScript} +\index{Kompatibilität}% +% +Einige Optionen und Befehle waren während der Weiterentwicklung von \TUDScript +in ihrer ursprünglichen Form nicht mehr umsetzbar oder wurden~-- unter anderem +aus Gründen der Kompatibilität zu anderen Paketen~-- schlichtweg verworfen. +Dennoch besteht für die meisten entfallenen Direktiven eine Möglichkeit, deren +Funktionalität ohne größere Aufwände mit \TUDScript in der aktuellen Version +\vTUDScript{} darzustellen. Ist dies der Fall, wird hier entsprechend kurz +darauf hingewiesen. + +\newcommand*\ChangesTo[1]{% + Änderungen für \TUDScript~#1% + \ChangedAt*{#1:Änderungen gegenüber der vorhergehenden Version}% +} + +\subsection{\ChangesTo{v2.00}} +\begin{Obsolete}{v2.00}[\Option{cd=\PSet}]{\Option{cd=alternative}} +\begin{Obsolete}{v2.00}[\Option{cdtitle=\PSet}]{\Option{cdtitle=alternative}} +\begin{Obsolete}{v2.00}{\Length{titlecolwidth}} +\begin{Obsolete}{v2.00}{\Term{authortext}} +\printobsoletelist% +% +Die alternative Titelseite ist komplett aus dem \TUDScript-Bundle entfernt +worden. Dementsprechend entfallen auch die dazugehörigen Optionen sowie Länge +und Bezeichner. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{cd}}{\Option{color=\PBoolean}} +\printobsoletelist% +% +Die Einstellungen der farbigen Ausprägung des Dokumentes erfolgt über die +Option \Option*{cd}. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{cdfont}}{\Option{tudfonts=\PBoolean}} +\printobsoletelist% +% +Die Option zur Schrifteinstellung ist wesentlich erweitert worden. Aus Gründen +der Konsistenz wurde diese umbenannt. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{cdfoot}}{\Option{tudfoot=\PBoolean}} +\printobsoletelist% +% +Ebenso wurde die Option \Option*{tudfoot} umbenannt, um dem Namensschema der +restlichen Optionen von \TUDScript zu entsprechen. +\end{Obsolete} + +\begin{Obsolete}{v2.00}{\Option{headfoot=\PSet}}{% + \seeref{\KOMAScript-Optionen \Option*{headinclude} und \Option*{footinclude}}% +} +\printobsoletelist% +% +Diese Option war für \TUDScript in der \emph{Version~v1.0} notwendig, um die +parallele Verwendung der beiden Pakete \Package*{typearea} und +\Package*{geometry} zu ermöglichen. Die Erstellung des Satzspiegels wurde +komplett überarbeitet. Mittlerweile werden an das Paket \Package*{geometry} die +Einstellungen für die \KOMAScript"=Optionen \Option*{headinclude} und +\Option*{footinclude} direkt weitergereicht, sodass die Option +\Option*{headfoot} nicht mehr notwendig ist und deshalb entfernt wurde. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{cleardoublespecialpage}}{% + \Option{partclear=\PBoolean}% +} +\begin{Obsolete}{v2.00:\Option{cleardoublespecialpage}}{% + \Option{chapterclear=\PBoolean}% +} +\printobsoletelist% +% +Beide Optionen sind in der neuen Option \Option*{cleardoublespecialpage} +aufgegangen, womit ein konsistentes Layout erreicht wird. Die ursprünglichen +Optionen entfallen. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{abstract}}{\Option{abstracttotoc=\PBoolean}} +\begin{Obsolete}{v2.00:\Option{abstract}}{\Option{abstractdouble=\PBoolean}} +\printobsoletelist% +% +Beide Optionen wurden in die Option \Option*{abstract} integriert und sind +deshalb überflüssig. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{headlogo}}{% + \Macro{logofile}[\Parameter{Dateiname}]% +} +\printobsoletelist% +% +Der Befehl \Macro*{logofile} wurde in \Macro*{headlogo} umbenannt, wobei die +Funktionalität weiterhin bestehen bleibt. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Option{tudbookmarks}}{\Option{bookmarks=\PBoolean}} +\printobsoletelist% +% +Die Option wurde umbenannt, um Überschneidungen mit \Package*{hyperref} zu +vermeiden. +\end{Obsolete} + +\begin{Obsolete}{v2.00}{\Length{signatureheight}} +\printobsoletelist% +% +Die Höhe für die Zeile der Unterschriften wurde dehnbar gestaltet, eine etwaige +Anpassung durch den Anwender ist nicht vonnöten. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{titledelimiter}}{\Term{titlecoldelim}}% +\printobsoletelist% +% +Das Trennzeichen für Bezeichnungen beziehungsweise beschreibende Texte und dem +eigentlichen Feld auf der Titelseite ist nicht mehr sprachabhängig und wurde +umbenannt. +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{declaration}}{\Macro{confirmationandrestriction}} +\begin{Obsolete}{v2.00:\Macro{declaration}}{\Macro{restrictionandconfirmation}} +\printobsoletelist% +% +Die beiden Befehle entfallen, stattdessen sollte entweder der Befehl +\Macro*{declaration} oder die Umgebung \Environment*{declarations} zusammen mit +den Befehlen \Macro*{confirmation} und \Macro*{blocking} verwendet werden, +wobei sich diese in der Umgebung in beliebiger Reihenfolge anordnen lassen. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{place}}{\Macro{location}[\Parameter{Ort}]} +\printobsoletelist% +% +In Anlehnung an andere \hologo{LaTeX}"=Pakete und "~Klassen wurde +\Macro*{location} in \Macro*{place} umbenannt. +\end{Obsolete} + +\minisec{\taskname} +\begin{Bundle}{\Package{tudscrsupervisor}} +Die Umgebung für die Erstellung einer Aufgabenstellung für eine +wissenschaftliche Arbeit wurde in das Paket \Package{tudscrsupervisor} +ausgelagert. Dieses muss für die Verwendung der Umgebung \Environment*{task} +und der daraus abgeleiteten standardisierten Form zwingend geladen werden. + +\begin{Obsolete}{v2.00:\Environment{task}}{\Option{cdtask=\PSet}} +\begin{Obsolete}{v2.00}{\Option{taskcompact=\PBoolean}} +\begin{Obsolete}{v2.00}{\Length{taskcolwidth}} +\printobsoletelist% +% +Die Klassenoption \Option*{cdtask} ist komplett entfernt worden, alle +Einstellungen, erfolgen direkt über das optionale Argument der Umgebung +\Environment*{task}. Die Variante eines kompakten Kopfes mit der Option +\Option*{taskcompact} wird nicht mehr bereitgestellt. Die Möglichkeit zur +manuellen Festlegung der Spaltenbreite für den Kopf der Aufgabenstellung mit +\Length*{taskcolwidth} wurde aufgrund der verbesserten automatischen Berechnung +entfernt. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{taskform}}{% + \Macro{tasks}[\Parameter{Ziele}\Parameter{Schwerpunkte}]% +} +\begin{Obsolete}{v2.00:\Term{focusname}}{\Term{focustext}} +\begin{Obsolete}{v2.00:\Term{objectivesname}}{\Term{objectivestext}} +\printobsoletelist% +% +Der Befehl \Macro*{tasks} wurde in \Macro*{taskform} umbenannt und in der +Funktionalität erweitert. Die darin verendeten Bezeichner wurden ebenfalls +leicht abgewandelt. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Macro{matriculationnumber}}{% + \Macro{studentid}[\Parameter{Matrikelnummer}]% +} +\begin{Obsolete}{v2.00:\Macro{matriculationyear}}{% + \Macro{enrolmentyear}[\Parameter{Immatrikulationsjahr}]% +} +\begin{Obsolete}{v2.00:\Macro{date}}{\Macro{submissiondate}[\Parameter{Datum}]} +\begin{Obsolete}{v2.00:\Macro{dateofbirth}}{% + \Macro{birthday}[\Parameter{Geburtsdatum}]% +} +\begin{Obsolete}{v2.00:\Macro{placeofbirth}}{% + \Macro{birthplace}[\Parameter{Geburtsort}]% +} +\begin{Obsolete}{v2.00:\Macro{issuedate}}{% + \Macro{startdate}[\Parameter{Ausgabedatum}]% +} +\printobsoletelist% +% +Alle Befehle wurden umbenannt und sind jetzt neben der \taskname{} auch für die +Titelseite im \CD nutzbar. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.00:\Term{matriculationnumbername}}{\Term{studentidname}} +\begin{Obsolete}{v2.00:\Term{matriculationyearname}}{\Term{enrolmentname}} +\begin{Obsolete}{v2.00:\Term{datetext}}{\Term{submissiontext}} +\begin{Obsolete}{v2.00:\Term{dateofbirthtext}}{\Term{birthdaytext}} +\begin{Obsolete}{v2.00:\Term{placeofbirthtext}}{\Term{birthplacetext}} +\begin{Obsolete}{v2.00:\Term{supervisorothername}}{\Term{supervisorIIname}} +\begin{Obsolete}{v2.00:\Term{defensedatetext}}{\Term{defensetext}} +\begin{Obsolete}{v2.00:\Term{issuedatetext}}{\Term{starttext}} +\begin{Obsolete}{v2.00:\Term{duedatetext}}{\Term{duetext}} +\printobsoletelist% +% +Die Bezeichner wurden in Anlehnung an die dazugehörigen Befehlsnamen umbenannt. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Bundle} + + +\subsection{\ChangesTo{v2.02}} +\begin{Obsolete}{v2.02:\Option{pageheadingsvskip}}{\Length{chapterheadingvskip}} +\printobsoletelist% +% +Die vertikale Positionierung von Überschriften wurde aufgeteilt. Zum einen kann +diese für Titel"~, Teile- und Kapitelseiten (\Option*{chapterpage=true}) über +die Option \Option*{pageheadingsvskip} geändert werden. Für Kapitelüberschriften +(\Option*{chapterpage=false}) sowie den Titelkopf (\Option*{titlepage=false}) +kann dies unabhängig davon mit \Option*{headingsvskip} erfolgen. +\end{Obsolete} + +\begin{Obsolete}{v2.02:\Macro{graduation}}{% + \Macro{degree}[\OParameter{Abk.}\Parameter{Grad}]% +} +\begin{Obsolete}{v2.02:\Term{graduationtext}}{\Term{degreetext}} +\printobsoletelist% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +der dazugehörige Bezeichner dahingehend angepasst. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.02:\Macro{blocking}}{% + \Macro{restriction}[\OLParameter{Firma}]% +} +\begin{Obsolete}{v2.02:\Term{blockingname}}{\Term{restrictionname}} +\begin{Obsolete}{v2.02:\Term{blockingtext}}{\Term{restrictiontext}} +\printobsoletelist% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +die dazugehörigen Bezeichner dahingehend angepasst. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{}{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Obsolete}{v2.02:\Key{\Environment{tudpage}}{pagestyle}}{% + \Key{\Environment{tudpage}}{head=\PSet} +} +\begin{Obsolete}{v2.02:\Key{\Environment{tudpage}}{pagestyle}}{% + \Key{\Environment{tudpage}}{foot=\PSet} +} +\printobsoletelist% +% +Diese beiden Parameter der Umgebung \Environment*{tudpage} wurden in ihrer +Funktionalität durch den Parameter \Key*{\Environment{tudpage}}{pagestyle} +ersetzt. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + + + +\minisec{Änderungen im Paket \Package{tudscrsupervisor}} +Im Paket \Package{tudscrsupervisor} gab es ein paar kleinere Anpassungen. +\begin{Bundle}{\Package{tudscrsupervisor}} +\begin{Obsolete}{v2.02:\Macro{discipline}}{% + \Macro{branch}[\Parameter{Studienrichtung}]% +} +\begin{Obsolete}{v2.02:\Term{disciplinename}}{\Term{branchname}} +\printobsoletelist% +% +Für die \taskname{} wurden der Befehl sowie der dazugehörige Bezeichner +umbenannt. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.02:\Macro{contactperson}}{% + \Macro{contact}[\Parameter{Kontaktperson(en)}]% +} +\begin{Obsolete}{v2.02:\Term{contactpersonname}}{\Term{contactname}} +\begin{Obsolete}{v2.02:\Macro{telephone}}{% + \Macro{phone}[\Parameter{Telefonnummer}]% +} +\begin{Obsolete}{v2.02:\Macro{emailaddress}}{% + \Macro{email}[\Parameter{E-Mail-Adresse}]% +} +\printobsoletelist% +% +Alle genannten Befehle und Bezeichner wurden für den \noticename{} umbenannt. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Bundle} + + +\subsection{\ChangesTo{v2.03}} +\begin{Obsolete}{v2.03:\Option{cdgeometry}}{\Option{geometry=\PBoolean}} +\printobsoletelist% +% +Die Option \Option*{geometry} wurde zur Konsistenz sowie dem Vermeiden +eines möglichen Konfliktes mit einer späteren \KOMAScript-Version umbenannt. +Die Funktionalität bleibt bestehen. +\end{Obsolete} + +\begin{Obsolete}{v2.03:\Option{cdfont}}{\Option{cdfonts=\PBoolean}} +\begin{Obsolete}{v2.03:\Option{cdfont}}{\Option{din=\PBoolean}} +\printobsoletelist% +% +Die Option \Option*{cdfont} wurde erweitert und fungiert als zentrale +Schnittstelle zur Schrifteinstellung. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.03:\Option{cdmath}}{\Option{sansmath=\PBoolean}} +\printobsoletelist% +% +Die Option \Option*{sansmath} wurde aus Gründen der Konsistenz umbenannt. +Zusätzlich wurde die Funktionalität erweitert. +\end{Obsolete} + +\begin{Obsolete}{v2.03:\Option{cdhead}}{\Option{barfont=\PSet}} +\begin{Obsolete}{v2.03:\Option{cdhead}}{\Option{widehead=\PBoolean}} +\printobsoletelist% +% +Die Optionen \Option*{barfont} und \Option*{widehead} wurden in der Option +\Option*{cdhead} zusammengefasst. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{}{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Obsolete}{v2.03}{\Key{\Environment{tudpage}}{color=\PName{Farbe}}} +\printobsoletelist% +% +Der Parameter \Key*{\Environment{tudpage}}{color=\PValueName{Farbe}} der +\Environment*{tudpage}"=Umgebung wurde ersatzlos entfernt. +\end{Obsolete} +\end{Obsolete} + + +\subsection{\ChangesTo{v2.04}} +\begin{Obsolete}{v2.04}{\Option{fontspec=\PBoolean}}% +\printobsoletelist% +% +Anstatt die Option \Option*{fontspec} zu aktivieren, kann einfach das Paket +\Package{fontspec} in der Dokumentpräambel geladen werden. Dadurch können +anschließend zusätzliche Pakete genutzt werden, welche auf die Verwendung von +\Package{fontspec} angewiesen sind. Sollte die Option \Option*{fontspec} +dennoch genutzt werden, müssen alle auf das Paket \Package{fontspec} +aufbauenden Einstellungen durch den Anwender mit +\Macro*{AfterPackage}[\PParameter{fontspec}\PParameter{\dots}] +verzögert werden. In \fullref{sec:fonts} sind weitere Hinweise zur Verwendung +des Paketes \Package{fontspec} zu finden. +\end{Obsolete} + + +\subsection{\ChangesTo{v2.05}} +\begin{Obsolete}{v2.05:\Option{pageheadingsvskip}}{\Length{pageheadingsvskip}} +\begin{Obsolete}{v2.05:\Option{headingsvskip}}{\Length{headingsvskip}} +\printobsoletelist% +% +Die vertikale Positionierung von speziellen Überschriften erfolgt nicht mehr +über die Längen \Length*{headingsvskip} und \Length*{pageheadingsvskip} sondern +über die Optionen \Option*{headingsvskip} sowie \Option*{pageheadingsvskip}. +\end{Obsolete} +\end{Obsolete} + + +\begin{Obsolete}{v2.05:\Option{footlogoheight}}{\Length{footlogoheight}}% +\printobsoletelist% +% +Auch die Höhe der Logos im Fußbereich der \PageStyle*{tudheadings}"=Seitenstile +wird von nun an mit der Option \Option*{footlogoheight} und nicht mehr mit der +Länge \Length*{footlogoheight} festgelegt. +\end{Obsolete} + + +\subsection{\ChangesTo{v2.06}} +\begin{Declaration}[v2.06]{\Option{cdoldfont}}[false] +\printdeclarationlist% +% +Mit der Version~v2.06 wird standardmäßig \OpenSans als Hausschrift verwendet. +Um jedoch weiterhin ältere Dokumente mit den Schriften \Univers und \DIN +erzeugen zu können, wird diese Option bereitgestellt. +\Attention{% + Diese kann ausschließlich als Klassenoption~-- oder für die Pakete + \Package*{tudscrfonts} und \Package*{fix-tudscrfonts} als Paketoption~-- + genutzt werden. +} Eine späte Optionenwahl mit \Macro*{TUDoption} oder \Macro*{TUDoptions} ist +nicht möglich. Wurden mit \Option{cdoldfont=true} die alten Schriftfamilien +aktiviert, kann jedoch weiterhin die Option \Option*{cdfont} genutzt werden. +% +\begin{values}{\Option{cdoldfont}} +\item[false] + Das Verhalten ist äquivalent zu \Option*{cdfont=false}, die Hausschrift ist + nicht aktiv. +\item[true] + Es werden die alten Hausschriften \Univers für den Fließtext sowie \DIN für + Überschriften der obersten Gliederungsebenen bis einschließlich + \Macro*{subsubsection} genutzt. Die Schriftstärke lässt sich mit + \Option*{cdfont=true} respektive \Option*{cdfont=heavy} anpassen. +\end{values} +% +Für die \TUDScript-Klassen sowie die vom Paket \Package*{fix-tudscrfonts} +unterstützten Dokumentklassen kann die für die Gliederungsebenen verwendete +Schriftart angepasst werden. +% +\begin{values}{\Option{cdoldfont}} +\item[nodin] + Für Überschriften wird \Univers anstatt \DIN verwendet. +\item[din] + Mit dieser Einstellung wird die Schrift \DIN in den Überschriften verwendet. +\item[onlydin] + Hiermit werden nur die Überschriften in \DIN gesetzt, für den Fließtext kommt + nicht \Univers sondern die \hologo{LaTeX}"=Standardschriften respektive die + eines geladenen Schriftpaketes zum Einsatz. +\end{values} +\end{Declaration} + +\begin{Obsolete}{v2.06}{\Macro{univln}} +\begin{Obsolete}{v2.06}{\Macro{textuln}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univrn}} +\begin{Obsolete}{v2.06}{\Macro{texturn}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univbn}} +\begin{Obsolete}{v2.06}{\Macro{textubn}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univxn}} +\begin{Obsolete}{v2.06}{\Macro{textuxn}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univls}} +\begin{Obsolete}{v2.06}{\Macro{textuls}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univrs}} +\begin{Obsolete}{v2.06}{\Macro{texturs}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univbs}} +\begin{Obsolete}{v2.06}{\Macro{textubs}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{univxs}} +\begin{Obsolete}{v2.06}{\Macro{textuxs}[\Parameter{Text}]} +\begin{Obsolete}{v2.06}{\Macro{dinbn}} +\begin{Obsolete}{v2.06}{\Macro{textdbn}[\Parameter{Text}]} +\printobsoletelist% +% +Wird die Option \Option{cdoldfont} nicht aktiviert, werden auch die Befehle zur +expliziten Auswahl eines Schriftschnittes nicht mehr bereitgestellt. +Stattdessen können \Macro*{cdfont} oder \Macro*{textcd}[\Parameter{Text}] +genutzt werden, welche in \autoref{sec:text} zu finden sind. +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.06}[\Option{cdfont=\PSet}]{\Option{cdfont=din}}{% + entfällt, \seeref{\Option{cdoldfont=din}}% +} +\begin{Obsolete}{v2.06}[\Option{cdfont=\PSet}]{\Option{cdfont=nodin}}{% + entfällt, \seeref{\Option{cdoldfont=nodin}}% +} +\printobsoletelist% +% +Die Einstellungen für Überschriften sind mit der Umstellung auf \OpenSans nicht +mehr notwendig. Für die Verwendung der alten Schriftfamilien \Univers und \DIN +muss die Option \Option{cdoldfont} aktiviert werden. +\end{Obsolete} +\end{Obsolete} + +\begin{Obsolete}{v2.06:\Option{cleardoublespecialpage}}{% + \Option{clearcolor=\PBoolean}% +} +\printobsoletelist% +% +Die Option \Option*{clearcolor=\PBoolean} wurde zur Vereinheitlichung der +Benutzerschnittstelle in \Option*{cleardoublespecialpage=\PSet} integriert. +\end{Obsolete} + + +\minisec{Auszeichnungen in Überschriften} +% +Für alle Gliederungsebenen bis einschließlich \Macro*{subsubsection} werden +die Überschriften in Großbuchstaben der Schrift \DIN gesetzt, wenn diese mit +den entsprechenden Einstellungen (\Option*{cdoldfont=true/onyldin}) aktiviert +wurde. Hierfür wird intern \Macro*{MakeTextUppercase}(\Package{textcase})'none' +aus dem Paket \Package{textcase} genutzt, welches zusammen mit den alten +Schriftfamilien geladen wird. Sollen bestimmte Kleinbuchstaben erhalten +bleiben, ist \Macro*{NoCaseChange}(\Package{textcase})'none' zu verwenden. +% +\begin{Example} +In einem Kapitel wird ein einzelnes Wort in Minuskeln geschrieben: +\begin{Code}[escapechar=§] +\chapter{§Ü§berschrift mit \NoCaseChange{kleinem} Wort} +\end{Code} +\end{Example} +% +Die Schrift \DIN durfte laut \CD nur mit Majuskeln (Großbuchstaben) verwendet +werden, weshalb das beschriebene Vorgehen lediglich im \emph{Ausnahmefall} +anzuwenden ist. Die manuellen Nutzung sollte mit +\Macro*{MakeTextUppercase}[% + \PParameter{\Macro{textdbn}[\Parameter{Text}]}% +](\Package{textcase})'none' geschehen. + +\begin{Obsolete}{v2.06}{% + \Macro{ifdin}[\Parameter{Dann-Teil}\Parameter{Sonst-Teil}] +}% +\printobsoletelist% +% +Der Befehl \Macro*{ifdin} prüft, ob die Schriftfamilie \DIN aktiv ist und führt +in diesem Fall \Parameter{Dann-Teil} aus, andernfalls \Parameter{Sonst-Teil}. +\end{Obsolete} + + + +\section{Das Paket \Package{tudscrcomp} -- Umstieg von anderen Klassen} +\begin{Bundle*}{\Package{tudscrcomp}} +\index{Kompatibilität!\Class{tudbook}|(}% +\index{Kompatibilität!\Class{tudmathposter}|(}% + +\noindent\Attention{% + Sollten Sie \Class{tudbook}|?|, \Class{tudletter}|?|, \Class{tudfax}|?|, + \Class{tudhaus}|?|, \Class{tudform}|?| oder auch \Class{tudmathposter}|?| + beziehungsweise eine der \TUDScript-Klassen in der \emph{Version~v1.0} + nie genutzt haben, können Sie dieses \autorefname ohne Weiteres überspringen. + Sämtliche hier vorgestellten Optionen und Befehle sind in der aktuellen + Version von \TUDScript obsolet. +} + +\bigskip\noindent +Zu Beginn der Entwicklung von \TUDScript diente die Klasse \Class{tudbook} als +grundlegende Basis zur Orientierung. Ziel war es, sämtliche Funktionalitäten +dieser Klasse beizubehalten und zusätzlich den vollen Funktionsumfang der +\KOMAScript-Klassen nutzbar zu machen. Bei der kompletten Neuimplementierung +der \TUDScript-Klassen wurde sehr viel verändert und verbessert. Ein Teil der +implementierten Optionen und Befehle war jedoch bereits in der +\emph{Version~v1.0} von \TUDScript unerwünschte Relikte, mit denen lediglich +die Kompatibilität zur \Class{tudbook}"=Klasse und ihren Derivaten +gewährleistet werden sollte. Mit der Version~v2.00 wurden einige der unnötigen +Befehle und Optionen aus Gründen der Konsistenz nur umbenannt, andere wiederum +wurden vollständig entfernt oder über neue Befehle und Optionen in ihrer +Funktionalität ersetzt und erweitert. + +Das Paket \Package{tudscrcomp} dient der Überführung von Dokumenten, welche +entweder mit der \Class{tudbook}"=Klasse, ihren Derivaten, +der Klasse \Class{tudmathposter} oder mit \TUDScript in der \emph{Version~v1.0} +erstellt wurden, auf \TUDScript~\vTUDScript. +\Attention{% + Falls Sie das Paket verwenden wollen, sollte es \textbf{direkt} nach der + Dokumentklasse geladen werden. Andernfalls kann es im Zusammenhang mit + anderen Paketen zu Problemen kommen. +} + +Es werden einige Optionen und Befehle bereitgestellt, welche von den zuvor +genannten Klassen definiert werden, um das entsprechende Verhalten nachzuahmen. +Damit soll vor allem die Kompatibilität bei einer Änderung der Dokumentklasse +sichergestellt werden. Die Intention ist, Dokumente möglichst schnell und +einfach auf die \TUDScript-Klassen portieren zu können. Des Weiteren ist +beschrieben, wie sich die Funktionalität ohne eine Verwendung des Paketes +\Package{tudscrcomp} mit den Mitteln von \TUDScript umsetzen lassen. Für den +Satz neuer Dokumente wird empfohlen, auf den Einsatz dieses Paketes komplett zu +verzichten und stattdessen direkt die \TUDScript-Befehle zu nutzen. + +\begin{Declaration}{\Macro{einrichtung}[\Parameter{Fakultät}]}{% + identisch zu \Macro*{faculty}[\Parameter{Fakultät}]% +} +\begin{Declaration}{\Macro{fachrichtung}[\Parameter{Einrichtung}]}{% + identisch zu \Macro*{department}[\Parameter{Einrichtung}]% +} +\begin{Declaration}{\Macro{institut}[\Parameter{Institut}]}{% + identisch zu \Macro*{institute}[\Parameter{Institut}]% +} +\begin{Declaration}{\Macro{professur}[\Parameter{Lehrstuhl}]}{% + identisch zu \Macro*{chair}[\Parameter{Lehrstuhl}]% +} +\printdeclarationlist% +% +Dies sind die deutschsprachigen Befehle für den Kopf im \CD. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{serifmath}}{% + identisch zu \Option*{cdmath=false}% +} +\printdeclarationlist% +% +Die Funktionalität wird durch die Option \Option*{cdmath} bereitgestellt. +\end{Declaration} + +\begin{Declaration}{\Macro{tudfont}[\Parameter{Scriftart}]}{% + identisch zu \Macro*{cdfont}[\Parameter{Scriftart}]% +} +\printdeclarationlist% +% +Die direkte Auswahl der Schriftart sollte mit \Macro*{cdfont} erfolgen. +Zusätzlich gibt es den Befehl \Macro*{textcd}, mit dem die Auszeichnung +eines bestimmten Textes in einer anderen Schriftart erfolgen kann, ohne die +Dokumentschrift umzuschalten. +\end{Declaration} +\index{Kompatibilität!\Class{tudmathposter}|)}% + + +\subsection{Optionen und Befehle aus \Class{tudbook} \& Co.} +% +Die nachfolgenden Optionen, Umgebungen sowie Befehle werden~-- zumindest +teilweise~-- von den Klassen \Class{tudbook}, \Class{tudletter}, +\Class{tudfax}, \Class{tudhaus}, \Class{tudform} sowie dem Paket +\Package{tudthesis}'none' und \TUDScript in der \emph{Version~v1.0} definiert. +Diese werden durch das Paket \Package{tudscrcomp} für \TUDScript~\vTUDScript{} +zur Verfügung gestellt. + +\begin{Declaration}{\Option{colortitle}}{% + identisch zu \Option*{cdtitle=color}% +} +\begin{Declaration}{\Option{nocolortitle}}{% + identisch zu \Option*{cdtitle=true}% +} +\printdeclarationlist% +% +Die Funktionalität wird durch die Option \Option*{cdtitle} bereitgestellt. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{moreauthor}[\Parameter{Autorenzusatz}]}{% + identisch zu \Macro*{authormore}[\Parameter{Autorenzusatz}]% +} +\printdeclarationlist% +% +Ursprünglich war diese Befehl für das Unterbringen aller möglichen, +zusätzlichen Autoreninformationen gedacht. Auch der Befehl \Macro*{authormore} +ist ein Rudiment davon. Empfohlen wird stattdessen die Verwendung der Befehle +\Macro*{dateofbirth}, \Macro*{placeofbirth}, \Macro*{matriculationnumber} und +\Macro*{matriculationyear} sowie \Macro*{course} und \Macro*{discipline}. +\end{Declaration} + +\begin{Declaration}{\Macro{submitdate}[\Parameter{Datum}]}{% + identisch zu \Macro*{date}[\Parameter{Datum}]% +} +\printdeclarationlist% +% +Die Funktionalität wird durch den erweiterten Standardbefehl \Macro*{date} +abgedeckt. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisorII}[\Parameter{Name}]}{% + identisch zur Verwendung von \Macro*{and} innerhalb von \Macro*{supervisor}% +} +\printdeclarationlist% +% +Es ist \Macro*{supervisor}[\PParameter{\PName{Name} \Macro*{and} \PName{Name}}] +statt \Macro*{supervisorII}[\Parameter{Name}] zu verwenden. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisedby}[\Parameter{Bezeichnung}]}{% + siehe \Term*{supervisorname}% +} +\begin{Declaration}{\Macro{supervisedIIby}[\Parameter{Bezeichnung}]}{% + siehe \Term*{supervisorothername}% +} +\begin{Declaration}{\Macro{submittedon}[\Parameter{Bezeichnung}]}{% + siehe \Term*{datetext}% +} +\printdeclarationlist% +% +Zur Änderung der Bezeichnung der Betreuer sollten die sprachabhängigen +Bezeichner wie in \autoref{sec:localization} beschrieben angepasst werden. Eine +Verwendung der hier beschriebenen Befehle entfernt die Abhängigkeit der +Bezeichner von der verwendeten Sprache. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{ddcfooter}}{% + identisch zu \Option*{ddcfoot=true}% +} +\printdeclarationlist% +% +Die Funktionalität wird durch die Option \Option*{ddcfoot} bereitgestellt. +\end{Declaration} + +\begin{Declaration}{\Macro{dissertation}} +\printdeclarationlist% +% +Die Funktionalität kann durch die Befehle \Macro*{thesis}[\PParameter{diss}] +und \Macro*{referee} sowie die Bezeichner \Term*{refereename} und +\Term*{refereeothername} dargestellt werden. +\end{Declaration} + +\begin{Declaration}{\Macro{chapterpage}} +\printdeclarationlist% +% +Durch diesen Befehl können Kapitelseiten konträr zur eigentlichen Einstellung +aktiviert oder deaktiviert werden. Prinzipiell ist dies auch durch eine +Änderung der Option \Option*{chapterpage} möglich. Allerdings wird davon +abgeraten, da dies zu einem inkonsistenten Layout innerhalb des Dokumentes +führt. +\end{Declaration} + +\begin{Declaration}{\Environment{theglossary}[\OParameter{Präambel}]} +\begin{Declaration}{\Macro{glossitem}[\Parameter{Begriff}]} +\printdeclarationlist% +% +Die \Class{tudbook}"=Klasse stellt eine rudimentäre Umgebung für ein Glossar +bereit. Allerdings gibt es dafür bereits zahlreiche und besser implementierte +Pakete. Daher wird für diese Umgebung keine Portierung vorgenommen, sondern +lediglich die ursprüngliche Definition übernommen. Allerdings sein an dieser +Stelle auf wesentlich bessere Lösungen wie beispielsweise das Paket +\Package{glossaries} oder~-- mit Abstrichen~-- das nicht ganz so umfangreiche +Paket \Package{nomencl} verwiesen. +\end{Declaration} +\end{Declaration} +\index{Kompatibilität!\Class{tudbook}|)}% + +\subsection{Optionen und Befehle aus \Class{tudmathposter}} +\index{Kompatibilität!\Class{tudmathposter}|(}% +% +\ChangedAt{v2.05:Unterstützung von \Class{tudmathposter}} +Die Klasse~\Class{tudmathposter} wird~-- im Gegensatz zu den zuvor genannten +Klassen von Klaus Bergmann~-- weiterhin gepflegt und kann bedenkenlos zum +Setzen von Postern im A0"~Format verwendet werden. Dennoch gab es vermehrt +Anfragen bezüglich einer Posterklasse auf Basis der \TUDScript-Klassen, um +beispielsweise die Schriftgröße oder auch das Papierformat einfach anpassen zu +können. Um von \Class{tudmathposter} einen möglichst einfachen Übergang auf +\Class{tudscrposter} zu gewährleisten, kann zusätzlich letzterer Klasse das +Paket \Package{tudscrcomp} geladen werden, welches die nachfolgend erläuterten +Anwenderbefehle bereitstellt. Von \Package{tudscrcomp} werden außerdem einige +Pakete geladen, welche normalerweise durch \Class{tudmathposter} eingebunden +werden. Dies sind \Package{amsmath}, \Package{amsfonts}, \Package{calc}, +\Package{textcomp} sowie \Package{tabularx}. + +Es ist nicht beabsichtigt, dass bei einem Umstieg von \Class{tudmathposter} auf +\Class{tudscrposter} in Verbindung mit \Package{tudscrcomp} das Ausgabeergebnis +identisch ist. Vielmehr soll damit die Möglichkeit geschaffen werden, auf +\Class{tudmathposter} basierende Dokumente auf die \Class{tudscrposter} zu +überführen. In jedem Fall sollte bei einem Umstieg auf \TUDScript-Posterklasse +beachtet werden, dass für diese Klasse eine explizite Wahl der Schriftgröße +über die Option~\Option{fontsize}(\Package{koma-script})'none' notwendig ist. +Um kongruent zur Klasse \Class{tudmathposter} zu bleiben, ist die Wahl einer +Schriftgröße von \Option*{fontsize=\PValue{34\dots36pt}} sinnvoll. Für weitere +Informationen zu diesem Thema sind in \autoref{sec:fontsize} vorhanden. +Weiterhin sollte für ein ähnliches Ausgabeergebnis die Absatzformatierung über +die \KOMAScript-Option \Option*{parskip=half-} eingestellt werden. Ein blaues +\DDC-Logo im Fußbereich lässt sich über \Option*{ddcfoot=blue} aktivieren. + +\begin{Declaration}{\Option{tudmathposterfoot}}% +\printdeclarationlist% +% +Durch die Klasse \Class{tudmathposter} wird der Fußbereich zweispaltig jedoch +asymmetrisch und ohne Überschriften innerhalb der beiden Spalten gesetzt. +Dieses Verhalten lässt sich mit der Option \Option{tudmathposterfoot} +auswählen. Alternativ kann auch \Option*{cdfoot=tudmathposter}'none' respektive +\Option*{cdfoot=tudscrposter}'none' zum Aktivieren beziehungsweise Deaktivieren +verwendet werden. +\end{Declaration} + +\begin{Declaration}{\Option{bluebg}}{% + identisch zu \Option*{backcolor=true}(\Class{tudscrposter})% +} +\printdeclarationlist% +% +Mit der Klasse \Class{tudscrposter} lässt sich das Verhalten mit der Option +\Option*{backcolor}(\Class{tudscrposter}) umsetzen. +\end{Declaration} + +\begin{Declaration}{\Macro{telefon}[\Parameter{Telefonnummer}]}{identisch zu + \Macro*{telephone}[\Parameter{Telefonnummer}](\Class{tudscrposter})% +} +\begin{Declaration}{\Macro{fax}[\Parameter{Telefaxnummer}]}{identisch zu + \Macro*{telefax}[\Parameter{Telefaxnummer}](\Class{tudscrposter})% +} +\begin{Declaration}{\Macro{email}[\Parameter{E-Mail-Adresse}]}{identisch zu + \Macro*{emailaddress*}[\Parameter{E-Mail-Adresse}]% +} +\begin{Declaration}{\Macro{homepage}[\Parameter{URL}]}{identisch zu + \Macro*{webpage*}[\Parameter{URL}](\Class{tudscrposter})% +} +\printdeclarationlist% +% +Dies sind die von \Class{tudmathposter} definierten Befehle für die Felder im +vordefinierten Fußbereich des Posters. Es ist dabei insbesondere zu beachten, +dass die angegebene E"~Mail-Adresse sowie die URL nicht automatisch formatiert +werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{fusszeile}[\Parameter{Inhalt}]}{% + identisch zu \Macro*{footcontent}[\Parameter{Inhalt}] +} +\begin{Declaration}{\Macro{footcolumn0}[\Parameter{Inhalt}]}{% + identisch zu \Macro*{footcontent}[\Parameter{Inhalt}] +} +\begin{Declaration}{\Macro{footcolumn1}[\Parameter{Inhalt}]}{% + identisch zu \Macro*{footcontent}[\Parameter{Inhalt}\POParameter{*}] +} +\begin{Declaration}{\Macro{footcolumn2}[\Parameter{Inhalt}]}{% + identisch zu \Macro*{footcontent}[\PParameter{*}\OParameter{Inhalt}] +} +\printdeclarationlist% +% +Mit diesen Befehlen kann die Gestalt des Fußes angepasst werden, wobei entweder +der Bereich über die gesamte Breite (\Macro{fusszeile}, \Macro{footcolumn0}) +oder lediglich die linke (\Macro{footcolumn1}) respektive die rechte Spalte +(\Macro{footcolumn2}) angepasst wird. Für zusätzliche Hinweise zur Anpassung +des Fußbereichs~-- insbesondere für die Schriftformatierung~-- sollte die +Beschreibung von \Macro*{footcontent}'full' zu Rate gezogen werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\begin{Declaration}{\Macro{zweitlogofile}[\Parameter{Dateiname}]}{% + identisch zu \Macro*{headlogo}[\Parameter{Dateiname}] +} +\begin{Declaration}{\Macro{institutslogofile}[\Parameter{Dateiname}]}{% + \seeref{\Macro*{footlogo}}% +} +\begin{Declaration}{\Macro{drittlogofile}[\Parameter{Dateiname}]}{% + \seeref{\Option*{ddc} und \Option*{ddcfoot}}% +} +\printdeclarationlist% +% +Für die Angabe von Logos für den Kopf- und Fußbereich existieren diese Befehle. +Bei der Verwendung von \Macro{institutslogofile}[\Parameter{Dateiname}] ist zu +beachten, dass die angegebene Datei sehr weit rechts im Fußbereich des Posters +gesetzt wird. Dabei kommt bei der Verwendung im Hintergrund der von \TUDScript +für das Setzen von Logos im Fußbereich tatsächlich vorgesehene Befehl in der +Form \Macro*{footlogo}[\PParameter{{{,}{,}{,}{,}{,}{,}{,}\PName{Dateiname}{,}}}] +zum Einsatz. Das Makro \Macro{drittlogofile} wird von \Class{tudmathposter} für +die Angabe eines \DDC-Logos im rechten Seitenfuß bereitgestellt. Für die +\TUDScript-Klassen gibt es hierfür die Optionen \Option*{ddc} beziehungsweise +\Option*{ddcfoot}. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{zweitlogo}[\Parameter{Definition}]}{% + keine Funktionalität, \seeref{\Macro*{headlogo}} +} +\begin{Declaration}{\Macro{institutslogo}[\Parameter{Definition}]}{% + keine Funktionalität, \seeref{\Macro*{footlogo}} +} +\begin{Declaration}{\Macro{drittlogo}[\Parameter{Definition}]}{% + keine Funktionalität, \seeref{\Option*{ddc} und \Option*{ddcfoot}}% +} +\printdeclarationlist% +% +Mit diesen Befehlen kann der Anwender bei \Class{tudmathposter} die Definition +für das Einbinden diverser Logos selber vornehmen. Dies ist für \TUDScript +nicht vorgesehen. Im Zweifel sollten die Möglichkeiten der korrelierenden +Befehle genutzt werden. Bei der Verwendung eines dieser Makros wird lediglich +eine Warnung ausgegeben. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{topsection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\begin{Declaration}{% + \Macro{topsubsection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\printdeclarationlist% +% +Der Grund für die Existenz dieser beiden Befehle bei \Class{tudmathposter} ist +nicht ohne Weiteres nachvollziehbar. Beide entsprechen in ihrem Verhalten den +Standardbefehlen \Macro*{section} und \Macro*{subsection}, setzen allerdings +keinen vertikalen Abstand vor der erzeugten Überschrift. Auch wenn das aus +typographischer Sicht wohl eher unvorteilhaft ist, werden diese beiden Befehle +bereitgestellt. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{centersection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\begin{Declaration}{% + \Macro{centersubsection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\begin{Declaration}{% + \Macro{topcentersection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\begin{Declaration}{% + \Macro{topcentersubsection}[\OParameter{Kurzform}\Parameter{Überschrift}]% +} +\printdeclarationlist% +% +Weiterhin werden auch noch eigene Makros zum Setzen zentrierter Überschriften +definiert~-- ein simples Umdefinieren von \Macro*{raggedsection} ist dafür im +Normalfall absolut ausreichend. Und um die Sache vollständig zu machen, gibt es +die zentrierten Überschriften auch noch ohne vorgelagerten, vertikalen Abstand. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Environment{farbtabellen}} +\begin{Declaration}{\Macro{blautabelle}} +\begin{Declaration}{\Macro{grautabelle}} +\printdeclarationlist% +% +Wird innerhalb der \Environment{farbtabellen}"=Umgebung eine Tabelle gesetzt, +so werden die Zeilen alternierend farbig hervorgehoben. Standardmäßig sind +hierfür leichte Blautönen eingestellt, was auch jederzeit mit dem Aufruf von +\Macro{blautabelle} wiederhergestellt werden kann. Alternativ zu dieser +Darstellung kann mit \Macro{grautabelle} auf eine Verwendung von leichten +Grautönen umgestellt werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Environment{figurehere}} +\begin{Declaration}{\Environment{tablehere}} +\printdeclarationlist% +% +Diese beiden Umgebungen können genutzt werden, um nicht"~gleitende Abbildungen +oder Tabellen zu setzen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{schnittrand}} +\printdeclarationlist% +% +Wird \Macro{schnittrand} \textbf{vor} dem Laden des Paketes \Package{tudscrcomp} +definiert, so wird der Inhalt des Befehls als Längenwert interpretiert. Dieser +wird verwendet, um den zuvor festgelegten Satzspiegel über die drei Parameter +\Key*{\Macro{geometry}(\Package{geometry})}{paper=\PName{Papierformat}}, +\Key*{\Macro{geometry}(\Package{geometry})}{layout=\PName{Zielformat}} und +\Key*{\Macro{geometry}(\Package{geometry})}{layoutoffset=\PName{Längenwert}} des +Befehls \Macro*{geometry}(\Package{geometry})'none' aus dem Paket +\Package*{geometry} zu setzen und das erzeugte Papierformat um den gegebenen +Längenwert an allen Rändern zu vergrößern. Somit wird eine Beschnittzugabe +hinzugefügt, \emph{ohne dabei die Seitenränder des Entwurfslayouts anzupassen}. +In \fullref{sec:tips:crop} sind zusätzliche Informationen zu diesem Thema zu +finden. +\end{Declaration} +\index{Kompatibilität!\Class{tudmathposter}|)}% +\end{Bundle*} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex new file mode 100644 index 0000000000..13ce2d1ec8 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex @@ -0,0 +1,1054 @@ +\setchapterpreamble{\tudhyperdef'{sec:packages}} +\chapter{Benötigte, unterstützte und empfehlenswerte Pakete} +\index{Kompatibilität|?}% +% +\section{Notwendige und ergänzende Pakete für \TUDScript} +\tudhyperdef*{sec:packages:needed}% +Diese Pakete werden von den \TUDScript"~Klassen zwingend benötigt und +eingebunden. Möchten Sie eines der im Folgenden aufgezählten Pakete selber +mit bestimmten Optionen nutzen, so sollten diese bereits \emph{vor} dem Laden +der Dokumentklasse an das Paket weitergereicht werden, falls bei der folgenden +Beschreibung des Paketes nichts anderweitiges angegeben wird. +% +\begin{Example} +Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: +\begin{Code}[escapechar=§] +\PassOptionsToPackage§\Parameter{Paketoptionen}\Parameter{Paket}§ +\documentclass§\OParameter{Klassenoptionen}\PParameter{tudscr\dots}§ +\end{Code} +\end{Example} +% +\begin{packages} +\item[koma-script,typearea,scrbase,scrlayer-scrpage,scrextend] + \begin{Declaration*}{\Class{scrbook}} + \begin{Declaration*}{\Class{scrreprt}} + \begin{Declaration*}{\Class{scrartcl}} + \begin{Declaration*}{\Class{scrlttr2}} + \ChangedAt{% + v2.02:Paket \Package{scrlayer-scrpage} ist für \TUDScript unabdingbar% + }% + Das \KOMAScript-Bundle ist die zentrale Grundlage für \TUDScript. Neben den + Klassen \Class{scrbook}, \Class{scrreprt} und \Class{scrartcl} wird das Paket + \Package{scrbase} benötigt. Dieses erlaubt das Definieren von Klassenoptionen + im Stil von \KOMAScript, welche auch noch nach dem Laden der Klasse mit den + Befehlen \Macro{TUDoption} und \Macro{TUDoptions} geändert werden können. Für + die Bereitstellung der \PageStyle{tudheadings}"=Seitenstile ist das Paket + \Package{scrlayer-scrpage} notwendig. Wenn es nicht durch den Anwender~-- mit + beliebigen Optionen~-- geladen wird, erfolgt dies am Ende der Präambel + automatisch durch \TUDScript. + \end{Declaration*} + \end{Declaration*} + \end{Declaration*} + \end{Declaration*} +\item[opensans,iwona] + \index{Schriftart|!}% + \ChangedAt{% + v2.06:Pakete \Package{opensans}, \Package{iwona} und \Package{mathastext} + sind für \TUDScript zwingend erforderlich% + }% + Das Paket \Package{opensans} stellt die Schriftfamilie \OpenSans sowohl für + den Fließtext als auch den mathematischen Satz zur Verfügung. Es enthält alle + nötigen Schriftschnitte sowohl im Type1- als auch im OpenType-Format. Da die + Schriftfamilie in der aktuellen Version keine mathematischen Glyphen + bereitstellt, werden die Pakete \Package{mathastext} und \Package{iwona} + zusätzlich genutzt, um zumindest einen halbwegs erträglichen mathematischen + Satz mit \OpenSans zu ermöglichen. Werden dabei zusätzliche Symbole benötigt, + wird empfohlen, auf das Paket \Package{amssymb} zu verzichten und anstelle + dessen \Package{mdsymbol} zu laden. +\item[mweights] + \index{Schriftstärke}% + \ChangedAt{% + v2.06:Paket \Package{mweights} ist für \TUDScript zwingend erforderlich% + }% + In \hologo{LaTeXe} existieren die Schriftfamilien für Serifenschriften + (\Macro*{rmfamily}), serifenlose Schriften (\Macro*{sffamily}) sowie die + Schreibmaschinenschriften (\Macro*{ttfamily}). Deren Schriftstärke wird für + gewöhnlich mit den beiden Befehlen \Macro*{mddefault} und \Macro*{bfdefault} + einheitlich festgelegt. Bei der Verwendung unterschiedlicher Schriftpakete + kann es unter Umständen zu Problemen bei den Schriftstärken kommen. Diese + Paket erlaubt die individuelle Definition der Schriftstärke für jede der drei + Schriftfamilien. +\item[geometry] + \index{Satzspiegel}% + Das Paket wird zum Festlegen der Seitenränder respektive des Satzspiegels + verwendet. + \Attention{% + Ein Weiterreichen zusätzlicher Optionen an das Paket wird dringlich nicht + empfohlen. + }% +\item[graphicx] + \index{Grafiken}% + Dies ist das De"~facto"~Standard"~Paket zum Einbinden von Grafiken. Zum + Setzen des Logos der \TnUD im Kopf sowie aller weitere Abbildungen und Logos + wird \Macro{includegraphics}(\Package{graphicx})'none' genutzt. +\item[xcolor] + \index{Farben}% + Damit werden die Farben des \CDs zur Verwendung im Dokument definiert. + Genaueres ist bei der Beschreibung von \Package{tudscrcolor}'auto' zu finden. +\item[kvsetkeys] + Das von \Package{scrbase} geladene Paket \Package{keyval} ermöglicht das + Definieren von Klassen"~ und Paketoptionen sowie Parametern nach dem + Schlüssel"=Wert"=Prinzip. Mit diesem Paket kann das Verhalten für unbekannte + Schlüssel festgelegt werden. +\item[etoolbox,xpatch,letltxmacro,etexcmds] + Diese Pakete stellen viele Funktionen zum Testen und zur Ablaufkontrolle + bereit. Weiterhin wird das Manipulieren vorhandener Makros ermöglicht. +\item[environ] + \index{Befehlsdeklaration}% + Es wird eine verbesserte Deklaration von Umgebungen ermöglicht, bei der auch + beim Abschluss der Umgebung auf die übergebenen Parameter zugegriffen werden + kann. +\item[trimspaces] + Bei mehreren Eingabefeldern für den Anwender werden die Argumente mithilfe + dieses Paketes um eventuell angegebene, unnötige Leerzeichen befreit. +\end{packages} +% + + + +\minisec{Durch \TUDScript direkt unterstütze Pakete} +% +Einige der unter \autoref{sec:packages:recommended} beschriebenen Pakete werden +durch \TUDScript direkt unterstützt und erweitern dessen Funktionalität. Dies +sind namentlich \Package{hyperref}, \Package{multicol}, \Package{quoting}, +\Package{ragged2e} und \Package{crop} sowie \Package{isodate} respektive +\Package{datetime2}. Weitere Informationen dazu ist den nachfolgenden +Beschreibung des jeweiligen Paketes zu entnehmen. + + + +\newcommand*\RecPack{% + \hyperref[sec:packages:recommended]{Paketbeschreibung}:\xspace% +} +\section{Empfehlenswerte Pakete} +\tudhyperdef*{sec:packages:recommended}% +% +In diesem \autorefname wird eine Vielzahl an Paketen~-- zumeist kurz~-- +vorgestellt, welche sich für mich persönlich bei der Arbeit mit \hologo{LaTeX} +bewährt haben. Einige davon werden außerdem im Tutorial \Tutorial{treatise} in +ihrer Anwendung beschrieben. Für detaillierte Informationen sowie bei Fragen zu +den einzelnen Paketen sollte die jeweilige Dokumentation% +\footnote{Kommandozeile/Terminal: \Path{texdoc\,\PName{Paketname}}} +zu Rate gezogen werden, das Lesen der hier gegebenen Kurzbeschreibung ersetzt +dies in keinem Fall. + + +\subsection{Pakete zur Verwendung in jedem Dokument} +Die hier vorgestellten Pakete gehören meiner Meinung nach in die Präambel eines +jeden Dokumentes. Die Dokumentsprache sollte in jedem Fall mit \Package{babel} +oder \Package{polyglossia} definiert werden~-- auch wenn dies Englisch ist. Für +deutschsprachige Dokumente ist für eine annehmbare Worttrennung beim Einsatz +von \Engine{pdfLaTeX} das Paket \Package{hyphsubst} unbedingt zu verwenden. + +\begin{packages} +\item[fontenc,fontspec] + \index{Zeichensatzkodierung}% + \ChangedAt{v2.02:\RecPack \Package{fontspec}} + Die Zeichensatzkodierung des Ausgabefonts sollte immer festgelegt werden. Für + \Engine{pdfLaTeX} ist die Ausgabe als 7"~bit"~kodierte Schrift in der + Voreinstellung gewählt, was unter anderem dazu führt, dass keine echten + Umlaute im erzeugten PDF"~Dokument verwendet werden. Um auf 8"~bit"~Schriften + zu schalten, ist \Macro*{usepackage}[\POParameter{T1}\PParameter{fontenc}] zu + nutzen. + + Für die Unicode"=Textsatzsysteme \Engine{LuaLaTeX} oder \Engine{XeLaTeX} + sollte stattdessen das Paket \Package{fontspec} verwendet werden. Damit + können Systemschriften im OpenType-Format und einer beliebigen + Zeichensatzkodierung eingebunden werden, womit sich die Auswahl der + verwendbaren Schriften stark erweitert. Das Paket wird durch \TUDScript + unterstützt. +\item[microtype] + \index{Typografie}% + Dieses Paket kümmert sich um den optischen Randausgleich% + \footnote{englisch: protrusion, margin kerning} + und das Nivellieren der Wortzwischenräume% + \footnote{englisch: font expansion} + im Dokument. Es funktioniert nicht mit der klassischen \Engine*{TeX}"~Engine, + wohl jedoch mit \Engine*{pdfTeX} oder \Engine*{LuaTeX} sowie \Engine*{XeTeX}. +\item[babel,polyglossia] + \index{Sprachunterstützung}% + \index{Bezeichner}% + Mit dem Paket \Package{babel} erfolgt die Einstellung der im Dokument + verwendeten Sprache(n). Bei mehreren angegebenen Sprachen ist die zuletzt + geladene die Hauptsprache des Dokumentes. Die gewünschten Sprachen sollten + nicht als Paketoption sondern als Klassenoption und gesetzt werden, damit + auch andere Pakete auf die Spracheinstellungen zugreifen können. Für + deutschsprachige Dokumente ist die Option \Option*{ngerman} für die neue oder + \Option*{german} für die alte deutsche Rechtschreibung zu verwenden. + + Mit dem Laden von \Package{babel} und der dazugehörigen Sprachen werden + sowohl die Trennmuster als auch die sprachabhängigen Bezeichner angepasst. + Von einer Verwendung der obsoleten Pakete \Package{german} beziehungsweise + \Package{ngerman} anstelle von \Package{babel} wird abgeraten. Für + \Engine{LuaLaTeX} und \Engine{XeLaTeX} kann das Paket \Package{polyglossia} + genutzt werden. +\item[hyphsubst,dehyph-exptl] + \index{Worttrennung|!}% + Die möglichen Trennstellen von Wörtern wird von \hologo{LaTeX} mithilfe + eines Algorithmus berechnet. Dieser wird für deutschsprachige Texte mit dem + Paket \Package{hyphsubst} entscheidend verbessert. \Engine{LuaLaTeX} und + \Engine{XeLaTeX} nutzen diese Trennmuster automatisch, für \Engine{pdfLaTeX} + müssen diese mit folgendermaßen eingebunden werden: + \begin{Code}[escapechar=§] + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} + \end{Code}\vspace{-\baselineskip}% + In \autoref{sec:tips:hyphenation} wird genauer auf das Zusammenspiel von + \Package{hyphsubst} und \Package{babel} sowie \Package{fontenc} eingegangen, + ein Blick dahin wird dringend empfohlen. Zusätzliche werden dort weitere + Hinweise für eine verbesserte Worttrennung gegeben. +\end{packages} + + +\subsection{Pakete zur situativen Verwendung} +Die nachfolgenden Pakete sollten nicht zwangsweise in jedem Dokument geladen +werden sondern nur, falls dies auch tatsächlich notwendig ist. Zur besseren +Übersicht wurde versucht, diese thematisch passend zu gruppieren. Daraus lässt +sich keinerlei Wertung bezüglich ihrer Nützlichkeit oder meiner persönlichen +Wertschätzung ableiten. + + +\subsubsection{Typografie und Layout} +\index{Typografie|(}% +% +Neben dem zuvor beschriebenem Paket \Package{microtype}, welches verantwortlich +für mikrotypografische Feinheiten ist, existieren weitere Pakete, die vorrangig +die Makrotypografie adressieren. +% +\begin{packages} +\item[setspace] + \index{Zeilenabstand}% + Die Vergrößerung des Zeilenabstandes wird: + % + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \stditem viel zu häufig und völlig unnötig gefordert und + \stditem schließlich auch noch zu groß gewählt. + \end{enumerate} + % + Die Forderung nach Erhöhung des Zeilenabstandes~-- in der Typografie als + Durchschuss bezeichnet~-- kommt aus den Zeiten der Textverarbeitung mit der + Schreibmaschine. Ein einzeiliger Zeilenabstand bedeutete hier, dass die + Unterlängen der oberen Zeile genau auf der Höhe der Oberlängen der folgenden + Zeile lagen. Ein anderthalbzeiliger Zeilenabstand erzielte hier somit einen + akzeptablen Durchschuss. Eine Erhöhung des Durchschusses bei der Verwendung + von \hologo{LaTeX} ist an und für sich nicht notwendig. Sinnvoll ist dies + nur, wenn im Fließtext serifenlose Schriften zum Einsatz kommen, um die damit + verbundene schlechte Lesbarkeit etwas zu verbessern. + + Ist die Erhöhung des Durchschusses wirklich notwendig, sollte das Paket + \Package{setspace} genutzt werden. Dieses stellt den Befehl + \Macro{setstretch}[\Parameter{Faktor}](\Package{setspace})'none' zur + Verfügung, mit dem der Durchschuss respektive Zeilenabstand angepasst werden + kann. Der Wert des Faktors ist standardmäßig auf~1 gestellt und sollte + maximal bis~1.25 vergrößert werden. Der Befehl \Macro*{onehalfspacing} aus + diesem Paket setzt diesen Wert auf eben genau~1.25. Allerdings ist hier + anzumerken, dass die Vergrößerung des Zeilenabstandes~-- so wie ich es mir + angelesen habe~-- aus der Sicht eines Typographen keine Spielerei ist sondern + vielmehr allein der Lesbarkeit des Textes dient und möglichst gering + ausfallen sollte. + + Ziel ist es, beim Lesen nach dem Beenden einer Zeile das Auffinden der neuen + Zeile zu vereinfachen. Bei Serifen ist dies durch die Betonung der Grundlinie + sehr gut möglich. Bei serifenlosen Schriften~-- wie der im \TUDCD verwendeten + \OpenSans~-- ist dies schwieriger und ein erweiterter Abstand der Zeilen kann + hierbei hilfreich sein. Jedoch sollte nicht nach dem Motto + \enquote{viel hilft viel} verfahren werden. Für dieses Dokument wurde + \Macro{setstretch}[\PParameter{1.1}](\Package{setspace})'none' für den + Zeilenabstand gewählt. Weitere Tipps sind in \autoref{sec:tips:headings} und + \autoref{sec:tips:headline} zu finden. +\item[multicol] + \index{Satzspiegel!zweispaltig|?}% + \index{Mehrspaltensatz}% + \index{Satzspiegel!mehrspaltig}% + Hiermit kann jeglicher beliebiger Inhalt in zwei oder mehr Spalten ausgegeben + werden, wobei~-- im Gegensatz zum normalen zweispaltigen Satz über die + \KOMAScript-Option \Option{twocolumn}(\Package{typearea})'none'~-- für einen + Spaltenausgleich gesorgt wird. Unterstützt wird das Paket innerhalb der + Umgebungen \Environment{abstract} und \Environment{tudpage}. +\item[balance] + \index{Satzspiegel!zweispaltig}% + Dieses Paket ermöglicht einen Spaltenausgleich im zweispaltigen Satz auf der + letzten Dokumentseite. Alternativ dazu kann auch \Package{multicol} verwendet + werden. +\item[isodate,datetime2] + \index{Datum|?}% + Mit \Macro{printdate}[\Parameter{Datum}](\Package{isodate})'none' formatiert + das Paket \Package{isodate} die Ausgabe eines Datums automatisch in ein + spezifiziertes Format. Die Datumsangabe kann dabei im deutschen, englischen + oder ISO"~Format erfolgen. Alternativ kann auch das Paket \Package{datetime2} + genutzt werden, welches zwingend die Eingabe im ISO"~Format erfordert. Wird + eines der beiden Pakete geladen, werden alle Datumsfelder, welche durch die + \TUDScript-Klassen definiert wurden,% + \footnote{% + \Macro{date}, \Macro{dateofbirth} und \Macro{defensedate} sowie aus + \Package{tudscrsupervisor} \Macro{duedate}(\Package{tudscrsupervisor}) und + \Macro{issuedate}(\Package{tudscrsupervisor})% + } + im durch das jeweilige Paket definierten Ausgabeformat ausgegeben. +\item[quoting] + \index{Zitate}% + \hologo{LaTeX} bietet von Haus aus \emph{zwei} verschiedene Umgebungen~-- + \Environment{quote}(\Package{koma-script})'none' und + \Environment{quotation}(\Package{koma-script})'none'~-- für Zitate und + ähnliches an. Allerdings werden durch beide Umgebungen die \KOMAScript-Option + \Option{parskip=\PName{Methode}}(\Package{koma-script})'none'|declare| + ignoriert. Mit der Umgebung \Environment{quoting}(\Package{quoting})'none' + aus dem gleichnamigen Paket lässt sich dieses Problem umgehen. Wird das Paket + geladen, wird diese innerhalb der \Environment{abstract}"=Umgebung verwendet. +\item[csquotes] + \index{Zitate}% + Das Paket stellt unter anderem den Befehl + \Macro{enquote}[\Parameter{Zitat}](\Package{csquotes})'none' + zur Verfügung, welcher Anführungszeichen in Abhängigkeit der gewählten + Sprache setzt. Zusätzlich werden weitere Kommandos und Optionen für die + spezifischen Anforderungen des Zitierens bei wissenschaftlichen Arbeiten + angeboten. Außerdem wird es durch \Package{biblatex} unterstützt und sollte + zumindest bei dessen Verwendung geladen werden. +\item[noindentafter] + \ChangedAt{v2.02:\RecPack \Package{noindentafter}} + Mit diesem Paket lassen sich automatische Absatzeinzüge für selbst zu + bestimmende Befehle und Umgebungen unterdrücken. +\item[ragged2e] + \index{Worttrennung}% + Das Paket verbessert den Flattersatz, indem für diesen die Worttrennung + aktiviert wird. +\item[fnpct] + \index{Fußnoten|?}% + \ChangedAt{v2.05:\RecPack \Package{fnpct}} + Diese Paket sorgt zum einen für das Einhalten der richtigen Reihenfolge von + Satzzeichen und Fußnoten und zum anderen wird das typografisch korrekte + Setzen mehrerer, nacheinander folgender Fußnoten unterstützt. +\item[xspace,xpunctuate] + \index{Befehlsdeklaration}% + Mit \Package{xspace} kann bei der Definition eigener Makros der Befehl + \Macro{xspace}(\Package{xspace})'none' genutzt werden. Dieser setzt ein + gegebenenfalls notwendiges Leerzeichen automatisch. In + \autoref{sec:tips:xspace} ist die Definition eines solchen Befehls + exemplarisch ausgeführt. Durch das Paket \Package{xpunctuate} wird + \Package{xspace} um die Beachtung von Interpunktionen erweitert. +\item[ellipsis] + \index{Befehlsdeklaration}% + In \hologo{LaTeX} folgen den Befehlen für Auslassungspunkte (\Macro{dots} und + \Macro{textellipsis}) \emph{immer} ein Leerzeichen. Dies kann unter Umständen + unerwünscht sein. Mit dem Paket \Package{ellipsis} wird das nachfolgende + Leerzeichen~-- im Gegensatz zum Standardverhalten~-- nur gesetzt, wenn ein + Satzzeichen und kein Buchstabe folgt, \seeref*{\autoref{sec:tips:dots}}. +\stditem[\Application{DeLig}<delig>, \Package{selnolig}] + \index{Ligaturen}% + Hierbei handelt es sich um ein Java"~Script, das anhand eines Wörterbuches + falsche Ligaturen innerhalb eines Dokumentes automatisiert entfernt. Diese + müssten~-- insbesondere in deutschen Texten aufgrund der vielen Komposita~-- + für einen guten Satz manuell aufgelöst werden.% + \footnote{% + Das sind \enquote{ff}, \enquote{fi}, \enquote{fl}, \enquote{ffi}, und + \enquote{ffl} bei den meisten \hologo{LaTeX}"=Schriften.% + } + Mit \Engine{LuaLaTeX} als Textsatzsystem kann auch \Package{selnolig} + alternativ dazu verwendet werden. +\index{Typografie|)}% +\end{packages} + + +\subsubsection{Rechtschreibung} +\index{Rechtschreibung|(}% +% +Für die Rechtschreibkontrolle zeichnet im Normalfall der verwendete Editor +verantwortlich. Dennoch gibt es einige wenige Pakete, welche sich diesem Thema +widmen. Diese sind jedoch ausschließlich nutzbar, wenn als Textsatzsystem +\Engine{LuaLaTeX} genutzt wird. +\begin{packages} +\item[lua-check-hyphen] + \index{Worttrennung}% + Hiermit lassen sich mit \Engine{LuaLaTeX} Trennstellen am Zeilenende zur + Prüfung markieren. Zum Thema der \textit{korrekten Worttrennung} sei außerdem + auf \autoref{sec:tips:hyphenation} verwiesen. +\item[spelling] + Wird \Engine{LuaLaTeX} als Textsatzsystem verwendet, wird mit diesem Paket + der reine Textanteil aus dem \hologo{LaTeX}"~Dokument extrahiert~-- wobei + Makros und aktive Zeichen entfernt werden~-- und in eine separate Textdatei + geschrieben. Anschließend kann diese Datei mit einer externen Software zur + Rechtschreibprüfung wie \Application{GNU~Aspell}, \Application{Hunspell} oder + \Application{LanguageTool} analysiert und falsch geschriebene Wörter im + PDF"~Dokument hervorgehoben werden. +\index{Rechtschreibung|)}% +\end{packages} + + +\subsubsection{Schriften und Sonderzeichen} +\begin{packages} +\item[lmodern]<lm> + \index{Schriftart}% + Soll mit den klassischen \hologo{LaTeX}"=Standardschriften gearbeitet werden, + empfiehlt sich die Verwendung des Paketes \Package{lmodern}. Dieses + verbessert die Darstellung der Computer~Modern sowohl am Bildschirm als auch + beim finalen Druck. +\item[cfr-lm] + \index{Schriftart}% + Dieses experimentelle Paket liefert weitere Schriftschnitte für das Paket + \Package{lmodern}. +\item[newtx,newtxmath]<newtx> + \index{Schriftart}% + \index{Mathematiksatz}% + Es werden einige alternative Schriften sowohl für den Fließtext + (\textit{Times} und \textit{Helvetica}) als auch den Mathematikmodus + bereitgestellt. +\item[libertine] + \index{Schriftart}% + Das Paket stellt die Schriften Linux~Libertine und Linux~Biolinum zur + Verfügung. Um diese Schriftart auch für den Mathematikmodus verwenden zu + können, sollte \Package{newtxmath} aus dem \Package{newtx}"=Bundle mit + \Macro*{usepackage}[\POParameter{libertine}\PParameter{newtxmath}] in der + Präambel eingebunden werden. Das Paket \Package{libgreek} enthält griechische + Buchstaben für Linux~Libertine. +\item[relsize] + \index{Schriftgröße}% + Die Größe einer Textauszeichnung kann relativ zur aktuellen Schriftgröße + gesetzt werden. +\item[textcomp] + \index{Sonderzeichen}% + Es werden zusätzliche Symbole und Sonderzeichen wie beispielsweise das + Promille- oder Eurozeichen sowie Pfeile für den Fließtext zur Verfügung + gestellt. +\end{packages} +% +\index{Mathematiksatz|(}% +Auch für (serifenlose) Mathematikschriften gibt es einige nützliche Pakete. +Werden die Schriften des \CDs genutzt, sei auf die Option \Option{cdmath} +verwiesen. +% +\begin{packages} +\item[sansmathfonts,sansmath] + Sollten die normalen \hologo{LaTeX}"=Schriften Computer~Modern verwendet + werden, lässt sich dieses Paket zum serifenlosen Setzen mathematischer + Ausdrücke nutzen. Ein alternatives Paket mit der gleichen Zielstellung ist + \Package{sansmath} +\item[sfmath] + Diese Paket verfolgt ein ähnliches Ziel, kann jedoch im Gegensatz zu + \Package{sansmath} nicht nur für Computer~Modern sondern mit der + entsprechenden Option auch für Latin~Modern, Helvetica und + Computer~Modern~Bright verwendet werden. +\item[mathastext] + Mit dem Paket wird das Ziel verfolgt, aus der genutzten Schrift für den + Fließtext alle notwendigen Zeichen für den Mathematiksatz zu extrahieren. +\end{packages} + + +\subsubsection{Mathematiksatz} +Dies sind Pakete, die Umgebungen und Befehle für den Mathematiksatz sowie das +Setzen von Einheiten und Zahlen im Allgemeinen anbieten. + +\begin{packages} + \item[mathtools,amsmath] + Dieses Paket stellt für das De"~facto"~Standard"~Paket \Package{amsmath} + für Mathematikumgebungen Bugfixes zur Verfügung und erweitert dieses. + \item[bm] + Das Paket bietet mit \Macro*{bm} eine Alternative zu \Macro*{boldsymbol} im + \hrfn{http://tex.stackexchange.com/questions/3238}{Mathematiksatz}. Sollten + bei der Nutzung des Paketes Fehler auftreten, sei auf dessen Dokumentation + und insbesondere auf das Makro \Macro*{bmmax} verwiesen. +\end{packages} +% +Die korrekte Formatierung von Zahlen ist häufig ein Problem bei der Verwendung +von \hologo{LaTeX}. Insbesondere, wenn in einem deutschsprachigen Dokument +Daten im englischsprachigen Format verwendet werden, kommt es zu Problemen. +Dafür wird im \TUDScript-Bundle das Paket \Package{mathswap} bereitgestellt. +Dennoch gibt es zu diesem auch Alternativen. +% +\begin{packages} +\index{Zifferngruppierung|(}% + \item[ionumbers] + Dieses Paket ist mir tatsächlich erst bei der Arbeit an \Package{mathswap} + bekannt geworden. Es bietet mehr Funktionalitäten und kann als Alternative + dazu betrachtet werden. + \item[icomma] + Wird im Mathematikmodus nach dem Komma ein Leerzeichen gesetzt, wird dies + bei der Ausgabe beachtet. Der Verfasser muss sich demzufolge jederzeit + selbst um die typografisch korrekte Ausgabe kümmern. + \item[ziffer] + Für deutschsprachige Dokumente wird das Komma als Dezimaltrennzeichen + zwischen zwei Ziffern definiert. Folgt dem Komma keine Ziffer, wird + jederzeit der obligatorische Freiraum gesetzt, was meiner Meinung nach + besser als das Verhalten von \Package{icomma} ist. +\index{Zifferngruppierung|)}% +\end{packages} +% +Für das typografisch korrekte Setzen von Einheiten~-- ein halbes Leerzeichen +zwischen Zahl und \emph{aufrecht} gesetzter Einheit~-- gibt es zwei gut +nutzbare Pakete. +% +\begin{packages} +\index{Einheiten|(}% +\item[units] + Dies ist ein einfaches und sehr zweckdienliches Paket zum Setzen von + Einheiten und für die meisten Anforderungen völlig ausreichend. +\item[siunitx] + Dieses Paket ist in seinem Umfang im Vergleich deutlich erweitert. Neben + Einheiten können zusätzlich auch Zahlen typografisch korrekt gesetzt werden. + Die Ausgabe lässt sich in vielerlei Hinsicht an individuelle Bedürfnisse + anpassen. Für deutschsprachige Dokumenten sollte die Lokalisierung angegeben + werden. Mehr dazu in \autoref{sec:tips:siunitx}. +\index{Einheiten|)}% +\end{packages} +% +Weitere Hinweise zur mathematischen Typografie werden in \autoref{sec:tut} +gegeben. +\index{Mathematiksatz|)}% + + +\subsubsection{Listen} +\index{Listen|?(}% +% +\begin{packages} +\item[enumitem] + Das Paket \Package{enumitem} erweitert die rudimentären Funktionalitäten der + \hologo{LaTeX}"=Standardlisten + \Environment{itemize}(\Package{koma-script},\Package{enumitem})'none', + \Environment{enumerate}(\Package{koma-script},\Package{enumitem})'none' sowie + \Environment{description}(\Package{koma-script},\Package{enumitem})'none' und + ermöglicht die individuelle Anpassung dieser durch die Bereitstellung vieler + optionale Parameter nach dem Schlüssel"=Wert"=Prinzip. Eine von mir sehr + häufig genutzte Funktion ist beispielsweise die Entfernung des zusätzlichen + Abstand zwischen den einzelnen Einträgen einer Liste mit + \Macro{setlist}[\PParameter{noitemsep}](\Package{enumitem})'none'. +\end{packages} +\index{Listen|?)}% + + +\subsubsection{Verzeichnisse aller Art} +\index{Verzeichnisse|?(}% +% +Neben dem Erstellen des eigentlichen Dokumentes sind für eine wissenschaftliche +Arbeit meist auch allerhand Verzeichnisse gefordert. Fester Bestandteil ist +dabei das Literaturverzeichnis, auch ein Abkürzungs- und Formelzeichen- +beziehungsweise Symbolverzeichnis werden häufig gefordert. Gegebenenfalls wird +auch noch ein Glossar benötigt. Hier werden die passenden Pakete vorgestellt. +Sollen im Dokument komplette Quelltexte oder auch nur Auszüge daraus erscheinen +und für diese auch gleich ein entsprechendes Verzeichnis generiert werden, so +sei auf das Paket \Package{listings}'full' verwiesen. + +\begin{packages} +\item[biblatex] + \index{Literaturverzeichnis}% + Das Paket kann als legitimer Nachfolger zu \hologo{BibTeX} gesehen werden. + Ähnlich dazu bietet \Package{biblatex} die Möglichkeit, Literaturdatenbanken + einzubinden und verschiedene Stile der Referenzierung und Darstellung des + Literaturverzeichnisses auszuwählen. + + Mit \Package{biblatex} ist die Anpassung eines bestimmten Stiles wesentlich + besser umsetzbar als mit \hologo{BibTeX}. Wird \Application{biber} für die + Sortierung des Literaturverzeichnisses genutzt, ist die Verwendung einer + UTF"~8"~kodierten Literaturdatenbank problemlos möglich. In Verbindung mit + \Package{biblatex} wird die zusätzliche Nutzung des Paketes + \Package{csquotes} sehr empfohlen. +\item[glossaries,nomencl] + \index{Glossar}% + \index{Abkürzungsverzeichnis}% + \index{Formelzeichenverzeichnis}% + \index{Symbolverzeichnis}% + Dies ist ein sehr mächtiges Paket zum Erstellen eines Glossars sowie + Abkürzungs- und Symbolverzeichnisses. Die mannigfaltige Anzahl an Optionen + ist zu Beginn eventuell etwas abschreckend. Insbesondere wenn Verzeichnisse + für Abkürzungen \emph{und} Formelzeichen respektive Symbole notwendig sind, + sollte dieses Paket in Erwägung gezogen werden. + + Alternativ dazu kann für ein Symbolverzeichnis auch lediglich eine manuell + gesetzte Tabelle genutzt werden. Das hierfür sehr häufig empfohlene Paket + \Package{nomencl} bietet meiner Meinung nach demgegenüber keinerlei Vorteile. +\item[acro,acronym] + \index{Abkürzungsverzeichnis}% + Soll lediglich ein Abkürzungsverzeichnis erstellt werden, ist dieses Paket + die erste Wahl. Es stellt Befehle zur Definition von Abkürzungen sowie zu + deren Verwendung im Text und zur sortierten Ausgabe eines Verzeichnisses + bereit. Alternativ dazu kann das Paket \Package{acronym} verwendet werden. + Die Sortierung des Abkürzungsverzeichnisses muss hier allerdings manuell + durch den Anwender erfolgen. +\index{Verzeichnisse|?)}% +\end{packages} + + +\subsubsection{Gleitobjekte} +\index{Gleitobjekte|?(}% +% +Es werden Pakete für die Beeinflussung von Aussehen, Beschriftung und +Positionierung von Gleitobjekten vorgestellt. Unter \autoref{sec:tips:floats} +sind außerdem Hinweise zur manuellen Manipulation der Gleitobjektplatzierung zu +finden. + +\begin{packages} +\item[caption] + Mit der Option \Option{captions=\PSet}(\Package{koma-script})'none'|declare| + bieten die \KOMAScript-Klassen bereits einige Möglichkeiten zum Formatieren + der Beschriftungen für Gleitobjekte. Dieses Paket ist daher meist nur in + gewissen Ausnahmefällen für spezielle Anweisungen notwendig, allerdings auch + bei der Verwendung unbedenklich. +\item[subcaption] + Diese Paket kann zum einfachen Setzen von Unterabbildungen oder "~tabellen + mit den entsprechenden Beschriftungen genutzt werden. Das dazu alternative + Paket \Package{subfig} sollte vermieden werden, da es nicht mehr gepflegt + wird und es mit diesem im Zusammenspiel mit anderen Paketen des Öfteren zu + Problemen kommt. Sollte der Funktionsumfang von \Package{subcaption} nicht + ausreichen, kann anstelle dessen das Paket \Package{floatrow} verwendet + werden, welches ähnliche Funktionalitäten wie \Package{subfig} bereitstellt. +\item[floatrow] + Mit diesem Paket können global wirksame Einstellungen und Formatierungen für + \emph{alle} Gleitobjekte eines Dokumentes über die Paketoptionen oder mit + \Macro{floatsetup}[\PParameter{\dots}](\Package{floatrow})'none' vorgenommen + werden. So lässt sich unter anderem die verwendete Schrift innerhalb der + Umgebungen \Environment{figure} und \Environment{table} mit + \Macro*{floatsetup}[\PParameter{font=\dots}] einstellen. Mit + \begin{Code} + \floatsetup[figure]{capposition=bottom} + \floatsetup[table]{capposition=top} + \end{Code}\vspace{-\baselineskip}% + lässt sich automatisch das typografisch korrekte Setzen von + Abbildungs\emph{unterschriften} sowie Tabellen\emph{überschriften} + erzwingen~-- unabhängig von der Position des Befehls zur Beschriftung + \Macro{caption}(\Package{koma-script},\Package{caption})'none' + innerhalb der jeweiligen Gleitobjektumgebung. Wird das Verhalten wie + empfohlen eingestellt, sollte für eine gute vertikale Platzierung der + Tabellenüberschriften zusätzlich die + \KOMAScript-Option \Option{captions=tableheading}(\Package{koma-script})'none' + genutzt werden. +\item[placeins] + Mit diesem Paket kann die Ausgabe von Gleitobjekten vor Kapiteln und wahlweise + Unterkapiteln erzwungen werden. +\item[flafter] + Dieses Paket erlaubt die frühestmögliche Platzierung von Gleitobjekten im + ausgegeben Dokument erst an der Stelle ihres Auftretens im Quelltext. Diese + werden dementsprechend nie vor ihrer Definition am Anfang der Seite + erscheinen. +\end{packages} +\index{Gleitobjekte|?)}% + + + +\subsubsection{Tabellen} +\index{Tabellen|?(}% +% +Für den Tabellensatz werden standardmäßig die Umgebungen \Environment{tabbing} +und \Environment{tabular} respektive \Environment{tabular*} bereitgestellt, +welche in ihrer Funktionalität für einen qualitativ hochwertigen Tabellensatz +meist nicht ausreichen. Deshalb werden hier zusätzliche Pakete vorgestellt. +% +\begin{packages} +\item[array] + Dieses Paket ermöglicht mit \Macro{newcolumntype}(\Package{array})'none' das + Erstellen neuer Spaltentypen und die erweiterte Definition von Tabellenspalten + (\PValue{>\PParameter{\dots}}\PName{Spaltentyp}\PValue{<\PParameter{\dots}}), + wobei mithilfe sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb + einer Spalte gezielt Anweisungen gesetzt werden können. Die Zeilenhöhe lässt + sich mit \Macro{extrarowheight}(\Package{array})'none' ändern. +\item[booktabs] + Für einen guten Tabellensatz mit \hologo{LaTeX} gibt es bereits zahlreiche + \hrfn{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}{Tipps} im + Internet zu finden. Zwei Regeln sollten dabei definitiv beachtet werden: + % + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \stditem keine vertikalen Linien + \stditem keine doppelten Linien + \end{enumerate} + % + Das Paket \Package{booktabs} (deutsche Dokumentation \Package*{booktabs-de}) + ist für den Satz von hochwertigen Tabellen eine große Hilfe und stellt die + Befehle \Macro{toprule}(\Package{booktabs})'none', + \Macro{midrule}(\Package{booktabs})'none' sowie + \Macro{cmidrule}(\Package{booktabs})'none' und + \Macro{bottomrule}(\Package{booktabs})'none' + für unterschiedliche horizontale Linien bereit. +\item[widetable] + Mit der Standard"=\hologo{LaTeX}"=Umgebung \Environment{tabular*} kann eine + Tabelle mit einer definierten Breite gesetzt werden. Dieses Paket stellt die + Umgebung \Environment{widetable}(\Package{widetable})'none' zur Verfügung, + die als Alternative genutzt werden kann und eine symmetrische Tabelle erzeugt. +\item[tabularx] + Auch mit diesem Paket kann die Gesamtbreite einer Tabelle spezifiziert + werden. Dafür wird der Spaltentyp \PValue{X} definiert, welcher als Argument + der \Environment{tabularx}(\Package{tabularx})'none'"=Umgebung beliebig + häufig angegeben werden kann + (\Macro*{begin}[\PParameter{tabularx}\Parameter{Breite}\Parameter{Spalten}]). + Die \PValue{X}"~Spalten ähneln denen vom Typ~\PValue{p}\Parameter{Breite}, + wobei die Breite dieser aus der gewünschten Tabellengesamtbreite abzüglich + dem benötigten Platz der gegebenenfalls vorhandenen Standardspalten + automatisch berechnet wird. +\item[tabulary] + Dies ist ein weiteres Paket zur automatischen Berechnung von Spaltenbreiten. + Der zur Verfügung stehende Platz~-- gewünschte Gesamtbreite abzüglich der + notwendigen Breite für Standardspalten~-- wird jedoch nicht wie bei der + \Environment{tabularx}(\Package{tabularx})'none' auf alle Spalten + gleichmäßig verteilt sondern in der + \Environment{tabulary}(\Package{tabulary})'none'"=Umgebung für die + Spaltentypen~\PValue{LCRJ} anhand ihres Zellinhaltes gewichtet vergeben. + (\Macro*{begin}[\PParameter{tabulary}\Parameter{Breite}\Parameter{Spalten}]). +\item[longtable,ltxtable,ltablex] + Sollen mehrseitige Tabellen mit Seitenumbruch erstellt werden, ist dieses + Paket das Mittel der ersten Wahl. Für die Kombination mehrseitiger Tabellen + mit einer \Environment{tabularx}(\Package{tabularx})'none'"=Umgebung können + die Pakete \Package{ltablex} oder besser noch \Package{ltxtable} verwendet + werden. Alternativ dazu lässt sich auch \Package{tabu} nutzen. +\item[multirow] + Es wird der Befehl \Macro{multirow}(\Package{multirow})'none' definiert, der + das Zusammenfassen von mehreren Zeilen in einer Spalte ermöglicht~-- ähnlich + zum Makro \Macro{multicolumn} für Spalten. +\item[tabularborder] + Bei Tabellen wird zwischen Spalten automatisch ein horizontaler Abstand + (\Length{tabcolsep}) gesetzt~-- besser gesagt jeweils vor und nach einer + Spalte. Dies geschieht auch \emph{vor} der ersten und \emph{nach} der letzten + Spalte. Dieser zusätzliche Platz an den äußeren Rändern kann störend wirken, + insbesondere wenn die Tabelle über die komplette Textbreite gesetzt wird. Mit + dem Paket \Package{tabularborder} kann dieser Platz automatisch entfernt + werden. + + Dies funktioniert allerdings nur mit der \Environment{tabular}"=Umgebung. + Die Tabellen aus den Paketen \Package{tabularx}, \Package{tabulary} und + \Package{tabu} werden nicht unterstützt. Wie dieser Abstand bei diesen + manuell entfernt werden kann, ist unter \autoref{sec:tips:table} zu finden. +\item[tabu] + \ChangedAt{% + v2.02:\RecPack \Package{tabu} ist nur bedingt empfehlenswert + } + Dies ist ein relativ neues Paket, welches versucht, viele der zuvor genannten + Funktionalitäten zu implementieren und weitere bereitzustellen. Dafür werden + die Umgebungen \Environment{tabu}(\Package{tabu})'none' und + \Environment{longtabu}(\Package{tabu})'none' definiert. Es + kann alternativ zu \Package{tabularx} verwendet werden und ist insbesondere + als Ersatz für das Paket \Package{ltxtable} empfehlenswert. + + \Attention{% + Für das Paket in der Version~v2.8 wären seit einigen Jahren mehrere + Bugfixes notwendig. Der originäre Autor hatte außerdem die Änderung der + \hrfn{https://groups.google.com/d/topic/comp.text.tex/xRGJTC74uCI}{% + Benutzerschnittstelle in einer zukünftigen Version% + } + angekündigt, anscheinend aber mittlerweile die Pflege des Paketes komplett + eingestellt. + }% + + Durch Änderungen am \hologo{LaTeXe}"~Kernel wurde das Paket unbrauchbar. + Deshalb sind durch das \hrfn{https://github.com/tabu-fixed/tabu}{% + \hologo{LaTeX3}-Projektteam die allernötigsten Anpassungen% + } vorgenommen worden, damit das Paket in der aktuellen Version~v2.9 zumindest + grundsätzlich lauffähig ist. Ein Großteil der ursprünglich sehr guten + Funktionalitäten kann momentan allerdings nicht genutzt werden. Deshalb ist + das Paket aktuell nur bedingt empfehlenswert. +\end{packages} +\index{Tabellen|?)}% + + +\subsubsection{Grafiken und Abbildungen} +\index{Grafiken|?(}% +% +Grafiken für wissenschaftliche Arbeiten sollten als Vektorgrafiken erstellt +werden, um die Skalierbarkeit und hohe Druckqualität zu gewährleisten. +Bestenfalls folgen diese auch dem Stil der dazugehörigen Arbeit.% +\footnote{% + Für qualitativ hochwertige Dokumente sollten übernommene Grafiken nicht + direkt kopiert oder gescannt sondern im gewünschten Zielformat neu erstellt + und mit einer Referenz auf die Quelle eingebunden werden.% +} +Für das Erstellen eigener Vektorgrafiken, welche die \hologo{LaTeX}"=Schriften +und das Layout des Hauptdokumentes nutzen, gibt es zwei mögliche Ansätze. +Entweder die Grafiken werden ähnlich wie das Dokument \enquote{programmiert} +oder Zeichenprogramme, welche wiederum die Ausgabe oder das Weiterreichen von +Text an \hologo{LaTeX} unterstützen, werden genutzt. +Für das Programmieren von Grafiken sollen hier die wichtigsten Pakete +vorgestellt werden. Wie diese zu verwenden sind, ist den dazugehörigen +Paketdokumentationen zu entnehmen. + +\begin{packages} +\item[tikz]<pgf> + Dies ist ein sehr mächtiges Paket für das Programmieren von Vektorgrafiken + und sehr häufig~-- insbesondere bei Einsteigern~-- die erste Wahl bei der + Verwendung von \Engine{pdfLaTeX}. +\item[pstricks] + Diese Paket stellt die zweite Variante zum Programmieren von Grafiken dar. + Da hiermit auf PostScript (direkt) zugegriffen werden kann, existieren + \emph{noch} mehr Möglichkeiten bei der Erstellung eigener Grafiken, wovon + die bereitgestellten Befehle rege Gebrauch machen. + + Daraus resultiert allerdings der Nachteil, dass die mit \Package{pstricks} + erstellten Grafiken nicht direkt in eine PDF"~Datei kompiliert werden können. + Vielmehr müssen die Grafiken aus den Umgebungen + \Environment{pspicture}(\Package{pstricks})'none' zunächst über den Pfad + \Path{latex\,>\,dvips\,>\,ps2pdf} in PDF"~Dateien gewandelt werden. Diese + lassen sich von \Engine{pdfLaTeX} anschließend als Abbildungen einbinden. Um + dieses Vorgehen zu ermöglichen, lassen sich folgende Pakete nutzen: + % + \begin{packages} + \item[pst-pdf] + Dieses Paket stellt Methoden für den Export von PostSript-Grafiken in + PDF"~Datien bereit. Die einzelnen Aufrufe zur Kompilierung von DVI über + PostScript zu PDF müssen durch den Anwender manuell beziehungsweise über + die Ausgaberoutinen des verwendeten Editors durchgeführt werden. + \item[auto-pst-pdf,pdftricks2] + Das Paket automatisiert die Erzeugung der \Package{pstricks}"=Grafiken mit + dem Paket \Package{pst-pdf}. Hierfür muss \Engine{pdfLaTeX} per Option mit + erweiterten Schreibrechten ausgeführt werden. Dazu ist der Aufruf von + \Path{pdflatex} mit der Option \Path{-{}-shell-escape} respektive + \Path{-{}-enable-write18} notwendig. Bitte beachten Sie dazu ebenfalls die + Hinweise in \autoref{sec:tips:auto-pst-pdf}. Eine Alternative dazu ist das + Paket \Package{pdftricks2}. + \end{packages} +\end{packages} +% +Im Tutorial \Tutorial{treatise} wird für \Package{pstricks} und \Package{tikz} +jeweils ein Beispiel gegeben. Um bei der Erstellung von Grafiken mit einem der +beiden Paketen nicht bei jeder Änderung das komplette Dokument kompilieren zu +müssen, können diese in separate Dateien ausgelagert werden. Hierfür sind die +beiden Pakete \Package{standalone} oder \Package{subfiles} sehr nützlich. + +Für das Zeichnen einer Grafik mit einem Bildbearbeitungsprogramm, welches die +Weiterverarbeitung durch \hologo{LaTeX} erlaubt, möchte ich auf die freien +Programme \Application{LaTeXDraw} und \Application{Inkscape} verweisen. +Insbesondere das zuletzt genannte Programm ist sehr empfehlenswert. +% +\begin{packages} +\item[svg] + Mit diesem Paket können alle notwendigen Schritte zum Einfügen einer + SVG"~Grafik in ein \hologo{LaTeX}"~Dokument automatisiert durchgeführt + werden. In \autoref{sec:tips:svg} sind weitere Hinweise hierzu zu finden. +\end{packages} +\index{Grafiken|?)}% + + +\subsubsection{Querverweise und Lesezeichen} +\index{Querverweise|?(}% +\index{Lesezeichen|?(}% +% +Für das Erzeugen von Querverweisen auf bestimmte Gliederungsebenen, Tabellen, +Abbildungen oder auch Gleichungen muss für diese besagten Elemente zunächst mit +\Macro{label}[\Parameter{Label}] ein \emph{eindeutiges} Label erzeugt werden, +auf welches im Dokument entweder mit \Macro{ref} oder nach dem Laden von +\Package{hyperref} besser noch mit \Macro{autoref}(\Package{hyperref})'none' +referenziert werden kann. In \autoref{sec:tips:references} sind diesbezüglich +weitere Informationen zu finden. +% +\begin{packages} +\item[hyperref] + Hiermit können in einem PDF"~Dokument Lesezeichen, Querverweise und + Hyperlinks erstellt werden. Wird es geladen, sind außerdem die Option + \Option{tudbookmarks} sowie der Befehl \Macro{tudbookmark} nutzbar. Das + Paket \Package{bookmark} erweitert die Unterstützung nochmals. Beide + genannten Pakete sollten~-- bis auf sehr wenige Ausnahmen wie beispielsweise + \Package{glossaries}~-- als letztes in der Präambel eingebunden werden. +\item[bookmark] + Dieses Paket verbessert und erweitert die von \Package{hyperref} angebotenen + Möglichkeiten zur Erstellung von Lesezeichen~-- auch Outline"=Einträge~-- im + PDF"~Dokument. Zum Beispiel können Schriftfarbe- und "~stil geändert werden. +\item[varioref] + Mit diesem Paket lassen sich sehr gute Verweise auf bestimmte Seiten + erzeugen. Insbesondere, wenn der Querverweis auf die aktuelle, die + vorhergehende oder nachfolgende sowie im doppelseitigen Satz auf die + gegenüberliegende Seite erfolgt, werden passende Textbausteine für diesen + verwendet. +\item[cleveref] + Dieses Paket vereint die Vorzüge der automatischen Benennung referenzierter + Objekte mit dem Befehl \Macro{autoref}(\Package{hyperref})'none' aus dem + Paket \Package{hyperref} und der Verwendung von \Package{varioref}. +\end{packages} +\index{Lesezeichen|?)}% +\index{Querverweise|?)}% + + +\subsubsection{Aufteilung des Hauptdokumentes in Unterdateien} +Um während des Entwurfes eines Dokumentes die Zeitdauer für das Kompilieren zu +verkürzen, kann dieses in Unterdokumente gegliedert werden. Dadurch wird es +möglich, nur den momentan bearbeiteten Dokumentteil~-- respektive die aktuelle +\Package{tikz}"~ oder \Package{pstricks}"=Grafik~-- zu kompilieren. Die meiner +Meinung nach besten Pakete für dieses Unterfangen werden folgend vorgestellt. +% +\begin{packages} +\item[standalone] + \ChangedAt{% + v2.02:Bugfix für Verwendung der Klasse \Class{standalone} aus dem Paket + \Package{standalone}% + } + Dieses Paket ist für das Erstellen eigenständiger (Unter)"~Dokumente gedacht, + welche später in ein Hauptdokument eingebunden werden können. Jedes dieser + Teildokumente benötigt eine eigene Präambel. Optional lassen sich die + Präambeln der Unterdokumente automatisch in ein Hauptdokument einbinden. +\item[subfiles] +\ChangedAt{v2.02:\RecPack \Package{subfiles}} + Dieses Paket wählt einen etwas anderen Ansatz als \Package{standalone}. Es + ist von Anfang an dafür gedacht, ein dediziertes Hauptdokument zu verwenden. + Die darin mit \Macro{subfiles}(\Package{subfiles})'none' eingebundenen + Unterdateien nutzen bei der autarken Kompilierung dessen Präambel. +\end{packages} +% +Unabhängig davon, ob Sie eines der beiden Pakete nutzen oder alles in einem +Dokument belassen, ist es ratsam, eigens definierte Befehle, Umgebungen und +ähnliches in ein separates Paket auszulagern. Dafür müssen Sie lediglich ein +leeres \hologo{LaTeX}"=Dokument erzeugen und es unter \File*{mypreamble.sty} +oder einem anderen Namen im gleichen Ordner wie das Hauptdokument speichern. +Dann können Sie in dieser Datei ihre Deklarationen ausführen und diese mit +\Macro*{usepackage}[\PParameter{mypreamble}] in das Dokument einbinden. Dies +hat den Vorteil, dass das Hauptdokument zum einen übersichtlich bleibt und Sie +zum anderen Ihre persönliche Präambel generisch wachsen lassen und für andere +Dokumente wiederverwenden können. + + +\subsubsection{Die kleinen und großen Helfer\dots} +Hier taucht alles auf, was nicht in die vorherigen Kategorien eingeordnet +werden konnte. +% +\begin{packages} +\item[marginnote] + \index{Randnotizen}% + Mit dem Befehl \Macro{marginpar}(\Package{koma-script})'none' lassen sich + Randnotizen erzeugen. Diese sind in \hologo{LaTeX} spezielle Gleitobjekte, + wodurch selbige nicht immer direkt an der ursprünglich intendierten Stelle am + Blattrand gesetzt werden. Das Paket \Package{marginnote} stellt den Befehl + \Macro{marginnote}(\Package{marginnote})'none' für nicht"~gleitende + Randnotizen zur Verfügung. Eine Alternative dazu ist Paket \Package{mparhack}. +\item[todonotes] + \index{Randnotizen}% + Mit \Package{todonotes} können noch offene Aufgaben in unterschiedlicher + Formatierung am Blattrand oder im direkt Fließtext ausgegeben werden. Aus + allen Anmerkungen lässt sich eine Liste aller offenen Punkte erzeugen. +\item[xparse] + \index{Befehlsdeklaration}% + Dieses mächtige Paket entstammt dem \hologo{LaTeX3}"=Projekt und bietet für + die Erstellung eigener Befehle und Umgebungen einen alternativen Ansatz zu + den bekannten \hologo{LaTeX}"=Deklarationsbefehlen \Macro*{newcommand} und + \Macro*{newenvironment} sowie deren Derivaten. Mit \Package{xparse} wird es + möglich, obligatorische und optionale Argumente an beliebigen Stellen + innerhalb des Befehlskonstruktes zu definieren. Auch die Verwendung anderer + Zeichen als eckige Klammern für die Spezifizierung eines optionalen + Argumentes ist möglich. +\item[xkeyval,keyval,kvoptions,pgfkeys] + \index{Befehlsdeklaration}% + \ChangedAt{v2.02:\RecPack \Package{xkeyval}} + Das \KOMAScript"=Bundle lädt das Paket \Package{keyval}, um Optionen mit + einer Schlüssel"=Wert"=Syntax deklarieren zu können. Zusätzlich wird von + \TUDScript das Paket \Package{kvsetkeys} geladen, um auf nicht definierte + Schlüssel reagieren zu können. Die Schlüssel"=Wert"=Syntax kann auch für + eigens definierte Makros genutzt werden, um sich das exzessive Verwenden von + optionalen Argumenten zu ersparen. Damit wäre folgende Definition möglich: + \Macro*{newcommand}[% + \Macro*{Befehl}[\OParameter{Schlüssel"=Wert"=Liste}\Parameter{Argument}]% + ] + + Das Paket \Package{xkeyval} erweitert insbesondere die Möglichkeiten zur + Deklaration unterschiedlicher Typen von Schlüsseln. Sollten die bereits durch + \TUDScript geladenen Pakete \Package{keyval} und \Package{kvsetkeys} in ihrer + Funktionalität nicht ausreichen, kann dieses Paket verwendet werden. Für die + Entwicklung eigener Pakete, deren Optionen das Schlüssel"=Wert"=Format + unterstützen, kann das Paket \Package{scrbase} genutzt werden. Soll aus einem + Grund auf \KOMAScript{} gänzlich verzichtet werden, sind die beiden Pakete + \Package{kvoptions} oder \Package{pgfkeys} eine Alternative. +\item[scrlfile] + \index{Paketabhängigkeiten} + \ChangedAt{v2.05:\RecPack \Package{scrlfile}} + Dieses \KOMAScript-Paket erlaubt es, auf das Laden von Klassen oder Paketen + direkt davor oder danach zu reagieren, um beispielsweise Paketabhängigkeiten + aufzulösen oder nach dem Laden eines bestimmten Paketes gezielt Befehle + anzupassen. Mehr dazu ist im \scrguide zu finden. +\item[calc] + \index{Berechnungen}% + Normalerweise lassen sich Berechnungen im Dokument lediglich mit + Low"~Level"~\hologo{TeX}"=Primitiven durchführen. Dieses Paket stellt eine + einfachere Syntax für Rechenoperationen der vier Grundrechenarten zur + Verfügung. Zusätzlich werden neue Befehle zur Bestimmung der Höhe und Breite + bestimmter Textauszüge definiert. +\item[mwe,blindtext] + \index{Minimalbeispiel|?}% + \ChangedAt{v2.02:\RecPack \Package{mwe}} + Mit dem Paket \Package{mwe} lassen sich sehr einfach Minimalbeispiele + erzeugen, die sowohl Blindtexte als auch Abbildungen enthalten sollen. Werden + keine Grafiken sondern lediglich Textabschnitte etc. benötigt, ist das Laden + von \Package{blindtext} ausreichend. +\item[filecontents] + \index{Minimalbeispiel|?}% + Dieses Paket erweitert die im \hologo{LaTeX}"=Kernel definierte Umgebung + \Environment{filecontents}(\Package{filecontents})'none' dahingehend, + dass bereits existierende Dateien überschrieben werden können. +\item[pdfpages] + Das Paket ermöglicht die Einbindung von einzelnen oder mehreren PDF"~Dateien. +\item[crop] + \index{Beschnittzugabe}\index{Schnittmarken}% + Hiermit können eine Beschnittzugabe sowie Schnittmarken~-- beispielsweise für + Poster~-- erzeugt werden. Hierzu ist in \autoref{sec:tips:crop} ein Beispiel + zu finden. +\item[pagecolor] + \index{Farben}% + Mit dem Paket kann die Hintergrundfarbe der Seiten im Dokument geändert + werden. +\item[afterpage] + Der Befehl \Macro{afterpage}[\PParameter{\dots}](\Package{afterpage})'none' + kann genutzt werden, um den Inhalt aus dessen Argument direkt nach der + Ausgabe der aktuellen Seite auszuführen. +\item[filemod] + Wird entweder \Engine{pdfLaTeX} oder \Engine{LuaLaTeX} als Textsatzsystem + eingesetzt, können mit diesem Paket das Änderungsdatum zweier Dateien + miteinander verglichen und in Abhängigkeit davon definierbare Aktionen + ausgeführt werden. +\item[listings] + \index{Quelltextdokumentation}% + Dieses Paket eignet sich hervorragend zur Quelltextdokumentation in + \hologo{LaTeX}. Es bietet die Möglichkeit, externe Quelldateien einzulesen + und darzustellen sowie die Syntax in Abhängigkeit der verwendeten + Programmiersprache hervorzuheben. Zusätzlich lässt sich ein Verzeichnis mit + allen eingebundenen sowie direkt im Dokument angegebenen Quelltextauszügen + erstellen. + \ChangedAt{v2.02:\RecPack \Package{listings}} + Wird \Package{listings} in Dokumenten mit UTF"~8"~Kodierung verwendet, + sollte direkt nach dem Laden des Paketes in der Präambel Folgendes + hinzugefügt werden: + \begin{Code} + \lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 + } + \end{Code}\vspace{-\baselineskip}% +\item[coseoul] + Mit diesem Paket kann die Struktur der Gliederung relativ erstellt werden. + Es wird keine absolute Gliederungsebene (\Macro*{chapter}, \Macro*{section}) + angegeben sondern die Relation zwischen vorheriger und aktueller Ebene + (\Macro*{levelup}, \Macro*{levelstay}, \Macro*{leveldown}). +\item[selinput,inputenc] + \index{Eingabekodierung}% + \index{Minimalbeispiel|?}% + Die verwendete Eingabekodierung ist standardmäßig auf \PValue{utf8} + festgelegt, was von (fast) allen \LaTeX-Editoren unterstützt wird. Dies + sollte im Normalfall auch nicht geändert werden. Ältere Dokumente sind aber + vielleicht noch in einer anderen Eingabekodierung gespeichert. Kann diese + nicht geändert werden, so ist es für \Engine{pdfLaTeX} möglich, eine + andere~-- im \hyperref[sec:tips:editor]{Editor (\autoref{sec:tips:editor})} + vom Anwender eingestellte~-- Eingabekodierungen zu nutzen. Diese kann mit dem + Paket \Package{selinput} (automatisch) für \LaTeX{} festgelegt werden Mit: + \begin{Code} + \usepackage{selinput} + \SelectInputMappings{adieresis={ä},germandbls={ß}} + \end{Code}\vspace{-\baselineskip}% + wird es verwendet. Alternativ dazu lässt sich mit dem Paket + \Package{inputenc} die Eingabekodierung manuell mit + \Macro*{usepackage}[\OParameter{Eingabekodierung}\PParameter{inputenc}] + einstellen. Das Paket \Package{fontenc} sollte in jedem Fall \emph{zuvor} + geladen werden. +\end{packages} + + +\subsubsection{Bugfixes} +\begin{packages} +\item[scrhack]<koma-script> + Das Paket behebt Kompatibilitätsprobleme der \KOMAScript-Klassen mit den + Paketen \Package{hyperref}, \Package{float}, \Package{floatrow} und + \Package{listings}. Es ist durchaus empfehlenswert, jedoch sollte unbedingt + die Dokumentation beachtet werden. +\item[scrwfile,morewrites] + Falls der Fehler \texttt{No room for a new \textbackslash write} erscheint, + kann dieser möglicherweise mit einem dieser beiden Pakete behonben werden. + Mehr dazu in \autoref{sec:tips:write}. +\item[mparhack] + Zur Behebung falsch gesetzter Randnotizen wird ein Bugfix für + \Macro{marginpar}(\Package{koma-script})'none' bereitgestellt. Alternativ + dazu lässt sich auch \Package{marginnote} verwenden. +\item[fix-cm] + Sollte bei einer Schriftgrößenänderung eine oder mehrere Warnungen der Form + \begin{Code} + Font shape `T1/cmr/m/n' in size <...> not available + \end{Code}\vspace{-\baselineskip}% + erscheinen, so sollte das Paket \Package{fix-cm} \emph{vor} der Klasse + geladen werden. Siehe dazu auch die Hinweise in \autoref{sec:tips:fontsize}. +\end{packages} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex new file mode 100644 index 0000000000..6c895d7a33 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex @@ -0,0 +1,371 @@ +\setchapterpreamble{\tudhyperdef'{sec:poster}} +\chapter[Die Posterklasse \Class*{tudscrposter}]{Die Posterklasse} +% +\begin{Bundle*}[v2.05]{\Class{tudscrposter}} +\index{Posterklasse|!}% +\printchangedatlist% +% +Ergänzend zu den Hauptklassen, welche für das Setzen von Dokumenten im \TUDCD +angeboten werden, wird die Klasse \Class{tudscrposter} bereitgestellt. Mit +dieser wird das Erstellen von Postern im gleichen Layout mit \hologo{LaTeX} +ermöglicht. Die Basis hierfür ist \Class{tudscrartcl} und \emph{fast} alle +durch diese Klasse angebotenen Befehle und Optionen können gleichermaßen mit +\Class{tudscrposter} verwendet werden. Ein Minimalbeispiel zur Verwendung der +Klasse ist in \fullref{sec:exmpl:poster} zu finden. + +Der größte Unterschied zu den Hauptklassen ist insbesondere ein vereinfachter +Titel. Eine Umschlagseite steht für \Class{tudscrposter} nicht zur Verfügung, +die entsprechende Option \Option*{cdcover} sowie der dazugehörige Befehl +\Macro*{makecover} sind nicht definiert. Der Titel selbst kann mit +\Macro{maketitle} lediglich als Titelkopf gesetzt werden, eine separate +Titelseite existiert nicht. Aus diesem Grund sind mit \Macro{title}, +\Macro{subtitle}, \Macro{subject} und \Macro{titlehead}(\Package{koma-script}) +auch nur eine reduzierte Anzahl an Befehlen für den Titel verfügbar, die wie +gewohnt genutzt werden können. Prinzipiell lassen sich auch noch die beiden +Befehle für den Schmutztitel \Macro{extratitle}(\Package{koma-script}) sowie +\Macro{frontispiece}(\Package{koma-script}) nutzen, wobei deren Verwendung für +ein Poster eher fraglich ist. + +Alle weiteren in \autoref{sec:title} vorgestellten Befehle und Optionen sind +für \Class{tudscrposter} nicht definiert. Dies betrifft zum einen sowohl das +Schriftelement \Font*{thesis} als auch die Befehle \Macro*{titledelimiter}, +\Macro*{thesis}, \Macro*{referee}, \Macro*{advisor}, \Macro*{graduation} und +\Macro*{defensedate}. Zum anderen stehen die Makros für ergänzende +Autorenangaben \Macro*{dateofbirth}, \Macro*{placeofbirth}, +\Macro*{matriculationyear} und \Macro*{matriculationnumber} wie auch +die Option \Option*{subjectthesis} \emph{nicht} zur Verfügung. Die durch +\KOMAScript{} für eine Titelseite bereitgestellten Befehle +\Macro*{date}, \Macro*{publishers}(\Package{koma-script}) und +\Macro*{dedication}(\Package{koma-script}) sowie +\Macro*{uppertitleback}(\Package{koma-script}) und +\Macro*{lowertitleback}(\Package{koma-script}) haben bei der Klasse +\Class{tudscrposter} keinerlei Funktionalität. Die Befehle \Macro{author} und +\Macro{authormore} existieren weiterhin, werden allerdings nicht für den Titel +wohl jedoch für den speziellen Fußbereich eines Posters verwendet, welcher in +\autoref{sec:poster:foot} weiterführend beschrieben wird. + +Neben der signifikanten Vereinfachung des Titels entfallen für die Klasse +\Class{tudscrposter} einige weitere Befehle und Umgebungen. Namentlich sind +dies die Umgebung \Environment*{tudpage}, die Optionen \Option*{headingsvskip} +und \Option*{pageheadingsvskip} sowie alle zu Selbstständigkeitserklärung und +Sperrvermerk gehörigen Elemente, wie die Option (\Option*{declaration}), die +Umgebung (\Environment*{declarations}) und die Befehle (\Macro*{declaration}, +\Macro*{confirmation}, \Macro*{blocking}). Die Umgebung \Environment{abstract} +kann weiterhin genutzt werden, allerdings kann mit der Option \Option{abstract} +lediglich noch die Gliederungsebene der Überschrift angepasst werden. + +\section{Layout und Formatierung eines Posters} +% +Die augenscheinlichsten Einstellungen für die Gestaltung eines Posters sind +sicherlich das verwendete Papierformat und die farbliche Ausprägung sowie die +Auswahl der Schriftart und deren Größe. Als Grundeinstellung für die Klasse +\Class{tudscrposter} sind die Schriften des \TUDCDs aktiviert. Diese lassen +sich~-- wie auch bei den Hauptklassen~-- anpassen. Weitere Informationen hierzu +sind der Erläuterung zur Option \Option{cdfont}'full' zu entnehmen. + +Nachfolgend wird kurz erläutert, wie sich allgemeine Formatierung eines mit +\Class{tudscrposter} erstellten Posters anpassen lässt. Der Inhalt kann völlig +frei gestaltet werden, es gibt hierfür bisher keinerlei von \TUDScript +vordefinierte Befehle und Optionen, welche die Inhalte in ein bestimmtes Layout +übersetzen. + + + +\subsection{Die Wahl von Papierformat und Schriftgröße} +\tudhyperdef*{sec:fontsize}% +\index{Papierformat|!}% +\index{Schriftgröße|!}% + +Die Festlegung von \emph{Papierformat} und \emph{Schriftgröße} ist essentiell +für das Erstellen eines Posters und sollten \emph{immer} vorgenommen werden. +\Attention{Beide Einstellungen müssen zwingend als Klassenoption erfolgen.} +Bei der Schriftgrößenauswahl ist darauf zu achten, ob der Satz des Posters +ein- oder mehrspaltig erfolgen soll. Für letzteres Unterfangen ist die +\Environment{multicols}(\Package{multicol})'none'"~Umgebung aus dem Paket +\Package{multicol} sehr empfehlenswert. + +Zur Festlegung des Papierformats ist die \KOMAScript-Option +\Option{paper=\PSet}(\Package{typearea})'none'|declare| zu verwenden. Dabei +lassen sich mit \Option{paper=\PValueName{Format}}(\Package{typearea})'none' +unter anderem die gängigen Klassen der ISO/DIN"~Reihen A~bis~D als auch Quer- +oder Längsformat auswählen. Ein beliebiges Format kann mit der Einstellung +\Option{paper=\PValueName{Höhe}{:}\PValueName{Breite}}(\Package{typearea})'none' +gewählt werden. Für zusätzliche Hinweise ist das \scrguide zu Rate zu ziehen. + +Passend zum ausgewählten Papierformat sowie der gewünschten Anzahl an +Textspalten des Posters sollte unbedingt die Schriftgröße mit +\Option{fontsize=\PName{Schriftgröße}}(\Package{koma-script})'none'|declare| +angegeben werden. Für eine passend abgestimmte Auswahl von Papierformat und +Schriftgröße ist \autoref{tab:font+paper} als Referenz zu nutzen. Sollten Sie +aufgrund der Schriftgrößenänderung eine oder mehrere Warnungen vom Typ +% +\begin{quoting} +\begin{Code} +Font shape `T1/cmr/m/n' in size <...> not available +\end{Code} +\end{quoting} +% +erhalten, so beachten Sie bitte die Hinweise aus \autoref{sec:tips:fontsize}. + + +\begin{table} + \index{Papierformat|!}% + \index{Schriftgröße|!}% + \newcommand*\mtm{\small min\dots{}max}% + \newcommand*\rng[2]{\small #1\dots{}#2pt}% + \ttabbox[\linewidth]{% + \setlength\tabcolsep{5pt}% + \centering% + \begin{subfloatrow}% + \ttabbox{% +\begin{tabular}{r*{7}c} + \toprule + &\multicolumn{7}{c}{Klasse} \tabularnewline\midrule + & 6 & 5 & 4 & 3 & 2 & 1 & 0 \tabularnewline\midrule +Reihe & \mtm & \mtm & \mtm & \mtm & \mtm & \mtm & \mtm \tabularnewline\midrule + D &\rng{05}{07} &\rng{06}{09} &\rng{10}{14} &\rng{14}{20}% + &\rng{20}{29} &\rng{28}{40} &\rng{40}{60} \tabularnewline\midrule + A &\rng{06}{08} &\rng{07}{10} &\rng{11}{16} &\rng{16}{23}% + &\rng{23}{33} &\rng{32}{46} &\rng{45}{66} \tabularnewline\midrule + C &\rng{07}{09} &\rng{08}{11} &\rng{12}{18} &\rng{18}{26}% + &\rng{26}{37} &\rng{36}{52} &\rng{50}{72} \tabularnewline\midrule + B &\rng{08}{10} &\rng{09}{12} &\rng{13}{20} &\rng{20}{29}% + &\rng{29}{41} &\rng{40}{58} &\rng{55}{78} \tabularnewline\bottomrule +\end{tabular} + }{\caption{Einspaltiges Layout}}% + \end{subfloatrow}% + \par\medskip + \begin{subfloatrow}% + \ttabbox{% +\begin{tabular}{r*{4}c} + \toprule + &\multicolumn{4}{c}{Klasse} \tabularnewline\midrule + & 3 & 2 & 1 & 0 \tabularnewline\midrule + Reihe & \mtm & \mtm & \mtm & \mtm \tabularnewline\midrule +D&\rng{07}{10}&\rng{10}{14}&\rng{14}{19}&\rng{19}{28}\tabularnewline\midrule +A&\rng{08}{11}&\rng{11}{16}&\rng{16}{22}&\rng{22}{32}\tabularnewline\midrule +C&\rng{09}{12}&\rng{12}{18}&\rng{18}{25}&\rng{25}{36}\tabularnewline\midrule +B&\rng{10}{13}&\rng{13}{20}&\rng{20}{28}&\rng{28}{40}\tabularnewline\bottomrule +\end{tabular} + }{\caption{Zweispaltiges Layout}}% + \ttabbox{% +\begin{tabular}{r*{2}c} + \toprule + &\multicolumn{2}{c}{Klasse} \tabularnewline\midrule + & 1 & 0 \tabularnewline\midrule + Reihe & \mtm & \mtm \tabularnewline\midrule + D &\rng{07}{10} &\rng{10}{14} \tabularnewline\midrule + A &\rng{08}{11} &\rng{11}{16} \tabularnewline\midrule + C &\rng{09}{12} &\rng{12}{18} \tabularnewline\midrule + B &\rng{10}{13} &\rng{13}{20} \tabularnewline\bottomrule +\end{tabular} + }{\caption{Dreispaltiges Layout}}% + \end{subfloatrow}% + }{% + \caption{% + Empfohlene Kombinationen für die Wahl von Papierformat + (\Option{paper}(\Package{typearea})'none') und Schriftgröße + (\Option{fontsize}(\Package{koma-script})'none')% + }% + \label{tab:font+paper}% + }% +\end{table} + + + +\subsection{Die Gestalt eines Posters} + +Die Festlegung der Farbausprägung eines Posters erfolgt mit der Option +\Option{cd}, welche nachfolgend beschrieben wird. Dabei kann aus einigen +Varianten zur Farbgestaltung gewählt werden. Sollte keiner dieser +vordefinierten Werte das gewünschte Layout zur Verfügung stellen, lässt sich +dieses mit den Optionen \Option{cdhead} und \Option{cdfoot} sowie +\Option{cdtitle}, \Option{cdpart} und \Option{cdsection} nachträglich +noch genauer anpassen. + + +\begin{Declaration}{\Option{cd=\PSet}}[bicolor] +\printdeclarationlist% +% +Äquivalent zu den \TUDScript-Hauptklassen wird mit dieser Option die Verwendung +des \TUDCDs für das Poster festgelegt. Sie hat Einfluss auf die Farbgestaltung +der Gliederungsüberschriften sowie des Seitenstils, welcher standardmäßig auf +\PageStyle{empty.tudheadings} gesetzt wird. +% +\begin{values}{\Option{cd}} +\itemfalse + Hiermit wird das \CD komplett deaktiviert und es werden keine spezifischen + Einstellungen für ein Poster vorgenommen. Lediglich der Seitenstil wird auf + \PageStyle{empty} festgelegt. +\itemtrue*[nocolor/monochrome] + Es wird schwarze Schrift für Überschriften und den Seitenkopf verwendet. Der + Fußbereich wird nicht farbig akzentuiert. +\item[lightcolor/pale] + Die Einstellung entspricht weitestgehend der Option \Option{cd=true}, + allerdings wird die primäre Hausfarbe \Color{HKS41} für Kopf sowie Fuß und + die Überschriften genutzt. +\item[barcolor] + Zusätzlich zur vorherigen Einstellung wird außerdem der Querbalken farbig + abgesetzt. +\item[bicolor/color/fullcolor] + Der Kopf wird mit einem farbigen Hintergrund in der primären Hausfarbe + \Color{HKS41} gesetzt, der Querbalken wird farbig abgesetzt. Ebenso wird für + alle Überschriften die Hausfarbe verwendet, der Fußbereich erhält ebenfalls + einen farbigen Hintergrund. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Option{backcolor=\PSet}}[true] +\printdeclarationlist% +% +Mit dieser Option kann die Hintergrundfarbe eines Posters definiert werden. +% +\begin{values}{\Option{backcolor}} +\itemfalse[nocolor] + Es wird keine Farbe festgelegt, der Hintergrund erscheint weiß. +\itemtrue*[color] + Der Seitenhintergrund wird in der primären Hausfarbe \Color{HKS41} gewählt. +\item[\PValueName{Farbe}] + Die angegebene \PName{Farbe} wird als Hintergrund für das Poster genutzt. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Option{bleedmargin=\PName{Längenwert}}}[0.2in] +\printdeclarationlist% +\index{Beschnittzugabe|?}% +\index{Schnittmarken|?}% +% +Soll das Poster in einem Papierformat gedruckt werden, welches anschließend +noch auf das Zielformat zugeschnitten wird, weil beispielsweise ein randloses +Drucken nicht möglich ist, kann diese Option genutzt werden, um die farbigen +Elemente des Layouts in den Bereich der Beschnittzugabe respektive Überfüllung +zu vergrößern. Damit ist ein \enquote{Zuschneiden in die Farbe} sehr einfach +und ohne große Probleme realisierbar. + +Die von der Einstellung \Option{bleedmargin=\PName{Längenwert}} abhängigen +Elemente sind zum einen Kopf- und Fußbereich, beeinflusst durch die Optionen +\Option{cdhead} und \Option{cdfoot}. Werden diese farbig gesetzt, so werden +diese um den angegebenen \PName{Längenwert} über das gewünschte Zielformat +hinaus vergrößert. Zum anderen wird auch der mit \Option{backcolor} +gegebenenfalls eingestellte, farbige Seitenhintergrund erweitert. Wie sich der +Entwurf eines Posters in einem bestimmten Zielformat auf einem übergroßem +Papierbogen tatsächlich realisieren lässt, wird in \fullref{sec:tips:crop} +exemplarisch dargestellt. +\end{Declaration} + + + +\section{Felder für den Fußbereich} +\tudhyperdef*{sec:poster:foot}% +% +Der Fußbereich eines Posters kann mit \Macro{footcontent} eigens und frei +definiert werden. Geschieht dies nicht, wird standardmäßig ein vordefinierte +Fuß gesetzt, welcher Angaben von bestimmten Feldern ausgibt, die insbesondere +als Kontaktinformationen gedacht sind. Welche das im Einzelnen sind, wird +nachfolgend erläutert. Die farbliche Ausprägung des Fußes wird durch die Option +\Option{cdfoot} festgelegt. + +\begin{Declaration}{% + \Macro{faculty}[\OParameter{Fußzeile}\Parameter{Fakultät}]% +} +\begin{Declaration}{% + \Macro{department}[\OParameter{Fußzeile}\Parameter{Einrichtung}]% +} +\begin{Declaration}{% + \Macro{institute}[\OParameter{Fußzeile}\Parameter{Institut}]% +} +\begin{Declaration}{% + \Macro{chair}[\OParameter{Fußzeile}\Parameter{Lehrstuhl}]% +} +\printdeclarationlist% +% +Die mit diesen Befehlen gemachten Angaben werden nicht nur im Kopf sondern +zusätzlich auch im linken Teil des Fußbereichs ausgegeben. Sollen diese für den +Fußbereich angepasst werden, lässt das optionale Argument hierfür verwenden, +wobei die Angabe eines leeren optionalen Argumentes das Feld für den Fuß +komplett unterdrückt. Vor allen Angaben wird der Bezeichner \Term{contactname} +in fetter Schrift ausgegeben. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\begin{Declaration}{\Macro{professor}[\Parameter{Name}]} +\printdeclarationlist% +% +Zusätzlich zu den Angaben der Einrichtung kann mit \Macro{professor} der +aktuelle Inhaber der genannten Professur im linken Fußbereich angegeben werden. +\end{Declaration} + +\begin{Declaration}{\Macro{author}[\Parameter{Autor(en)}]} +\begin{Declaration}{\Macro{contactperson}[\Parameter{Name(n)}]} +\begin{Declaration}{\Macro{authormore}[\Parameter{Autorenzusatz}]} +\begin{Declaration}{\Macro{course}[\Parameter{Studiengang}]} +\begin{Declaration}{\Macro{discipline}[\Parameter{Studienrichtung}]} +\begin{Declaration}{\Macro{office}[\Parameter{Adresse/Gebäude}]} +\begin{Declaration}{\Macro{telephone}[\Parameter{Telefonnummer}]} +\begin{Declaration}{\Macro{telefax}[\Parameter{Telefaxnummer}]} +\printdeclarationlist% +% +Der oder die mit \Macro{author} angegebenen Autoren werden im rechten Teil des +Fußbereichs (nacheinander) ausgegeben, mehrere Autoren sind mit \Macro{and} +voneinander zu trennen. Die Befehle \Macro{authormore}, \Macro{course} und +\Macro{discipline} sowie \Macro{office}, \Macro{telephone}, \Macro{telefax} und +\Macro{emailaddress} können für zusätzliche Angaben zu jedem Autor innerhalb +des Argumentes von \Macro{author} verwendet werden. Vor der Ausgabe aller +Autoreninformationen wird der Bezeichner \Term{authorname} in fetter Schrift +gesetzt. Ohne die Angabe von \Macro{author} erfolgt keine Ausgabe. + +Danach folgen alle mit \Macro{contactperson} gemachten Angaben. Auch hier ist +\Macro{and} für eine Trennung mehrerer Personen zu nutzen, wobei hier lediglich +die Befehle \Macro{emailaddress}, \Macro{office}, \Macro{telephone} und +\Macro{telefax} nicht jedoch \Macro{authormore} sowie \Macro{course} und +\Macro{discipline} für zusätzliche Angaben zu verwenden sind. Bevor die +Ansprechpartner ausgegeben werden, wird der Bezeichner \Term{contactpersonname} +in fetter Schrift gesetzt. Es ist natürlich auch möglich nur Autor(en) oder +Ansprechpartner anzugeben. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{webpage}[\OParameter{Einstellungen}\Parameter{URL}]} +\begin{Declaration}{\Macro{webpage*}[\Parameter{URL}]} +\printdeclarationlist% +% +Ganz zum Schluss kann für die rechte Spalte des Fußbereichs eine Homepage +angegeben werden. Wurde das Paket \Package{hyperref} geladen, wird diese in +einen Hyperlink gewandelt. Über das optionale Argument können beliebige +Einstellungen an \Macro{hypersetup}(\Package{hyperref})'none' aus besagtem +Paket übergeben werden. Soll die Formatierung des Eintrags manuell erfolgen, so +kann die Sternversion \Macro{webpage*} verwendet werden, wobei alle gewünschten +Einstellungen innerhalb des Argumentes~-- gegebenenfalls in einer Gruppe~-- +vorgenommen werden müssen. +\end{Declaration} +\end{Declaration} + + +\section{Sprachabhängige Bezeichner für den Fußbereich} + +\begin{Declaration}{\Term{contactname}} +\begin{Declaration}{\Term{authorname}} +\begin{Declaration}{\Term{contactpersonname}} +\printdeclarationlist% +% +Wie bereits zuvor erläutert, werden diese Bezeichner in der linken respektive +rechten Spalte im Fuß vor der Ausgabe der eigentlichen Felder gesetzt. +\TermTable{contactname,authorname,contactpersonname} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\ToDo[imp]{% + Symbole für Telefon, Fax und E-Mail in \autoref{sec:poster:foot}? + Woher? marvosym?%\Email\fax\Faxmachine\FAX\Letter\Mobilefone\Telefon +}[v2.07] +\end{Bundle*} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex new file mode 100644 index 0000000000..b37950fb16 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex @@ -0,0 +1,57 @@ +\addchap[tocentry={}]{\prefacename} +In diesem Handbuch werden die für das Erstellen von \hologo{LaTeX}"=Dokumenten +im \hrfn{https://tu-dresden.de/cd/}{\TUDCD} entwickelten Klassen und Pakete +beschrieben. Diese basieren auf den gerade im deutschsprachigen Raum häufig +verwendeten \KOMAScript"=Klassen, die eine Vielzahl von Einstellmöglichkeiten +bieten, welche weit über die Möglichkeiten der \hologo{LaTeX}"=Standardklassen +hinausgehen. Zusätzlich bietet das \TUDScript-Bundle weitere, insbesondere das +Dokumentlayout betreffende Auswahlmöglichkeiten. + +Es sei angemerkt, dass die hier beschriebenen Klassen eine Abweichung vom +\TUDCD zulassen, da dieses gerade unter typografischen Gesichtspunkten +durchaus als diskussionswürdig zu erachten ist. Prinzipiell ist es mit den +entsprechenden Einstellungen möglich, auf das Layout der \KOMAScript"=Klassen +zurückzuschalten. Ohne die gezielte Verwendung dieser Optionen durch den +Anwender werden per Voreinstellung alle Vorgaben des \CDs umgesetzt. + +Dieses Handbuch enthält eine Beschreibung der \emph{zusätzlich} zu den +\KOMAScript"=Klassen nutzbaren Optionen und Befehle. Dabei werden +Grundkenntnisse in der Verwendung von \hologo{LaTeX} vorausgesetzt. Sollten +diese nicht vorhanden sein, wird das Lesen der \hologo{LaTeXe}"=Kurzbeschreibung +\hrfn{http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf}{\File{l2kurz.pdf}} +dringend empfohlen. Für den vertiefenden Einstieg in \hologo{LaTeX} stellt +Nicola~L.~C.~Talbot sehr ausführliche Tutorials für +\hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen} +und \hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen} zur +freien Verfügung. Zusätzlich werden in \autoref{part:additional} dieses +Handbuchs Minimalbeispiele sowie etwas ausführlichere Tutorials angeboten. + +Des Weiteren sollte \emph{jeder} Anwender das \hologo{LaTeXe}"=Sündenregister +\hrfn{http://mirrors.ctan.org/info/l2tabu/german/l2tabu.pdf}{\File{l2tabu.pdf}} +kennen, um typische Fehler zu vermeiden. Antworten auf häufig gestellte Fragen +liefert \hrfn{http://projekte.dante.de/DanteFAQ/WebHome}{DanteFAQ}. Falls der +Nutzer unerfahren bei der Verwendung von \KOMAScript{} sein sollte, so ist ein +Blick in das \scrguide[dazugehörige Handbuch] sehr zu empfehlen, wenn nicht +sogar unumgänglich. + +Der aktuelle Stand der Klassen und Pakete aus dem \TUDScript-Bundle in der +Version~\vTUDScript{} wurde nach bestem Wissen und Gewissen auf Herz und Nieren +getestet. Dennoch kann nicht für das Ausbleiben von Fehlern garantiert werden. +Beim Auftreten eines Problems sollte dieses genauso wie Inkompatibilitäten mit +anderen Paketen im \Forum* respektive im \GitHubRepo*[issues] unter +\begin{quoting} +\Forum'\newline\GitHubRepo'[issues]% +\end{quoting} +gemeldet werden. Für eine schnelle und erfolgreiche Fehlersuche sollte bitte +ein \hrfn{http://www.komascript.de/minimalbeispiel}{\textbf{Minimalbeispiel}} +bereitgestellt werden. Auf Anfragen ohne dieses werde ich gegebenenfalls +verspätet oder gar nicht reagieren. Ebenso sind im genannten Forum auch +\emph{Fragen}, \emph{Kritik} und \emph{Verbesserungsvorschläge}~-- sowohl das +Bundle selbst als auch die Dokumentation betreffend~-- gerne gesehen. Da dieses +Bundle in meiner Freizeit entstanden ist und auch gepflegt wird, bitte ich um +Nachsicht, falls ich nicht sofort antworte und/oder eine Fehlerkorrektur +vornehmen kann. + +\bigskip +\noindent Falk Hanisch\newline +Dresden, \getfield{date} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex new file mode 100644 index 0000000000..845fdd3360 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex @@ -0,0 +1,411 @@ +\setchapterpreamble{\tudhyperdef'{sec:supervisor}} +\chapter[Das Paket \Package*{tudscrsupervisor} -- Studentische Betreuung]{% + Betreuung studentischer Arbeiten +} +\begin{Bundle*}{\Package{tudscrsupervisor}} +% +Dieses Paket stellt für das Erstellen von Aufgabenstellungen und Gutachten +wissenschaftlicher Arbeiten sowie offiziellen Aushängen im \CD passende +Umgebungen und Befehle für den Anwender bereit. Deshalb richtet es sich +vornehmlich an Mitarbeiter an der \TnUD, kann jedoch natürlich auch von +Studenten genutzt werden. + + +\section{Aufgabenstellung für eine wissenschaftliche Arbeit} +\index{Aufgabenstellung|!(}% +% +\begin{Declaration}{\Environment{task}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{\Key{\Environment{task}}{headline=\PName{Überschrift}}} +\begin{Declaration}[v2.05]{\Key{\Environment{task}}{style=\PName{Stil}}} +\printdeclarationlist% +% +Mit der \Environment{task}"=Umgebung kann ein Aufgabenstellung für eine +wissenschaftliche Arbeit ausgegeben werden. Diese basiert auf der Umgebung +\Environment{tudpage} und akzeptiert deshalb im optionalen Argument alle +Parameter, welche bei der Beschreibung von \Environment{tudpage}'full' +erläutert wurden. + +Für die Aufgabenstellung wird normalerweise eine Überschrift gesetzt, welche +sich aus \Term{taskname} und~-- falls der Typ der Abschlussarbeit angegeben +wurde~-- noch aus \Term{tasktext} und \Macro{thesis} zusammensetzt. Der +Parameter \Key{\Environment{task}}{headline} kann genutzt werden, um diese +automatisch generierte Überschrift anzupassen. + +Zu Beginn der Aufgabenstellung erscheint eine Tabelle mit den angegebenen +Informationen zum Autor respektive zu den Autoren der Abschlussarbeit. Zwingend +anzugeben sind dafür lediglich der Name des oder der Verfasser (\Macro{author}) +sowie der Titel der Arbeit (\Macro{title}), welcher am Ende der Tabelle in +fetter Schrift aufgeführt wird. Optional werden noch die Felder für den +Studiengang (\Macro{course}), die Fachrichtung (\Macro{discipline}) sowie die +Matrikelnummer (\Macro{matriculationnumber}) und das Immatrikulationsjahr +(\Macro{matriculationyear}) ausgegeben, wobei nicht angegebene Felder bei der +Ausgabe ignoriert werden. Der eigentliche Inhalt der Umgebung~-- sprich die +Aufgabenstellung selbst~-- wird nach dem generierten Kopf ausgegeben + +Dem Inhalt der Aufgabenstellung folgt eine zeilenweise Auflistung des oder der +definierten Gutachter beziehungsweise Prüfer (\Macro{referee}) sowie Betreuer +(\Macro{supervisor}). Dabei wird vor dem jeweiligen Namen der dazugehörige +Bezeichner (\Term{refereename}, \Term{refereeothername} respektive +\Term{supervisorname}, \Term{supervisorothername}) gesetzt. +\ChangedAt{v2.05} +Dies ist das voreingestellte Verhalten und kann über die Wahl des Parameters +\Key{\Environment{task}}{style=\PValue{table}} aktiviert werden. Wird hingegen +der Parameter \Key{\Environment{task}}{style=\PValue{inline}} gesetzt, so +erfolgt die Ausgabe von mehreren Prüfern und Betreuern in einer Zeile. Die +Bezeichner sind problemlos anpassbar, siehe dazu \autoref{sec:localization}. +Danach erscheinen das Ausgabedatum (\Macro{issuedate}) sowie der verpflichtende +Abgabetermin (\Macro{duedate}). Zum Schluss wird die Unterschriftzeile für den +Prüfungsausschussvorsitzenden (\Macro{chairman}) und den betreuenden +Hochschullehrer (\Macro{professor}) gesetzt. Für genannte Personen werden unter +dem Namen selbst die Bezeichner ausgegeben (\Term{chairmanname} und +\Term{professorname}). +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{taskform}[\LParameter\Parameter{Ziele}\Parameter{Schwerpunkte}]% +} +\printdeclarationlist% +% +Zusätzlich zur der frei gestaltbaren Umgebung \Environment{task} zur Erstellung +einer Aufgabenstellung wird ein separater Befehl für eine standardisierte +Ausgabe zur Verfügung gestellt. Dieser strukturiert die Aufgabenstellung in die +zwei Bereiche \emph{Ziele} und \emph{Schwerpunkte} der Arbeit mit dazugehörigen +Überschriften (\Term{objectivesname}, \Term{focusname}). + +Im optionalen Argument können alle Parameter der Umgebung \Environment{task} +verwendet werden. Im ersten obligatorischen Argument sollte ein Text mit einer +kurzen thematischen Einordnung und dem eigentlichen Ziel der Arbeit erscheinen, +im zweiten Argument sollen die thematischen Schwerpunkte in Stichpunkten +benannt werden. Der Inhalt des zweiten notwendigen Argumentes wird in einer +\Environment{itemize}(\Package{koma-script},\Package{enumitem})'none'"=Umgebung +gesetzt. Deshalb \emph{muss} jedem Stichpunkt +\Macro{item}(\Package{koma-script},\Package{enumitem})'none' vorangestellt +werden. +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro{taskform} ist wie folgt: +\begin{Code}[escapechar=§] +\taskform{% + Motivation der Arbeit im ersten Absatz§\dots§ + + Ziele der Arbeit im zweiten Absatz§\dots§ +}{% + \item Schwerpunkt 1 + \item Schwerpunkt 2 +} +\end{Code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:task} verwiesen. +\index{Aufgabenstellung|!)}% +\end{Example} + +\begin{Declaration}{\Macro{chairman}[\Parameter{Prüfungsausschussvorsitzender}]} +\printdeclarationlist% +% +Wird dieses Feld genutzt, wird neben dem betreuenden Hochschullehrer +(\Macro{professor}) auch der Vorsitzende des Prüfungsausschusses am Ende der +Aufgabenstellung aufgeführt. Dies wird zumeist für Abschlussarbeiten wie +beispielsweise \masterthesisname{} oder \diplomathesisname{} benötigt. +\end{Declaration} + +\begin{Declaration}{\Macro{issuedate}[\Parameter{Ausgabedatum}]} +\begin{Declaration}{\Macro{duedate}[\Parameter{Abgabetermin}]} +\printdeclarationlist% +% +Mit diesen beiden Befehlen sollte das Datum der Ausgabe der Aufgabenstellung +sowie der spätest mögliche Abgabetermin angegeben werden. Wurde das Paket +\Package{isodate} oder \Package{datetime2} geladen, wird die damit eingestellte +Ausgabeformatierung des Datums mit \Macro{printdate}(\Package{isodate})'none' +beziehungsweise \Macro{DTMDate}(\Package{datetime2})'none' für \Macro{duedate} +und \Macro{issuedate} verwendet. +\end{Declaration} +\end{Declaration} + + +\section{Gutachten für wissenschaftliche Arbeiten} +\index{Gutachten|!(}% +% +\begin{Declaration}{\Environment{evaluation}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{% + \Key{\Environment{evaluation}}{headline=\PName{Überschrift}}% +} +\begin{Declaration}{\Key{\Environment{evaluation}}{grade=\PName{Note}}} +\printdeclarationlist% +% +Diese Umgebung wird für das Erstellen eines Gutachtens einer wissenschaftlichen +Arbeit bereitgestellt. Auch diese unterstützt alle Parameter, welche für die +Umgebung \Environment{tudpage}'full' beschrieben wurden. + +Für ein Gutachten wird gewöhnlich eine Überschrift aus \Term{evaluationname} +und~-- falls der Abschlussarbeitstyp angegeben wurde~-- \Term{evaluationtext} +sowie \Macro{thesis} generiert. Diese automatisch generierte Überschrift kann +mit dem Parameter \Key{\Environment{evaluation}}{headline} ersetzt werden. Am +Ende des Gutachtens wird die mit \Key{\Environment{evaluation}}{grade} +gegebene Note in fetter Schrift ausgezeichnet. + +Am Anfang der \Environment{evaluation}"=Umgebung wird die gleiche Tabelle mit +Autorenangaben ausgegeben, wie dies bei der \Environment{task}"=Umgebung der +Fall ist. Nach dem Tabellenkopf folgt auch hier der eigentliche Inhalt, sprich +das Gutachten der Abschlussarbeit. Abgeschlossen wird die Umgebung mit der +gegebenen Note~-- welche innerhalb von \Term{gradetext} ausgegeben wird~-- +sowie der Orts- und Datumsangabe (\Macro{place}, \Macro{date}) und der +darauffolgenden Unterschriftzeile für den oder die Gutachter (\Macro{referee}), +welche wiederum mit den entsprechenden sprachabhängigen Bezeichner +(\Term{refereename}, \Term{refereeothername}) ergänzt werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \hskip-.06em\Macro{evaluationform}[% + \LParameter\Parameter{Aufgabe}\Parameter{Inhalt}% + \Parameter{Bewertung}\Parameter{Note}\hskip-.06em% + ]% +} +\printdeclarationlist% +% +Neben der individuell nutzbaren Umgebung \Environment{evaluation} wird ein +separater Befehl zur Erstellung eines standardisierten Gutachtens +bereitgestellt. Dieser strukturiert die Ausgabe in die vier Bereiche +\emph{Aufgabe}, \emph{Inhalt}, \emph{Bewertung} und \emph{Note} und versieht +diese jeweils mit der dazugehörigen Überschrift beziehungsweise Textausgabe +(\Term{taskname}, \Term{contentname}, \Term{assessmentname} und +\Term{gradetext}). Das optionale Argument unterstützt alle Parameter der +\Environment{evaluation}"=Umgebung. +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro{evaluationform} ist wie folgt: +\begin{Code}[escapechar=§] +\evaluationform{% + Kurzbeschreibung der Aufgabenstellung§\dots§ +}{% + Zusammenfassung von Inhalt und Struktur§\dots§ +}{% + Bewertung der schriftlichen Abschlussarbeit§\dots§ +}{% + Zahl (Note) +} +\end{Code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:evaluation} +verwiesen. +\index{Gutachten|!)}% +\end{Example} + +\begin{Declaration}{\Macro{grade}[\Parameter{Note}]} +\printdeclarationlist% +% +Neben der Angabe der Note für ein Gutachten über den Parameter +\Key{\Environment{evaluation}}{grade} der Umgebung \Environment{evaluation} +kann dafür auch dieser global wirkende Befehl verwendet werden. +\end{Declaration} + + +\section{Aushang} +\index{Aushang|!(}% +% +\begin{Declaration}{\Environment{notice}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{\Key{\Environment{notice}}{headline=\PName{Überschrift}}} +\printdeclarationlist% +% +Für das Anfertigen eines Aushangs kann diese Umgebung verwendet werden. Diese +basiert abermals auf der Umgebung \Environment{tudpage} und unterstützt alle +deren Parameter. + +Wurde ein Datum angegeben, wird dieses standardmäßig rechtsbündig oberhalb des +Textbereiches angezeigt (\seeref{\Key{\Environment{tudpage}}{cdhead}}). Danach +erfolgt die Ausgabe der Überschrift, welche für gewöhnlich dem Inhalt von +\Term{noticename} entspricht und mit \Key{\Environment{notice}}{headline} +geändert werden kann. Nach der Überschrift folgt der Inhalt der Umgebung. Wurde +mit \Macro{contactperson} ein oder mehrere Ansprechpartner angegeben, werden +diese Informationen am Ende der Umgebung gesetzt. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{noticeform}[\LParameter\Parameter{Inhalt}\Parameter{Schwerpunkte}]% +} +\printdeclarationlist% +% +Auch für diese Umgebung gibt es einen Befehl für eine normierte Form. Diese +soll vor allem Verwendung für den Aushang studentischer Arbeitsthemen finden. +Für das optionale Argument können sämtliche Parameter verwendet werden, die +auch die \Environment{notice}"=Umgebung unterstützt. + +Das erste obligatorische Argument wird für eine kurze Inhaltsbeschreibung +verwendet. Neben dem Text sollte hier wenn möglich eine thematisch passende +Abbildung eingefügt werden (\Macro{includegraphics}(\Package{graphicx})'none'). +Das zweite Argument wird~-- wie schon bei \Macro{taskform}~-- dazu verwendet, +einige Schwerpunkte aufzuzählen. Auch hier kommt nach der gliedernden +Überschrift (\Term{focusname}) eine +\Environment{itemize}(\Package{koma-script},\Package{enumitem})'none'"=Umgebung +zum Einsatz, allen Schwerpunkten muss ein +\Macro{item}(\Package{koma-script},\Package{enumitem})'none' vorangestellt +werden. +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro{noticeform} ist wie folgt: +\begin{Code}[escapechar=§] +\noticeform{% + Kurzbeschreibung des Inhaltes der studentischen Arbeit§\dots§ + + Bild (optional), einzubinden mit: + \includegraphics[§\PName{Einstellungen}§]{§\PName{Datei}§} +}{% + \item Schwerpunkt 1 + \item Schwerpunkt 2 +} +\end{Code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:notice} verwiesen. +\index{Aushang|!)}% +\end{Example} + +\begin{Declaration}[v2.02]{\Macro{contactperson}[\Parameter{Kontaktperson(en)}]} +\begin{Declaration}{\Macro{office}[\Parameter{Dienstsitz}]} +\begin{Declaration}[v2.02]{\Macro{telephone}[\Parameter{Telefonnummer}]} +\begin{Declaration}[v2.05]{\Macro{telefax}[\Parameter{Telefaxnummer}]} + +\printdeclarationlist% +% +Am Ende eines Aushangs können mit \Macro{contactperson} Kontaktinformationen +für eine oder mehrere Ansprechpartner angegeben werden. Soll mehr als eine +Kontaktperson genannt werden, so müssen diese innerhalb des Befehls +\Macro{contactperson} mit dem Befehl \Macro{and} getrennt werden. Für jede +Person kann innerhalb des Argumentes von \Macro{contactperson} der Dienstsitz +(\Macro{office}), die dienstliche Telefon- (\Macro{telephone}) sowie "~faxnummer +(\Macro{telefax}) und die geschäftliche E"~Mail"=Adresse (\Macro{emailaddress}) +angegeben werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + + +\section{Zusätzliche sprachabhängige Bezeichner} +\index{Bezeichner|!(}% +% +Für das Paket \Package{tudscrsupervisor} werden für die zusätzlichen Befehle +und Umgebungen weitere Bezeichner definiert. Für eine etwaige Anpassung dieser +sei auf \autoref{sec:localization} verwiesen. + +\begin{Declaration}{\Term{taskname}} +\begin{Declaration}{\Term{tasktext}} +\printdeclarationlist% +% +Die Bezeichnung der Aufgabenstellung selbst ist in \Term{taskname} enthalten. +Für die Generierung einer Überschrift wird dieser verwendet. Wurde außerdem mit +\Macro{thesis} oder \Macro{subject} der Typ der Abschlussarbeit% +\footnote{% + \Option{subjectthesis} oder spezieller Wert aus \autoref{tab:thesis}% +} +angegeben, wird die Überschrift zusammen mit dem Bezeichner \Term{tasktext} +um die Typisierung erweitert. Falls gewünscht, kann die automatisch generierte +Überschrift mit dem Parameter \Key{\Environment{task}}{headline} der Umgebung +\Environment{task} überschrieben werden. +\TermTable{taskname,tasktext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}[v2.04]{\Term{namesname}} +\begin{Declaration}{\Term{titlename}} +\printdeclarationlist% +% +Diese beiden Bezeichner werden in der Tabelle mit den Autoreninformationen zu +Beginn der Aufgabenstellung verwendet. +\TermTable{namesname,titlename} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{issuedatetext}} +\begin{Declaration}{\Term{duedatetext}} +\printdeclarationlist% +% +Am Ende der Aufgabenstellung wird nach dem oder der Betreuer das Ausgabedatum +und der Abgabetermin (\Macro{issuedate}, \Macro{duedate}) der Abschlussarbeit +mit folgenden Bezeichner erläutert. +\TermTable{issuedatetext,duedatetext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{chairmanname}} +\printdeclarationlist% +% +Wurde der Prüfungsausschussvorsitzende (\Macro{chairman}) angegeben, erfolgt +unter dem Namen selbst die Ausgabe des Bezeichners. +\TermTable{chairmanname} +\end{Declaration} + +\begin{Declaration}{\Term{focusname}} +\begin{Declaration}{\Term{objectivesname}} +\printdeclarationlist% +% +Die Standardformen für Aufgabenstellung (\Macro{taskform}) respektive Aushang +(\Macro{noticeform}) nutzen für die gesetzten Überschriften diese Bezeichner. +\TermTable{focusname,objectivesname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{evaluationname}} +\begin{Declaration}{\Term{evaluationtext}} +\printdeclarationlist% +% +Die Bezeichnung des Gutachten selbst ist in \Term{evaluationname} enthalten. +Für die Generierung der Überschrift wird der Bezeichner \Term{evaluationtext} +sowie der mit \Macro{thesis} oder gegebenenfalls mit \Macro{subject} gegebenen +Typ der Abschlussarbeit verwendet. Diese automatisch generierte Überschrift +kann mit dem Parameter \Key{\Environment{evaluation}}{headline} der +Umgebung \Environment{evaluation} durch den Anwender überschrieben werden. +\TermTable{evaluationname,evaluationtext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{contentname}} +\begin{Declaration}{\Term{assessmentname}} +\printdeclarationlist% +% +Bei der standardisierten Form des Gutachtens (\Macro{evaluationform}) werden +die darin~-- für eine strukturierte Gliederung~-- erzeugten Überschriften mit +den Bezeichnern \Term{taskname}, \Term{contentname} und \Term{assessmentname} +gesetzt. +\TermTable{taskname,contentname,assessmentname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{gradetext}} +\printdeclarationlist% +% +Wird für das Gutachten einer wissenschaftlichen Arbeit die erzielte Note +entweder mit dem Befehl \Macro{grade}[\Parameter{Note}] oder alternativ dazu +mit dem Parameter \Key{\Environment{evaluation}}{grade=\PName{Note}} der +Umgebung \Environment{evaluation} angegeben, so wird diese innerhalb von +\Term{gradetext} verwendet. +\grade{\PName{Note}} +\TermTable*{gradetext}{.8\textwidth} +\end{Declaration} + +\begin{Declaration}{\Term{noticename}} +\begin{Declaration}[v2.02]{\Term{contactpersonname}} +\printdeclarationlist% +% +Die Bezeichnung des Aushangs selbst ist in \Term{noticename} enthalten. Für +die Generierung einer Überschrift wird dieser verwendet. Falls gewünscht, kann +diese mit dem Parameter \Key{\Environment{notice}}{headline} der Umgebung +\Environment{notice} überschrieben werden. Wurde eine Kontaktperson mit dem +Befehl \Macro{contactperson} angegeben, wird als Überschrift der Kontaktdaten +der Bezeichner \Term{contactpersonname} verwendet. + +\TermTable{noticename,contactpersonname} +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)}% +\end{Bundle*} diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr.tex b/macros/latex/contrib/tudscr/source/doc/tudscr.tex new file mode 100644 index 0000000000..23ecb82dce --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tudscr.tex @@ -0,0 +1,162 @@ +\documentclass[english,ngerman,ttfont=roboto]{tudscrmanual} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\usepackage{bookmark} + +\TUDoption{ToDo}{true} +\KOMAoptions{headings=optiontoheadandtoc} + +%\tracinglabels[all] +%\tracingmarkup +%\tracingbundle + +\begin{document} +\newrobustcmd*\cdurl{% + \begingroup% + \hypersetup{hidelinks}% + \href{https://tu-dresden.de/cd/}{https://tu-dresden.de/cd}% + \endgroup% +} +\faculty{\cdurl} +\date{27.08.2019} +\author{% + Falk Hanisch% + \expandafter\emailaddress\expandafter{\tudscrmail}% +} +\publishers{\GitHubRepo'[]} +\subject{\TUDScript \vTUDScript{} basierend auf \KOMAScript} +\title{Ein {LaTeX}-Bundle für Dokumente im \TUDCD} +\ifdef{\tudprintflag}{% + \subtitle{Benutzerhandbuch\thanks{\href{tudscr}{Online-Version}}}% +}{% + \subtitle{Benutzerhandbuch\thanks{\href{tudscr_print}{Druckversion}}}% +} + + +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \let\emailaddress\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Benutzerhandbuch für \TUDScript},% + pdfkeywords = {LaTeX, \TUDScript, Benutzerhandbuch},% + }% +\endgroup% +\makeatother + + +\maketitle + + +\include{tudscr-preface} +\tableofcontents +\include{tudscr-introduction} + + + +\setpartpreamble{% + \begin{abstract} + \hypersetup{linkcolor=red} + \noindent Dies ist der Hauptteil des \TUDScript-Bundles. Hier findet der + Anwender alle verfügbaren Optionen, Umgebungen und Befehle, die über + die Funktionalität von \KOMAScript{} hinausgehen. + \end{abstract} +}% +\part{Das \TUDScript-Bundle} +\label{part:main} +\include{tudscr-mainclasses} +\include{tudscr-poster} +\include{tudscr-supervisor} +\include{tudscr-bundle} + + + +\setpartpreamble{% + \begin{abstract} + \hypersetup{linkcolor=red} + \noindent Für die Verwendung des \TUDScript-Bundles ist es nicht notwendig, + diesen Teil zu lesen. In \autoref{sec:exmpl} werden insbesondere für + \hologo{LaTeX}"=Neulinge sowie neue Anwender des \TUDScript-Bundles + mehrere einfache Beispiele gezeigt. Zusätzlich sind in \autoref{sec:tut} + umfangreichere Tutorials für das Erstellen von wissenschaftlichen Arbeiten + zu finden. Die darin gegebenen Empfehlungen sind nicht auf \TUDScript + beschränkt sondern lassen sich auch mit anderen \hologo{LaTeX}"=Klassen + umsetzen. In \autoref{sec:packages} werden Einsteigern~-- und versierten + \hologo{LaTeX}-Nutzern~-- meiner Meinung nach empfehlenswerte Pakete kurz + vorgestellt. + + Anwendungshinweise sowie der eine oder andere allgemeine Hinweis bei der + Verwendung von \hologo{LaTeXe} wird in \autoref{sec:tips} gegeben. Dabei + sind diese durchaus für die Verwendung sowohl des \TUDScript-Bundles als + auch anderer \hologo{LaTeX}-Klassen interessant. Für Anregungen, Hinweise, + Ratschläge oder Empfehlungen zu weiteren Pakete sowie Tipps bin ich + jederzeit empfänglich. + \end{abstract} +} +\part{Ergänzungen und Hinweise} +\label{part:additional} +\include{tudscr-examples} +\include{tudscr-packages} +\include{tudscr-hints} + + + +\part{Anhang} +\appendix +\include{tudscr-installation} +\include{tudscr-obsolete} +\include{tudscr-additional} +\include{tudscr-index} + + + +\clearpage + +\ToDo[imp,doc]{% + Benutzerdefinierte Anpassungen von \TUDScript, Kapitelstile, Farbeinsatz etc.% +}[v2.07] +\ToDo[imp]{% + Spezialseite zur freien Gestaltung mit Hintergrundebene für Bilder und Texte + (CD-Handbuch S. 80 ff.); Seitenstil: \PageStyle*{special.tudheadings} +}[v2.07] +\ToDo[doc,imp]{% + Rückseite bei Kapitelseiten (auch bei Teilen?) im doppelseitigen Satz per + Option nicht als Vakatseite setzen. Implementierung von farbigen Seiten + davor (\Option*{open=right}) sowie danach (\Option*{open=left}). Setzen von + speziellen Inhalten auf diesen Seiten äquivalent zu \Macro*{setpartpreamble} + bzw. \Macro*{setchapterpreamble}; ggf. temporär umschalten bzw. Warnung bei + Konflikt. + \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?f=11&t=396} +}[v2.07] + +\ToDo[imp]{LyX: layout-Dateien in das Projekt integrieren lassen?}[v2.07] +\ToDo[imp]{\Package*{glossaries}: Paket für Stile aus Tutorial}[v2.07] + +\ToDo[imp]{TeXstudio: cwl-Dateien über docstrip, separate .ins-Datei}[v2.07] +\ToDo[rls]{TeXstudio: alle *.cwl erneuern, automatisch über *.dtx} + +\ToDo[rls]{GitHub auf offene Issues prüfen} +\ToDo[rls]{\emph{alle} dtx-Dateien der vorherigen Version mit WinMerge sichten} +\ToDo[rls]{Layout und Umbrüche kontrollieren} +\ToDo[rls]{Datum in tudscr-version.dtx, tudscr-comp.dtx, Handbuch \& README} +\ToDo[rls]{% + Release auf GitHub und CTAN, Tag für Homepage und im Forum ändern\\ + {\small\url{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?t=303}}% +} +\ListOfToDo +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex new file mode 100644 index 0000000000..92e081b5b6 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex @@ -0,0 +1,227 @@ +\documentclass[english,ngerman]{tudscrartcl} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} + +\usepackage{tudscrtutorial} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathswap} +\usepackage{bookmark} + +\begin{document} +\begin{Bundle}{\Package{mathswap}} +\date{07.11.2016} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} +\title{Änderung der Trennzeichen im Mathematikmodus} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% + }% +\endgroup% +\markright{\@title} +\makeatother +\StartTutorial[% + Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und + beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese + importierten Datensätze bezüglich der darin enthaltenen Gruppierungs- und + Dezimaltrennzeichen nicht dem Zahlenformat entsprechen, welches für die + verwendete Dokumentsprache normalerweise notwendig wäre. + + Dieses Tutorial behandelt die typografischen Eigenheiten von Gruppierungs- + und Dezimaltrennzeichen bei der Angabe von Zahlen in einem + \hologo{LaTeXe}"=Dokument. Sowohl bei der Einbindung von externen Daten als + auch bei der Erstellung von fremdsprachigen Dokumenten ist dies ein durchaus + relevantes Thema. Um sich die manuelle Konvertierung der Daten zu ersparen, + kann alternativ dazu die Möglichkeit genutzt werden, dies mit Hilfe von + \hologo{LaTeXe} selbst zu bewerkstelligen. + + Es wird beschrieben, wie das \TUDScript-Paket \Package{mathswap}'manual' für + diese Zwecke genutzt werden kann. Wird es in einer der \TUDScript-Klassen + geladen, so wird das angenommene Zahlenformat an die gewählte Dokumentsprache + angepasst. Alternativ dazu kann auch das Paket \Package{ionumbers}()'manual' + verwendet werden. +] +Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als +auch die für jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach sinnvollen +Pakete geladen. +% +\begin{Preamble} +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen möglich +\usepackage[T1]{fontenc} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{mathswap}'manual' aus dem \TUDScript-Bundle +geladen, welches die Änderung der Gruppierungs- und Dezimaltrennzeichen im +Mathematikmodus ermöglicht. Dadurch werden einerseits Zahlen im zur jeweiligen +Dokumentsprache gehörigen Format typografisch korrekt gesetzt. Andererseits ist +es so möglich, Zahlen im englischen Format typografisch korrekt in deutschen +Texten zu setzen~-- et vice versa. +% +\begin{Preamble} +\usepackage{mathswap} +\end{Preamble} +% +\addsec{Typografisch korrekte Ausgabe für deutschsprachige Dokumente} +% +Für dieses Tutorial wird zunächst angenommen, dass die wissenschaftlichen +Abhandlung in deutscher Sprache verfasst wird. Ohne die Nutzung eines +speziellen Paketes zur Ausgabeformatierung von Zahlen werden diese durch +\hologo{LaTeXe} im mathematischen Modus bei der Angabe im deutschen +Zahlenformat~-- Punkt~(\PValue{.}) als Gruppierungs- und Komma~(\PValue{,}) als +Dezimaltrennzeichen~-- folgendermaßen ausgegeben:% +\footnote{% + Da in der Präambel dieses Dokumentes das Paket \Package{mathswap}'manual' + bereits geladen wurde, wird mit \Macro{mathswapoff}'manual' auf das + Standardverhalten von \hologo{LaTeXe} geschaltet. Die Funktionalität wird mit + \Macro{mathswapon}'manual' wieder aktiviert.% +} +% +\CodePreamble{% + Ohne \Package{mathswap}'manual' keine typografische Zifferngruppierung% +} +\begin{Trunk*} +\mathswapoff +\(4.523,58\) +\mathswapon + +\end{Trunk*} +% +Mit dem Paket \Package{mathswap}'manual' wird das Ziel verfolgt, unabhängig vom +genutzten Zahlenformat für die Eingabe, eine typografisch korrekte Ausgabe zu +erzeugen. Wird das Paket zusammen mit einer \TUDScript-Klasse verwendet, werden +die Gruppierungs- und Dezimaltrennzeichen bei der Eingabe im Mathematikmodus +sprachabhängig interpretiert. Bei der Nutzung einer \KOMAScript-Dokumentklasse +respektive einer \hologo{LaTeX}-Standardklasse werden diese im Mathematikmodus +immer nach dem englischen Zahlenformat~-- Komma~(\PValue{,}) als Gruppierungs- +und Punkt~(\PValue{,}) als Dezimaltrennzeichen~-- betrachtet. + +Da dieses Dokument mit einer \TUDScript-Klasse (\TUDClassName) gesetzt wird und +die Spracheinstellung~\PValue{ngerman} gewählt wurde, wird für die folgenden +Zahlen das deutsche Eingabeformat angenommen. Wird nun die bereits zuvor +verwendete Zahl bei aktiver Funktionalität von \Package{mathswap}'manual' im +Mathematikmodus angegeben werden, so wird diese den typografischen Konventionen +folgend~-- halbes Leerzeichen zur Zahlengruppierung und Komma ohne umgebenden +Leerraum als Dezimaltrennzeichen~-- entsprechend ausgegeben: +% +\CodePreamble{% + Zifferngruppierung korrekt (Spracheinstellung~\PValue{ngerman})% +} +\begin{Trunk*} +\(4.523,58\) + +\end{Trunk*} +% +Wird die gleiche Zahl in englischer Formatierung angegeben, funktioniert dies +nicht mehr: +% +\CodePreamble{% + Zifferngruppierung falsch (Spracheinstellung~\PValue{ngerman})% +} +\begin{Trunk*} +\(4,523.58\) + +\end{Trunk*} +% +Um nun Zahlen, welche in englischer Formatierung eingegeben oder importiert +werden, in deutschsprachigen Dokumenten typografisch korrekt auszugeben, können +die beiden Befehle \Macro{commaswap}[\PParameter{\dots}]'manual' sowie +\Macro{dotswap}[\PParameter{\dots}]'manual' genutzt werden. Mit diesen lässt +sich festlegen, wie die im Mathematikmodus zur Zifferngruppierung eingegeben +Trennzeichen~-- Komma~(\PValue{,}) und Punkt~(\PValue{.})~-- substituiert +werden sollen, um damit die gewünschte Typografie zu erhalten. Die Argumente +der beiden Befehle geben also an, wodurch im mathematischen Modus Komma und +Punkt bei der Ausgabe ersetzt werden sollen. + +Im englischen Zahlenformat wird bei der Eingabe das Komma~(\PValue{,}) als +Gruppierungs- und der Punkt~(\PValue{.}) als Dezimaltrennzeichen genutzt. Bei +der Ausgabe für deutschsprachige Dokumente nach den typografischen Konventionen +muss folglich das Komma durch ein halbes Leerzeichen (\Macro*{,}) ersetzt +werden. Dies lässt sich mit \Macro{commaswap}[\PParameter{\Macro*{,}}] +bewerkstelligen. Der Punkt ist demzufolge mit einem Komma durch die Angabe von +\Macro{dotswap}[\PParameter{,}] zu ersetzen:% +\footnote{% + Die Verwendung von \Macro*{begingroup} und \Macro*{endgroup} führt hierbei + dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser + Gruppe erfolgt. +} +% +\CodePreamble{% + Englisches Zahlenformat in korrekter deutscher Zifferngruppierung% +} +\begin{Trunk*} +\begingroup + \commaswap{\,} + \dotswap{,} + \(4,523.58\) +\endgroup + +\end{Trunk*} +% +Somit können in einem deutschsprachigen Dokument Zahlen im englischen Format +problemlos verwendet beziehungsweise importiert und dennoch typografisch +korrekt gesetzt werden. +% +\addsec{Typografisch korrekte Ausgabe für englischsprachige Dokumente} +% +Wird das Paket \Package{mathswap}'manual' zusammen mit einer \TUDScript-Klasse +verwendet, werden die Gruppierungs- und Dezimaltrennzeichen im Mathematikmodus +sprachabhängig definiert. Wird also die Dokumentsprache auf \PValue{english} +gesetzt, so werden die Trennzeichen standardmäßig nach dem englischsprachigen +Zahlenformat interpretiert. +% +\CodePreamble{% + Zifferngruppierung (Spracheinstellung~\PValue{english})% +} +\begin{Trunk*} +\begingroup + \selectlanguage{english}% + \(4,523.58\)\newline + \(4.523,58\) +\endgroup + +\end{Trunk*} +% +Für englischsprachige Dokumente wird für die Auszeichnung der Gruppierung von +Ziffern ebenfalls ein halbes Leerzeichen und als Dezimaltrennzeichen ein Punkt +verwendet. Werden nun Zahlen in der deutschen Formatierung eingelesen, so muss +folglich das Komma durch einen Punkt \Macro{commaswap}[\PParameter{.}] und der +Punkt mit \Macro{dotswap}[\PParameter{\Macro*{,}}] durch ein halbes Leerzeichen +ersetzt werden:% +% +\CodePreamble{% + Deutsches Zahlenformat in korrekter englischer Zifferngruppierung% +} +\begin{Trunk*} +\begingroup + \selectlanguage{english}% + \commaswap{.} + \dotswap{\,} + \(4.523,58\) +\endgroup +\end{Trunk*} +% +\FinishTutorial +\ListOfToDo +\end{Bundle} +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex new file mode 100644 index 0000000000..9f9625ab7b --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex @@ -0,0 +1,204 @@ +\documentclass[english,ngerman]{tudscrartcl} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} + +\usepackage{tudscrtutorial} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathtools} +\usepackage{bookmark} + +\begin{document} +\date{07.11.2016} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} +\title{Ein Beitrag zum mathematischen Satz in \hologo{LaTeX}} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Mathematiksatz in \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Mathematiksatz},% + }% +\endgroup% +\markright{\@title} +\makeatother +\StartTutorial[% + Im mathematischen Satz sollten lediglich Formelzeichen für physikalische + Größen und Variablen sowie Funktions- und Operatorzeichen mit frei wählbarer + Bedeutung kursiv geschrieben werden. Dagegen werden Einheiten und ihre + Vorsätze, Zahlen, Funktions- und Operatorzeichen mit feststehender Bedeutung + sowie Chemische Elemente und Verbindungen aufrecht gesetzt. Weiterhin werden + Indizes, welche ein Formelzeichen näher beschreiben, ebenfalls aufrecht + gesetzt. Dieses Tutorial zeigt, wie mit einfachen Mitteln die Auszeichnung + von beschreibenden Indizes bei Formelzeichen typografisch korrekt erfolgen + kann. +] +Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als +auch die für jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach sinnvollen +Pakete geladen. +% +\begin{Preamble} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage[T1]{fontenc} +\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{amsmath} geladen, welches unter anderem die +in diesem Tutorial verwendeten Mathematikumgebungen \Environment{equation}, +\Environment{gathered} und \Environment{aligned} zur Verfügung stellt. +% +\begin{Preamble} +\usepackage{amsmath} +\end{Preamble} +% +Zunächst wird ein kurzes Beispiel gegeben, welches für die nachfolgenden +Ausführungen als Grundlage dienen soll. +% +\CodePreamble{}% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_{VM}\leq M_{VMmax} \\ +M_{EMmin}\leq M_{EM}\leq M_{EMmax} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn +mikrotypografisch alles richtig gemacht werden soll, gibt es einiges zu +beachten. Generell gilt, dass Variablen kursiv oder geneigt, Bezeichnungen und +Konstanten aufrecht gesetzt werden. Um beschreibende Indizes formal richtig zu +setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der Befehle +\Macro{mathrm}[\PParameter{\dots}] und \Macro{mathit}[\PParameter{\dots}] +respektive \Macro{mathnormal}[\PParameter{\dots}] wohl oder übel notwendig. +Aus dem vorhergehenden Beispiel wird mit ziemlich viel Anpassungsarbeit: +% +\CodePreamble{}% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ +M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +Augenscheinlich ist dabei sehr viel Handarbeit notwendig. Allerdings lässt sich +dies relativ gut vereinfachen. Zu diesem Zwecke wird für das Setzen von Indizes +bei Formelzeichen der Befehl \Macro{ind}[\PParameter{\dots}] definiert. Danach +können~-- wenn dies für nötig und sinnvoll erachtet wird~-- noch zusätzliche +Befehle für häufig verwendete Ausdrücke definiert werden. Als Beispiel wird das +schon eben genutzte Drehmoment \ensuremath{M} verwendet. Hierfür wäre folgende +Definition möglich:% +\footnote{% + Dabei sorgt \Macro*{kern.03em} für das Einfügen eins kleinen Abstandes + zwischen kursiver Variable und dem aufrechten Index. Abhängig von der + verwendeten Schriftart sollte dieser Abstand leicht angepasst werden. +} +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\newcommand*{\ind}[1]{\ensuremath{\kern.03em_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\end{Trunk*} +\CodePreamble{} +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM_{max}} \\ +\M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} + +\end{Trunk*} +% +Ein gewünschter Nebeneffekt der vorhergehenden Definition ist, dass dieser +Befehl aufgrund der Verwendung von \Macro{ensuremath}[\PParameter{\dots}] nun +auch im Fließtext verwenden werden kann. Beispielsweise lässt sich im Textteil +das induzierten Moment einer Verbrennungskraftmaschine~\M{VM_{ind}} angeben +(\Macro{M}[\PParameter{VM\_\PParameter{ind}}]). + +Für noch mehr Bequemlichkeit bei der Nutzung kann eine Lösung gefunden werden, +mit welcher~-- im Gegensatz zur Standardbefehlsdefinition in \hologo{LaTeXe}~-- +\textbf{nach} dem obligatorischen noch ein optionales Argument für einen +zusätzlichen Subindex angegeben werden kann, um damit der natürlichen +Schreibweise zu entsprechen. Es wird der Befehl \Macro{M} so definiert, das +dieser entweder mit \Macro{M}[\Parameter{Index}] oder in der Variante +\Macro{M}[\Parameter{Index}\OParameter{Indexindex}] mit nachgelagertem +optionalen Argument genutzt werden kann. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\makeatletter +\renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} +\newcommand*{\n@M}{} +\newcommand*{\o@M}{} +\def\n@M#1{\ensuremath{M\ind{#1}}} +\def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} +\makeatother + +\end{Trunk*} +% +Somit vereinfacht sich das zu Beginn vorgestellte Beispiel recht deutlich: +% +\begin{Trunk*} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM}[max] \\ +\M{EM}[min]\leq \M{EM}\leq \M{EM}[max] +\end{aligned} +\end{gathered} +\end{equation*} +\end{Trunk*} +% +Das Definieren von \Macro{M}[\Parameter{Index}\OParameter{Indexindex}] mit +angehängtem optionalen Argument ist ehrlich gesagt nur ein wenig Spielerei und +soll zeigen, wie dies prinzipiell mit \hologo{LaTeXe}"=Mitteln funktioniert. +Das Paket \Package{xparse} könnte alternativ zum hier vorgestellten Vorgehen +für die Befehlsdeklaration des optionalen \textbf{nach} dem obligatorischen +Argument genutzt werden. Damit würde die Befehlsdeklaration für \Macro{M} +folgendermaßen lauten: +\begin{Hint} +\NewDocumentCommand \M { m o } {% + \ensuremath{M\ind{#1\IfValueT{#2}{_{#2}}}}% +} +\end{Hint} +% +\FinishTutorial +\ListOfToDo +\end{document} diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex new file mode 100644 index 0000000000..30b1399ce8 --- /dev/null +++ b/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex @@ -0,0 +1,3351 @@ +\RequirePackage{fix-cm} +\documentclass[% + english,ngerman,% + cdgeometry=no,DIV=12,automark% +]{tudscrartcl} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} + +\usepackage{tudscrtutorial} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\lstset{escapechar=§} + +\usepackage{lmodern} +\TUDoptions{cdfont=false} +\KOMAoptions{headings=normal} + +\usepackage{tudscrsupervisor} +\usepackage{array} +\usepackage{tabu} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{booktabs} +\usepackage{siunitx} +\sisetup{% + locale = DE,% + input-decimal-markers={,},% + input-ignore={.},% + group-separator={\,},% + group-minimum-digits=3% +} +\usepackage{xfrac} +\AfterPackage*{hyperref}{% + \usepackage[% + automake,% + xindy={language=german-din},% + acronym,% + symbols,% + nomain,% + translate=babel,% + nogroupskip,% + nostyles,% + ]{glossaries} + \renewcommand*{\glsglossarymark}[1]{} + \newignoredglossary{abbreviation} + \newcommand*\newabbreviation[4][]{% + \newacronym[type=abbreviation,#1]{#2}{#3}{#4}% + }% + \makeglossaries +} +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} +\addbibresource{\jobname.bib} +\DefineBibliographyStrings{ngerman}{urlseen = {Am:}} + +\usepackage{enumitem} + +\usepackage{caption} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\usepackage{floatrow} +\renewcommand{\floatpagefraction}{0.7} + +\usepackage{tikz} +\usetikzlibrary{chains} +\usetikzlibrary{decorations.markings} +\tikzset{on grid} + +\usepackage{pstricks,pst-node} + +\makeatletter +\newcommand*\pcolumnfuzz[1]{\pretocmd{\@endpbox}{\hfuzz=#1}{}{}} +\makeatother + +\usepackage{bookmark} + +\begin{filecontents}{\jobname.bib} +@book{talbot2012, + author = {Nicola L. C. Talbot}, + title = {{\LaTeX} for Complete Novices}, + publisher = {Dickimaw Books}, + series = {Dickimaw {\LaTeX} Series}, + volume = {1}, + isbn = {978-1-909440-00-5}, + address = {Norfolk, UK}, + year = {2012}, + url = {http://www.dickimaw-books.com/latex/novices/}, + urldate = {2014-12-01}, +} +@book{talbot2013, + author = {Nicola L. C. Talbot}, + title = {Using {\LaTeX} to Write a PhD Thesis}, + publisher = {Dickimaw Books}, + series = {Dickimaw {\LaTeX} Series}, + volume = {2}, + isbn = {978-1-909440-02-9}, + address = {Norfolk, UK}, + year = {2013}, + url = {http://www.dickimaw-books.com/latex/thesis/}, + urldate = {2014-12-01}, +} +@online{reichert2012, + author = {Reichert, Axel and Voß, Herbert}, + title = {\LaTeX~-- Satz von Tabellen}, + organization = {Freie Universität Berlin}, + date = {2012-01-12}, + url = {http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}, + urldate = {2014-12-01} +} +@article{neubauer1996, + author = {Marion Neubauer}, + title = {Feinheiten bei wissenschaftlichen Publikationen~-- + Mikrotypographie"=Regeln, Teil~I}, + journaltitle = {Die \TeX{}nische Komödie}, + year = {1997}, + month = {2}, + volume = {4/96}, + pages = {23-40}, + url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf}, + urldate = {2014-12-01}, +} +@article{neubauer1997, + author = {Marion Neubauer}, + title = {Feinheiten bei wissenschaftlichen Publikationen~-- + Mikrotypographie"=Regeln, Teil~II}, + journaltitle = {Die \TeX{}nische Komödie}, + year = {1997}, + month = {5}, + volume = {1/97}, + pages = {25--44}, + url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf}, + urldate = {2014-12-01}, +} +@online{struckmann2007, + author = {Struckmann, Werner}, + title = {Einige typographische Grundregeln und ihre Umsetzung in \LaTeX}, + date = {2007-09-03}, + url = {http://www2.informatik.hu-berlin.de/sv/lehre/typographie.pdf}, + urldate = {2014-12-01} +} +@online{bier2009, + author = {Bier, Christoph}, + title = {typokurz~-- Einige wichtige typografische Regeln}, + date = {2009-05-21}, + url = {http://zvisionwelt.wordpress.com/downloads/#typokurz}, + urldate = {2014-12-01} +} +\end{filecontents} + + +\begin{document} +\date{29.03.2017} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} +\title{% + Ein Anwenderleitfaden für das Erstellen einer wissenschaftlichen Abhandlung% +} +\makeatletter +\begingroup% + \def\and{, }% + \let\thanks\@gobble% + \let\footnote\@gobble% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Tutorial für \hologo{LaTeXe}},% + pdfkeywords = {LaTeX, \TUDScript, Tutorial, Anwenderleitfaden},% + }% +\endgroup% +\makeatother +\StartTutorial[% + Der Versuch, ein allumfassendes Tutorial für eine wissenschaftliche Arbeit + zur Verfügung zu stellen gleicht der beschwerlichen Suche nach einer + eierlegenden Wollmilchsau. Es ist quasi nicht möglich, alle potenziellen + Anforderungen an eine wissenschaftliche Arbeit in einem Dokument abzudecken, + insbesondere weil es für diese fast von jedem Lehrstuhl mehr oder weniger + unterschiedliche Vorgaben zu Formatierung und Layout gibt. Dennoch soll hier + versucht werden, einen Großteil der für gewöhnlich auftretenden Erfordernisse + zu bearbeiten. + + Dieses Tutorial hat \emph{nicht} die Intention, \hologo{LaTeX}"=Einsteigern + sämtliche Grundlagen zu erläutern. Vielmehr wird davon ausgegangen, dass Sie + bereits erste Erfahrungen mit \hologo{LaTeXe} gesammelt haben. Dennoch wird + versucht, alle Schritte möglichst leicht nachvollziehbar zu gestalten. Sollte + Ihnen beim Lesen und Durcharbeiten des Tutorials etwas auf- oder missfallen, + so dürfen Sie mich gerne per E"~Mail kontaktieren. Auch Anregungen und + Wünsche dürfen sie mir gegenüber gerne kommunizieren. + + Für absolute Neueinsteiger gibt es einige freie Tutorials, welche die ersten + Schritte mit \hologo{LaTeXe} stark erleichtern. Nicola~L.~C.~Talbot stellt + sehr gute Tutorials für + \hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen} + \cite{talbot2012} sowie + \hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen} + \cite{talbot2013} zur freien Verfügung. + + In erster Linie ist dieser Leitfaden für Anwender gedacht, die für ihre + wissenschaftliche Arbeit eine \TUDScript"=Dokumentklasse verwenden wollen. + Das vorgestellte Vorgehen kann jedoch~-- natürlich mit gewissen Abstrichen~-- + auch mit anderen Klassen, insbesondere denen aus dem \KOMAScript"=Bundle, + umgesetzt werden. Viele der hier im Folgenden verwendeten Optionen und + Befehle aus dem \TUDScript-Bundle werden lediglich sporadisch in ihrer + Grundfunktion erläutert. Allerdings lassen sich detaillierte Erläuterung über + die türkisfarbigen Hyperlinks zum \tudhyperref{}{\TUDScript-Handbuch} + jederzeit sehr einfach öffnen. Des Weiteren wird auf eine Vielzahl von + Paketen verwiesen, deren Dokumentation über die magentafarbigen Links im + \CTAN* geöffnet werden kann. Alternativ kann dies auch über das Terminal + respektive die Kommandozeile mit dem Aufruf \Path{texdoc~\PName{Paket}} + direkt lokal erfolgen. Ein Großteil dieser Pakete wird zusätzlich kurz im + \TUDScript-Handbuch beschrieben. + + Der Anwenderleitfaden muss nicht zwingend vollständig nachvollzogen werden. + Dieser ist in einzelne Abschnitte untergliedert, damit Sie sich bestimmte + Aspekte erarbeiten können. Sollten Querbezüge zu den einzelnen Abschnitten + bestehen, werden diese auch genannt. Zu guter Letzt findet sich am Ende + dieses Dokumentes das komplette Tutorial als ausführbarer Quelltext. +] +\tableofcontents +\listoffigures +\listoftables + + + +\section{Einleitung} +\label{sec:introduction}% +% +Zu Beginn werden einige Pakete geladen, die quasi in jedem neu erstellten +Dokument verwendet werden sollten. Alle weiteren in diesem Tutorial genutzten +und/oder empfohlenen Pakete werden in den relevanten Abschnitten des Tutorials +genauer erläutert. + +Beim Laden der Klasse mit \Macro*{documentclass} können Sie globale Optionen +angeben. Diese werden sowohl an die Klasse selbst weitergereicht als auch allen +in der Präambel geladenen Pakete zur Verfügung gestellt. Falls das Paket +\Package{babel} für die Sprachauswahl im Dokument verwendet wird, sollten auf +alle Fälle die verwendeten Sprachen als Klassenoption angegeben werden, wobei +die zuletzt angegebene als aktuelle Sprache aktiviert wird. Dadurch werden +diese nicht nur an das Paket \Package{babel} sondern auch an andere Pakete +übergeben, welche sprachspezifische Einstellungen vornehmen. +% +\begin{Preamble} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage{babel} +\end{Preamble} +% +Mit dem Paket \Package{fontenc} lässt sich die Kodierung der für die Ausgabe +der verwendeten Schriften im Dokument spezifizieren, wobei die europäische +Zeichenkodierung mit der Option~\Option{T1}(\Package{fontenc}) aktiviert wird. +Kommt mit \Engine{LuaLaTeX} oder \Engine{XeLaTeX} ein Unicode"=Textsatzsystem +zum Einsatz, sollte besser das Paket \Package{fontspec} geladen werden. + +Weiterhin kann die Eingabekodierung der kompilierten Datei eingestellt werden. +Diese ist standardmäßig \PValue{utf8}. Bei der Verwendung von \Engine{pdfLaTeX} +sind auch andere Kodierungen möglich.% +\footnote{% + Sollte die Datei in einer anderen Kodierung gespeichert sein, so kann das + Paket \Package{selinput} genutzt werden, um die Kodierung automatisch zu + erkennen. Alternativ lässt sich die Eingabekodierung auch mit dem Paket + \Package{inputenc} auch manuell festgelegen. In beiden Fällen sollte das + Paket \Package{fontenc} \emph{vorher} geladen worden sein. +} + +Wurde ein Sprachpaket für die deutsche Sprache geladen (\Package{babel} oder +\Package{polyglossia}), so werden für \Engine{LuaLaTeX} und \Engine{XeLaTeX} +erweiterte Trennmuster verwendet. Für \Engine{pdfLaTeX} lässt sich eine +wesentlich verbesserte Worttrennung für die deutsche Sprache mit dem Paket +\Package{hyphsubst} aktivieren. In \autoref{sec:hyphenation} können Sie weitere +Informationen zur Verwendung von \Package{hyphsubst} sowie zum Thema +\emph{Worttrennung} finden. +% +\begin{Preamble} +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\end{Preamble} +% +Für die \KOMAScript-Klassen wird außerdem das Paket \Package{scrhack} +bereitgestellt. Dieses behebt einige Probleme bei der Kompatibilität mit +anderen Paketen bezüglich des Erstellens von Verzeichnissen. Deshalb sollte +dieses bei Bedarf frühzeitig in der Präambel geladen werden. +% +\begin{Preamble} +\usepackage{scrhack} +\end{Preamble} +% +Damit sind die allgemein notwendigen Pakete eingebunden. Es werden zwar weitere +benötigt, diese werden allerdings in den einzelnen Abschnitten dieses Tutorials +aufgeführt. + + + +\section{Makrotypografie} +\subsection{Satzspiegel} +Gleich zu Beginn und bevor das eigentliche Verfassen der Arbeit beginnt, sollte +sich der Verfasser Gedanken über das zu nutzenden Layout und den Satzspiegel +machen, um bei der Finalisierung des Dokumentes keine böse Überraschung bei +Seitenumbrüchen oder der Position von Gleitobjekten zu erleben. + +Zuerst gilt es zu entscheiden, ob das Dokument einseitig oder beidseitig +gesetzt werden soll. Ist Letzteres der Fall, so sollte die \KOMAScript-Option +\Option{twoside}(\Package{typearea}) als Klassenoption angegeben werden. Im +nächsten Schritt ist der zu verwendende Satzspiegel festzulegen. Hierfür kann +die \TUDScript-Option \Option{cdgeometry}'manual' verwendet werden, welche im +\TUDScript-Handbuch beschrieben ist. Normalerweise wird das Dokument im +asymmetrischen Layout des \CDs gesetzt. +% +Dieses Verhalten wird mit \Option*{cdgeometry=false}'manual' deaktiviert und +der Satzspiegel durch das Paket \Package{typearea} nach typografischen +Gesichtspunkten konstruiert. Dabei ist für dessen Aufteilung maßgeblich die +\KOMAScript-Option \Option{DIV}(\Package{typearea}) verantwortlich, mit der +\KOMAScript"=Option \Option{BCOR}(\Package{typearea}) wird die Bindekorrektur +angegeben. Diese wird in \autoref{sec:bcor} erläutert. + +\subsection{Änderung des Zeilenabstandes (Durchschuss)} +Auf eine Änderung des Zeilenabstandes sollte aus typografischer Sicht bei der +Verwendung einer Standardschrift im Normalfall verzichtet werden. Die Gründe +hierfür werden im Handbuch von \TUDScript bei der Vorstellung des Paketes +\Package{setspace} erklärt, welches für dieses Anliegen den Befehl +\Macro{setstretch}[\Parameter{Faktor}](\Package{setspace}) bereitstellt. Wird +die \OpenSans-Hausschrift der \TnUD verwendet, sollte der Faktor im Bereich +\PValue{1.05}--\PValue{1.1} liegen. + +\subsection{Bindekorrektur} +\label{sec:bcor}% +% +Falls die Arbeit nach der Fertigstellung gebunden werden soll, so ist auf den +notwendigen Binderand zu achten, quasi der Teil einer Seite, welcher durch die +Bindung \enquote{verschwindet} und nicht mehr als sichtbarer Teil der Seite +vorhanden ist. Als Faustregel gilt, dass die erforderliche Bindekorrektur in +etwa der halben Höhe des Buchblocks entsprechen sollte. Dessen Höhe wiederum +ist abhängig von der Anzahl der Seiten sowie der Papierdichte. + +Wird qualitativ höherwertiges Papier mit einer Dichte von \SI{100}{g/m^2} +verwendet, so entsprechen 100~Blatt einer Buchblockhöhe von zirka~\SI{12}{mm}. +Dementsprechend wäre in diesem Beispiel eine Bindekorrektur von~\SI{6}{mm} +notwendig, die sich mit der Klassenoption \Option*{BCOR=6mm} einstellen ließe. +Sollte die erwartete Seitenzahl davon abweichen, kann die einzustellende +Bindekorrektur linear skaliert werden. Für differierende Papierdichten sollte +die Buchblockhöhe für die geschätzte Gesamtseitenanzahl in Erfahrung gebracht +werden. + + + +\section{Umschlagseite und Titel} +Die Umschlagseite und der Titel sind sich in ihrer Gestalt sehr ähnlich. +Allerdings gibt es ein paar kleine Unterschiede. Einerseits werden auf dem +Cover weniger Informationen als auf der Titelseite ausgegeben. Andererseits +wird der Titel immer im Satzspiegel des restlichen Dokumentes ausgegeben, +wohingegen die Umschlagseite~-- ohne weitere Optionen~-- im asymmetrischen +Layout des \CDs der \TnUD erscheint. Wie dieses Verhalten geändert werden kann, +ist im Handbuch für \Macro{makecover}'manual' erläutert. Die resultierende +Ausgabe des nachfolgenden Quelltextauszugs ist in \autoref{fig:title} zu sehen +und stellt eine mögliche Ausprägung von Umschlagseite und Titel dar. +% +\begin{figure} +\IncludeStandalone{title}[1,2] +\caption{Umschlagseite und Titel} +\label{fig:title} +\end{figure} + +\begin{Trunk!}{title} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{master} +\graduation[M.Sc.]{Master of Science} +\author{% + Mickey Mouse% + \matriculationnumber{12345678}% + \dateofbirth{2.1.1990}% + \placeofbirth{Dresden}% + \course{Klinische Prognostik}% + \discipline{Individualprognose}% +\and% + Donald Duck% + \matriculationnumber{87654321}% + \dateofbirth{1.2.1990}% + \placeofbirth{Berlin}% + \course{Statistische Prognostik}% + \discipline{Makrosoziologische Prognosen}% +} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\date{10.09.2014} +\makecover +\maketitle + +\end{Trunk!} + + + +\section{Vor- und Nachspann} +In den folgenden Unterabschnitten werden Elemente vorgestellt, welche häufig +als Bestandteil einer wissenschaftlichen (Abschluss"~)Arbeit gefordert werden. +Die Platzierung oder Position der vorgestellten Elemente innerhalb der Arbeit +ist nicht eindeutig durch eine Norm oder dergleichen festgelegt. Vielmehr gibt +es meist eine Richtlinie vom verantwortlichen Prüfungsamt oder eine konkrete +Vorgabe des betreuenden wissenschaftlichen Mitarbeiters oder Hochschullehrers. + +Verwenden Sie für ihre Arbeit eine Buchklasse, so können die entsprechenden +Abschnitte mit \Macro{frontmatter}(\Package{koma-script}) (Vorspann), +\Macro{mainmatter}(\Package{koma-script}) (Hauptteil) und +\Macro{backmatter}(\Package{koma-script}) (Nachspann) gekennzeichnet werden. +Einen Anhang starten Sie mit \Macro{appendix}(\Package{koma-script}), womit +unter anderem die Kapitelnummerierung auf Großbuchstaben umgeschaltet wird. +Weitere Hinweise zu den genannten Befehlen sind im \scrguide nachzulesen. + + +\subsection{Aufgabenstellung} +\label{sec:task}% +% +Das Erstellen der Aufgabenstellung einer Abschlussarbeit im \CD der \TnUD muss +das Paket \Package{tudscrsupervisor}'manual' geladen werden. +% +\begin{Preamble} +\usepackage{tudscrsupervisor} + +\end{Preamble} +% +Dieses Paket stellt die Umgebung \Environment{task}'manual' sowie den Befehl +\Macro{taskform}'manual' bereit. Bei beiden Varianten wird zu Beginn eine +Tabelle mit Autoreninformationen erzeugt. Am Ende werden der oder die Betreuer +der Arbeit sowie Professor und gegebenenfalls der Prüfungsausschussvorsitzende +ausgegeben. Mit der Umgebung \Environment{task}'manual' kann zwischen Kopf und +Fuß ein beliebiger Inhalt gesetzt werden. Der Befehl \Macro{taskform}'manual' +hingegen erzeugt eine standardisierte Ausgabe, wobei der Inhalt des zweiten +obligatorischen Arguments in einer +\Environment{itemize}(\Package{koma-script},\Package{enumitem})-Umgebung +verwendet wird und somit \Macro{item}(\Package{koma-script},\Package{enumitem}) +zu nutzen ist. Das Resultat des folgenden Quelltextes ist in \autoref{fig:task} +zu sehen. +% +\begin{figure} +\IncludeStandalone{task}[1,2] +\caption{Aufgabenstellung in freier und standardisierter Form} +\label{fig:task} +\end{figure} + +\begin{Hint!}{task} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{master} +\author{% + Mickey Mouse% + \matriculationnumber{12345678}% + \course{Klinische Prognostik}% + \discipline{Individualprognose}% +\and% + Donald Duck% + \matriculationnumber{87654321}% + \course{Statistische Prognostik}% + \discipline{Makrosoziologische Prognosen}% +} +\matriculationyear{2010} +\issuedate{1.2.2015} +\duedate{1.8.2015} +\supervisor{Dagobert Duck \and Mac Moneysac} +\chairman{Prof. Dr. Primus von Quack} +\professor{Prof. Dr. Kater Karlo} + +\newcommand{\taskcontent}{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation + ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit + wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden + könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein + ähnlicher Vorgang zukünftig vermeiden lässt. +} + +\begin{task} +\smallskip +\par\noindent +\taskcontent +\end{task} + +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\end{Hint!} +\begin{Trunk+} +\newcommand{\taskcontent}{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation + ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit + wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie dieser Effekt abgeschwächt werden + könnte. Zusätzlich sind Methoden zu entwickeln, mit denen sich ein + ähnlicher Vorgang zukünftig vermeiden lässt. +} +\taskform[pagestyle=empty]{\taskcontent}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} + +\end{Trunk+} + + +\subsection{Zusammenfassung} +Häufig wird zu Beginn einer wissenschaftliche Arbeit die Motivation und der +Inhalt dieser zusammengefasst, um den Leser die Thematik der Abhandlung +vorzustellen. in den meisten Fällen wird diese dabei in deutscher und +englischer Sprache verfasst. Hierfür stellt \KOMAScript{} bereits die Umgebung +\Environment{abstract}'manual' bereit. Vielfach wird der Wunsch geäußert, +sowohl die deutsche als auch die englische Zusammenfassung auf derselben Seite +zu setzen. Diese Variante kann mithilfe der \TUDScript-Klassen sehr einfach +umgesetzt werden, wie der nachfolgende Quelltextauszug zeigt. Die resultierende +Ausgabe ist in \autoref{fig:abstr} zu sehen. +% +\begin{figure} +\centering +\IncludeStandalone[width=.5\textwidth]{abstract} +\caption{Zusammenfassung in deutscher und englischer Sprache} +\label{fig:abstr} +\end{figure} + +\begin{Trunk!}{abstract} +\TUDoption{abstract}{multiple,section} +\begin{abstract} + Dies ist der deutschsprachige Teil der Zusammenfassung, in dem die + Motivation sowie der Inhalt der nachfolgenden wissenschaftlichen + Abhandlung kurz dargestellt werden. +\nextabstract[english] + This is the english part of the summary, in which the motivation and + the content of the following academic treatise are briefly presented. +\end{abstract} + +\end{Trunk!} + + + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +Für die meisten Abschlussarbeiten an der \TnUD wird vom Verfasser eine +Selbstständigkeitserklärung verlangt. Für diese wird ein Standardtext +bereitgestellt. Dieser kann mit dem Befehl \Macro{confirmation}'manual' +ausgegeben werden. Wurde das Thema in Kooperation mit einem Unternehmen +bearbeitet, so wird zumeist auch ein Sperrvermerk gefordert, welcher mit +\Macro{blocking}'manual' erzeugt werden kann. Mit \Macro{declaration}'manual' +lassen sich beide Erklärungen direkt nacheinander erzeugen. Die verwendete +Überschrift und ein möglicher Eintrag in das Inhaltsverzeichnis können über die +Option \Option{declaration}'manual' reguliert werden. Eine mögliche Ausprägung +der Erklärungen ist in \autoref{fig:decl} abgebildet. +% +\begin{figure} +\centering +\IncludeStandalone[width=.5\textwidth]{declaration} +\caption{Selbstständigkeitserklärung und Sperrvermerk} +\label{fig:decl} +\end{figure} + +\begin{Hint!}{declaration} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\author{Mickey Mouse\and Donald Duck} +\declaration[company=FIRMA] +\end{Hint!} +\begin{Trunk+} +\declaration[company=FIRMA] + +\end{Trunk+} + +\subsection{Inhalts-, Abbildungs-, und Tabellenverzeichnis} +Das Inhaltsverzeichnis wird mit \Macro{tableofcontents}(\Package{koma-script}) +erzeugt und führt die Gliederung des erstellten Dokumentes entsprechend der +verwendeten Befehle% +\footnote{% + \Macro{part}(\Package{koma-script}), + \Macro{addpart}(\Package{koma-script}), + \Macro{chapter}(\Package{koma-script}), + \Macro{addchap}(\Package{koma-script}), + \Macro{section}(\Package{koma-script}), + \Macro{addsec}(\Package{koma-script}) etc.% +} +auf. Wurde das Paket \Package{hyperref} geladen, so werden im +Inhaltsverzeichnis PDF"~Hyperlinks auf die einzelnen Abschnitte erzeugt. + +Sowohl Abbildungen als auch Tabellen werden in \hologo{LaTeX} normalerweise +mit speziellen Umgebungen~-- \Environment{figure} und \Environment{table}~-- +eingebunden. Innerhalb dieser sogenannten Gleitumgebungen kann der Befehl +\Macro{caption}[% + \OParameter{Verzeichniseintrag}\Parameter{Bezeichnung}% +](\Package{koma-script},\Package{caption}) genutzt werden, um diesen eine +Bezeichnung hinzuzufügen. Mit \Macro{listoffigures}(\Package{koma-script}) +beziehungsweise \Macro{listoftables}(\Package{koma-script}) lassen sich +Verzeichnisse erstellen, in denen alle Gleitobjekte des jeweiligen Typs +ausgegeben werden, falls diese denn eine Bezeichnung hinzugefügt wurde. + +Sollen Abbildungen oder Tabellen außerhalb ihrer angestammten Gleitumgebung +\Environment{figure} beziehungsweise \Environment{table} genutzt und benannt +werden, kann dies entweder mit dem Befehl +\Macro{captionof}[% + \Parameter{Typ}\OParameter{Verzeichniseintrag}\Parameter{Bezeichnung}% +](\Package{koma-script}) oder~-- falls die beiden Pakete \Package{caption} und +\Package{hyperref} genutzt werden~-- auch wie gewohnt mit +\Macro{caption}(\Package{koma-script},\Package{caption}) allerdings zusätzlich +ergänzt mit einem zuvor aufgerufenem +\Macro{captionsetup}[\PParameter{type=figure/table}](\Package{caption}) +erfolgen. Weitere Informationen diesbezüglich sind dem \scrguide respektive der +Anleitung zu \Package{caption} zu entnehmen. In \autoref{sec:floats} wird +genauer auf Gleitumgebungen eingegangen. +% +\begin{Trunk} +\tableofcontents +\listoffigures +\listoftables + +\end{Trunk} +\begin{Trunk+} +\printacronyms[style=acrotabu] +\printsymbols[style=symblongtabu] + +\setchapterpreamble{% + \renewcommand*{\dictumwidth}{.4\textwidth}% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} +Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am +Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle +Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung +der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial +\texturn{treatise.pdf} vorgestellt wurden. + +\end{Trunk+} + + +\subsection{Abkürzungs- und Symbolverzeichnis} +\label{sec:glossaries}% +% +Für die Auszeichnung von Abkürzungen gibt es zwei sehr gute Pakete, die dieses +Unterfangen stark vereinfachen. Die einfachere~-- jedoch nicht so mächtige~-- +der beiden Varianten ist die Nutzung des Paketes \Package{acro}. Sollen nur +Abkürzungen und gegebenenfalls eine sortierte Liste dieser gesetzt werden, ist +dieses allerdings absolut ausreichend. Für ein Symbolverzeichnis lässt sich in +dieser Variante das Paket \Package{nomencl} nutzen. Dieses bietet meiner +Meinung nach jedoch keine großen Vorteile, stattdessen kann auch einfach eine +Tabelle händisch erzeugt werden. Das Paket \Package{acro} ist sehr gut und +ausführlich dokumentiert. Deshalb wird hier auf eine exemplarische Erläuterung +verzichtet und stattdessen auf dessen Dokumentationen verwiesen. Alternativ +kann auch das Paket \Package{acronym} verwendet werden, wobei die alphabetische +Sortierung der Abkürzungen durch den Anwender erfolgen muss, weshalb ich von +diesem eher abrate. + +Die andere Möglichkeit ist die Nutzung des Paketes \Package{glossaries}, das +eine große Zahl an Einstellmöglichkeiten und Optionen besitzt, allerdings auch +etwas Zeit für die Einarbeitung und Studium der Dokumentation benötigt. Der +ursprüngliche Einsatzzweck dieses Paketes ist das Setzen eines fachsprachlichen +oder technischen Glossars. Es bietet zusätzlich die Mittel zum Erzeugen eines +Abkürzungs- sowie Symbolverzeichnis. Es soll folgend hier kurz erläutert +werden, wie das Paket zu verwenden ist. Für weiterführende Beispiele sollte +die Dokumentationen zu Rate gezogen werden, welche dahingehend keine Wünsche +offen lässt. + +Das Paket \Package{glossaries} sollte immer \emph{nach} \Package{hyperref} +geladen werden. Entweder Sie achten explizit darauf oder Sie verwenden den +Befehl \Macro{AfterPackage*}(\Package{scrbase}) aus dem \KOMAScript-Bundle. Mit +diesem können Sie die Quelltext nach dem Laden eines Paketes ausführen. +\Attention{% + Es ist allerdings darauf zu achten, dass der Quelltext nur ausgeführt wird, + wenn das avisierte Zielpaket auch tatsächlich geladen wird. +} +Falls Sie demnach auf \Package{hyperref} jedoch nicht auf \Package{glossaries} +verzichten möchten, sollte der nachfolgende Quelltext am Ende der Präambel +eingefügt werden. + +Die für \Package{glossaries} verwendeten Optionen werden kurz erläutert. +% +\begin{Preamble+} +\AfterPackage*{hyperref}{% +\end{Preamble+} +\begin{Preamble} +\usepackage[% +\end{Preamble} +% +Die zwei Paketoptionen \Option{acronym}(\Package{glossaries}) sowie +\Option{symbols}(\Package{glossaries}) erzeugen die beiden Verzeichnisse für +Abkürzungen und Symbole. Die Option \Option{nomain}(\Package{glossaries}) wird +immer dann verwendet, wenn im Dokument kein zusätzliches allgemeines oder +technisches Glossar erzeugt werden soll. +% +\begin{Preamble} + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar +\end{Preamble} +% +Durch \Option{nogroupskip}(\Package{glossaries}) wird der automatische Abstand +zwischen den Einträgen zur Gruppierung innerhalb eines Glossars entfernt, die +Option \Option{toc}(\Package{glossaries}) fügt alle erzeugten Verzeichnisse +dem Inhaltsverzeichnis hinzu, \Option{section}(\Package{glossaries}) bestimmt +die Gliederungsebene der Überschrift. +% +\begin{Preamble} + nogroupskip,% + toc,% + section=chapter,% +\end{Preamble} +% +Mit der Option \Option{nostyles}(\Package{glossaries}) kann man gegebenenfalls +das Laden der von \Package{glossaries} vordefinierten Stilen verhindern. Dies +ist insbesondere sinnvoll, wenn für die einzelnen Glossare und Verzeichnisse +ohnehin eigene Stile erstellt werden, wie dies nachfolgend geschieht. +% +\begin{Preamble} + nostyles,% +\end{Preamble} +% +Mit der Option \Option{translate}(\Package{glossaries}) werden die Überschriften +aller Glossare in der Dokumentsprache gesetzt, wobei \Option*{translate=babel} +die Nutzung des Paketes \Package{babel} erzwingt. +% +\begin{Preamble} + translate=babel,% +\end{Preamble} +% +Das Paket \Package{glossaries} erstellt bei der Kompilierung des Dokumentes +Hilfsdateien, anhand derer die Indexe erzeugt und sortiert werden können. Da +\Engine{pdfLaTeX} diese Funktionalität nicht bereitstellt, ist hierfür der +Aufruf einer passenden Anwendung notwendig. Die meisten Distributionen stellen +dafür \Application{makeindex} bereit. Dieses Programm kann prinzipiell zwar +Einträge alphabetisch sortieren, bietet allerdings weder die Nutzung von +Unicode-Symbolen noch eine Sprachunterstützung. Aufgrund der genannten +Nachteile ist \Application{xindy} zum Sortieren der Einträge zu empfehlen, da +dieses Programm sowohl eine Unterstützung von Unicode als auch die Möglichkeit, +nach sprachabhängigen Regeln zu sortieren, bietet. Allein für die deutsche +Sprache gibt es beispielsweise zwei Varianten der Sortierung~-- nach DIN und +nach Duden. + +Ohne weiteres Zutun des Anwenders wird vom Paket \Package{glossaries} in der +Grundeinstellung \Application{makeindex} genutzt. Soll stattdessen für die +Sortierung der Glossar- und Verzeichniseinträge \Application{xindy} zum Einsatz +kommen, muss die Option \Option{xindy}(\Package{glossaries}) aktiviert werden. +Dieser kann zusätzlich sowohl die zu nutzende Spracheinstellung zur Sortierung +als auch die gewünschte Eingabekodierung an \Application{xindy} übergeben +werden. Beispielsweise wird mit \Option*{xindy=\PParameter{language=german-din}} +die deutsche Sortierung nach~DIN aktiviert. +% +% +\begin{Hint} +% mit Tex Live einfach verwendbar + xindy=§\{§language=german-din§\}§, +\end{Hint} +\begin{Preamble+} +% mit Tex Live einfach verwendbar + xindy={language=german-din}, +\end{Preamble+} +% +Das Erstellen aller Glossare~-- unabhängig davon, ob \Application{xindy} oder +\Application{makeindex} für die Sortierung zum Einsatz kommt~-- sollte das +Perl"~Skript \File{makeglossaries}(\Package{glossaries}) verwendet werden, +welches alle notwendigen Optionen an die jeweilige Anwendung weiterleitet. + +\Attention{% + Für den Aufruf von \Application{xindy} selbst als auch für die Ausführung des + Skriptes \File{makeglossaries}(\Package{glossaries}) ist ein Perl"=Interpreter + notwendig. Dieser wird lediglich von \Distribution{\hologo{TeX}~Live} nicht + jedoch von \Distribution{\hologo{MiKTeX}} direkt bereitgestellt. Wird die + letztgenannte Distribution verwendet, muss der Anwender gegebenenfalls diesen + zusätzlich installieren. +} + +Kann das Skript \File{makeglossaries}(\Package{glossaries}) nicht genutzt +werden, kann alternativ dazu die Option \Option{automake}(\Package{glossaries}) +aktiviert werden. Diese sorgt dafür, dass am Ende des \Engine{pdfLaTeX}"~Laufs +der Aufruf von \Application{xindy} oder \Application{makeindex} direkt erfolgt. +Soll \Application{xindy} verwendet werden, sind dafür allerdings erweiterte +Schreibrechte notwendig, weshalb für diese Variante \Engine{pdfLaTeX} mit der +Option \Option{-{}-shell-escape}(\Engine{pdfLaTeX}) respektive +\Option{-{}-enable-write18}(\Engine{pdfLaTeX}) aufgerufen werden muss. Für +\Application{xindy} ist außerdem die Angabe der Sprache über die Option +\Option*{xindy=\PParameter{language=\dots}} zwingend notwendig. + +Ist weder die Nutzung des Skriptes \File{makeglossaries}(\Package{glossaries}) +noch der~-- im Zweifel sicherheitskritische~-- Aufruf von \Engine{pdfLaTeX} mit +erweiterten Schreibrechten möglich, so muss die gewünschte Anwendung für die +Sortierung explizit durch den Anwender aufgerufen werden, wobei auf die Angabe +der richtigen Parameter zu achten ist. Genaueres hierzu sowie Lösungen für +Probleme beim Erstellen der Glossare und Verzeichnisse sind in der Dokumentation +von \Package{glossaries} zu finden. +% +\begin{Hint} + automake,% +\end{Hint} +% +Damit sind alle verwendeten Optionen erläutert. Schließlich sorgt der Befehl +\Macro{makeglossaries}(\Package{glossaries}) für das Erstellen der +optionsabhängigen Stildateien für \Application{makeindex} respektive +\Application{xindy} sowie das Erzeugen der benötigten Hilfsdateien. +% +\begin{Preamble} +]{glossaries} +\makeglossaries +\end{Preamble} +\begin{Preamble+} +}% Ende von AfterPackage + +\AfterPackage*{glossaries}{% +\end{Preamble+} +% +Damit wäre der erste Teil zur Initialisierung überstanden und wir können zum +eigentlichen Problem kommen. Wie wird nun ein Abkürzungs- und/oder +Symbolverzeichnis erstellt? + +\subsubsection{Abkürzungsverzeichnis} +Das Paket \Package{glossaries} stellt für die Definition von Abkürzungen einen +speziellen Befehl bereit. Mit \Macro{newacronym}[% + \LParameter\Parameter{Label}\Parameter{Abkürzung}\Parameter{Wortgruppe}% +](\Package{glossaries}) wird eine Abkürzung definiert und kann später über +\Parameter{Label} genutzt werden. Die möglichen optionalen Parameter können in +der Dokumentation zu \Package{glossaries} nachgeschlagen werden. Für ein +kleines Beispiel werden drei Abkürzungen erstellt\dots +% +\begin{Trunk+} +\section{Die Verwendung von Akronymen und Symbolen} +\end{Trunk+} +\begin{Trunk*} +\newacronym{apsp}{APSP}{All-Pairs Shortest Path} +\newacronym{spsp}{SPSP}{Single-Pair Shortest Path} +\newacronym{sssp}{SSSP}{Single-Source Shortest Path} + +\end{Trunk*} +% +\dots und diese in einer kurzen Textpassage mit dem \Package{glossaries}"=Befehl +\Macro{gls}[\Parameter{Label}](\Package{glossaries}) verwendet. +% +\begin{Trunk*} +In der Graphentheorie wird häufig die Lösung des Problems des kürzesten +Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häufig auch +mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp} +und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp} +oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz. + +\end{Trunk*} +% +Gut zu sehen ist, dass sich die Ausgabe der Abkürzung bei der ersten Verwendung +mit \Macro{gls}(\Package{glossaries}) von der zweiten~-- und jeder weiteren~-- +unterscheidet. Das Verhalten lässt sich über verschiedene Stile mit +\Macro{setacronymstyle}(\Package{glossaries}) anpassen. Die Ausgabe einer Liste +aller Abkürzungen erfolgt mit: +% +\begin{Hint} +\printacronyms +\end{Hint} +\newglossarystyle{simple}{% + \renewenvironment{theglossary}{}{\par}% + \renewcommand*{\glossentry}[2]{% + \noindent% + \textsbn{\glsentryitem{##1}\glstarget{##1}\glossentryname{##1}}\quad + \glossentrydesc{##1}\glspostdescription\space ##2% + \par% + }% +} +\begin{quoting}[rightmargin=0pt] +\glsdisablehyper +\printacronyms[style=simple] +\end{quoting} +% +Dabei werden die Akronyme in einer \Environment*{description}"=Umgebung gesetzt, +was absolut ausreichend ist. Mir persönlich ist allerdings die Darstellung in +einer quasi"~tabellarischen Form lieber. Dabei soll der Stil mit fettgedruckten +Abkürzungen beibehalten werden. Das \Package{glossaries}"=Paket stellt zwar +auch eine Vielzahl an Stilen in Tabellenform bereit, allerdings nicht in dem +gewünschten. Deshalb wird nachfolgend gezeigt, wie sich ein eigener Stil in +Tabellenform kreieren lässt. + +Es bieten sich die Umgebungen \Environment{tabularx}(\Package{tabularx}) oder +\Environment{tabu}(\Package{tabu}) an, bei denen die Spaltenbreite teilweise +automatisch berechnet wird, um sich manuelle Formatierungsarbeiten zu sparen. +Folgend werden beide Varianten vorgestellt. Falls Sie noch keine Erfahrungen +mit dem Tabellensatz in \hologo{LaTeXe} haben, lohnt sich vorher ein Blick in +\autoref{sec:tables}, um die verwendeten Befehle und Umgebungen zu verstehen. +Wie Sie Stile definieren, die Seitenumbrüche in einer Tabelle zulassen, können +Sie in diesem \autorefname[sec:glossaries] bei der Symbolverzeichniserstellung +erfahren. + +\minisec{Eigener Stil mit \Environment*{tabularx}} +Ein eigener Glossarstil kann mit \Macro{newglossarystyle}(\Package{glossaries}) +definiert werden, wobei für den neu definierten Stil die Umgebung +\Environment{theglossary}(\Package{glossaries}) umdefiniert wird. Als erstes +kommt die Tabellenumgebung \Environment{tabularx}(\Package{tabularx}) aus dem +gleichnamigen Paket, welches in \autoref{sec:tabularx} vorgestellt wird, zum +Einsatz. + +Es werden in der Tabelle drei Spalten definiert. Die erste und letzte Spalte +sind schlicht linksbündige Standardspalten~(\PValue{l}). In diesen werden die +Abkürzungen selbst sowie die Seitenzahlen eingetragen. Die Verwendung +von~\PValue{@\PParameter{}} führt dazu, dass der normalerweise vor der ersten +und nach der letzten Spalte eingefügte Abstand von \Length{tabcolsep} entfällt. +Die Breite der Spalte vom Typ~\PValue{X} wird automatisch berechnet. + +Aufgrund der Implementierung von \Environment{tabularx}(\Package{tabularx}) +lässt sich diese nicht als verschachtelte Umgebung verwenden. Allerdings kann +stattdessen die mit \Macro*{tabularx} sowie \Macro*{endtabularx} die +Low"~Level"~Variante genutzt werden. Die Definition des neuen Stils +\PValue{acrotabularx} wird nachfolgend ausgegeben, die weitergehende +Erläuterung schließt sich daran an. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Hint*} +\newglossarystyle{acrotabularx}{% + \renewenvironment{theglossary}{% + \tabularx{\linewidth}{@{}lXl@{}}% + }{% + \endtabularx\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\end{Hint*} +% +Der Rest des Stils ist schnell erläutert. Zunächst wird auf Tabellenköpfe +(\Macro{glossaryheader}(\Package{glossaries})) sowie Überschriften und Abstände +bei Gruppierungen (\Macro{glsgroupheading}(\Package{glossaries}) sowie +\Macro{glsgroupskip}(\Package{glossaries})) verzichtet. Der Befehl +\Macro{glossentry}(\Package{glossaries}) ist verantwortlich für die +Formatierung der Einträge im Abkürzungsverzeichnis. Dieser wird intern durch +\Package{glossaries} mit zwei obligatorischen Argumenten aufgerufen. Das erste +enthält das entsprechende Label, das zweite ein kommaseparierte Liste der +Seitenzahlen. Dabei stehen verschiedene Makros zur Auswahl, um anhand des +gegebenen Labels die gewünschten Informationen zu extrahieren.% +\footnote{% + bspw. mit \Macro{glossentryname}(\Package{glossaries}) die Bezeichnung oder + mit \Macro{glsentrydesc}(\Package{glossaries}) die dazugehörige Beschreibung% +} + +Der Befehl \Macro{glossentry}(\Package{glossaries}) wurde so definiert, dass +für jeden Eintrag eine separate Zeile in der Tabelle erzeugt wird, wo in der +ersten Spalte die Abkürzung selbst, in der zweiten die Langform und in der +dritten Spalte schließlich die Liste der Seiten, auf welchen die jeweilige +Abkürzung mit \Macro{gls}[\Parameter{Label}](\Package{glossaries}) verwendet +wurde, ausgegeben wird. Zum Abschluss die resultierende Ausgabe des +Abkürzungsverzeichnisses im neuen Stil. +% +\begin{Hint} +\printacronyms[style=acrotabularx] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\InputCode +\end{quoting} +% +Sollte der Platz für die Erläuterungen wie in diesem Beispiel in der mittleren +Spalte mehr als ausreichend sein und kein Zeilenumbruch benötigt werden, kann +auch einfach eine \Environment{tabular}"=Umgebung mit einer \PValue{l}"~Spalte +anstelle von \PValue{X} verwendet werden. + +\minisec{Eigener Stil mit \Environment*{tabu}} +Die sehr komfortabel zu nutzende Umgebung \Environment{tabu}(\Package{tabu}) +wird durch das Paket \Package{tabu} bereitgestellt. Es wird später in +\autoref{sec:tabu} vorgestellt, wobei die dortigen Anmerkungen \emph{unbedingt} +zu beachten sind. Für die bereits verwendeten +\Environment{tabularx}(\Package{tabularx})"=Tabellen muss generell eine feste +Tabellenbreite angegeben werden. Die Breite der \PValue{X}"~Spalten wird anhand +der angegebenen Gesamtbreite und dem für andere Spalten vom +Typ~\PValue{l},~\PValue{r}~und~\PValue{c} benötigten Platz berechnet. + +Wie \Environment{tabularx}(\Package{tabularx}) bietet auch die Umgebung +\Environment{tabu}(\Package{tabu}) einen \PValue{X}"~Spaltentyp. Für diese kann +jedoch anstelle einer fest vorgegebenen Breite auch \PValue{spread~0pt} +angegeben werden. Dadurch werden \PValue{X}"~Spalten anfänglich in ihrer +natürlichen Breite gesetzt. Sobald jedoch die Gesamtbreite der Tabelle den zur +Verfügung stehenden Platz bis zum Zeilenende überschreiten würde, werden die +\PValue{X}"~Spalten automatisch umbrochen. + +In umbrochenen Spalten gibt es beim Paket \Package{tabu} jedoch ein kleineres +Problem. In diesen setzt \Package{tabu} zu wenig vertikalen Leerraum am unteren +Ende. Um dieses Manko zu beheben, wird am Schluss jeder \PValue{X}"~Spalte mit +\PValue{X<\PParameter{\Macro{strut}}} einfach der Befehl \Macro{strut} +angehängt, der vertikalen Leerraum ober- und unterhalb der aktuellen Grundlinie +einfügt. In \autoref{sec:tables} wird ein Ansatz aufgezeigt, wie dies +automatisiert über einen neuen Spaltenstil ausgemerzt werden kann. Der Rest des +Stils ist identisch zu \PValue{acrotabularx}. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}{@{}lX<{\strut}l@{}}% 'spread 0pt' defekt in v2.9 + }{% + \end{tabu}\par\bigskip% + }% + \renewcommand*{\glossaryheader}{}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} & + \glsentrydesc{##1} & + ##2\tabularnewline + } +} + +\end{Preamble*} +\begin{Hint} +\printacronyms[style=acrotabu] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\glsdisablehyper +\InputCode +\end{quoting} +% +Welche Variante gewählt wird, ist letztendlich eine Frage, was für spezifische +Anforderungen an die Formatierung des Abkürzungsverzeichnis gestellt werden. +Natürlich ist auch die Definition eines eigenen Stils möglich. Wenn Sie wissen +wollen, wie Sie einen Stil in Tabellenform erstellen können, welcher einen +Seitenumbruch zulässt, sollte Sie den nächsten Abschnitt lesen. + + +\subsubsection{Symbolverzeichnis} +Für das Erzeugen eines Symbolverzeichnisses kann ebenfalls \Package{glossaries} +verwendet werden. Allerdings muss dazu ein wenig mehr Aufwand getrieben werden, +da das Paket hierfür keine dedizierte Schnittstelle bereitstellt. Wurde die +Paketoption \Option{symbols}(\Package{glossaries}) angegeben wird jedoch +zumindest das notwendige Glossar erstellt. + +Als erstes sollte ein gut nutzbarer Befehl zum Definieren eines neuen Symbols +erstellt werden. In Anlehnung an den Befehl für Abkürzungen \Macro*{newacronym} +wird er \Macro{newformulasymbol}|?| genannt. Dieser hat ein optionales und vier +obligatorische Argumente, wobei das optionale Argument prinzipiell alle +Schlüssel"~Wert"~Paare enthalten kann, die durch das Paket \Package{glossaries} +akzeptiert werden. Welche davon letztlich auch Auswirkungen haben, hängt +allerdings von der Gestaltung des Stils durch den Anwender ab. Der Befehl hat +folgende Definition: +% +\begin{quoting}[leftmargin=\parindent] +\Macro{newformulasymbol}[% + \LParameter\Parameter{Label}\Parameter{Name}% + \Parameter{Symbol}\Parameter{Einheit}% +]|?|% +\end{quoting} +% +Mit \PName{Label} erfolgt die eindeutige Kennzeichnung des Symbols. Außerdem +wird dies standardmäßig für die Sortierung verwendet, was unter Umständen etwas +problematisch sein könnte. In diesem Fall ist eine manuelle Festlegung für den +dazugehörigen Schlüssel durch den Anwender über das optionale Argument mit +\PValue{sort=}\PName{Sortierung} eventuell sinnvoll. Nach dem \PName{Label} +schließt der \PName{Name} für das Formelzeichen an, gefolgt vom \PName{Symbol} +sowie der dazugehörige physikalische \PName{Einheit}. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Preamble*} +\newcommand*{\newformulasymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + name={#3},% + description={\nopostdesc},% + symbol={\ensuremath{#4}},% + user1={\ensuremath{\mathrm{#5}}},% + sort={#2},% + #1% + }% +} + +\end{Preamble*} +% +Da es sich zumeist um mathematische Symbole handelt, wird für das Symbol und +die Einheit mit \Macro{ensuremath} Sorge getragen, dass diese auch im +Textmodus ohne Probleme verwendet werden können. Für das aufrechte Setzen der +Einheit wird für diese außerdem \Macro{mathrm} verwendet. Als Alternative dazu +könnte der Befehl \Macro{si}(\Package{siunitx}) aus dem Paket \Package{siunitx} +genutzt werden. Für ein kleines Beispiel werden folgend fünf Formelzeichen +definiert. Damit die Darstellung der mathematischen Brüche auch für den +Fließtext gut genutzt werden kann und ansehnlich ist, wird für diese der Befehl +\Macro{sfrac}(\Package{xfrac}) aus dem Paket \Package{xfrac} genutzt. +% +\begin{Trunk*} +\newformulasymbol{l}{Länge}{l}{m} +\newformulasymbol{m}{Masse}{m}{kg} +\newformulasymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newformulasymbol{t}{Zeit}{t}{s} +\newformulasymbol{f}{Frequenz}{f}{s^{-1}} +\newformulasymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}} + +\end{Trunk*} +% +Die soeben definierten Symbole werden für ein kleines Beispiel mit dem Befehl +\Macro{gls}[\Parameter{Label}](\Package{glossaries}) in einer kurzen +Textpassage verwendet. +% +\begin{Hint*} +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] +\end{Hint*} +% +Das Ergebnis ist nur bedingt befriedigend. Sowohl im Fließtext als auch im +Mathematikmodus werden lediglich die Bezeichnungen jedoch nicht die Symbole +selbst verwendet. Damit die Formelzeichen auch für den mathematischen Satz +sinnvoll nutzbar sind, sollte das Erscheinungsbild der Einträge mit +\Macro{defglsentryfmt}(\Package{glossaries}) angepasst werden. +% +\begin{Preamble*} +\defglsentryfmt[symbols]{% + \ifmmode% + \glssymbol{\glslabel}% + \else% + \glsgenentryfmt~\glsentrysymbol{\glslabel}% + \fi% +} +\end{Preamble*} +% +Bei der Verwendung von \Macro{gls}[\Parameter{Label}](\Package{glossaries}) +führt diese Definition dazu, dass im Mathematikmodus allein das Symbol +verwendet wird. Im Fließtext wird diesem zusätzlich die Bezeichnung +vorangestellt. Das nachfolgende Beispiel macht dies deutlich. +% +\begin{Trunk*} +Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den +SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet. +Und dann gibt es noch die Grundgleichung der Mechanik, welche für den +Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer +Punktmasse lautet: +\[\gls{F} = \gls{m} \cdot \gls{a}\] + +\end{Trunk*} +% +Als nächstes kümmern wir uns um die Ausgabe des Symbolverzeichnisses. Momentan +erzeugt der Befehl \Macro{printsymbols}(\Package{glossaries}) jedenfalls kein +sinnvolles Verzeichnis: +% +\begin{Hint} +\printsymbols +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\glsdisablehyper +\printsymbols[style=simple] +\end{quoting} +% +Für dieses muss erst ein Stil definiert werden, was nachfolgend ähnlich zum +Stil \PValue{acrotabularx} respektive \PValue{acrotabu} geschieht. Allerdings +wird hier eine Variante gezeigt, mit der die Tabelle einen Seitenumbruch +zulässt. + +\minisec{Eigener Stil mit \Environment*{tabularx} und \Environment*{longtable}} +Soweit mir bekannt ist, lassen sich umbruchfähige Tabellen nicht direkt mit +\Environment{tabularx}(\Package{tabularx}) setzen. Vielmehr ist für die +Verwendung der Umgebung \Environment{longtable}(\Package{longtable}) das Paket +\Package{ltxtable} notwendig. Dieses wiederum verlangt, dass die zu setzende +Tabelle in einer separaten Datei abgelegt wird. Soll diese dennoch innerhalb +des Hauptdokumentes erstellt werden, kann für dieses Unterfangen die Umgebung +\Environment{filecontents}(\Package{filecontents}) aus dem gleichnamigen Paket +genutzt werden, womit \emph{bereits existierende Dateien} überschrieben werden. + +Leider habe ich keine Möglichkeit gefunden, diesen Prozess ohne wahnsinnig +großen Aufwand für das Erstellen eines Glossars zu portieren. Für umbruchfähige +Tabellen mit automatisch berechneten Spaltenbreiten kommt meines Wissens nach +momentan nur die Umgebung \Environment{longtabu}(\Package{tabu}) aus dem Paket +\Package{tabu} infrage. + +\minisec{Eigener Stil mit \Environment*{longtabu}} +Das Paket \Package{tabu} definiert für umbruchfähige Tabellen die Umgebung +\Environment{longtabu}(\Package{tabu}), welche wiederum auf der Umgebung +\Environment{longtable}(\Package{longtable}) basiert und nachfolgend verwendet +wird. Damit diese linksbündig gesetzt wird, muss vor dem obligatorischen +Argument mit den Spaltendefinitionen noch das optionale Argument \OParameter{l} +angegeben werden. Die im nachfolgend definierten Stil verwendeten Befehle +\Macro{toprule}(\Package{booktabs}), \Macro{midrule}(\Package{booktabs}) sowie +\Macro{cmidrule}(\Package{booktabs}) und \Macro{bottomrule}(\Package{booktabs}) +für unterschiedliche horizontale Linien stammen allesamt aus dem Paket +\Package{booktabs}, welches für den Satz von hochwertigen Tabellen eine große +Hilfe ist. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{symblongtabu}{% + \renewenvironment{theglossary}{% + \begin{longtabu}[l]{ccX<{\strut}l}% 'spread 0pt' defekt in v2.9 + }{% + \end{longtabu}% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Bezeichnung & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glossentry}[2]{% + \glsentryitem{##1}% Entry number if required + \glstarget{##1}{\glossentrysymbol{##1}} & + \glsentryuseri{##1} & + \glossentryname{##1} & + ##2\tabularnewline% + }% +} +\end{Preamble*} +% +Innerhalb von \Macro{newglossarystyle}(\Package{glossaries}) wird der Befehl +\Macro{glossaryheader}(\Package{glossaries}) für einen Tabellenkopf definiert, +wie er auch für eine \Environment{longtable}(\Package{longtable})"=Umgebung +erscheinen würde. In hier vorgestellten Fall werden der Kopf mit dem Makro +\Macro{endhead}(\Package{longtable}) beziehungsweise der Fuß durch +\Macro{endfoot}(\Package{longtable}) terminiert. Diese werden beim +einem möglichen Seitenumbruch zu Beginn und am Ende auf jeder Seite gesetzt. +% +\begin{Preamble+} +}% Ende von AfterPackage + +\end{Preamble+} +% +Das Symbolverzeichnis kann sich nun durchaus sehen lassen. +% +\begin{Hint} +\printsymbols[style=symblongtabu] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\newglossarystyle{symbtabu}{% + \setglossarystyle{symblongtabu}% + \renewenvironment{theglossary}{% + \begin{tabu}{ccX<{\strut}l}% 'spread 0pt' defekt in v2.9 + }{% + \bottomrule\end{tabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Bezeichnung & \bfseries Seite(n) + \tabularnewline\midrule% + }% +} +\printsymbols[style=symbtabu] +\end{quoting} + +\minisec{Unterteilung nach griechischen und lateinischen Symbolen} +Oftmals wird es für Abschlussarbeiten verlangt, das Symbolverzeichnis nach +griechischen und lateinischen Formelzeichen zu untergliedern. Für die Umsetzung +dieser Anforderung ist die zuvor beschriebene Lösung prinzipiell nutzbar, +allerdings muss diese etwas erweitert werden. + +Realisiert wird das Ganze, indem die zwei Kategorien respektive Elterneinträge +\PValue{greekletters} sowie \PValue{romanletters} definiert und sämtliche +Formelzeichen einem der beiden als Untereintrag zugeordnet werden. +% +\begin{Hint*} +\providecommand*\greeklettersname{Greek letters} +\providecommand*\romanlettersname{Roman letters} +\newglossaryentry{greekletters}{% + type=symbols,% + name={\greeklettersname},% + description={\nopostdesc},% + sort={a}% +} +\newglossaryentry{romanletters}{% + type=symbols,% + name={\romanlettersname},% + description={\nopostdesc},% + sort={b}% +} +\end{Hint*} +% +Die Bezeichnungen der beiden Kategorien könnten auch als Parameter von +\Macro*{newglossaryentry} mit \PValue{name=\PName{Bezeichung}} direkt +eingetragen werden. Um bei der Definition jedoch eine gewisse Flexibilität zu +gewährleisten, wird dies über die zwei Befehle \Macro*{greeklettersname} sowie +\Macro*{romanlettersname} realisiert. Diese werden mit \KOMAScript-Mitteln +als sprachabhängige Bezeichner definiert. +% +\begin{Hint*} +\providecaptionname{% + american,australian,british,canadian,english,newzealand% +}{\greeklettersname}{Greek letters} +\providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% +}{\greeklettersname}{Griechische Symbole} +\providecaptionname{% + american,australian,british,canadian,english,newzealand% +}{\romanlettersname}{Roman letters} +\providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% +}{\romanlettersname}{Lateinische Symbole} +\end{Hint*} +% +Für die Ausgabe wird der Glossarstil \PValue{symbsplitlongtabu} in ähnlicher +Manier wie die Stile zuvor definiert. Dieser wird darauf ausgelegt, dass alle +aufzulistenden Formelzeichen als Untereintrag von einem der beiden zuvor +erstellten Elterneinträge angegeben werden. Allerdings ist bei diesem Stil +aufgrund der Verwendung von \Environment{longtabu}(\Package{tabu}) etwas +Aufwand zu betreiben, um die gewünschte Ausgabe zu erhalten. Das grundlegende +Problem ist das Setzen von Überschriften und dem folgenden Tabellenkopf +innerhalb der Tabelle. Die Erläuterung des Quelltextauszugs erfolgt nach dessen +Ausgabe. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Hint*} +\newglossarystyle{symbsplitlongtabu}{% + \newcommand*\symbollevel{-1}% + \renewenvironment{theglossary}{% + \begin{longtabu}[l]{ccX<{\strut}l}% 'spread 0pt' defekt in v2.9 + }{% + \end{longtabu}% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \newcommand*\symbolhead{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Bezeichnung & \bfseries Seite(n) + \tabularnewline\midrule + }% + \renewcommand*{\glossaryheader}{% + \endfirsthead% + \symbolhead\endhead% + \bottomrule\endfoot% + \gdef\symbollevel{-1}% + }% + \renewcommand*{\glossentry}[2]{% + \ifglshaschildren{##1}{% + \ifnum\symbollevel>0\relax% + \tabularnewline\bottomrule\tabularnewline[\smallskipamount]% + \fi + \gdef\symbollevel{0}% + \tabularnewline[% + \arraystretch\dimexpr-\ht\strutbox-\dp\strutbox\relax% + ]% + \multicolumn{4}{@{}l@{}}{\minisec{\glsentryname{##1}}}% + }{% + \GlossariesWarning{% + There are no childrens for entry ##1.\MessageBreak + Nothing will be printed. Maybe you should\MessageBreak + specify ##1 as a child entry. + }% + }% + }% + \renewcommand*{\subglossentry}[3]{% + \ifnum\symbollevel=0\relax% + \tabularnewline[\medskipamount]\symbolhead% + \else% + \tabularnewline + \fi% + \gdef\symbollevel{##1}% + \glsentryitem{##2}% Entry number if required + \glstarget{##2}{\glossentrysymbol{##2}} & + \glsentryuseri{##2} & + \glossentryname{##2} & + ##3% + }% +} +\end{Hint*} +% +Der neu definierte Befehl \Macro*{symbollevel} wird benötigt, um bei der +Ausgabe zu überprüfen, um es sich beim zuletzt gesetzten Eintrag um einen +Elterneintrag (\Macro*{glossentry}) oder Untereintrag (\Macro*{subglossentry}) +gehandelt hat. Im Makro \Macro*{symbolhead} wird die Definition für den zu +setzenden Tabellenkopf gespeichert. Der Inhalt von \Macro*{glossaryheader} wird +direkt zu Beginn der Umgebung \Environment{theglossary}(\Package{glossaries}) +ausgeführt. Dieser wird so umdefiniert, dass die Tabelle keinen Kopf vor der +ersten Überschrift erhält, jedoch nach einem Seitenumbruch sehr wohl der +Tabellenkopf gesetzt wird. Abgeschlossen wird die Tabelle mit einer Fußlinie. + +Danach erfolgt die Formatierung der Einträge. Der Befehl \Macro*{glossentry} +setzt \enquote{\greeklettersname} und \enquote{\romanlettersname} sowie +gegebenenfalls weitere Elterneinträge als Überschriften. Bevor dies passieren +kann wird eine vorher begonnene Tabelle mit einer Fußlinie beendet. Um die +Überschrift innerhalb von \Environment{longtabu}(\Package{tabu}) linksbündig zu +setzen, wird mit \Macro*{multicolumn} gearbeitet. Dieser Befehl muss in der +ersten Zelle zwingend als aller erstes genutzt werden. Um dies sicherzustellen, +wird zuvor eine neue Tabellenspalte eingefügt. Damit jedoch kein zusätzlicher +Leerraum entsteht, wird diese über das optionale Argument nach oben verschoben. +Die Einträge für Formelzeichen selber erfolgen mit \Macro*{subglossentry}. Im +Gegensatz zum vorher beschriebenen Stil \PValue{symblongtabu} wird zusätzlich +der notwendige Tabellenkopf nach der Überschrift gesetzt, falls es sich um den +\emph{ersten} Untereintrags handelt. + +Jetzt könnte man den Glossarstil \PValue{symbsplitlongtabu} bereits verwenden +und jedem Formelzeichen bei der Definition mit +\begin{quoting}[leftmargin=\parindent] +\Macro{newformulasymbol}[% + \POParameter{parent={greekletters/romanletters}}% + \PParameter{\dots}\PParameter{\dots}\PParameter{\dots}\PParameter{\dots}% +]|?|% +\end{quoting} +eine der beiden Elterneinträge zuweisen. Für wenige Formelzeichen mag dies +ausreichen. Komfortabler wäre es natürlich, wenn die Zuweisung zu einer der +beiden Kategorien automatisch erfolgen würde. Ein Ansatz für dieses Unterfangen +wird folgend vorgestellt. + +\Attention{% + Es kann nicht garantiert werden, dass dieser Ansatz in jedem Fall und für + sämtliche Anwendungsszenarien funktioniert. Tatsächlich ist die Idee auf eine + \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?f=11&t=427}{% + Frage aus dem \Forum*% + } + heraus entstanden. Für auftretende Probleme bei der Verwendung ist dort der + beste Anlaufpunkt. +} + +Die Grundidee ist, das zu definierende Formelzeichen mit einer Liste der Makros +für griechische Buchstaben abzugleichen und so zu entscheiden, in welche der +beiden Kategorien das Symbol einzuordnen ist. Hierfür werden nachfolgend eine +Liste \Macro*{greeksymbollist} aller griechischen Buchstaben sowie der Befehl +\Macro*{ifisgreeksymbol}[\Parameter{Symbol}\Parameter{Dann}\Parameter{Sonst}] +zur Fallunterscheidung definiert. Problematisch bei der Umsetzung ist, dass ein +als Argument übergebenes Formelzeichen auch mit diakritischen Zeichen und +Indizes verwendet werden kann~-- beispielsweise $\dot{\varphi}_{\mathrm{max}}$ +(% + \Macro*{dot}[\PParameter{\Macro*{varphi}}]\PValue{\textunderscore}% + \PParameter{\Macro*{mathrm}[\PParameter{max}]}% +). Deshalb werden bei der Ausführung von \Macro*{ifisgreeksymbol} temporär alle +diakritische Zeichen sowie \Macro*{boldsymbol} für den Mathematikmodus +\enquote{unschädlich} gemacht und das Argument \Parameter{Symbol} expandiert. +Anschließend werden alle Anteile für Hoch- sowie Tiefstellung abgeschnitten und +das Resultat mit der Liste \Macro*{greeksymbollist} abgeglichen. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Hint*} +\makeatletter +\newcommand*\greeksymbollist{} +\def\@tempa#1{\ifdefvoid{#1}{}{\listadd\greeksymbollist{#1}}} +\forcsvlist{\@tempa}{% + \alpha,\beta,\varbeta,\gamma,\delta,\epsilon,\varepsilon,\zeta,% + \eta,\theta,\vartheta,\iota,\kappa,\varkappa,\lambda,\mu,\nu,% + \xi,\omicron,\pi,\varpi,\rho,\varrho,\sigma,\varsigma,\tau,% + \upsilon,\phi,\varphi,\chi,\psi,\omega,% + \Alpha,\Beta,\Gamma,\Delta,\Epsilon,\Zeta,\Eta,\Theta,\Iota,% + \Kappa,\Lambda,\Mu,\Nu,\Xi,\Omicron,\Pi,\Rho,\Sigma,\Tau,\Upsilon,% + \Phi,\Chi,\Psi,\Omega% +} +\newcommand*\ifisgreeksymbol[1]{% + \begingroup% + \def\@tempa##1{\let##1\@firstofone}% + \forcsvlist{\@tempa}{% + \acute,\bar,\breve,\check,\dot,\ddot,\dddot,\ddddot,% + \hat,\widehat,\grave,\tilde,\widetilde,\vec,% + \Acute,\Bar,\Breve,\Check,\Dot,\Ddot,\Hat,\Grave,\Tilde,\Vec% + }% + \def\boldsymbol{}% + \protected@edef\@tempa{#1}% + \def\@tempb##1_##2\relax{\def\@tempa{##1}}% + \expandafter\@tempb\@tempa_\relax\relax% + \def\@tempb##1^##2\relax{\def\@tempa{##1}}% + \expandafter\@tempb\@tempa^\relax\relax% + \expandafter\ifinlist\expandafter{\@tempa}{\greeksymbollist}{% + \aftergroup\@firstoftwo% + }{% + \aftergroup\@secondoftwo% + }% + \endgroup% +} +\makeatother +\end{Hint*} +% +Mit \Macro*{ifisgreeksymbol} kann jetzt auf die Art des Symbols getestet. Dies +wird innerhalb von \Macro{newformulasymbol}|?| genutzt, um den passenden +Elterneintrag auszuwählen. Über das optionale Argument kann jederzeit mit +\POParameter{parent={greekletters/romanletters}} der automatische ermittelte +Elterneintrag überschrieben werden. +% +\begin{Hint} +\newcommand*\symbollettergroup{} +\newcommand*{\newformulasymbol}[5][]{% + \ifisgreeksymbol{#4}{% + \renewcommand*{\symbollettergroup}{greekletters}% + }{% + \renewcommand*{\symbollettergroup}{romanletters}% + }% + \newglossaryentry{#2}{% + type=symbols,% + name={#3},% + description={\nopostdesc},% + symbol={\ensuremath{#4}},% + user1={\ensuremath{\mathrm{#5}}},% + sort={#2},% + parent={\symbollettergroup},% + #1% + }% +} +\end{Hint} + + +\subsection{Literaturverzeichnis} +\label{sec:biblatex}% +% +Für das Erstellen eines Literaturverzeichnisses wurde in der Vergangenheit fast +ausschließlich \hologo{BibTeX} verwendet. Leider wird auch heute immer noch +darauf verwiesen, obwohl es seit einigen Jahren das Paket \Package{biblatex} +gibt, welches insbesondere für neue Dokumente den Vorzug erhalten sollte. Auch +die Umstellung älterer \hologo{BibTeX}"=Datenbanken ist mit wenigen Handgriffen +realisierbar. Für \Package{biblatex} existieren eine Menge unterschiedlicher, +vordefinierter Zitierstile, welche sich im Vergleich zu \hologo{BibTeX} auch +wesentlich leichter an die individuellen Bedürfnisse anpassen lassen. + +Ein weiterer Vorteil ist die Unterstützung von Datenbanken, welche eine +UTF"~8"~Kodierung nutzen, wenn \Application{biber} zur Sortierung der Einträge +verwendet wird. Zitierstil und Backend zur Sortierung lassen sich durch das +optionale Argument beim Laden des Paketes festlegen. Damit die Zitierstile das +optimale Ergebnis erzielen wird das Laden von \Package{csquotes} sehr empfohlen. +% +\begin{Preamble} +\usepackage{csquotes} +\usepackage[backend=biber,style=alphabetic]{biblatex} + +\end{Preamble} +% +Die Erstellung einer Literaturdatenbank kann entweder von Hand oder mithilfe +einer externen Anwendung erfolgen. Für die letztgenannte Variante sind die +Programme \Application{Citavi} respektive \Application{JabRef} empfehlenswert. +Auf eine Einführung in diese Anwendungen wird jedoch verzichtet. + +Die \Environment{filecontents}(\Package{filecontents})"=Umgebung kann verwendet +werden, um innerhalb eines \hologo{LaTeX}"=Dokumentes externe Dateien direkt +beim Kompilieren zu erstellen. Damit wird nachfolgend für dieses Tutorial eine +Literaturdatenbank \File{\jobname-temp.bib} mit drei Einträgen manuell erzeugt. +Die Umgebung gehört standardmäßig zu den Bordmitteln von \hologo{LaTeXe}. Das +Paket \Package{filecontents} erweitert die Umgebung dahingehend, dass +\emph{bereits existierende Dateien} überschrieben werden. Hier ist folglich +Vorsicht geboten. Der große Vorteil ist jedoch, dass die erweiterte +\Environment{filecontents}(\Package{filecontents})"=Umgebung~-- im Gegensatz +zur Standardversion~-- die Dateien in der gleichen Eingabekodierung erzeugt, +wie das verwendete Dokument. Diese Funktionalität wird für dieses Tutorial +benötigt, weshalb auf das Laden des Paketes \Package{filecontents} nicht +verzichtet werden kann. +% +\begin{Preamble} +\usepackage{filecontents} +\end{Preamble} +% +Folgend wird eine Literaturdatenbank mit drei Einträge definiert. Jeder Eintrag +einer \File*{.bib}"~Datei beginnt mit \PValue{@}\PName{Eintragstyp}. Direkt +danach ist für jeden Eintrag ein \emph{eindeutiges} \PParameter{Label} +festzulegen. Anschließend können für unterschiedliche Felder die dazugehörigen +Werte eingetragen werden. Die verwendbaren Eintragstypen sowie die für den +jeweiligen Typ obligatorischen und optionalen Felder sind in der Dokumentation +von \Package{biblatex} zu finden. +% +\begin{Preamble*} +\begin{filecontents}{\jobname-temp.bib} +@book{goossens94, + author = {Goossens, Michel and Mittelbach, Frank + and Samarin, Alexander}, + title = {The LaTeX Companion}, + date = {1994}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@book{knuth84, + author = {Knuth, Donald E.}, + title = {The \TeX book}, + date = {1984}, + maintitle = {Computers \& Typesetting}, + volume = {A}, + publisher = {Addison-Wesley}, + location = {Reading, Massachusetts}, + language = {english}, +} +@manual{hanisch14, + author = {Hanisch, Falk}, + title = {Ein \LaTeX"=Bundle für Dokumente im neuen Corporate + Design der Technischen Universität Dresden}, + date = {2014}, + subtitle = {Benutzerhandbuch}, + location = {Dresden}, + language = {german}, +} +\end{filecontents} +\end{Preamble*} +% +Nachdem die Literaturdatenbank erstellt wurde, muss diese auch noch eingebunden +werden: +% +\begin{Preamble} +\addbibresource{\jobname-temp.bib} + +\end{Preamble} +% +Im einfachsten Fall werden die gewünschten Einträge der Literaturdatenbank im +Dokument mit \Macro{cite}[\Parameter{macro}](\Package{biblatex}) referenziert, +von \Package{biblatex} werden zusätzliche Möglichkeiten angeboten. +% +\begin{refsection}[\jobname-temp.bib] +\begin{Trunk+} +\section{Referenzen und das Literaturverzeichnis} +Das Literaturverzeichnis wird auf Basis der nachfolgend verwendeten +Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden. +\end{Trunk+} +\begin{Trunk*} +In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher +\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch +\cite{hanisch14} zitiert. + +\end{Trunk*} +% +Das Literaturverzeichnis wird mit \Macro{printbibliography}(\Package{biblatex}) +ausgegeben, wobei nicht alle Einträge der Literaturdatenbank sondern lediglich +die tatsächlich referenzierten verwendet werden. Der Parameter +\PValue{heading=bibintoc} führt zu einem Eintrag in das Inhaltsverzeichnis. +% +\begin{Hint} +\printbibliography[heading=bibintoc] +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\makeatletter +\let\markboth\@gobbletwo +\let\markright\@gobble +\makeatother +\printbibliography +\end{quoting} +\end{refsection} + + + +\section{Anfangszitat oder Schlauer Spruch} +\renewcommand*\dictumwidth{.4\textwidth}% +\dictum[Johann Wolfgang von Goethe]{Es irrt der Mensch, solang er strebt.}% +\bigskip\noindent +Oftmals möchte der Autor einer wissenschaftlichen Arbeit für das erste oder +auch jedes Kapitel ein Zitat oder ähnliches voranstellen. Dies kann mit dem +Befehl \Macro{dictum}[\OParameter{Autor}\Parameter{Text}](\Package{koma-script}) +erfolgen. Damit wird der im obligatorischen Argument angegeben Ausspruch in +einer \Macro{parbox} ausgegeben. Das optionale Argument kann für die Angabe des +Autors verwendet werden. Soll das Ganze für einen Teil oder ein Kapitel +erfolgen, sollte der Befehl \Macro{dictum}(\Package{koma-script}) innerhalb von +\Macro{setpartpreamble}(\Package{koma-script}) beziehungsweise +\Macro{setchapterpreamble}(\Package{koma-script}) verwendet werden. Genaueres +hierzu und zu den weiteren Möglichkeiten, die Gestalt eines Zitats zu +beeinflussen, ist in der \scrguide[Anleitung von \KOMAScript] zu finden. Es +folgt ein Beispiel zur Verwendung. +% +\begin{Hint} +\setchapterpreamble{% + \dictum[Johann Wolfgang von Goethe]{% + Es irrt der Mensch, solang er strebt.% + }% + \bigskip +} +\chapter{Einleitung} + +\end{Hint} + + + +\section{Gleitumgebungen für Abbildungen und Tabellen} +\label{sec:floats}% +% +Die Positionierung von Abbildungen mit \hologo{LaTeX} kann zu Beginn für viele +Anfänger durchaus frustrierend sein. Das liegt häufig am Missverständnis der +beiden Standard"=Gleitobjektumgebungen für Tabellen (\Environment{table}) und +Abbildungen (\Environment{figure}). Diese sind in erster Linie zur Ergänzung +des Fließtextes gedacht und sollten für das prinzipielle Verständnis des +Geschriebenen nicht notwendig sein. Das oft geforderte Verhalten, ein +Gleitobjekt an einer ganz bestimmten und explizit festgelegten Position im Text +zu setzen, ist nicht erforderlich, insbesondere weil dadurch der Lesefluss +unnötig unterbrochen wird. + +Vielmehr ist es sinnvoll, Gleitobjekte entweder am Anfang oder Ende einer Seite +zu platzieren, wo sie den Lesefluss deutlich weniger stören. Allerdings sollte +auf jedes Gleitobjekt im Fließtext über eine Referenz~-- beispielsweise mit dem +Befehl \Macro{autoref}(\Package{hyperref}) aus dem Paket \Package{hyperref}~-- +Bezug genommen und gegebenenfalls eine kurze Erläuterung gegeben werden. +Zusätzliche Erläuterungen zum Thema \emph{Querverweise} sind unter +\autoref{sec:references} zu finden. + +Ein weitere Grund, \hologo{LaTeX} die Platzierung von Tabellen und Abbildungen +vollständig zu überlassen, ist die Ungewissheit über den vorhandenen Platz auf +der momentan erzeugten Seite. In nicht wenigen Fällen kann es passieren, dass +das einzufügende Objekt zu groß für die aktuelle Seite ist, was einen wahrlich +schlechten Seitenumbruch mit einer schlecht gefüllten Seite zur Folge hätte. +Die Verwendung einer Gleitumgebung für eine Abbildung wird im nachfolgenden +Quelltextauszug exemplarisch gezeigt, das Ergebnis ist in \autoref{fig:example} +zu sehen. Bei Gleitobjekten sollte in jedem Fall darauf geachtet werden, dass +der Befehl \Macro{label} immer erst \emph{nach} +\Macro{caption}(\Package{koma-script},\Package{caption}) verwendet wird, da +der erzeugte Anker sich sonst nicht auf das Objekt bezieht. +% +\begin{Trunk+} +\section{Grafiken und Tabellen in Gleitumgebungen} +Es folgt die Demonstration von Gleitumgebungen, welche sowohl für +Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden +Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite +etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der +Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen +und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geeigneten +Stellen zu platzieren. + +\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken} +In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF"~Format +in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein +Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl +\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden. +Hierfür ist ein entsprechender Anker am zu referenzierenden Objekt nötig, +welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei +ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des +Objektes, welche mit \texttt{\textbackslash caption} zu erstellen ist, +definiert werden sollte. + +\end{Trunk+} +\begin{Trunk} +\begin{figure} +\centering +\includegraphics{TUD-black} +\caption{Beispielgrafik}\label{fig:example} +\end{figure} + +\end{Trunk} +\InputCode\noindent +% +In der Konsequenz ist dies hier ein Plädoyer, bei der Platzierung von Tabellen +und Abbildungen vollständig auf \hologo{LaTeX} zu vertrauen. Anfangs kann der +Anwender dies als Kontrollverlust empfinden. Sobald Sie jedoch Änderungen am +Dokument vornehmen und eventuell in einem Kapitel einen Absatz ergänzen oder +gar einen ganzen Abschnitt hinzufügen werden sie dankbar sein, sich in der +Folge nicht mit der Neupositionierung sämtlicher Objekte herumschlagen zu +müssen. Leidgeprüfte Anwender einschlägiger Textverarbeitungsprogramme können +gewiss ein Lied darüber singen. + + + +\subsection{Gleitobjektlayout} +\label{sec:floatlayout}% +% +Es wurde bis jetzt das prinzipielle Vorgehen bei der Nutzung von Gleitobjekten +beschrieben. Allerdings gibt es auch noch einige typografische Aspekte, welche +zu beachten sind. Zum einen sollte beachtet werden, dass die Beschriftung einer +Abbildung immer unterhalb dieser erfolgen sollte, bei Tabellen hingegen eine +Überschrift gesetzt wird. Hierfür muss der Anwender ohne die Verwendung eines +zusätzlichen Paketes selber Sorge tragen, indem er den Befehl +\Macro{caption}(\Package{koma-script},\Package{caption}) entweder vor oder +nach dem eigentlichen Objekt in der Gleitumgebung verwendet. Der zweite Punkt +ist die verwendete Schrift innerhalb der Gleitumgebungen. + +Damit sich der Inhalt dieser besser vom restlichen Fließtext abhebt und vom +Leser direkt als nicht dazugehörig erkannt werden kann ist es ratsam, diesen in +serifenloser Schrift zu setzen~-- die Verwendung einer Serifenschrift für den +Fließtext vorausgesetzt. Das Paket \Package{floatrow} bietet die Möglichkeiten, +diese beiden Punkte automatisiert umzusetzen. Außerdem wird zur Formatierung +der Beschriftungen das Paket \Package{caption} benötigt. Sollten Sie noch keine +Erfahrung mit dem Setzen von Tabellen mit \hologo{LaTeX} haben, so wäre zuvor +ein Blick in \autoref{sec:tables} sehr sinnvoll. + +\newcommand*\tableexample[1][]{% + \begin{tabularx}{.75\textwidth}{@{}XXX@{}} + \toprule + \textbf{Erste Spalte} & \textbf{Zweite Spalte} & + \textbf{Dritte Spalte} \tabularnewline\midrule + Etwas Blindtext für die erste Spalte & + Etwas Blindtext für die zweite Spalte & + Etwas Blindtext für die dritte Spalte + \tabularnewline\bottomrule + \end{tabularx} + #1% +} +\begin{table} +\tableexample[% + \caption{Eine Tabelle in einer Gleitumgebung}\label{tab:tabular}% +] +\end{table} + +Normalerweise wird eine Tabelle sowie deren Beschriftung innerhalb einer +\Environment{table}"=Gleitumgebung in der selben Schrift wie der Fließtext +gesetzt, die korrekte Platzierung der Bezeichnungen bleibt dem Anwender +überlassen. Zu sehen ist dies in \autoref{tab:tabular}. Im Folgenden wird +gezeigt, wie sich dies automatisiert für alle Gleitobjekte im Dokument ändern +lässt. Die \emph{Formatierung} der Bezeichnungen von Gleitobjekten kann +mithilfe des Paketes \Package{caption} angepasst werden. +% +\begin{Preamble} +\usepackage{caption} +\end{Preamble} +% +Diese stellt den Befehl \Macro{captionsetup}(\Package{caption}) bereit. Mit +diesem werden die Beschriftungen in Serifenlosen und das Label zur besseren +Unterscheidung im fetter Schriftstärke gesetzt. +% +\begin{Preamble*} +\captionsetup{font=sf,labelfont=bf,labelsep=space} +\end{Preamble*} +% +Um die \emph{Platzierung} der Beschriftungen beeinflussen sowie den Inhalt +einer Gleitumgebung formatieren zu können, wird \Package{floatrow} geladen. +\begin{Preamble} +\usepackage{floatrow} +\end{Preamble} +% +Der Inhalt von Gleitobjekten wird~-- entgegen des normalen Verhaltens~-- durch +\Package{floatrow} automatisch zentriert gesetzt. Zusätzlich soll der Inhalt +noch die serifenlose Schriftfamilie verwenden. Dies lässt sich mit der Nutzung +des Befehls \Macro{floatsetup}(\Package{floatrow}) realisieren. +% +\begin{Preamble*} +\floatsetup{font=sf} +\end{Preamble*} +% +Ohne weitere Maßnahmen werden durch \Package{floatrow} alle Beschriftungen +unterhalb der Gleitobjekte ausgegeben. Da das Ziel jedoch die Verwendung von +Tabellenüberschriften und Abbildungsunterschriften ist, wird dies für Tabellen +angepasst. +% +\begin{Preamble*} +\floatsetup[table]{style=plaintop} +\end{Preamble*} +% +\begin{table} +\tableexample[% + \caption{% + Eine Tabelle in einer Gleitumgebung mit einer angepassten Formatierung% + }% + \label{tab:tabularnew}% +] +\end{table}% +% +Damit wären alle Einstellungen soweit erfolgt, in \autoref{tab:tabularnew} ist +das Ergebnis zu sehen. Zumeist soll die Beschriftung für Gleitobjekte nicht +zentriert sondern linksbündig gesetzt werden. Dies lässt sich ebenfalls mit den +Mitteln des Paketes \Package{caption} und der passenden Paketoption +\Option{justification}(\Package{caption}) erreichen. Damit dies auch für +einzeilige Beschriftungen angewendet wird, muss zusätzlich die Einstellung +\Option{singlelinecheck}(\Package{caption}) deaktiviert werden. Mit der +Paketoption \Option{format}(\Package{caption}) kann außerdem beeinflusst +werden, ob eine mehrzeilige Beschriftung nach einem Zeilenumbruch direkt unter +dem Label oder mit Einzug fortgesetzt werden soll. +% +\begin{Preamble*} +\captionsetup{singlelinecheck=off,format=hang,justification=raggedright} +\end{Preamble*} +% +In \autoref{tab:tabularnew} fällt die Beschriftung auf, welche die Breite der +Tabelle überragt. Falls linksbündige Gleitumgebungsbezeichnungen verwendet +werden, wie dies gerade eingestellt wurde, besteht das Problem quasi bei jeder +Beschriftung, da diese immer am linken Seitenrand beginnen. Auch hierfür stellt +das Paket \Package{floatrow} die Befehle \Macro{ttabbox}(\Package{floatrow}) +für Tabellen sowie \Macro{ffigbox}(\Package{floatrow}) für Abbildungen bereit. + +Beide Makros erwarten im ersten obligatorischen Argument den Befehl +\Macro{caption}(\Package{koma-script},\Package{caption}) für die Beschriftung +gegebenenfalls gefolgt von einem mit \Macro{label} gesetzten Textanker. Im +zweiten Argument wird das Objekt selbst~-- sprich Tabelle oder Abbildung~-- +angegeben. Zu verwenden sind diese folgendermaßen: +% +\begin{Hint} +\begin{table} +\ttabbox + §\Parameter{Tabellendefinition}§ + {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§} +\end{table} +\begin{figure} +\ffigbox + §\Parameter{Abbildungsdefinition}§ + {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§} +\end{figure} +\end{Hint} +% +Diese beiden Befehle sorgen dafür, dass die Beschriftungen in der jeweiligen +Breite des Objektes gesetzt werden. Entspricht das zu setzende Objekt in seiner +Breite dem Wert \Length{textwidth}~-- es ist genauso Breit wie die Laufweite +des Fließtextes~--, so ist deren Gebrauch nicht notwendig. Das Ergebnis der +Verwendung von des Befehls \Macro{ttabbox}(\Package{floatrow}) ist in +\autoref{tab:tabularbox} zu sehen. + +Bei der Nutzung der beiden Befehle sollte darauf geachtet werden, dass zwischen +dem Ende des Objektes und der schließender Klammer des zweiten Argumentes kein +ungewolltes Leerzeichen gesetzt wird. Dies lässt sich leicht vermeiden, indem +direkt nach dem Ende des Objektes mit \Macro*{end}[\PParameter{tabularx}], +\Macro*{end}[\PParameter{tabu}], \Macro*{end}[\PParameter{tikz}] etc. die +schließende Klammer des zweiten Argumentes oder das Zeichen für einen Kommentar +\PValue{\%} folgt. + +\begin{table} +\ttabbox{\tableexample}{% + \caption[% + Eine mit \Macro{ttabbox}(\Package{floatrow}) gesetzte Tabelle in einer + Gleitumgebung% + ]{% + Eine in einer Gleitumgebung gesetzte Tabelle in Verbindung mit dem Befehl + \Macro{ttabbox}(\Package{floatrow}), der durch das Paket \Package{floatrow} + für Beschriftungen in Objektbreite zur Verfügung gestellt wird% + }% + \label{tab:tabularbox}% +} +\end{table} + + +\subsection{Untergleitobjekte} +\label{sec:subfloats}% +% +Das Paket \Package{floatrow} stellt allerhand Möglichkeiten zur Erstellung von +nebeneinanderliegenden Gleitobjekten sowie \enquote{Untergleitobjekten} bereit +und ist insbesondere in Verbindung mit den Fähigkeiten von \Package{caption} +respektive \Package{subcaption} sehr gut für dieses Unterfangen nutzbar. Dafür +werden die Umgebungen \Environment{floatrow}(\Package{floatrow}) sowie +\Environment{subfloatrow}(\Package{floatrow}) angeboten, wobei die letztere für +ein Beispiel verwendet wird. Als erstes muss der Typ der zu erzeugenden Labels +für Abbildungen und Tabellen definiert werden. Dies geschieht mit dem Befehl +\Macro{DeclareCaptionSubType}(\Package{subcaption}) aus dem Paket +\Package{subcaption}. +% +\begin{Preamble} +\DeclareCaptionSubType[alph]{figure} +\DeclareCaptionSubType[alph]{table} +\end{Preamble} +% +Anschließend werden die Untergleitobjekte formatiert. Dabei wird zum einen nach +dem alphanumerischen Label eine schließende Klammer gesetzt. Zum andern wird +ein Eintragen der Untergleitobjekte in das Abbildungsverzeichnis unterdrückt. +Lediglich die Bildunterschrift der Hauptabbildung wird in dieses eingetragen. +% +\begin{Preamble*} +\captionsetup[subfloat]{labelformat=brace,list=off} + +\end{Preamble*} +% +Mit diesen Einstellungen wird eine gleitende Abbildung erstellt, welche in +\autoref{fig:logos} zu sehen ist. Wurde der entsprechende Anker gesetzt, kann +zusätzlich auf die untergeordnete \autoref{fig:tud} sowie \autoref{fig:ddc} +verwiesen werden. +% +\begin{Trunk+} +\subsection{Untergleitobjekte} +Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen +erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei +Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext +sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie +\autoref{fig:ddc} verwiesen werden. + +\end{Trunk+} +\begin{Trunk} +\begin{figure} +\ffigbox[\FBwidth]% + {\begin{subfloatrow}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{TUD-black}}}% + {\caption{Eine Abbildung}\label{fig:tud}}% + \ffigbox[\FBwidth]% + {\fbox{\includegraphics[height=2cm]{DDC-21}}}% + {\caption{Eine weitere Abbildung}\label{fig:ddc}}% + \end{subfloatrow}}% + {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}% +\end{figure} + +\end{Trunk} +\InputCode + + +\subsection{Beeinflussung des Gleitprozesses} +Sobald das Dokument inhaltlich den finalen Zustand erreicht hat, haben Sie sich +zu diesem Zeitpunkt schon mit Sicherheit an das standardmäßige Vorgehen von +\hologo{LaTeX} gewöhnt und müssen respektive wollen gegebenenfalls nur noch bei +wenigen Gleitobjekten~-- über das optionale Argument der Gleitumgebungen zur +individuellen Empfehlung für die Platzierung~-- nachjustieren. Mögliche Werte +sind: +% +\begin{description}[labelindent=\parindent,leftmargin=*,style=nextline] +\item[\POParameter{h} (here)] + An der Stelle, wo es im Quelltext angegeben wurde~-- falls genügend Platz + vorhanden ist +\item[\POParameter{t} (top)] + Am oberen Ende der aktuellen oder der folgenden Seite +\item[\POParameter{b} (bottom)] + Am unteren Ende der aktuellen Seite +\item[\POParameter{p} (page)] + Auf einer separaten Seite für mindestens ein Gleitobjekt +\end{description} +% +Sie können eine, mehrere oder alle Optionen angeben, wobei die Reihenfolge +keine Rolle spielt. Der Algorithmus arbeitet alle ihm zur Verfügung gestellten +Optionen immer in der zuvor aufgezählten Reihenfolge ab, wobei diese nur als +Empfehlung und nicht als Verpflichtung angesehen werden. Es gibt folglich keine +Garantie, dass Ihr Vorschlag akzeptiert wird. Fügen sie dem optionalen Argument +ein~\PValue{!} an, so verhindern Sie, dass \hologo{LaTeX} weitere Optionen +evaluiert. Das Gleitobjekt wird anhand der optionalen Parameter positioniert, +selbst wenn dabei ein unschönes Seitenlayout entsteht. Kann das Gleitobjekt +technisch unmöglich auf die angegebene Weise positioniert werden, wird dieses +sowie alle folgenden aufgeschoben und am Ende des Abschnitts oder Kapitels +angehängt. Dieser Effekt ist wohl in den seltensten Fällen gewollt. + +Außerdem können die Pakete \Package{flafter} sowie \Package{placeins} genutzt +werden. Das erstgenannte verhindert das Auftreten von Gleitobjekten im Dokument +vor ihrer Definition im Quelltext. In der Konsequent bedeutet dies, dass die +Option \POParameter{t} Gleitobjekte nur am oberen Ende der nächsten Seite +jedoch nicht auf der aktuellen zulässt. Mit dem zweiten Paket können Barrieren +definiert werden, an welchen die Ausgabe aller noch in der Warteschlange +befindlichen Gleitobjekte forciert wird~-- beispielsweise vor bestimmten +Gliederungsüberschriften. Im Handbuch zu \TUDScript findet sich außerdem zum +Thema \enquote{\tudhyperref{sec:tips:floats}{Platzierung von Gleitobjekten}} +ein eigener Abschnitt mit weiterführenden Informationen. + + +\subsection{Abstellen des Gleitprozesses} +Trotz der zuvor genannten Vorteile von Gleitobjekten wird oftmals verlangt, den +Gleitprozess vollständig abzustellen. Dies bringt jedoch in den meisten Fällen +einige Probleme mit sich. Die Folge sind ein sehr unruhiges Erscheinungsbild +des Satzspiegels aufgrund schlecht gefüllter Seiten, außerdem im Zweifelsfall +viel Handarbeit mit hart kodierten Seitenumbrüchen sowie daraus resultierend +ein gegenüber von Umbruchänderungen äußerst anfälliges Dokument. Sollte es in +\emph{Einzelfällen} dennoch erforderlich sein, dass eine Abbildung oder Tabelle +nicht gleitet, ist die einzig logische Konsequenz, auf die Verwendung einer +Gleitumgebung gänzlich zu verzichten. + +Hierfür eignet sich beispielsweise die Umgebung \Environment{center}, welche +zum einen etwas Abstand vor und nach dem Objekt zum umgebenden Text erzeugt +und zum anderen die Grafik respektive Tabelle und die dazugehörige Bezeichnung +zusammenhält. \KOMAScript{} stellt für diesen Anwendungsfall das Makro +\Macro{captionof}(\Package{koma-script}) für die Beschriftung zur Verfügung. +Werden die Pakete \Package{caption} und \Package{hyperref} geladen, sollte +weiterhin \Macro{caption}(\Package{koma-script},\Package{caption}) ergänzt um +ein zuvor aufgerufenes +\Macro{captionsetup}[\PParameter{type=figure/table}](\Package{caption}) +genutzt werden. Damit lassen sich Bildunter- sowie Tabellenüberschriften auch +ohne die bekannten Gleitumgebungen \Environment{figure} respektive +\Environment{table} erzeugen. Das Vorgehen wird folgend demonstriert, in +\autoref{fig:nonfloating-A} ist das Ergebnis zu sehen. +% +\begin{Hint} +\begin{center} +\captionsetup{type=figure} +\includegraphics{TUD-black} +\caption{Eine nichtgleitende Grafik in einer \texttt{center}"=Umgebung} +\label{fig:nonfloating-A} +\end{center} + +\end{Hint} +\InputCode\noindent +% +Alternativ zu diesem Ansatz kann das Paket \Package{float} zum Einsatz kommen, +welches für Gleitumgebungen den Platzierungsparameter \POParameter{H} +bereitstellt. Das Resultat ist identisch zu \autoref{fig:nonfloating-A}. +% +\begin{Hint} +\begin{figure}[H] +\includegraphics{TUD-black} +\caption{Eine nichtgleitende Grafik in einer \texttt{figure}"=Umgebung} +\label{fig:nonfloating-B} +\end{figure} + +\end{Hint} +% +Mit den Mitteln des Paketes \Package{floatrow} lässt sich eine etwas bessere +Variante entwickeln, wobei für eine mehrmalige Anwendung ein eigenes Makro mit +den passenden Argumenten definiert werden sollte. Zum besseren Verständnis des +Quelltextauszuges ist die Dokumentation von \Package{floatrow} zu beachten. +% +\begin{Hint} +\floatbox[\captionsetup{type=figure}]{figure}[\FBwidth][% + \dimexpr\FBheight+\abovedisplayskip\relax% +][b]{\includegraphics{TUD-black}}{% + \caption{% + Eine nichtgleitende Grafik mit \texttt{\textbackslash floatbox}% + }% + \label{fig:nonfloating-C}% +} +\end{Hint} +\InputCode\noindent +% +Es wird hier trotz der vorhergehenden Ausführungen abermals ausdrücklich +empfohlen, Tabellen und Abbildungen in Gleitumgebungen zu setzen und die +korrekte Platzierung dem \hologo{LaTeX}"=Algorithmus zu überlassen. + + + + +\section{Tabellensatz} +\label{sec:tables}% +% +Zum Thema \enquote{Tabellensatz mit \hologo{LaTeX}} sind bereits zahlreiche +\hrfn{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}{Leitfäden} +\cite{reichert2012} im Internet zu finden. Deshalb werde ich meine Ausführungen +zu diesem Punkt relativ kurz halten. Zwei Regeln sollten beim Satz von Tabellen +in jedem Fall beachtet werden: +% +\begin{enumerate}[% + itemindent=0pt,noitemsep,% + labelwidth=*,labelsep=1em,label=\Roman*.% +] +\item keine vertikalen Linien +\item keine doppelten Linien +\end{enumerate} +% +Das Paket \Package{booktabs} ist für den Satz von hochwertigen Tabellen eine +große Hilfe und stellt die Befehle \Macro{toprule}(\Package{booktabs}), +\Macro{midrule}(\Package{booktabs}) sowie \Macro{cmidrule}(\Package{booktabs}) +und \Macro{bottomrule}(\Package{booktabs}) für unterschiedliche horizontale +Linien bereit. +% +\begin{Preamble} +\usepackage{booktabs} +\end{Preamble} +% +Außerdem existiert das Paket \Package{array}, welches mit dem Befehl +\Macro{newcolumntype}(\Package{array}) die Definition eigener Spaltentypen +sowie die Verwendung von \enquote{Hooks} vor (\PValue{>\PParameter{\dots}}) und +nach (\PValue{<\PParameter{\dots}}) Einträgen innerhalb einer Spalte +(\PValue{>\PParameter{\dots}}\PName{Spaltentyp}\PValue{<\PParameter{\dots}}) +ermöglicht. +% +\begin{Preamble} +\usepackage{array} +\end{Preamble} +% +Für alle im Folgenden vorgestellten Umgebungen zum Setzen von Tabellen gilt, +dass die Inhalte zeilenweise angegeben werden, wobei die Einträge für die +einzelnen Spalten mit~\PValue{\&} voneinander zu trennen sind. Das Beenden +einer Tabellenzeile und der Wechsel zur nächsten erfolgt normalerweise mit +\PValue{\textbackslash\textbackslash}. Da jedoch einige \hologo{LaTeX}"=Pakete +diesen Befehl innerhalb von Tabellen lokal ändern ist es zur Vermeidung +unnötiger Fehler wesentlich sicherer, das Zeilenende ausschließlich mit +\Macro{tabularnewline} zu setzen. + +Im Folgenden wird in einigen Tabellen bei der Definition der Spalten vor der +ersten und nach der letzten das Konstrukt~\PValue{@\PParameter{}} verwendet, +was das \tudhyperref{sec:tips:table}{Einrücken der Tabellenspalten verhindert} +und im Handbuch genauer erläutert wird. + + +\subsection{Die Standardumgebung \Environment*{tabular}} +Normalerweise gibt es für \Environment{tabular} vier unterschiedliche +Spaltentypen. Die drei Spaltentypen~\PValue{l},~\PValue{c}~und~\PValue{r} +stehen für linksbündige, zentrierte und rechtsbündige Spalten zu Verfügung, +welche allerdings keinen Zeilenumbruch erlauben. Der Inhalt wird quasi wie in +einer \Macro{mbox} gesetzt, wodurch die Spalten sehr breit werden und über den +Seitenrand hinausragen können. + +Der Spaltentyp~\PValue{p}\Parameter{Breite} hingegen legt die Spaltenbreite +fest und setzt die Zellinhalte in einer \Macro{parbox}, wobei diese mit ihrer +obersten Zeile an der Grundlinie ausgerichtet wird. Das Paket \Package{array} +stellt außerdem die Spaltentypen~\PValue{m}\Parameter{Breite} +und~\PValue{b}\Parameter{Breite} bereit, welche ebenfalls mit \Macro{parbox} +gesetzt werden, die Ausrichtung an der Grundlinie jedoch zentriert respektive +an der unteren Zeile erfolgt. Es folgt ein Beispiel zur Nutzung der +\Environment{tabular}"=Umgebung. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabular}{lcrp{33mm}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline +\bottomrule +\end{tabular} +\end{Hint*} +\endgroup +% +Die Tabellenbreite ergibt sich aus der Breite der einzelnen Spalten. Bei dieser +Umgebung liegt es allein beim Anwender, auf die korrekte Breite der Tabelle zu +achten, damit diese nicht über die Seitenränder hinausragt. Das kann auf Dauer +recht aufwändig werden. Das Festlegen der Gesamtbreite einer Tabelle und das +automatische Berechnen einiger oder aller Spaltenbreiten ist sicher die +angenehmere Variante. Wie sich dies sehr komfortabel bewerkstelligen lässt, +wird~-- ebenso wie die Lösung des Problems eines nicht umbrochenen Eintrags wie +in der letzten Spalte der dritten Zeile der obigen Tabelle~-- im nachfolgenden +Abschnitt demonstriert. + + +\subsection{Tabellen mit variabler Spaltenbreite} +Die Pakete \Package{tabularx}, \Package{tabulary} oder auch \Package{tabu} +stehen für das Setzen von Tabellen mit dynamisch berechneter Spaltenbreite bei +fest vorgegebener Gesamtbreite zur Verfügung, welche nun kurz vorgestellt +werden sollen. Die beiden erstgenannte Pakete \Package{tabularx} sowie +\Package{tabulary} stammen vom gleichen Paketautor und haben sich als sehr +stabil erwiesen. Das Paket \Package{tabu} ist relativ neu und versucht, viele +Funktionalitäten ganz unterschiedlicher Pakete für den Tabellensatz in sich zu +vereinen und glänzt insbesondere durch seine Vielseitigkeit. +% +\begin{Preamble} +\usepackage{tabularx} +\usepackage{tabulary} +\usepackage{tabu} +\usepackage{longtable} + +\end{Preamble} +% +Jedes der Pakete stellt einen oder mehrere neue Spaltentypen zur Verfügung. +Dies bedeutet jedoch nicht, dass in den dazugehörigen Tabellenumgebungen +lediglich diese genutzt werden können. Vielmehr werden diese zusätzlich +angeboten, was bedeutet, dass auch in den neuen Tabellenumgebungen weiterhin +die gewohnten Spaltentypen~\PValue{l},~\PValue{c},~\PValue{r}~und~\PValue{p} +verfügbar sind. + +\subsubsection{Die Tabellenumgebung \Environment*{tabularx}} +\label{sec:tabularx}% +% +Das Paket \Package{tabularx} stellt den Spaltentyp~\PValue{X} bereit, welcher +prinzipiell dem Spaltentyp~\PValue{p} entspricht. Auch für diesen wird eine +\Macro{parbox} verwendet, allerdings wird deren Breite \emph{automatisch} +berechnet. Die Umgebung \Environment{tabularx}(\Package{tabularx}) erwartet vor +der Spaltentypenangabe als obligatorisches Argument die gewünschte Breite der +Tabelle. Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} werden jedoch +weiterhin \emph{ohne} Zeilenumbruch gesetzt werden. Nur für Spalten vom +Typ~\PValue{X} und deren Derivate wird aus dem verbliebenen Platz die Breite +berechnet. Für die \Environment{tabularx}(\Package{tabularx})"~Umgebung wird +das vorherige Beispiel wiederholt. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabularx}{11.7cm}{lcrX} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline +aaaa & bbbb & cccc & \hspace{0pt}Worttrennungsmusterkontrolle +\tabularnewline\bottomrule +\end{tabularx} +\end{Hint*} +\endgroup +% +Die Breite der letzten Spalte wurde dabei aus der Angabe der Gesamtbreite mit +\PValue{11.7cm} berechnet. Des Weiteren ist zu sehen, wie das Problem des +Zeilenumbruchs behandelt werden kann. Normalerweise wird das erste Wort in +einem Absatz von \hologo{LaTeX} \emph{nie} umbrochen. Dies kann durch das +Einfügen eines breitenlosen Leerzeichens mit \Macro{hspace}[\PParameter{0pt}] +umgangen werden. Die gefundene Lösung ist allerdings alles andere als elegant. + +Mit den Möglichkeiten des Paketes \Package{array} ist das Problem relativ +schnell gelöst. Es wird mit \Macro{newcolumntype}(\Package{array}) ein neuer +Spaltentyp definiert. Das erste Argument legt den Namen des Spaltentyps fest. +Mit \PValue{>\Parameter{Definitionen}}\Parameter{Typ} wird im zweiten Argument +das Ausführen von \PName{Definitionen} vor dem Setzen des eigentlichen Inhaltes +in einer \Parameter{Typ}"~Spalte definiert. Es wird ein neuer, auf der +\PValue{X}"~Spalte basierender Typ~\PValue{Y} definiert, welcher zu Beginn der +Spalte den Phantomabstand automatisch einfügt. Darauf basierend werden drei +Spaltentypen für den links- und rechtsbündigen sowie zentrierten Textsatz mit +einem möglichen Zeilenumbruch erstellt. +% +\begin{Trunk+} +\subsection{Tabellen als Gleitobjekte} +Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden. +Welche Umgebung für die Tabelle selbst dabei genutzt wird ist dabei +nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung +als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie +\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen +Tabellenbreite oder jede andere Tabellenumgebung genutzt werden. +Nachfolgend wird dies an mehreren Beispielen demonstriert. + +\subsubsection{Eine gleitende tabularx-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabularx}"=Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor +neue Spaltentypen definiert. + +\end{Trunk+} +\CodeHook{\renewcommand*{\newcolumntype}[2]{}} +\begin{Trunk*} +\newcolumntype{Y}{>{\hspace{0pt}}X} +\newcolumntype{D}{>{\raggedright}Y} +\newcolumntype{E}{>{\centering}Y} +\newcolumntype{F}{>{\raggedleft}Y} + +\end{Trunk*} +% +Nachfolgend wird die Tabelle gesetzt mit den neuen Spaltentypen gesetzt. +% +\begin{Trunk} +\begin{table} +\begin{tabularx}{\textwidth}{@{}DEFY@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline +\midrule +Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer T"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte & +Ein längerer Blindtext im Blocksatz zur besseren Demonstration +einer Y"~Spalte\tabularnewline +\bottomrule +\end{tabularx} +\caption{Eine \texttt{tabularx}"=Tabelle}\label{tab:tabularx} +\end{table} + +\end{Trunk} +\InputCode\noindent +% +Die Breite der einzelnen \PValue{X}"~Spalten und deren Derivaten ist dabei +identisch. Ein Gewichten der Spaltenbreiten untereinander ist prinzipiell +möglich, allerdings mit einigen Einschränkungen verbunden. Genaueres hierzu ist +der Dokumentation des Paketes \Package{tabularx} zu entnehmen. + +\subsubsection{Die Tabellenumgebung \Environment*{tabulary}} +\label{sec:tabulary}% +% +Das Paket \Package{tabulary} verfolgt im Vergleich zum zuvor beschrieben Paket +\Package{tabularx} einen etwas anderen Ansatz. Anstatt die verfügbare Breite +über alle Spalten gleichmäßig zu verteilen, werden die Spaltenbreite anhand des +jeweils darin befindlichen Inhaltes zueinander gewichtet. Dafür werden die vier +Spaltentypen~\PValue{L},~\PValue{C},~\PValue{R}~sowie~\PValue{J} zur Verfügung +gestellt. Diese entsprechen prinzipiell dem Spaltentyp~\PValue{p}, allerdings +wird deren Breite \emph{automatisch} berechnet, wobei Spalten mit mehr Inhalt +breiter gesetzt werden. Für die automatische Berechnung der Spaltenbreiten muss +verständlicherweise die gewünschte Gesamtbreite der Tabelle angegeben werden, +was bei der \Environment{tabulary}(\Package{tabulary})"~Umgebung mit dem ersten +obligatorischen Argument vor der Angabe der Spaltendefinition erfolgt. Werden +eine oder mehrere Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} +angegeben, so werden diese weiterhin in ihrer natürlichen Breite und ohne +Zeilenumbruch gesetzt. + +Die Gewichtung der Spalten vom Typ~\PValue{LCRJ} und deren Derivate wird aus +dem verbliebenen Platz die Breite berechnet. Die Berechnung der Spaltenbreite +kann durch den Anwender außerdem über zwei Längen beeinflusst werden. Mit +\Length{tymin}(\Package{tabulary}) wird die Mindestgröße für Spalten +festgelegt. Sollten Sie wissen, dass eine Spalte sehr schmal wird, können Sie +allerdings auch einfach eine der Standardspalten~\PValue{lcrp} nutzen. Mit der +Länge \Length{tymax}(\Package{tabulary}) kann die maximale Ausdehnung einer der +Spalten vom Typ~\PValue{LCRJ} festgelegt werden. + +Für die \Environment{tabulary}(\Package{tabulary})"~Umgebung wird das vorherige +Beispiel wiederholt. Zu beachten ist, dass die Spaltentypen~\PValue{LCRJ} mit +dem Makro \Macro{tyformat}(\Package{tabulary}) bereits ein breitenloses +Leerzeichen einsetzen, womit sich das manuelle Einfügen von selbigem durch den +Anwender erübrigt. +% +\begin{Trunk+} +\subsubsection{Eine gleitende tabulary-Tabelle} +Es wird eine Tabelle mithilfe der \texttt{tabulary}"=Umgebung erstellt. +Zu sehen ist diese in \autoref{tab:tabulary}. + +\end{Trunk+} +\begin{Trunk} +\begin{table} +\begin{tabulary}{\textwidth}{@{}LCRJ@{}} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule +Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte & +Ein zentrierter Blindtext zur Demonstration einer C"~Spalte & +Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte & +Ein wesentlich längerer und absolut inhaltsleerer Blindtext im +Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte +\tabularnewline\bottomrule +\end{tabulary} +\caption{Eine \texttt{tabulary}"=Tabelle}\label{tab:tabulary} +\end{table} + +\end{Trunk} +\InputCode + + +\subsubsection{Die Tabellenumgebung \Environment*{tabu}} +\label{sec:tabu}% +% +Das Paket \Package{tabu} bietet eine mächtige und komfortable Alternative zu +\Package{tabularx}. Es kam in diesem Tutorial bereits für die Verzeichnisse von +Abkürzungen und Symbolen in \autoref{sec:glossaries} zum Einsatz. Leider ist +das Paket in er aktuellen Version~v2.8 mit Vorsicht zu genießen. Zum einen +wären für das Paket in der aktuellen Version seit geraumer Zeit ein paar +kleinere Bugfixes notwendig, mehr dazu sehen Sie später. Außerdem wird sich die +\hrfn{https://groups.google.com/d/topic/comp.text.tex/xRGJTC74uCI}{% + Benutzerschnittstelle in einer zukünftigen Version% +} +sehr stark ändern. Sie sollten sich bewusst sein, dass mit der Version~v2.8 +gesetzte Dokumente gegebenenfalls später angepasst werden müssen. + +Nichtsdestotrotz soll hier folgend die individuelle Verwendung einer +\Environment{tabu}(\Package{tabu})"~Umgebung gezeigt werden, insbesondere weil +für das Setzen umbruchfähiger Tabellen mit automatisch berechneten +Spaltenbreiten momentan (fast) keine Alternative zu der Umgebung +\Environment{longtabu}(\Package{tabu}) existiert. + +Dieses Paket definiert ebenso einen Spaltentyp~\PValue{X}, welchem allerdings +zusätzlich ein optionales Argument angehangen werden kann. Mit diesem lässt +sich sowohl die Gewichtung der automatisch berechneten Spalten untereinander +als auch die Positionierung zur Grundlinie sowie die Ausrichtung des Inhaltes +ändern. +% +\begingroup +\pcolumnfuzz{70pt} +\begin{Hint*} +\begin{tabu} to 11.7cm {lcrX} +\toprule +\textbf{Linksbündig} & \textbf{Zentriert} & +\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule +a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline +aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline +aaaa & bbbb & cccc & Worttrennungsmus\-terkontrolle\tabularnewline +aaa & bbb & ccc & Worttrennungsmusterkontrolle +\tabularnewline\bottomrule +\end{tabu} +\end{Hint*} +\endgroup +% +Das Beispiel zeigt auch gleich das momentan meiner Meinung nach größte Problem +des Paketes: Bei mehrzeiligen Zellen fehlt vertikale Zwischenraum zur nächsten +Tabellenzeile. Nun besteht entweder die Möglichkeit, bei jeder Angabe einer +Spalte im Tabellenkopf, welche eine \Macro{parbox} verwendet, mit dem Ausdruck +\PValue{>\PParameter{\Macro{strut}}} die fehlenden Unterlänge auszugleichen +oder es wird abermals ein entsprechender Spaltentyp definiert. Das ist für +die \PValue{X}"~Spalten der Umgebung \Environment{tabu}(\Package{tabu}) etwas +schwieriger, da \Macro{newcolumntype}(\Package{array}) normalerweise die +Definition eines optionalen Argumentes nicht vorgesehen ist. Mit ein wenig +Trickserei ist das dennoch möglich: +% +\begin{Trunk+} +\subsubsection{Eine gleitende tabu-Tabelle} +In \autoref{tab:tabu} ist eine weitere Tabelle mit variabler Breite der +Spalten und festgelegter Gesamtbreite zu sehen, welche in der Umgebung +\texttt{tabu} gesetzt wurde. Auch für diese wird zuerst ein neuer +Spaltentyp definiert, der die Unzulänglichkeiten der Umgebung reduziert. +Mit \texttt{\textbackslash ttabbox} aus dem Paket \texttt{floatrow} wird +die Beschriftung auf die Breite der Tabelle begrenzt. + +\end{Trunk+} +\CodeHook{\renewcommand*{\newcolumntype}[2]{}} +\begin{Trunk*} +\makeatletter +\newcolumntype{Z}{} +\renewcommand*{\NC@rewrite@Z}[1][]{% + \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}% +} +\makeatother + +\end{Trunk*} +% +Anschließend kann der \PValue{Z}"~Spaltentyp äquivalent zu \PValue{X} genutzt +werden. Zu beachten ist dabei insbesondere die Möglichkeit, die Spalten in +ihrer resultierenden Breite sehr einfach zueinander gewichten zu können~-- im +Gegensatz zur Umgebung \Environment*{tabularx}, wo dieses Unterfangen etwas +schwieriger ist. Das Ergebnis ist in \autoref{tab:tabu} zu sehen. Zu beachten +ist die Verwendung von \Macro{ttabbox}(\Package{floatrow}) aus dem Paket +\Package{floatrow}, um die Beschriftung an die Breite der Tabelle anzupassen. +Genaueres dazu in \autoref{sec:floatlayout}. +% +\begin{Trunk} +\begin{table} +\ttabbox{% + \begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}} + \toprule + \textbf{Linksbündig} & \textbf{Zentriert} & + \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline\midrule + Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte & + Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte & + Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte & + Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte + \tabularnewline\bottomrule + \end{tabu}% +}{% + \caption[Eine \texttt{tabu}"=Tabelle]{% + Eine \texttt{tabu}"=Tabelle in Verbindung mit dem Befehl + \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow} + für Beschriftungen in Objektbreite bereitgestellt wird% + }% + \label{tab:tabu}% +} +\end{table} + +\end{Trunk} +\InputCode + + + +\section{Querverweise} +\label{sec:references}% +% +Damit alle möglichen Querverweise in einem PDF"~Dokument automatisch verlinkt +werden, sollte das Paket \Package{hyperref} geladen werden. Um die erzeugten +Links verträglich aussehen zu lassen, werden die beiden Paketoptionen +\Option{colorlinks}(\Package{hyperref}) sowie \Option*{linkcolor=blue} +verwendet. Da \Package{hyperref} allerhand Veränderungen an vielen +Standardbefehlen vornimmt, sollte dieses als letztes in der Präambel +eingebunden werden. Nur Pakete, bei denen in der Dokumentation explizit darauf +hingewiesen wird, dass diese nach \Package{hyperref} zu laden sind, sollten +auch danach folgen. Eines dieser wenigen Pakete ist das in diesem Tutorial +verwendete \Package{glossaries}. +% +\begin{Hint} +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\end{Hint} +% +Um auf ein bestimmtes Objekt wie beispielsweise eine Tabelle, eine Abbildung +oder einen bestimmten Anschnitt im Dokument referenzieren zu können, muss mit +\Macro{label}[\Parameter{label}] ein Anker für selbiges an der entsprechenden +Stelle gesetzt werden. Bei Überschriften sollte dies direkt nach der Nutzung +des Gliederungsbefehls% +\footnote{% + \Macro{chapter}(\Package{koma-script}), + \Macro{section}(\Package{koma-script}) etc.% +} +erfolgen. Für Abbildungen, Tabellen oder andere Objekte in Gleitumgebungen muss +der Anker unmittelbar nach der Verwendung von +\Macro{caption}(\Package{koma-script},\Package{caption}) respektive +\Macro{captionof}(\Package{koma-script}) erstellt werden. Um nun auf diesen +Anker zu referenzieren, sollte nicht \Macro{ref} sondern +\Macro{autoref}(\Package{hyperref}) im Fließtext genutzt werden. Letztgenannter +Befehl erzeugt nicht nur einen Link mit der dazugehörigen Nummerierung sondern +stellt dieser die Bezeichnung des referenzierten Objektes% +\footnote{\enquote{Abbildung}, \enquote{Tabelle}, \dots} +voran. + +Mit dem Befehl \Macro{pageref} lässt sich auf die Seite eines Ankers verweisen. +Das Paket \Package{varioref} kann dabei unterscheiden, ob der Anker sich auf +der aktuellen Seite, auf einer Seite direkt davor beziehungsweise danach oder +auf einer entfernteren Seite befindet und dementsprechend einen Hinweis darauf +ausgeben. Hierfür werden die Befehle \Macro{vref}(\Package{varioref}) sowie +\Macro{vpageref}(\Package{varioref}) zur Verfügung gestellt. Das Paket +\Package{cleveref} vereint die Vorzüge von \Macro{autoref}(\Package{hyperref}) +in Verbindung mit \Macro{vref}(\Package{varioref}) durch den Befehl +\Macro{cref}(\Package{cleverref}). + + + +\section{Zitate} +Für das wörtliche Zitieren kann das Paket \Package{csquotes} verwendet werden. +Dieses stellt den Befehl \Macro{enquote}(\Package{csquotes}) bereit, der die +kennzeichnenden Anführungszeichen automatisch in Abhängigkeit der verwendeten +Dokumentsprache setzt. +% +\begin{Hint} +\usepackage{csquotes} +\end{Hint} +% +Da für die unterschiedlichen Fachdisziplinen teils sehr unterschiedliche +Zitierrichtlinien existieren, kann hier keine allgemeingültige Empfehlung zu +Stilfragen gegeben werden. Zu beachten ist auf jeden Fall, dass zu wörtlichen +Zitaten eine Quellenangabe erfolgen \emph{muss}. Dabei sollte darauf geachtet +werden, dass nicht nur die Quelle selbst sondern zumindest auch die Seitenzahl +des Zitats angegeben wird. +% +\begin{refsection}[\jobname-temp.bib] +\begin{Trunk+} +\section{Zitate} +Bei der Verwendung von wörtlichen Zitaten sollten diese als solche +gekennzeichnet werden. +\end{Trunk+} +\begin{Trunk*} +\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.} +\cite[58]{hanisch14} +\end{Trunk*} +\begin{Trunk+} +Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur +das Werk selber sondern zumindest die Seitenzahl und gegebenenfalls +der Absatz der originalen Textstelle angegeben werden. +\end{Trunk+} +% +Längere Zitate sollten abgesetzt vom Fließtext ausgegeben werden. Hierfür +bieten sowohl die Standard"~ als auch die \KOMAScript-Klassen standardmäßig +die Umgebungen \Environment{quote}(\Package{koma-script}) und +\Environment{quotation}(\Package{koma-script}) an. Allerdings verwenden beide +fest eingestellte Absatzauszeichnungen. Sollen jedoch die mit der Option +\Option{parskip}(\Package{koma-script}) vorgegebenen Einstellungen für Absätze +beachtet werden, so bietet sich das Paket \Package{quoting} an, welches die +gleichnamige Umgebung \Environment{quoting}(\Package{quoting}) definiert und +die Absätze wie im restlichen Dokument auszeichnet. +% +\begin{Preamble} +\usepackage{quoting} + +\end{Preamble} +% +\begin{Trunk*} +\begin{quoting} +\enquote{% + Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die + Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung + deutlich. + + Wie zu sehen ist, wird der zweite Absatz~-- wie jeder weitere~-- + aufgrund der Option \texttt{parskip=false} eingezogen. +} +\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14} +\end{quoting} +\end{Trunk*} +\begin{Trunk+} +Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz +angegeben werden. Dies kann im Laufe der Arbeit auch für einen selbst von +Vorteil sein, wenn beispielsweise die originale Textpassage noch einmal +analysiert werden soll. + +\end{Trunk+} +\begin{quoting}[rightmargin=0pt] +\makeatletter +\let\markboth\@gobbletwo +\let\markright\@gobble +\makeatother +\printbibliography +\end{quoting} +\end{refsection} + + + +\section{Worttrennungen} +\label{sec:hyphenation}% +% +Bei der Verwendung von \hologo{LaTeXe} gibt es ab und an das Problem, dass +bestimmte Wörter am Zeilenende falsch getrennt werden. Dies hat historische +Gründe. Als \hologo{TeX} in den 1980er"~Jahren entwickelt wurde, war es +aufgrund der zu dieser Zeit zur Verfügung stehenden Speichergrößen schier +unmöglich, die Worttrennungen mit einem Wörterbuchansatz umzusetzen. +Stattdessen wurde~-- um den benötigten Speicherbedarf möglichst gering zu +halten~-- ein Algorithmus entworfen, der mögliche Trennstellen in einem Wort +mit einer Mustererkennung ermittelt. Die verwendeten Muster basieren jedoch +auf der englischen Sprache, weshalb in nicht"~englischsprachigen Texten auch +heute noch teilweise falsche Trennstellen gefunden werden. + +In \autoref{sec:introduction} wurde bereits auf das Paket +\Package{hyphsubst} hingewiesen, welches dieses Manko~-- aufgrund der nicht +mehr so stark gegebenen Restriktionen bezüglich des Speicherbedarfes~-- mit +einem Wörterbuch behebt. Dieses Paket muss für \Engine{pdfLaTeX} vom Anwender +eingebunden werden, \Engine{LuaLaTeX} und \Engine{XeLaTeX} verwenden die +Trennmuster~-- ein geladenes Sprachpaket wie \Package{polyglossia} oder +\Package{babel} vorausgesetzt~-- automatisch. Damit auch Wörter mit Umlauten +richtig getrennt werden, ist zudem das Paket \Package{fontenc} mit der +\PValue{T1}"~Schriftkodierung respektive \Package{fontspec} notwendig. Der +Beginn einer Dokumentpräambel könnte folgendermaßen aussehen: +% +\begin{Hint} +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\ifpdftex{ + \usepackage[T1]{fontenc} + \usepackage[ngerman=ngerman-x-latest]{hyphsubst} +}{ + \usepackage{fontspec} +} +\usepackage{babel} +\end{Hint} +% +Die Option \Option{ngerman}(\Package{hyphsubst}) lädt dabei die Trennmuster für +die neue deutsche Rechtschreibung, wobei der Wert \PValue{ngerman-x-latest} die +neuesten aller verfügbaren Trennmuster lädt. Für die alte Orthografie ist +stattdessen die Option \Option{german}(\Package{hyphsubst}) mit dem Wert +\PValue{german-x-lastest} zu verwenden. + + +\subsection{Einmalige und globale Worttrennungskorrektur} +Sollte es dennoch passieren, dass ein Wort nicht korrekt getrennt wird, lässt +sich dies manuell korrigieren. Dafür stellt das Paket \Package{babel} mehrere +Kurzbefehle zur Verfügung. Mit dem Makro \Macro{hyphenation} lassen sich für +ein bestimmtes Wort außerdem alle potenziellen Trennstellen angeben. Zum Thema +\tudhyperref{sec:tips:hyphenation}{Worttrennungen in deutschsprachigen Texten} +ist im \TUDScript-Handbuch unter dem Kapitel Tipps~\&~Tricks mehr zu finden. +Dort wird auch erläutert, wie das Problem der alleinigen Trennung von Wörtern +mit Bindestrich an selbigem umgangen werden kann. + + +\subsection{Worttrennung im Flattersatz} +Normalerweise ist bei \hologo{LaTeXe} die Worttrennung für den Flattersatz% +\footnote{\Macro{raggedright}, \Macro{raggedleft}, \Macro{centering}} +deaktiviert. Mit dem Paket \Package{ragged2e} kann diese aktiviert werden. Nach +dem Laden stehen die Befehle \Macro{Centering}(\Package{ragged2e}), +\Macro{RaggedLeft}(\Package{ragged2e}) sowie +\Macro{RaggedRight}(\Package{ragged2e}) für den Anwender zur Verfügung, um +Worttrennungen im Flattersatz zu verwenden. Die Option +\Option{newcommands}(\Package{ragged2e}) überschreibt die originalen Befehle +\Macro{centering}, \Macro{raggedleft} und \Macro{raggedright} mit den +korrelierten Befehlen aus dem Paket. Genaueres dazu ist der Dokumentation des +Paketes zu entnehmen. + + + +\section{Mikrotypografische Feinheiten} +Unter Mikrotypografie oder Detailtypografie wird die Gestaltung folgender +Feinheiten des Schriftsatzes verstanden: +\begin{itemize}[noitemsep] +\item korrekte Anwendung der Satzzeichen +\item Schriftart, Kapitälchen und Ligaturen +\item Wortabstände sowie Laufweite (Buchstaben- und Zeichenabstände) +\item optischer Randausgleich +\end{itemize} + +\noindent Die letzten beiden Punkte werden sensationell gut durch das Paket +\Package{microtype} bearbeitet. Dieses muss lediglich in der Präambel geladen +werden, wobei es nicht mit der klassischen \hologo{TeX}"~Engine, wohl jedoch +mit \Engine{pdfTeX} als auch \Engine{LuaTeX} sowie \Engine{XeTeX} funktioniert. +% +\begin{Preamble} +\usepackage[babel]{microtype} + +\end{Preamble} +% +Die Option \Option{babel}(\Package{microtype}) ist nur notwendig, wenn einzelne +Textpassagen oder das gesamte Dokument in Englisch oder Französisch verfasst +werden und hierfür die genutzte Sprache mit den entsprechenden Möglichkeiten +von \Package{babel} eingestellt wird. + +Das korrekte Anwenden von Satzzeichen wird für deutschsprachige Texte bereits +in mehreren Artikeln \cite{neubauer1996,neubauer1997,struckmann2007,bier2009} +sehr gut erläutert, weshalb ein Hinweis auf diese Arbeiten für weitergehende +Informationen zu dieser Thematik absolut ausreichend ist. Nachfolgend werden +Tipps gegeben sowie einige \hologo{LaTeXe}"=Pakete vorgestellt, die bei der +Umsetzung der in den genannten Artikeln erläuterten Empfehlungen helfen. + + +\subsection{Abkürzungen} +In \cite{struckmann2007} wird gleich zu Beginn darauf hingewiesen, wie häufig +verwendete Abkürzungen sehr einfach im Dokument verwendet werden können und +dabei typografisch richtig gesetzt werden. Beispielsweise gelingt dies für die +Abkürzung \enquote{zum~Beispiel~(z.\,B.)} mit dieser Definition: +% +\begin{Hint} +\newcommand{\zB}{\mbox{z.\,B.}\xspace} +\end{Hint} +% +Wenn ohnehin das Paket \Package{glossaries} für Akronyme verwendet wird, kann +alternativ dazu auch dessen Funktionalität genutzt werden. Nach dem Einbinden +muss in der Präambel lediglich Folgendes eingefügt werden: +% +\begin{Hint} + \newignoredglossary{abbreviation} + \newcommand*{\newabbreviation}[4][]{% + \newacronym[type=abbreviation,#1]{#2}{\mbox{#3\xspace}}{#4}% + }% +\end{Hint} +% +Mit \Macro{newignoredglossary}(\Package{glossaries}) wird dabei ein Glossar +erstellt, welche bei der Ausgabe aller Glossare mit +\Macro{printglossaries}(\Package{glossaries}) ignoriert wird. Im Dokument kann +die gewünschte Abkürzung mit +% +\begin{Hint*} +\newabbreviation{zB}{z.\,B.}{zum Beispiel} +\end{Hint*} +% +definiert und über die gewohnten Befehlen aus \Package{glossaries} verwendet +werden. +% +\begin{Hint*} +Die Ausgabe der soeben definierten Abkürzung \enquote{\acrshort{zB}} +erfolgt mit dem Befehl \texttt{\textbackslash acrshort}. Wurde das +Paket \texttt{glossaries} mit der Option \texttt{shortcut} geladen, +kann auch das Makro \texttt{\textbackslash acs} genutzt werden. +\end{Hint*} + + +\subsection{Listen} +\label{sec:lists}% +% +Für Auflistungen aller Art bietet \hologo{LaTeX} die drei Standardumgebungen +\Environment{itemize}(\Package{koma-script},\Package{enumitem}), +\Environment{enumerate}(\Package{koma-script},\Package{enumitem}) und +\Environment{description}(\Package{koma-script},\Package{enumitem}). Das +häufigste Anliegen bei der Verwendung dieser Umgebungen ist das Reduzieren +der Abstände zwischen den einzelnen, mit +\Macro{item}(\Package{koma-script},\Package{enumitem}) gesetzten Punkten, +welche sehr häufig als zu groß empfunden werden. Eine Aufzählung erscheint ohne +Anpassungen wie folgt: +% +\CodePreamble{Aufzählung mit vertikalen Standardabständen} +\begin{Hint*} +\begin{itemize} +\item erster Punkt +\item zweiter Punkt +\item dritter Punkt +\end{itemize} +\end{Hint*} +% +Dabei wirken die Abstände zwischen den Punkten tatsächlich etwas +überdimensioniert. Mit \Package{enumitem} können alle Listenumgebungen an die +individuellen Bedürfnisse angepasst werden. +% +\begin{Preamble} +\usepackage{enumitem} +\end{Preamble} +% +Um diese ungewollten Abstände zwischen den Listenpunkten zu entfernen, kann der +Schlüssel \Option{noitemsep}(\Package{enumitem}) verwendet werden. Mit dem +Befehl \Macro{setlist}(\Package{enumitem}) werden~-- ohne zusätzliche Angaben +im optionalen Argument~-- alle Umgebungen für Aufzählungen global geändert. +Hier soll dies lediglich für die Umgebung \Environment*{itemize} geschehen: +\begin{Preamble*} +\setlist[itemize]{noitemsep} + +\end{Preamble*} +\CodePreamble{Aufzählung ohne vertikale Abstände} +\begin{Hint*} +\begin{itemize} +\item erster Punkt +\item zweiter Punkt +\item dritter Punkt +\end{itemize} + +\end{Hint*} +% +Alternativ zur globalen Änderung einer speziellen oder aller Aufzählungslisten +kann der Schlüssel \PValue{noitemsep} auch nur gezielt an einzelne Umgebung +über das optionale Argument weitergereicht werden +(\Macro*{begin}[\PParameter{itemize}\POParameter{noitemsep}]). + +Natürlich erlaubt das Paket noch weitergehende Einstellungen für die Umgebungen +\Environment{itemize}(\Package{koma-script},\Package{enumitem}), +\Environment{enumerate}(\Package{koma-script},\Package{enumitem}) und +\Environment{description}(\Package{koma-script},\Package{enumitem}). +Zusätzlich können diese für eigene Aufzählungsumgebungen geklont und den +eigenen Bedürfnissen angepasst werden. Genaueres hierzu ist der Dokumentation +des Paketes \Package{enumitem} entnehmen. + + +\subsection{Ligaturen} +Die meisten \hologo{LaTeX}"=Schriftfamilien enthalten Ligaturen, die für einen +typografisch sauberen Satz bei zusammengesetzten Wörtern, wie sie gerade im +Deutschen häufig vorkommen, aufgetrennt werden müssten. Mit der Anwendung +\Application{DeLig}<delig> kann dies automatisiert geschehen. Wird +\Engine{LuaLaTeX} als Textsatzsystem genutzt, kann alternativ das Paket +\Package{selnolig} verwendet werden. + + +\subsection{Auslassungspunkte} +Das typografisch richtige Setzen von Auslassungspunkten mit den Befehlen +\Macro{dots} respektive \Macro{textellipsis} wird im Handbuch unter +\tudhyperref{sec:tips:dots}{Das Setzen von Auslassungspunkten} genauer +beschrieben, weshalb hier nur kurz darauf eingegangen wird. Es wird das Paket +\Package{ellipsis} benötigt. +% +\begin{Preamble} +\usepackage{ellipsis} +\end{Preamble} +% +Für deutschsprachige Texte sollten außerdem noch folgendes ausgeführt werden: +% +\begin{Preamble} +\let\ellipsispunctuation\relax + +\end{Preamble} + + +\subsection{Mathematiksatz} +Von \hologo{LaTeXe} werden einige Umgebungen für das Setzen mathematischer +Formeln und Ausdrücke bereitgestellt, welche meist jedoch nicht \emph{alle} +Anforderungen eines Nutzers an den Mathematiksatz erfüllen können. Das Paket +\Package{amsmath} bietet deshalb eine Reihe weiterführender Umgebungen für das +Setzen von einzeiligen und mehrzeiligen sowie ausgerichteter Formeln zur +Verfügung. Auf eine Einführung in das Paket wird~-- aufgrund der bereits in +großer Zahl vorhandenen Einführungen~-- in diesem Tutorial verzichtet. Außerdem +stehen mit \Tutorial{mathtype} und \Tutorial{mathswap} zwei weitere Tutorials +zur Verfügung, die sich explizit mit der Thematik eines guten mathematischen +Satz beschäftigen. + +Das Paket \Package{amsmath} stellt für \hologo{LaTeXe} den De"~facto"~Standard +für den mathematischen Satz dar. Allerdings wird es~-- insbesondere aus diesem +Grund~-- sehr \enquote{vorsichtig} weiterentwickelt. Für das Setzen neuer +Dokumente sollte deshalb das Paket \Package{mathtools} verwendet werden, das +auf \Package{amsmath} basiert und dieses um zusätzliche Funktionalitäten +ergänzt sowie Bugfixes bereithält. + + +\subsection{Darstellung von mathematischen Brüchen} +Für ansehnliche und insbesondere im Fließtext gut lesbare mathematische Brüche +stellt das Paket \Package{xfrac} den Befehl \Macro{sfrac}(\Package{xfrac}) zur +Verfügung. +% +\begin{Preamble} +\usepackage{xfrac} + +\end{Preamble} + + +\subsection{Einheiten} +Mit dem Paket \Package{siunitx} lassen sich sowohl physikalische Einheiten als +auch Zahlen typografisch korrekt setzen. Sollen die Funktionalitäten in einem +deutschsprachigen Dokument problemlos nutzbar sein, so sind die Hinweise zum +\tudhyperref{sec:tips:siunitx}{Setzen von Einheiten mit \Package{siunitx}} im +\TUDScript-Handbuch zu beachten. Das Paket \Package{units} ist nicht ganz so +mächtig wie \Package{siunitx}, kann allerdings als pragmatische Alternative +gesehen und genutzt werden. + + +\subsection{Datumsformatierung} +Das Paket \Package{isodate} stellt \Macro{printdate}(\Package{isodate}) bereit. +Dieser Befehl kann für die Formatierung von Datumsangaben verwendet werden. +Wird das Paket mit einer der Dokumentklassen aus dem \TUDScript-Bundle geladen, +wird der genannte Befehl automatisch für alle bereitgestellten Datumsfelder +verwendet. Alternativ dazu kann das Paket \Package{datetime2} genutzt werden, +dessen Befehl \Macro{DTMDate}(\Package{datetime2}) wird ebenfalls unterstützt. +% +\begin{Preamble} +\usepackage{isodate} + +\end{Preamble} + + + +\section{Erstellen von Abbildungen} +\label{sec:figures}% +% +Die einfachste Möglichkeit, in einer wissenschaftlichen Abhandlung Grafiken zu +verwenden, ist sicherlich das Einbinden von externen Abbildungen mit dem Befehl +\Macro{includegraphics}(\Package{graphicx}) aus dem Paket \Package{graphicx}. +Allerdings ist für eine wissenschaftliche Arbeit in höchster Qualität meiner +Meinung nach das bloße Einfügen einer gescannten oder heruntergeladenen Grafik +unzureichend. Vielmehr sollte diese zum einen als skalierbare Vektorgrafik +vorliegen, um sowohl die höchste Druckqualität als auch die +Wiederverwendbarkeit sicherzustellen, und zum anderen in ihrer Gestaltung dem +verwendeten Layout des verfassten Dokumentes entsprechen. Dies betrifft sowohl +die eingesetzten Farben und Schriften als auch die Stärke der verwendeten +Linien. + +Zum Zeichnen von Grafiken sind die freien Programme \Application{LaTeXDraw} und +besonders \Application{Inkscape} empfehlenswert, da diese die Verwendung der +Dokumentschriften innerhalb der erstellten Grafiken ermöglichen. Im Handbuch zu +\TUDScript wird dies für \tudhyperref{sec:tips:svg}{\Application{Inkscape}} +genauer erläutert. Eine andere Variante ist das \enquote{Programmieren} von +Grafiken. Die zwei bekanntesten \hologo{LaTeX}"=Pakete sind \Package{tikz}<pgf> +und \Package{pstricks}<pstricks-base>. Mit beiden wird folgend eine Abbildung +exemplarisch erstellt, ohne dabei ins Detail zu gehen, da es~-- neben den +umfangreichen Dokumentationen~-- zahlreiche Beispiele und Erläuterungen im +Internet gibt. + + + +\subsection{Das Paket \Package{tikz}} +Zur Verwendung von \Package{tikz}<pgf> ist nicht viel zu sagen. Einfach in der +Dokumentpräambel einbinden und es kann losgehen. Für das nachfolgende Beispiel +sind außerdem noch zwei weitere Programmbibliotheken für \Package{tikz}<pgf> +notwendig. +% +\begin{Hint} +\usepackage{tikz} +\usetikzlibrary{chains} +\usetikzlibrary{decorations.markings} +\tikzset{on grid} +\end{Hint} +% +Ein kurze Anmerkungen zur Skalierung der Grafiken möchte ich mir erlauben. +Normalerweise verwendet \Package{tikz}<pgf> Koordinaten im Zentimeter"=Raster. +Ich persönlich bevorzuge der relativierte Skalierung auf die Textbreite des +Dokumentes, wobei eine Einheit genau \SI{1}{\percent} dieser entspricht. Das +kann mit folgendem Quelltext erreicht werden: +% +\CodeHook{\renewcommand\newlength[1]{}} +\begin{Hint*} +\newlength{\tikzunit} +\setlength{\tikzunit}{.01\textwidth} +\tikzset{x=\tikzunit,y=\tikzunit} +\end{Hint*} +% +Nachfolgend wird eine Grafik innerhalb einer Gleitumgebung exemplarisch +erstellt. Das Ergebnis ist in \autoref{fig:tikz} zu sehen. + +\begin{Hint?} +\begin{figure} +\begin{tikzpicture} + \tikzstyle{inner box}=[% + text width=17\tikzunit, + align=center, + rectangle, + inner sep=.5\tikzunit, + minimum height=8\tikzunit, + font=\hspace{0pt}, + draw + ] + \tikzstyle{inner label}=[align=center, font=\scriptsize] + \tikzstyle{inner box chain}=[every node/.style={on chain}] + \tikzstyle{inner box chain below}=[% + inner box chain, node distance=8\tikzunit,continue chain=going below + ] + \tikzstyle{inner box chain right}=[% + inner box chain,node distance=35\tikzunit,continue chain=going right + ] + \tikzstyle{inner box chain above}=[% + inner box chain,node distance=16\tikzunit,continue chain=going above + ] + \tikzstyle{pstarrow->}=[% + decoration={markings, + mark=at position 1 with {\arrow[xscale=1.5]{stealth}}; + }, + postaction={decorate}, + shorten >=0.7pt + ] + \newcommand{\tikzparbox}[2][9]{% + \parbox{#1\tikzunit}{\centering\hspace{0pt}#2}% + } + \begin{scope}[start chain] + \begin{scope}[inner box chain below] + \node(NE)[inner box]{Navigations\-ebene}; + \node(NB)[inner label]{gewählte Fahrtroute\\ zeitlicher Ablauf}; + \node(BE)[inner box]{{Bahnführungs\-ebene}}; + \node(BS)[inner label]{% + gewählte Führungsgrößen:\\ Sollspur, Sollgeschwindigkeit% + }; + \node(SE)[inner box]{Stabilisierungs\-ebene}; + \end{scope} + \begin{scope}[inner box chain right] + \node(LQ)[inner box]{Längs- und Querdynamik}; + \node(FO)[inner box]{Fahrbahn\-oberfläche}; + \end{scope} + \begin{scope}[inner box chain above] + \node(FR)[inner box]{Fahrraum\\ \smallskip{\scriptsize Straße + und\\ \vspace{-1.5ex}Verkehrssituation}}; + \node(SN)[inner box]{Straßennetz}; + \end{scope} + \end{scope} + \begin{scope}[inner label,minimum size=0pt] + \draw [pstarrow->] (FO) -| ++(13.5,-12) to + node [above]{Istspur, Istgeschwindigkeit} ++(-97,0) |- (SE); + \draw [pstarrow->] (FR) -| ++(14 ,-32) to + node [above]{Bereich sicherer Führungsgrößen} ++(-98,0) |- (BE); + \draw [pstarrow->] (SN) -| ++(14.5 ,-52) to + node [above]{mögliche Fahrtroute} ++(-99,0) |- (NE); + \end{scope} + \begin{scope}[inner label] + \draw (NE) to (NB); + \draw [pstarrow->] (NB) to (BE); + \draw (BE) to (BS); + \draw [pstarrow->] (BS) to (SE); + \draw [pstarrow->] (SE) to + node[above] {\tikzparbox{Stell\-größen}} + node[below] {\tikzparbox{Lenken Gasgeben Bremsen}} + (LQ); + \draw [pstarrow->] (LQ) to + node[above]{\tikzparbox{Regel\-größen}} + node[below]{\tikzparbox{Fahrzeugbewegung}} + (FO); + \draw [pstarrow->] (LQ)+(24,0) |- (FR); + \draw [pstarrow->] (LQ)+(24,0) |- (SN); + \end{scope} + \begin{scope}[very thick,rounded corners=5\tikzunit] + \draw (-12.5,-40) rectangle (12.5,14); + \draw ( 22.5,-40) rectangle (47.5,-18); + \draw ( 57.5,-40) rectangle (82.5,14); + \end{scope} + \begin{scope}[font=\bfseries] + \node at (0,9) {Fahrer}; + \node at (35,-23) {Fahrzeug}; + \node at (70,9) {Umwelt}; + \end{scope} +\end{tikzpicture} +\caption{Eine mit TikZ erstellte Grafik}\label{fig:tikz} +\end{figure} +\end{Hint?} + + + +\subsection{Das Paket \Package{pstricks}} +Die zuvor mit \Package{tikz}<pgf> erstellte Grafik wird nachfolgend mit dem +Paket \Package{pstricks} erstellt. Mit diesem lassen sich PostScript"=Grafiken +erstellen. Ähnlich wie bei \Package{tikz}<pgf> gibt es ein Kernpaket und +zusätzliche Ergänzungen. Diese werden jedoch nicht als Programmbibliotheken +sondern ganz normal als \hologo{LaTeX}"=Pakete eingebunden. +% +\begin{Hint} +\usepackage{pstricks,pst-node} +\end{Hint} +% +Die Verwendung von PostScript hat zahlreiche Vorteile, macht die direkte +Nutzung von \Engine{pdfLaTeX} etwas schwierig. Das Paket \Package{auto-pst-pdf} +schafft hier jedoch Abhilfe. Wird das Textsatzsystem \Engine{pdfLaTeX} über die +zusätzliche Option \Option{-{}-shell-escape}(\Engine{pdfLaTeX}) beziehungsweise +\Option{-{}-enable-write18}(\Engine{pdfLaTeX}) mit erweiterten Schreibrechten +aufgerufen, so werden die Abbildungen automatisch im PDF"~Format erzeugt und +eingebunden. +% +\begin{Hint} +\usepackage{auto-pst-pdf} +\end{Hint} +% +Bei einigen Pakete kommt es in der Kombination mit \Package{auto-pst-pdf} zu +kleineren Problemen, die sich jedoch meist relativ leicht beheben lassen. Im +Handbuch wird die \tudhyperref{sec:tips:auto-pst-pdf}{gleichzeitige Verwendung} +von \Package{auto-pst-pdf} in Kombination mit den Paketen \Package{tikz}<pgf>, +\Package{todonotes} sowie \Package{floatrow}~-- bei der Nutzung des Befehls +\Macro{ffigbox}(\Package{floatrow})~-- erklärt. Diese Hinweise sollten Sie +gegebenenfalls beachten. + +Ähnlich wie zuvor bei der \Package{tikz}<pgf>"~Grafik wird die nachfolgende +\Package{pstricks}"=Abbildung auf die Textbreite des Dokumentes skaliert, wobei +eine Einheit genau \SI{1}{\percent} dieser entspricht. Außerdem werden noch ein +paar weitere Einstellungen gemacht. Dies geschieht mit: +% +\begin{Hint*} +\psset{% + unit=.01\textwidth,% + cornersize=absolute,% + labelsep=.8ex,% + linewidth=.4pt,% + arrowscale=1.5,% +} +\end{Hint*} +% +Die innerhalb einer Gleitumgebung erzeugte \Package{pstricks}"=Grafik ist in +\autoref{fig:pstricks} dargestellt. +% +\begin{Hint?} +\begin{figure} +\begin{pspicture}(0,-2)(100,64) +\newcommand{\fnodetext}{} +\def\fnodetext(#1)#2#3{% + \fnode[framesize=18 8](#1){#2}% + \rput(#1){\parbox{17\psunit}{\centering\hspace{0pt}#3}}% +} +\newcommand{\scriptbox}[2][24]{% + \parbox{#1\psunit}{\scriptsize\centering\hspace{0pt}#2}% +} +\rput(15,10){% + \rput(0,49){\textbf{Fahrer}} + \fnodetext(0,40){NE}{Navigations\-ebene} + \fnodetext(0,24){BE}{Bahnführungs\-ebene} + \fnodetext(0,08){SE}{Stabilisierungs\-ebene} + \ncline{->}{NE}{BE} + \ncput*{\scriptbox{gewählte Fahrtroute\\ zeitlicher Ablauf}} + \ncline{->}{BE}{SE} + \ncput*{% + \scriptbox{gewählte Führungsgrößen:\\ Sollspur,~Sollgeschwindigkeit}% + } + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54) +} +\rput(50,10){% + \rput(0,17){\textbf{Fahrzeug}} + \fnodetext(0,8){FZ}{Längs- und\\ Querdynamik} + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,22) +} +\rput(85,10){% + \rput(0,49){\textbf{Umwelt}} + \fnodetext(0,40){SN}{Straßennetz} + \fnodetext(0,24){FR}{% + Fahrraum\\ \smallskip\scriptsize{Straße und Verkehrssituation}% + } + \fnodetext(0,08){FO}{Fahrbahn\-oberfläche} + \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54) +} + +\ncline{->}{SE}{FZ} +\naput{\scriptbox[9]{Stell\-größen}} +\nbput{\scriptbox[9]{Lenken Gasgeben Bremsen}} +\ncline{->}{FZ}{FO} +\naput{\scriptbox[9]{Regel\-größen}} +\nbput{\scriptbox[9]{Fahrzeugbewegung}} + +\psset{armA=15,armB=0,angleA=0,angleB=180} +\ncangles{->}{FZ}{FR} +\ncangles{->}{FZ}{SN} + +\psset{angleA=180,angleB=0} +\ncloop[loopsize=12,arm=4.5]{<-}{SE}{FO} +\naput{\scriptbox{Istspur, Istgeschwindigkeit}} +\ncloop[loopsize=32,arm=5]{<-}{BE}{FR} +\naput{\scriptbox[30]{Bereich sicherer Führungsgrößen}} +\ncloop[loopsize=52,arm=5.5]{<-}{NE}{SN} +\naput{\scriptbox{mögliche Fahrtroute}} +\end{pspicture} +\caption{Eine mit pstricks erstellte Grafik}\label{fig:pstricks} +\end{figure} +\end{Hint?} + + +\subsection{Auslagern von Grafiken in separate Dateien} +Damit \enquote{programmierte} Grafiken zum einen das Dokument respektive dessen +Struktur nicht unnötig unübersichtlich machen und zum anderen nur nach einer +Änderung abermals kompiliert werden, um die Kompilierungsdauer möglichst gering +zu halten, können diese in separate Dateien ausgelagert werden. Hierfür bieten +sich die Pakete \Package{subfiles}'manual' und \Package{standalone}'manual' an. + + + +\section{Dokumentation von Quelltexten} +Sollen in einer Dokument Quelltextauszüge beschrieben werden oder ganze +Quelltextdateien eingebunden werden, so empfiehlt sich für dieses Vorhaben das +Paket \Package{listings}. Neben der bloßen Einbindung der Quelltexte bietet es +zusätzlich die Möglichkeit, die Syntax in Abhängigkeit der verwendeten +Programmiersprache hervorzuheben. Zusätzlich lässt sich ein Verzeichnis mit +allen eingebundenen sowie direkt im Dokument angegebenen Quelltextauszügen +erstellen. +% +\begin{Hint} +\usepackage{listings} +\end{Hint} +% +Wird das Paket in einem Dokument mit UTF"~8"~Kodierung verwendet, muss dies dem +Paket in der Präambel mitgeteilt werden: +% +\begin{Hint} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\end{Hint} +% +Nachdem nun die Grundeinstellungen erfolgt sind, kann ein eigener Stil für eine +gewünschte Programmiersprache definiert werden. Im folgenden Beispiel wird dies +für ein MATLAB"~Skript demonstriert. Als erstes wird mit dem Befehl +\Macro{lstdefinestyle}(\Package{listings}) ein eigener \Package{listings}"~Stil +erstellt: +% +\begin{Hint*} +\lstdefinestyle{matlab}{% + language=Matlab,% + basicstyle=\ttfamily,% + commentstyle={\color{green!50!black}}, + keywordstyle={\color{blue!75!black}},% + columns=flexible,keepspaces,% +} +\end{Hint*} +% +Dabei wird die verwendete Programmiersprache definiert sowie die Formatierung +für die Quelltextauszüge festgelegt. Für weitere Einstellungsmöglichkeiten +sollte die Dokumentation zum Paket zu Rate gezogen werden. Der so definierte +Stil lässt sich anschließend folgendermaßen verwenden. +% +\begin{Hint} +\begin{lstlisting}[style=matlab] +§\dots§ +\end{lstlisting} +\end{Hint} +% +Soll innerhalb eines Quelltextauszuges ein Abschnitt nicht ausgegeben sondern +als \hologo{LaTeX}"~Code interpretiert und ausgeführt werden, lässt sich mit +\Macro{lstset}[% + \PParameter{\PValue{escapechar=\PName{Zeichen}}}% +](\Package{listings}) ein spezielles Escape-Zeichen definieren. Alle innerhalb +einer \Package{listings}"=Umgebung zwischen zwei Escape-Zeichen eingefügten +Angaben in der Form \PName{Zeichen}\PValue{\dots}\PName{Zeichen} werden als +\hologo{LaTeX}"~Code gelesen und ausgeführt. Außerdem ist es mit dem Befehl +\Macro{lstnewenvironment}(\Package{listings}) möglich, eine individuelle +\Package{listings}"=Umgebung zu definieren. + +Das Einbinden und Darstellen von externen Quelldateien in ein Dokument ist über +den Befehl +\Macro{lstinputlisting}[\LParameter\Parameter{Dateiname}](\Package{listings}) +möglich, wobei dabei im optionalen Argument ebenfalls der definierte Stil +angegeben werden sollte. Es folgt die Ausgabe eines kurzen Beispiels mit dem +zuvor definierten Stil~\PValue{matlab}. +% +\begin{lstlisting}[style=matlab] +function perfect = isperfect(test_value) + % This function checks to see if the given number is "perfect"; + % a "perfect" number is an integer whose factors + % (excluding itself) add up to it. + % + % Example: 6 is a perfect number: 1 + 2 + 3 = 6 == 6 + % 8 is not: 1 + 2 + 4 = 7 ~= 8 + % 28 is a perfect number: 1 + 2 + 4 + 7 + 14 = 28 == 28 + % + % Arguments: + % test_value (input) check to see if this value + % is perfect or not + % perfect (output) if yes, set this to 1 + % if no, set this to 0 + % + % this will keep track of the sum of all integer divisors + tempsum = 0; + % we check all possible divisors + for (divisor = 1 : test_value - 1) + div_result = test_value / divisor; + if (div_result == floor(div_result)) + % this is an integer divisor, so add it to the sum + tempsum = tempsum + divisor; + end + end + % now, does the sum equal the test_value? + if (tempsum == test_value) + perfect = 1; + else + perfect = 0; + end +end +\end{lstlisting} + + + + +\section{Und ganz zum Schluss \dots} +Mit Sicherheit werden Sie im Laufe der Zeit auf die eine oder andere Frage zu +\hologo{LaTeXe} stoßen, die in diesem Tutorial nicht behandelt wurde. Sollten +Sie an diesen Punkt gelangen, so empfehle zunächst einen Blick in die Kapitel +\tudhyperref{sec:packages}{Benötigte, unterstützte und empfehlenswerte Pakete} +sowie \tudhyperref{sec:tips}{Praktische Tipps \& Tricks} im Handbuch zu +\TUDScript. Sollte Ihre Frage trotzdem unbeantwortet bleiben, so wäre der +Besuch eines \hologo{LaTeX}"=Forums der nächste Schritt. Für allgemeine +Anfragen kann ich unter anderem folgende Foren empfehlen: +% +\begin{itemize} +\item \hrfn{http://mrunix.de/forums/forumdisplay.php?38-LaTeX-Forum}{mrunix} +\item \hrfn{http://golatex.de/}{golatex} +\item \hrfn{http://tex.stackexchange.com/}{\hologo{LaTeX} Stack Exchange} +\item \hrfn{http://www.latex-community.org/forum/}{\hologo{LaTeX} Community} +\end{itemize} +% +Insbesondere alle \TUDScript betreffende Fragen sollten natürlich direkt im +dazugehörigen \Forum gestellt werden. + +\begin{Trunk+} +\printbibliography[heading=bibintoc]\label{sec:bibliography}% +\end{Trunk+} +\printbibliography[heading=bibintoc] + +\begin{Preamble+} +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\end{Preamble+} + +\addsec{Index} +Da das Tutorial etwas umfangreicher ist, wird für alle erläuterten Optionen, +Umgebungen und Befehle ein Index erstellt. Bei Elementen, die weder \TUDScript +noch \KOMAScript{} zuzuordnen sind, wird das dazugehörige Paket mit angeführt. +\PrintIndex + +\FinishTutorial[% + Um das im kopierten Beispiel erstellte Literaturverzeichnis in das Dokument + einbinden zu können, bedarf es dem einmaligen Aufruf von \Application{biber} + frühestens nach dem ersten Durchlauf von \Engine{pdfLaTeX}. Dies erfolgt mit + dem Aufruf \Path{biber }\PName{Dateiname}. Für das Erzeugen von Abkürzungs- + und Symbolverzeichnis ist das Ausführen des Perl"=Skriptes + \Path{makeglossaries }\PName{Dateiname} ausreichend. Danach ist ein weiteres + mal die Verwendung von \Path{pdflatex }\PName{Dateiname} notwendig, um die + Verzeichnisse in das Dokument einzubinden. Gegebenenfalls ist für korrekte + Seitenangaben in Abkürzungs- und Symbolverzeichnis ein abermaliges Ausführen + des Skriptes notwendig. + \Attention{% + Nutzer von \Distribution{\hologo{MiKTeX}} müssen für die Verwendung des + Perl"~Skriptes \File{makeglossaries}(\Package{glossaries}) unter Umständen + einen separaten Perl"=Interpreter installieren. In \autoref{sec:glossaries} + ist dazu mehr zu finden.% + }% +] +\ListOfToDo +\end{document} |