diff options
author | Karl Berry <karl@freefriends.org> | 2014-12-30 17:32:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-12-30 17:32:37 +0000 |
commit | 52342328d697c341a49231053d155a030eb05b56 (patch) | |
tree | 81ad6ccd38929249a64797071f8673a8440134b3 /Master/texmf-dist/source/latex/tudscr/doc | |
parent | 5f7820a8be758e948dd35e429e37f1d79ac06eee (diff) |
tudscr rearrangement
git-svn-id: svn://tug.org/texlive/trunk@35930 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/doc')
23 files changed, 10504 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/dissertation.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/dissertation.tex new file mode 100644 index 00000000000..9be529aea77 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/dissertation.tex @@ -0,0 +1,32 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman,BCOR=6mm,geometry=no,DIV=13]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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{16.12.2014} +\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/Master/texmf-dist/source/latex/tudscr/doc/examples/document.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/document.tex new file mode 100644 index 00000000000..14622b9f3c6 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/document.tex @@ -0,0 +1,17 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{blindtext} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{16.12.2014} +\author{Mickey Mouse} +\title{Der Geldspeicher in Entenhausen} +\maketitle +\blinddocument +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/evaluation.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/evaluation.tex new file mode 100644 index 00000000000..032f883eb8b --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/evaluation.tex @@ -0,0 +1,46 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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.12.2014} +\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 man diesen Effekt abschwächen + könnte. Zusätzlich sollten Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +}{% + Die Arbeitet gliedert sich in mehrere Kapitel auf unzähligen Seiten. Im den + ersten beiden Kapiteln wird dies und das besprochen. Im darauffolgenden auch + noch jenes. Im vorletzten Kapitel wird alles betrachtet und im letzten + erfolgt die Zusammenfassung und der 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 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/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex new file mode 100644 index 00000000000..5120b3e45ee --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex @@ -0,0 +1,35 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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\)\par + \(4.523,58\)\par + \commaswap{.} + \dotswap{\,} + \(4.523,58\)% +\endgroup + +\end{document} + diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex new file mode 100644 index 00000000000..7b3903a841d --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex @@ -0,0 +1,68 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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{_\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*} + +\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\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/Master/texmf-dist/source/latex/tudscr/doc/examples/notice.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/notice.tex new file mode 100644 index 00000000000..d82410e5e05 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/notice.tex @@ -0,0 +1,47 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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.12.2014} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\contactperson{% + Dagobert Duck\office{Dingens-Bau, Zimmer~08} + \emailaddress{dagobert.duck@tu-dresden.de}\telephone{+49 351 463-12345} +\and% + Mac Moneysac\office{Dingens-Bau, Zimmer~15} + \emailaddress{mac.moneysac@tu-dresden.de}\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 + 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 man diesen Effekt abschwächen könnte. Zusätzlich + sollen Methoden entwickelt werden, wie sich ein ähnlicher Vorgang zukünftig + vermeiden ließe. + \begin{center} + \medskip + \includegraphics[width=.7\linewidth]{DDC-21} + \renewcommand*{\figureformat}{\figurename} + \captionof{figure}{Thematisch passendes Bild} + \end{center} +}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/task.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/task.tex new file mode 100644 index 00000000000..4d355893e97 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/task.tex @@ -0,0 +1,47 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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.2.2015}\duedate{1.8.2015} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{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 man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/thesis.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/thesis.tex new file mode 100644 index 00000000000..cbdeac883b7 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/thesis.tex @@ -0,0 +1,34 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,BCOR=4mm]{tudscrreprt} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\date{16.12.2014} +\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/Master/texmf-dist/source/latex/tudscr/doc/examples/treatise-example.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/treatise-example.tex new file mode 100644 index 00000000000..af1f0733b44 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/treatise-example.tex @@ -0,0 +1,444 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrreprt} +\usepackage{babel} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{scrhack} +\usepackage{tudscrsupervisor} + +\AfterPackage*{hyperref}{% +\usepackage[% + automake,% +% mit Tex Live einfach verwendbar +% xindy={language=german-din}, + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar + translate=babel,% + nogroupskip,% + toc,% + section=chapter,% +]{glossaries} +\makeglossaries + +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% + }{% + \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*{\newsymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + description={},% + name={#3},% + 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}spread 0pt[l]{ccX<{\strut}l}% + }{% + \end{longtabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \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[colorlinks,linkcolor=blue]{hyperref} + +\usepackage{quoting} + +\usepackage[babel]{microtype} + +\usepackage{xfrac} + +\usepackage{enumitem} +\setlist[itemize]{noitemsep} + +\usepackage{isodate} + +\usepackage{ellipsis} +\let\ellipsispunctuation\relax + +\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 man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +} +\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äugig 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. + +\newsymbol{l}{Länge}{l}{m} +\newsymbol{m}{Masse}{m}{kg} +\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newsymbol{t}{Zeit}{t}{s} +\newsymbol{f}{Frequenz}{f}{s^{-1}} +\newsymbol{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 wir 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 geigneten +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 referenziereden 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} erstellt wird, +gesetzt wird. + +\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 dabie 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} +Eine andere Variante zum Setzen einer Tabelle mit variabler Spaltenbreite +und festgelegter Gesamtbreite ist in \autoref{tab:tabu} zu sehen. Diese +würde in der Umgebung \texttt{tabu} gesetzt. Auch für diese wird zuerst +ein neuer Spaltentyp definiert, welcher die Unzulänglichkeiten der +Umgebung reduziert. Außerdem wird \texttt{\textbackslash ttabbox} aus dem +Paket \texttt{floatrow} verwendet, um die Beschriftung auf die Breite der +Tabelle zu begrenzen. + +\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 gegebenfalls +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 man sieht, ist der zweite Absatz~-- wie jeder weitere~-- aufgrund + der Einstellung \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 acuh für einen selbst von +Vorteil sein, wenn man beispielsweise die originale Textpassage noch +einmal analysieren möchte. + +\printbibliography[heading=bibintoc]\label{sec:bibliography} + +\end{document} + diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex new file mode 100644 index 00000000000..2fc21272109 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex @@ -0,0 +1,950 @@ +\setchapterpreamble{% + \begin{abstract} + Zusätzlich zu den eigentlichen Hauptklassen werden im \TUDScript-Bundle + weitere Paket bereitgestellt. Diese werden im Folgenden vorgestellt.% + \end{abstract} +} +\chapter{Zusätzliche Pakete im \TUDScript-Bundle} +\section{Das Paket \Package{tudscrsupervisor} -- Studentische Betreuung} +\begin{Declaration*}{\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. + + +\subsection{Aufgabenstellung für eine wissenschaftliche Arbeit} +\begin{Declaration}{\Environment{task}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{\Key{\Environment{task}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aufgabenstellung|!(}% +% +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 + +Nach der Ausgabe des Inhaltes der Aufgabenstellung werden der oder die mit +\Macro{supervisor} definierten Betreuer aufgelistet. Dabei wird unter dem +jeweiligen Namen selbst der sprachabhängige Bezeichner (\Term{supervisorname}, +\Term{supervisorothername}) gesetzt. Darauf folgend erscheint das Ausgabedatum +(\Macro{issuedate}) und 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} + +\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}"=Umgebung gesetzt. Deshalb \emph{muss} jedem Stichpunkt +\Macro*{item} vorangestellt werden. +\index{Aufgabenstellung|!)}% +\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. +\end{Example} + +\Rename[macros]{v2.02}{\Macro{branch}}{\Macro{discipline}} +\begin{Declaration}{\Macro{course}\Parameter{Studiengang}} +\begin{Declaration}{\Macro{discipline}\Parameter{Studienrichtung}} +\printdeclarationlist% +\index{Kollaboratives Schreiben}% +% +Mit diesen beiden Befehlen kann der Studiengang sowie die Studienrichtung für +den Autor oder die Autoren angegeben werden. Diese Informationen werden zu +Beginn der \Environment{task}"=Umgebung gesetzten Tabelle ausgegeben. Werden +diese Befehle innerhalb des Makros \Macro{author} verwendet, können auch +unterschiedliche Angaben für mehrere Autoren gemacht werden. Dabei sind die +Autoren mit \Macro{and} voneinander zu trennen. +\end{Declaration} +\end{Declaration} + +\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. Ist das Paket +\Package{isodate} geladen, wird die damit eingestellte Formatierung des Datums +durch den Befehl \Macro{printdate} aus diesem Paket für \Macro{issuedate} und +\Macro{duedate} verwendet. +\end{Declaration} +\end{Declaration} + + +\subsection{Gutachten für wissenschaftliche Arbeiten} +\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% +\index{Gutachten|!(}% +% +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}{\Macro{evaluationform}\LParameter% + \Parameter{Aufgabe}\Parameter{Inhalt}\Parameter{Bewertung}\Parameter{Note}% +} +\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. +\index{Gutachten|!)}% +\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. +\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} kann dafür auch dieser global wirkende +Befehl verwendet werden. +\end{Declaration} + + +\subsection{Aushang} +\begin{Declaration}{\Environment{notice}[\OLParameter{Überschrift}]}{% + \Environment{tudpage}'auto'% +} +\begin{Declaration}{\Key{\Environment{notice}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aushang|!(}% +% +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 in der oberen rechten Ecke gesetzt. +Anschließend wird die Überschrift ausgegeben, welche für gewöhnlich dem Inhalt +von \Term{noticename} entspricht und mit \Key{\Environment{notice}}{headline} +geändert werden kann. Nach der Überschrift wird bereits der Inhalt der Umgebung +ausgegeben. Wurde mit \Macro{contactperson} ein oder mehrere Ansprechpartner +angegeben, werden diese Informationen am Ende der Umgebung ausgegeben. +\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 sollte für eine kurze Inhaltsbeschreibung +verwendet werden. Neben dem textuellen Teil sollte hier wenn möglich eine +thematisch passende Abbildung eingebunden werden (\Macro{includegraphics}). 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}"=Umgebung zum Einsatz, allen +Schwerpunkten muss ein \Macro*{item} vorangestellt werden. +\index{Aushang|!)}% +\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{Optionen}§]{§\PName{Datei}§} +}{% + \item Schwerpunkt 1 + \item Schwerpunkt 2 +} +\end{Code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:notice} verwiesen. +\end{Example} + +\Rename[macros]{v2.02}{\Macro{contact}}{\Macro{contactperson}} +\Rename[macros]{v2.02}{\Macro{phone}}{\Macro{telephone}} +\Rename[macros]{v2.02}{\Macro{email}}{\Macro{emailaddress}} +\begin{Declaration}{\Macro{contactperson}\Parameter{Kontaktperson(en)}} +\begin{Declaration}{\Macro{office}\Parameter{Dienstsitz}} +\begin{Declaration}{\Macro{telephone}\Parameter{Telefonnummer}} +\begin{Declaration}{\Macro{emailaddress}\Parameter{E-Mail-Adresse}} +\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 von \Macro{contactperson} der Dienstsitz +(\Macro{office}), die dienstliche Telefonnummer (\Macro{telephone}) sowie die +geschäftliche E"~Mail"=Adresse (\Macro{emailaddress}) angegeben werden. Sollte +das Paket \Package{hyperref} geladen werden, wird die gegebene E"~Mail"=Adresse +direkt in einen entsprechenden Link gewandelt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{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} + +\Rename[terms]{v2.02}{\Term{branchname}}{\Term{disciplinename}} +\begin{Declaration}{\Term{authorname}} +\begin{Declaration}{\Term{titlename}} +\begin{Declaration}{\Term{coursename}} +\begin{Declaration}{\Term{disciplinename}} +\printdeclarationlist% +% +Diese Bezeichner werden in der Tabelle mit den Autoreninformationen zu Beginn +der Aufgabenstellung verwendet. Dabei werden \Term{coursename} und +\Term{disciplinename} nur genutzt, wenn für mindestens einen Autor die Befehle +\Macro{course} und/oder \Macro{discipline} verwendet wurden. +\TermTable{authorname,titlename,coursename,disciplinename} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{issuedatetext}} +\begin{Declaration}{\Term{duedatetext}} +\printdeclarationlist% +% +Am Ende der Aufgabenstellung wird nach dem oder der Betreuer das Ausgabe- und +Abgabedatum (\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 Vorlagen für Aufgabenstellung (\Macro{taskform}) beziehungsweise 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 Gutachten (\Macro{evaluationform}) werden die +darin~-- zur strukturierter 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}] angegeben, so +wird diese innerhalb von \Term{gradetext} verwendet. +\grade{\PName{Note}} +\TermTable*{gradetext}{.7\textwidth} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{contactname}}{\Term{contactpersonname}} +\begin{Declaration}{\Term{noticename}} +\begin{Declaration}{\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{Declaration*} + + +\section{Das Paket \Package{tudscrcolor} -- Farben im \CD}% +\begin{Declaration*}{\Package{tudscrcolor}} +\index{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. + +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 über \Color*{HKS}\PName{Zahl} als auch über ein +Pseudonym \Color*{cd}\PName{Farbe} angesprochen werden. Diese werden in diesem +\autorefname dokumentiert und dargestellt. +% +\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 \Color*{HKS44}\PValue{!20} angegeben +werden. Dies wird hier exemplarisch mit dieser \colorbox{HKS44!20}{% + Box \Macro*{colorbox}\PParameter{HKS44!20}\PParameter{Box}% +} 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}\PValue{!30} gehalten. Der Kapitelseitenhintergrund +erscheint in \Color*{HKS41}\PValue{!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{Option}\PParameter{xcolor} gefolgt von + \Macro*{documentclass}\OParameter{Klassenoptionen}\PParameter{tudscr\dots} +} oder es wird \Package{tudscrcolor} mit der entsprechenden Option geladen.% +\footnote{ + \Macro*{usepackage}\OParameter{Option}\PParameter{\Package{tudscrcolor}}; + \Package{tudscrcolor} reicht \PName{Option} 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=25mm% + }]% + \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{Primäre Hausfarbe} +\begin{Declaration}{\Color{HKS41}[cddarkblue]} +\printdeclarationlist% +\cdcolor[6]{41} +\end{Declaration} + + +\subsection{Sekundäre Hausfarbe (Geschäftsausstattung)} +\begin{Declaration}{\Color{HKS92}[cdgray]} +\printdeclarationlist% +\cdcolor[4]{92} +\end{Declaration} + + +\subsection{Auszeichnungsfarbe 1.Kategorie} +\begin{Declaration}{\Color{HKS44}[cdblue]} +\printdeclarationlist% +\cdcolor[4]{44} +\end{Declaration} + + +\subsection{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\baselineskipglue +\cdcolor[4]{33}\vskip\baselineskipglue +\cdcolor[2]{57}\vskip\baselineskipglue +\cdcolor{65} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{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{full}} +\printdeclarationlist% +% +In den letzten Jahren sind viele verschiedene Klassen und Pakete für das \CD +der \TnUD entstanden. Innerhalb dieser existieren abweichende Farbdefinitionen. +Um eine Migration von anderen Klassen und Paketen auf \TUDScript zu +ermöglichen, existiert die Paketoption \Option{full}. Wird diese aktiviert, so +werden zusätzlich weitere Farben nach dem Schema \Color*{HKS41K}\PName{Zahl} +und \Color*{HKS41-}\PName{Zahl} bereitgestellt, 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} + +\bigskip\noindent +\Attention{% + Beachten Sie, dass die Darstellung der Farben im jeweiligen Farbmodus + (\PValue{CMYK} oder \PValue{RGB}) je nach verwendeter Bildschirm- Drucker- + und Softwarekonfiguration verschieden ausfallen kann. Die verwendeten + RGB-Werte entstammen aus dem Handbuch zum \CD und sind lediglich + Näherungswerte. Abweichungen vom gedruckten \Color*{HKS}-Farbregister und + selbst ermittelten Werten sind technisch nicht zu vermeiden. +} +\end{Declaration*} + + + +\section{Das Paket \Package{tudscrfonts} -- Schriften im \CD} +\begin{Declaration*}[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 in \fullref{sec:fonts} beschriebenen Optionen und Befehle. Die +nutzbaren Paketoptionen sind für den Fließtext \Option{cdfont}~-- ohne die +Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{barfont})~-- und +für die mathematischen Schriften \Option{sansmath} sowie \Option{slantedgreek}. +Da von \Package{tudscrfonts} intern das Paket \Package{tudscrbase} geladen +wird, können diese entweder als Paketoptionen im optionalen Argument von +\Macro*{usepackage}\OParameter{Paketoption}\PParameter{\Package{tudscrfonts}} +oder direkt als Klassenoption angegeben werden. Zusätzlich ist nach dem Laden +des Paketes die späte Optionenwahl mit \Macro{TUDoption} beziehungsweise +\Macro{TUDoptions} möglich. + +Des Weiteren wird das Paket \Package{textcase} geladen, welches die Befehle +\Macro{MakeTextUppercase} und \Macro{NoCaseChange} zur Verfügung stellt. Der +Befehl \Macro{ifdin} wird ebenso wie die in \autoref{sec:fonts} beschriebenen +Textschalter und "~kommandos sowie die Befehle für die griechischen Buchstaben +bereitgestellt. + +Prinzipiell kann das Paket \Package{tudscrfonts} mit jeder beliebigen +\hologo{LaTeXe}-Klasse verwendet werden. Sollen allerdings die Überschriften~-- +wie im \CD vorgesehen~-- in Majuskeln der \DIN gesetzt werden, muss der +Anwender dies für die jeweilige Klasse selbst umsetzen. Dafür sei noch einmal +auf die Textauswahlbefehle \Macro{textdbn} und \Macro{dinbn} sowie den Befehl +\Macro{MakeTextUppercase} zur automatisierten Großschreibung hingewiesen. + +Das Paket \Package{tudscrfonts} ist insbesondere für die Verwendung zusammen +mit den Klassen \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, +\Class{tudfax}, \Class{tudhaus} sowie \Class{tudform} vorgesehen. Die +Schriftinstallation für das \TUDScript-Bundle unterscheidet sich von der für +die gerade genannten Klassen sehr stark. Dabei wurde auch die Bezeichnung der +Schriftfamilien geändert. Dies hatte zwei Gründe, wobei der letztere der +entscheidende ist: +% +\begin{enumerate} +\item + Die bisherige Schriftbenennung entsprach nicht dem offiziellen + \hrfn{http://mirrors.ctan.org/info/fontname/fontname.pdf}% + {\hologo{TeX}-Namensschema} +\item + Bei der Installation für das \TUDScript-Bundle werden sowohl die Metriken + als auch das Kerning der Schriften für Fließtext und den Mathematikmodus + angepasst, was das Ergebnis der erzeugten Ausgabe beeinflusst. Damit jedoch + Dokumente, die mit den Klassen von Klaus Bergmann erstellt wurden, weiterhin + genauso ausgegeben werden wie bisher, mussten die Schriftfamilien einen neuen + Namen erhalten. +\end{enumerate} +% +Wird nun das Paket \Package{tudscrfonts} zusammen mit den alten Klassen von +Klaus Bergmann verwendet hat dies den Vorteil, dass auch in diesen das +angepasste Kerning der Schriften sowie der stark verbesserte Mathematiksatz zum +Tragen kommen. Außerdem kann bei der Verwendung von \Package{tudscrfonts} auf +eine Installation der Schriften des \CDs in der alten Variante verzichtet +werden. +\Attention{% + In diesem Fall kann sich das Ausgabeergebnis im Vergleich zu der Varianten + mit den alten Schriften ändern. Alternativ zur Verwendung des Paketes + \Package{tudscrfonts} können die alten Schriftfamilien auch parallel zu den + neuen installiert werden. Hierfür werden die Skripte + \hrfn{https://github.com/tud-cd/tudscrold/releases/download/fonts/tudfonts_install.bat}{\File{tudfonts\_install.bat}} + beziehungsweise + \hrfn{https://github.com/tud-cd/tudscrold/releases/download/fonts/tudfonts_install.sh}{\File{tudfonts\_install.sh}} + bereitgestellt. +} +\end{Declaration*} + + + +\section{Das Paket \Package{tudscrcomp} -- Kompatibilität alter Klassen} +\begin{Declaration*}{\Package{tudscrcomp}} +\index{Version!v1.0|(}% +\index{Kompatibilität!Version v1.0|(}% +\index{Kompatibilität!\Class{tudbook}|(}% +% +\noindent\Attention{% + Sollten Sie die \Class{tudbook}-Klasse oder \TUDScript in der 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 bildete die Klasse \Class{tudbook} +die Basis. Ziel war es, sämtliche Funktionalitäten dieser 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. Einige der Optionen und Befehle waren jedoch +bereits in der \TUDScript-Version~v1.0 Relikte, um die Kompatibilität zur +\Class{tudbook}-Klasse zu gewährleisten. Mit der Version~v2.00 wurden einige +aus Gründen der Konsistenz lediglich 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 alten Dokumenten, die +entweder mit der \Class{tudbook}-Klasse oder mit der Version~v1.0 erstellt +wurden, auf \TUDScript~\vTUDScript. Es werden einige Optionen und Befehle +bereitgestellt, welche von den alten Klassen definiert wurden und das +entsprechende Verhalten nachahmen. Damit soll die Kompatibilität bei der +Änderung der Dokumentklasse sichergestellt werden. Die Intention ist, alte +Dokumente möglichst schnell und einfach auf die \TUDScript-Klassen portieren zu +können. Des Weiteren ist beschrieben, wie sich die Funktionalität ohne die +Verwendung des Paketes 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 die neuen Befehle zu nutzen. + +\begin{Declaration}{\Option{serifmath}}{% + identisch zu \Option{sansmath}[false]% +} +\printdeclarationlist% +% +Die Funktionalität wird durch die Option \Option{sansmath} bereitgestellt. +\end{Declaration} + +\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{einrichtung}\Parameter{Fakultät}}{% + identisch zu \Macro{faculty} +} +\begin{Declaration}{\Macro{fachrichtung}\Parameter{Einrichtung}}{% + identisch zu \Macro{department} +} +\begin{Declaration}{\Macro{institut}\Parameter{Institut}}{% + identisch zu \Macro{institute} +} +\begin{Declaration}{\Macro{professur}\Parameter{Lehrstuhl}}{% + identisch zu \Macro{chair} +} +\printdeclarationlist% +% +Dies sind die deutschsprachigen Befehle für den Kopf im \CD. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{moreauthor}\Parameter{Autorenzusatz}}{% + identisch zu \Macro{authormore}% +} +\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 die Verwendung der Befehle +\Macro{dateofbirth}, \Macro{placeofbirth}, \Macro{matriculationnumber} und +\Macro{matriculationyear} sowie für die Aufgabenstellung einer +wissenschaftlichen Arbeit \Macro{course} und \Macro{discipline} aus dem Paket +\Package{tudscrsupervisor}. +\end{Declaration} + +\begin{Declaration}{\Macro{submitdate}\Parameter{Datum}}{% + identisch zu \Macro{date}% +} +\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 alten Befehle entfernt die Abhängigkeit der Bezeichner von der +verwendeten Sprache. +\end{Declaration} +\end{Declaration} +\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}{\Option{ddcfooter}}{% + identisch zu \Option{ddcfoot}[true]% +} +\printdeclarationlist% +% +Die Funktionalität wird durch die Option \Option{ddcfoot} bereitgestellt. +\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 Ä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{Version!v1.0|)} +\index{Kompatibilität!Version v1.0|)} +\index{Kompatibilität!\Class{tudbook}|)} +\end{Declaration*} + + + +\section{Das Paket \Package{mathswap}} +\begin{Declaration*}{\Package{mathswap}} +\index{Trennzeichen}\index{Mathematiksatz}% +\index{Trennzeichen!Dezimaltrennzeichen}% +\index{Trennzeichen!Tausendertrennzeichen}% +% +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:exmpl:mathswap} 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!\Package{mathswap}: 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} +\end{Declaration*} + + + +\section{Das Paket \Package{twocolfix}} +\begin{Declaration*}{\Package{twocolfix}} +\index{Zweispaltensatz|?}% +% +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 noch nicht in \Package{fixltx2e} +ü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{Declaration*} + + + +\addsec*{Zukünftige Arbeiten} +Diese Dinge sollen langfristig in das \TUDScript-Bundle eingearbeitet werden. + + +%\chapter[Die Briefklasse \Class*{tudscrlttr}]{Die Briefklasse} +%\begin{Declaration*}{\Class{tudscrlttr}} +\subsection*{\Class*{tudscrlttr} auf Basis von \Class*{scrlttr2}} +\ToDo[imp,nxt]{Klasse \Class*{tudscrlttr}}[v2.x] +Es soll die Klasse +% +\begin{description} + \item \Class*{tudscrlttr} +\end{description} +% +für Briefe im \CD der \TnUD entstehen. Auch Vorlagen für Fax und +Hausmitteilungen sollen dabei abfallen. +%\end{Declaration*} + + + +%\section{Das Paket \Package{tudscrposter} -- Poster im \CD}% +%\begin{Declaration*}{\Package{tudscrposter}} +\subsection*{Das Paket \Package*{tudscrposter}} +\ToDo[imp,nxt]{% + Paket \Package*{tudscrposter} als Ersatz für \Class{tudmathposter}% +}[v2.x] +Die Funktionalität der Klasse \Class{tudmathposter} soll in ein eigenständiges +Paket mit dem Namen \Package*{tudscrposter}(tudscr) o.\,ä. überführt werden. +%\end{Declaration*} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex new file mode 100644 index 00000000000..4407168e698 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex @@ -0,0 +1,117 @@ +\setchapterpreamble{% + \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. Des Weiteren werden + weiterführende und kommentierte 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{Minimalbeispiele und Tutorials} +\label{sec:exmpl} +\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} +\label{sec:exmpl:dissertation} +\index{Minimalbeispiel!Dissertation} +Eine Abschlussarbeit oder ähnliches könnte wie hier gezeigt begonnen werden. +\IncludeExample{dissertation} + +\section{Abschlussarbeit (kollaborativ)} +\label{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} + +\section{Aufgabenstellung (kollaborativ)} +\label{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} +\label{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} +\label{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} +\index{Minimalbeispiel|)} + +\section{Vorlage für eine wissenschaftlichen Arbeit} +\label{sec:exmpl:treatise} +\index{Tutorial|(} +\index{Tutorial!Abschlussarbeit} +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. + +\section{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} +\label{sec:exmpl:mathtype} +\index{Tutorial!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 typographisch +sauberer Mathematiksatz zu bewerkstelligen ist. + +\section{Änderung der Trennzeichen im Mathematikmodus} +\label{sec:exmpl:mathswap} +\index{Tutorial!Trennzeichen Mathematikmodus} +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{Tutorial|)} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex new file mode 100644 index 00000000000..1a8d3cac5a9 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex @@ -0,0 +1,816 @@ +\newcommand*\TaT{\hyperref[sec:tips]{Tipps \& Tricks}} +\chapter{Praktische Tipps \& Tricks} +\manualhyperdef{sec:tips}% +\section{\NoCaseChange{\hologo{LaTeX}}-Editoren} +\label{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. Egal, für welchen Editor man sich letztendlich +entscheidet, 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{https://github.com/tud-cd/tudscr/releases/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 \TUDScript verwenden, so werden dafür +spezielle Layout-Dateien benötigt, um die Klassendateien verwenden zu können. +Diese sind zusammen mit einem exemplarischen \hologo{LyX}-Dokument als Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/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.0\textbackslash{}Resources\textbackslash{}layouts} +beziehungsweise bei unixoiden Betriebssystemen \Path{/usr/share/lyx/layouts}. + + + +\section{Literaturverwaltung in \NoCaseChange{\hologo{LaTeX}}} +\ChangedAt{v2.02!\TaT: Literaturverwaltung} +% +Die simpelste Variante, eine Literaturdatenbank in \hologo{LaTeX} zu verwalten, +ist dies mit dem verwendeten \hologo{LaTeX}-Editors manuell zu erledigen. Dies +ist allerdings nicht sonderlich komfortabel. Einfacher ist es, dies mit einer +darauf spezialisierten Anwendung zu bewerkstelligen. Für die Referenzverwaltung +in \hologo{LaTeX} gibt es dafür zwei sehr gute Programme +% +\begin{itemize} +\item \Application{Citavi} +\item \Application{JabRef} +\end{itemize} +% +Das Programm \Application{Citavi} ermöglicht den Import von bibliographischen +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 +.bib-Dateien sehr 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} +\manualhyperdef'{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 für 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. + +Das Paket \Package{hyphsubst} muss bereits \emph{vor} der Dokumentklasse selbst +geladen werden. Außerdem wird das Paket \Package{babel} benötigt. Damit auch +Wörter mit Umlauten richtig getrennt werden, ist zusätzlich die Verwendung des +Paketes \Package{fontenc} mit der \PValue{T1}"~Schriftkodierung erforderlich. +Der Beginn einer Dokumentpräambel könnte folgendermaßen aussehen: +% +\begin{quoting}[rightmargin=0pt] +\begin{Code}[escapechar=§] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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 \CDs der \TnUD 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\baselineskipglue\noindent +\begin{tabular}{@{}ll} +\textbf{Beschreibung} & \textbf{Befehl}\tabularnewline +ausschließliche Trennstellen & \PValue{\bsc-}\tabularnewline +zusätzliche Trennstellen & \PValue{"'-}\tabularnewline +Umbruch ohne Trennstrich & \PValue{"'"'}\tabularnewline +Bindestrich ohne Umbruch & \PValue{"'\textasciitilde}\tabularnewline +Bindestrich, der weitere Trennstellen erlaubt & \PValue{"'=}\tabularnewline +\end{tabular} + + + +\section{Lokale Änderungen von Befehlen und Einstellungen} +\index{Gruppierungen} +% +\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 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 ein bestimmtes \emph{Wort} hervorgehoben. + +\begingroup +\renewcommand*\emph[1]{\textbf{#1}}% +In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. +\endgroup + +In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. +\end{Code} +\end{Example} +Eine Gruppierung kann entweder mit \Macro*{begingroup} und \Macro*{endgroup} +oder einfach mit einem geschweiften Klammerpaar \texttt{\{\dots\}} definiert +werden. + + + +\section{Bezeichnungen der Gliederungsebenen durch \Package{hyperref}} +\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} 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. Bei der 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 man den entsprechende Bezeichner anpassen. +% +\begin{Example} +Bezeichnungen von Gliederungsebenen können folgendermaßen verändert werden. +\begin{Code} +\renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} +\renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} +\renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt} +\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 werden. Ist dies der Fall, +können die Zählern \Counter{biburlnumpenalty}, \Counter{biburlucpenalty} und +\Counter{biburllcpenalty} erhöht werden. Die möglichen Werte liegen zwischen 0 +und 10000, wobei es bei höheren Werte der Zähler zu mehr URL-Umbrüchen an +Ziffern (\Counter{biburlnumpenalty}), Groß- (\Counter{biburlucpenalty}) und +Kleinbuchstaben (\Counter{biburllcpenalty}) kommt. Genaueres hierzu ist der +Dokumentation des \Package{biblatex}"=Paketes zu entnehmen. + + + +\section{Zeilenabstände in Überschriften} +\label{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}} der +Zeilenabstand aller Überschriften auf einzeilig zurückgeschaltet werden. Soll +dies nur für eine bestimmte Gliederungsebene erfolgen, so ist +\PParameter{disposition} durch das entsprechende Schriftelement zu ersetzen. + + + +\section{Warnung wegen zu geringer Höhe der Kopf-/Fußzeile} +\label{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} 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}% +\manualhyperdef'{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}\Macro{tabcolsep} +eingefügt.% +\footnote{% + Der Abstand zweier Spalten beträgt folglich \PValue{2}\Macro{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 durch den Anwender 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~\PValue{@\{\}} an den +entsprechenden Stellen 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} +Verwendet man~-- wie es aus typographischer Sicht zumeist sinnvoll ist~-- +Einzüge und keine vertikalen Abstände zur Auszeichnung von Absätzen im Dokument +(\Option{parskip}[false]), kann es vorkommen, dass ein bestimmter Absatz~-- +beispielsweise der nach einer gewissen Umgebung folgende~-- ungewollt +eingerückt ist. Dies kann sehr einfach behoben werden, indem direkt zu Beginn +des Absatzes das Makro \Macro{noindent} verwendet wird. Möchte man das für +bestimmte Umgebungen oder Befehle automatisiert gestalten, ist das Paket +\Package{noindentafter} zu empfehlen. + + + +\section{Unterbinden des Zurücksetzens von Fußnoten}% +\label{sec:tips:counter} +\index{Fußnoten} +Oft taucht die Frage auf, wie man auch über Kapitel fortlaufende Fußnoten +erhalten kann. Dies ist sehr einfach mit dem Paket \Package{chngcntr} möglich. +Nach dem Laden des Paketes, kann das Rücksetzen des Zählers nach einem Kapitel +mit \Macro{counterwithout*}\PParameter{footnote}\PParameter{chapter} +deaktiviert werden. Auch andere \hologo{LaTeX}-Zähler~-- wie beispielsweise der +bereits vorgestellte \Counter{symbolheadings}~-- lassen sich mit diesem +Paket manipulieren. + + + +\section{Setzen von Einheiten mit \Package{siunitx}} +\label{sec:tips:siunitx} +\index{Einheiten} +Wenn \Package{siunitx} in einem deutschsprachigen Dokument genutzt soll +werden, muss zumindest mit \Macro{sisetup}\PParameter{locale = DE} die +richtige Lokalisierung 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{Warnung beim Erzeugen des Inhaltsverzeichnisses} +\index{Inhaltsverzeichnis}% +% +\ChangedAt{v2.02!\TaT: Warnung beim Erzeugen des Inhaltsverzeichnisses} +% +Erstellt man ein Inhaltsverzeichnis für ein Dokument mit einer dreistelligen +Seitenanzahl, so erhält man bei der Verwendung von \Macro{tableofcontents} +viele Warnungen mit der Meldung: +% +\begin{quoting} +\begin{Code} +overfull \hbox +\end{Code} +\end{quoting} +% +Das liegt daran, dass die Seitenzahl in einer Box mit der Breite +\Macro*{@pnumwidth} gesetzt wird. Der hierfür standardmäßig verwendete Wert +von~\PValue{1.55em} ist in diesem Fall zu klein. Dieser kann folgendermaßen +geändert werden: +% +\begin{quoting} +\begin{Code} +\makeatletter +\renewcommand*\@pnumwidth{1.7em} +\makeatother +\end{Code} +\end{quoting} +% +Dabei sollte der eingesetzte Wert nicht zu groß ausfallen. + + + +\section{Leer- und Satzzeichen nach \NoCaseChange{\hologo{LaTeX}}-Befehlen}% +\label{sec:tips:xspace} +\index{Typographie} +% +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} 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{Das Setzen von Auslassungspunkten} +\manualhyperdef{sec:tips:dots} +\index{Typographie} +% +\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 ([\dots{}]) setzen zu können, wie sie für das Kürzen von wörtlichen +Zitaten häufig verwendet werden. + + + +\section{Finden von unbekannten \NoCaseChange{\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. +Allerdings ist das Auffinden eines speziellen Symbols nicht sehr komfortabel. +Alternativ kann \hrfn{http://detexify.kirelabs.org/classify.html}{Detexify} +verwendet werden. Auf dieser Web-Seite wird das gesuchte Symbol einfach +gezeichnet, die dazu ähnlichsten werden zurückgegeben. + + + +\section{Warnung bei der Verwendung von \Package{multicol}} +% +\ChangedAt{v2.02!\TaT: Warnung bei der Verwendung von \Package{multicol}} +% +Das einzig momentan bekannte Problem der \TUDScript"=Klasse tritt in Verbindung +mit dem Paket \Package{multicol}|?| auf. Dieses greift~-- ähnlich zu dem für +die Seitenstile verwendeten Paket \Package{scrlayer-scrpage}~-- sehr stark in +die Ausgaberoutine von \hologo{LaTeXe} ein. Bei Spaltenumbrüchen innerhalb der +\Environment{multicols}"=Umgebung kommt es sehr häufig zu folgender Warnung: +% +\begin{quoting} +\begin{Code} +Underfull \hbox (badness 10000) has occurred while \output is active +\end{Code} +\end{quoting} +% +Wird \Package{scrlayer-scrpage} nicht verwendet, unterbleibt die Warnung. Beide +Pakete haben in der Kombination miteinander augenscheinlich ein Problem. Die +Autoren der beiden Pakete wurden über dieses Problem informiert, signalisierten +jedoch verständlicherweise wenig Bereitschaft, der Ursache auf den Grund zu +gehen. Leider kann für die \TUDScript-Klassen auf \Package{scrlayer-scrpage} +nicht verzichtet werden, es ist von essentieller Bedeutung für die Seitenstile +im \CD der \TnUD. Am Ausgabeergebnis ändert sich nichts. Im Zweifelsfall werden +jedoch eine Menge bedeutungsloser Warnungen generiert. + +Es gibt allerdings eine Möglichkeit, diese zu unterdrücken. Hierfür wird auf +die Funktionalitäten von \Package{etoolbox} zurückgegriffen, was ohnehin von +den \TUDScript-Klassen geladen wird. In der Präambel kann folgender Quelltext +verwendet werden: +% +\begin{quoting} +\begin{Code} +\makeatletter +\apptocmd{\prepare@multicols}{\hbadness10000}{}{} +\makeatother +\end{Code} +\end{quoting} +% +Dadurch werden die durch \hologo{LaTeXe} generierten Warnungen innerhalb der +\Environment{multicols}"=Umgebung deaktiviert. Es muss dabei beachtet werden, +dass dies für alle Boxen~-- und nicht nur jene beim Spaltenumbruch~-- gilt. + + + +\section{Fehlermeldung: ! No room for a new \textbackslash 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}-Kern 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 in \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. + + + +\section{Änderung des Papierformates} +\index{Papierformat} +Es kann vorkommen, dass man innerhalb eines Dokumentes kurzzeitig das +Papierformat ändern möchte, um beispielsweise eine Konstruktionsskizze in der +digitalen PDF"~Datei einzubinden. Dabei ist es sowohl möglich, lediglich die +Ausrichtung mit \Option{paper}[landscape] 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 das Papierformat mit den +Mitteln von \KOMAScript{} geändert werden kann. +\begin{Code} +\documentclass[paper=a4,pagesize]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\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{Platzierung von Gleitobjekten} +\manualhyperdef'{sec:tips:floats}{}% +\index{Gleitobjekte|?}% +% +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{Befehl}\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 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 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 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 Text, der auf einer Seite mit Gleitobjekten +vorhanden sein muss, wenn diese nicht auf einer eigenen Seite ausgegeben +werden. Er sollte im Bereich von~\PValue{0.1\dots 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}), am oberen (\Counter{topnumber}) und +am unteren Rand der Seite (\Counter{bottomnumber}) sowie im Zweispaltensatz +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 kann man dafür +schreiben: +\begin{Code} +\makeatletter +\setlength{\@fptop}{0pt} +\setlength{\@dblfptop}{0pt} % twocolumn +\makeatother +\end{Code} +\end{Example} + + + +\section{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } +\manualhyperdef'{sec:tips:svg}% +\index{Grafiken}% +% +In \hrfn{http://www.ctan.org/pkg/svg-inkscape}{\Package{svg-inkscape}} wird das +automatisierte Einbinden von \Application{Inkscape}-Grafiken in ein +\hologo{LaTeX}"=Dokument erläutert. Hier wird ein daraus abgeleiteter und +verbesserter Ansatz vorgestellt. Nutzer von unixartigen Systemen können +alternativ auch das Paket \Package{svg} nutzen, welches den folgend erläuterten +Befehl \Macro{includesvg} definiert. + +Die mit \Application{Inkscape} erstellte Grafik soll automatisch kompiliert und +eingebunden werden. Dies soll allerdings nicht bei jeder Kompilierung des +Hauptdokumentes erfolgen, sondern lediglich, wenn die originale Bilddatei +geändert beziehungsweise aktualisiert wurde. Hierfür wird \Package{filemod} +verwendet. Die automatisierte Übersetzung einer Grafik im SVG"~Format in eine +PDF"~Datei und die daran anschließende Einbindung dieser in das Dokument ist +mit der Definition von \Macro{includesvg}\OParameter{Breite}\Parameter{Datei} +in der Präambel des Dokumentes wie folgt möglich: +% +\manualhyperdef{macros:includesvg}% +\begin{quoting} +\begin{Code}[escapechar=§] +\usepackage{filemod} +\newcommand*{\includesvg}[2][\textwidth]{% + \def\svgwidth{#1} + \filemodCmp{#2.pdf}{#2.svg}{}{% + \immediate\write18{% + inkscape -z -D --file=#2.svg --export-pdf=#2.pdf --export-latex + }% + }% + \input{#2.pdf_tex}% +} +\end{Code} +\end{quoting} +% +Mit \Macro*{immediate}\Macro*{write18}\Parameter{externer Aufruf} wird das +zwischenzeitliche Ausführen eines externen Programms beim Durchlauf von +\hologo{pdfLaTeX}~-- in diesem Fall von \File{inkscape.exe}~-- möglich. Damit +der externe Aufruf auch tatsächlich durchgeführt wird, muss \hologo{pdfLaTeX} +mit der Option \Path{-{}-shell-escape} ausgeführt werden. Außerdem muss der +Pfad zur Datei \File{inkscape.exe} dem System bekannt sein.% +\footnote{% + Genauer gesagt, muss der Pfad zu \File{inkscape.exe} in der + \texttt{PATH}-Variable des Betriebssystems enthalten sein. +} +Bei der Verwendung des Befehls \Macro{includesvg} \emph{muss} der Dateiname +ohne Endung angegeben werden. Die einzubindende SVG"~Datei sollte sich hierbei +im gleichen Pfad wie das Hauptdokument befinden. Ist die SVG"~Datei in einem +Unterordner relativ zum Pfad des Hauptdokumentes, kann dieser einfach mit +\Macro{includesvg}\PParameter{\PName{Ordner}/\PName{Datei}} im Argument +angegeben werden. + + + +\section{Probleme bei der Verwendung von \Package{auto-pst-pdf}} +\manualhyperdef'{sec:tips:auto-pst-pdf} +% +\ChangedAt{v2.02!\TaT: Hinweise zu \Package{auto-pst-pdf}} +% +Bei der Verwendung von \hologo{pdfLaTeX} liest das Paket \Package{auto-pst-pdf} +die Präambel ein und erstellt anschließend über den PostScript"=Pfad +\Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf} eine PDF-Datei, +welche lediglich alle in den vorhandenen \Environment{pspicture}"=Umgebungen +erstellten Grafiken enthält. +Das Paket \Package{ifpdf} +stellt das Makro \Macro{ifpdf} bereit, mit welchem unterschieden werden kann, +ob \hologo{pdfLaTeX} als Dokumentprozessor 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. Anschließend wird dieser +ausgegeben. 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. Verwendet man folgenden Quelltextauszug in der +Dokumentpräambel, kann man die \Package{floatrow}-Befehle auch in Verbindung +mit der \Environment{pspicture}"=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}(pgf)~-- und auch allen anderen Paketen die +selbiges nutzen wie beispielsweise \Package{todonotes}~-- gibt es in Verbindung +mit \Package{auto-pst-pdf} ebenfalls Probleme. Dies lässt sich lösen, indem man +diese Pakete lediglich in der Präambel einbindet, wenn \hologo{pdfLaTeX} aktiv +ist. +% +\begin{quoting}[rightmargin=0pt] +\begin{Code} +\ifpdf + \usepackage{tikz}%\dots gegebenenfalls weitere auf tikz basierende Pakete +\fi +\end{Code} +\end{quoting} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex new file mode 100644 index 00000000000..d8a2348d1cd --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex @@ -0,0 +1,77 @@ +\Index{Optionen}{options}% +\Index{Befehle}[Befehle etc.]{macros}% +\Index{Makro}[Befehle etc.]{macros}% +\Index{Umgebungen}[Befehle etc.]{macros}% +\Index{Befehle!Parameter}[Parameter]{keys}% +\Index{Umgebungen!Parameter}[Parameter]{keys}% +\Index{Parameter}{keys}% +\Index{Bezeichner}{terms}% +\Index{Schriftelemente}{fonts}% +\Index{Farben}{colors}% +\Index{Klassen}[Dateien etc.]{files}% +\Index{Pakete}[Dateien etc.]{files}% +\Index{Dateien}[Dateien etc.]{files}% +\Changelog{Änderungen} +\Changelog{Changelog} +\Changelog{Version} +\index{Abbildungen|see{Grafiken}}% +\index{Aktualisierung|see{Update}}% +\index{Aufzählungen|see{Listen}}% +\index{Cover|see{Umschlagseite}}% +\index{Dezimaltrennzeichen|see{Trennzeichen}}% +\index{Distribution!Mac\hologo{TeX}|see{Mac\hologoRobust{TeX}~{\idxfont(Distribution)}}} +\index{Distribution!\hologo{TeX}~Live|see{\hologoRobust{TeX}~Live~{\idxfont(Distribution)}}} +\index{Distribution!\hologo{MiKTeX}|see{\hologoRobust{MiKTeX}~{\idxfont(Distribution)}}} +\index{Fachreferent|see{Referent}}% +\index{Farbraum|see{Farben!Farbmodell}}% +\index{Grafiken!Beschriftung|see{Gleitobjekte}} +\index{Großbuchstaben|see{Schriftauszeichnung}}% +\index{Klassenoptionen|see{Optionen}}% +\index{Kleinbuchstaben|see{Schriftauszeichnung}}% +\index{Kurzfassung|see{Zusammenfassung}}% +\index{Lokalisierung|see{Bezeichner}}% +\index{Majuskeln|see{Schriftauszeichnung}}% +\index{Mathematiksatz!Einheiten|see{Einheiten}} +\index{Mathematiksatz!Trennzeichen|see{Trennzeichen}} +\index{Minuskeln|see{Schriftauszeichnung}}% +\index{Outline-Eintrag|see{Lesezeichen}}% +\index{Professor|see{Hochschullehrer}}% +\index{Seitenränder|see{Satzspiegel}} +\index{Silbentrennung|see{Worttrennung}}% +\index{Sprachunterstützung!Lokalisierung|see{Bezeichner}}% +\index{Sprachunterstützung!Worttrennung|see{Worttrennung}}% +\index{Sprungmarken|see{Lesezeichen}} +\index{Tabellen!Beschriftung|see{Gleitobjekte}} +\index{Tausendertrennzeichen|see{Trennzeichen}}% +\index{Trennmuster|see{Worttrennung}}% +\index{Vakatseiten|see{Leerseiten}}% +\index{Vektorgrafiken|see{Grafiken}}% +\setchapterpreamble{% + \begin{abstract} + \noindent Die Formatierung der Einträge in allen aufgeführten Indizes 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} + beziehungsweise für \hyperref[idx:macros]{Umgebungen und Befehle}, zu denen + keine direkte \textbf{Erklärung} gegeben ist sondern lediglich zusätzliche + Hinweise vorhanden sind, handelt es sich um \KOMAScript"=Optionen. Diese + sind gegebenenfalls im dazugehörigen Handbuch nachzulesen + (\scrguide*). + \end{abstract} +} +\addchap*{\indexname} +\addxcontentsline{toc}{part}{\indexname} +\PrintIndexPrologue{% + Die aufgelisteten Schlagworte sollen sowohl Antworten bei generellen Fragen + als auch Lösungen für typische Probleme beim Umgang mit \hologo{LaTeXe} sowie + dem \TUDScript-Bundle liefern. +% Falls ein gesuchter Begriff hier nicht auftaucht, ist das Forum erster +% Anlaufpunkt. +} +\PrintIndex +\PrintChangelog diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex new file mode 100644 index 00000000000..36de3d01b56 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex @@ -0,0 +1,292 @@ +\chapter{Weiterführende Installationshinweise} +\label{sec:install:ext} +% +\noindent\Attention{% + Im Folgenden werden unterschiedliche Varianten erläutert, wie die jeweils + aktuelle Version von \TUDScript genutzt werden kann, falls bereits eine + frühere Variante \textbf{lokal} installiert ist. Unabhängig davon, für welche + Möglichkeit Sie sich entscheiden, ist eine abermalige Installation der + PostScript"=Schriften für eine fehlerfreie Verwendung von \TUDScript zwingend + notwendig, wenn Sie bisher \TUDScript vor der Version~v2.02 verwendet haben. + Das liegt daran, dass der Installationsprozess der Schriften des \CDs für die + Version~v2.02 nochmals angepasst werden musste. Dieser Schritt ließ sich + leider nicht vermeiden. Für zukünftige Versionen kann darauf hoffentlich + verzichtet werden, sodass Aktualisierungen ausschließlich über CTAN + eingespielt werden können. Die Installation der PostScript"=Schriften ist in + \autoref{sec:install} beschrieben. +} + +\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 mehr oder weniger genau einen 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 eine 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 Anwender, welche das Forum relativ wenig oder gar +nicht besuchen, den großen Nachteil, dass diese nicht von Aktualisierungen, +Verbesserungen und Fehlerkorrekturen neuer Versionen profitieren können. Auch +sämtliche nachfolgenden Bugfixes und Aktualisierungen des \TUDScript-Bundles +müssen durch den Anwender manuell durchgeführt werden. Daher wird in Zukunft +die Verbreitung via \hrfn{http://www.ctan.org/pkg/tudscr}{CTAN} präferiert, so +dass \TUDScript stets in der 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 +über das \hrfn{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} +und die anschließende Bereitstellung durch die verwendete Distribution für +gewöhnlich mehrere Tage 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, die \TUDScript in der Version~v2.01 oder älter nutzen +und sich nicht \emph{bewusst} für eine lokale Nutzerinstallation entschieden +haben, empfohlen, diese zu deinstallieren. Der Prozess der Deinstallation wird +in \autoref{sec:local:uninstall} erläutert. Wird diese einmalig durchgeführt, +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. + + + +\section{Lokale Deinstallation des \TUDScript-Bundles} +\label{sec:local:uninstall} +\index{Deinstallation} +% +Um die lokale Nutzerinstallation zu entfernen, kann für Windows +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.bat}% +{\File{tudscr\_uninstall.bat}} sowie für unixartige Betriebssysteme +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.sh}% +{\File{tudscr\_uninstall.sh}} verwendet werden. Nach der Ausführung des +jeweiligen Skriptes kann in der Konsole beziehungsweise im Terminal mit +% +\begin{quoting} +\Path{kpsewhich --all tudscrbase.sty} +\end{quoting} +% +überprüft werden, ob die Deinstallation erfolgreich war oder immer noch eine +lokale Nutzerinstallation vorhanden ist. Es werden alle Pfade ausgegeben, in +welchen die Datei \File*{tudscrbase.sty} gefunden wird. Erscheint nur noch der +Pfad der Distribution, ist die \TUDScript-Version von CTAN aktiv und der +Anwender kann mit dem \TUDScript-Bundle arbeiten. Falls es nicht +schon passiert ist, müssen dafür lediglich die Schriften des \CDs installiert +werden (\autoref{sec:install}). + +Wird \emph{nur} das lokale Nutzerverzeichnis oder gar kein Verzeichnis +gefunden, so wird höchstwahrscheinlich eine veraltete Distribution +verwendet. In diesem Fall \emph{muss} \TUDScript lokal aktualisiert +(\autoref{sec:local:update}) beziehungsweise bei der erstmaligen Verwendung +lokal installiert (\autoref{sec:local:install}) werden. Sollte neben dem +Pfad der Distribution immer noch mindestens ein weiterer Pfad angezeigt werden, +so ist weiterhin eine lokale Nutzerversion installiert. In diesem Fall hat der +Anwender zwei Möglichkeiten: +% +\begin{enumerate} +\item Entfernen der lokalen Nutzerinstallation (manuell) +\item Update der lokalen Nutzerversion +\end{enumerate} +% +Die erste Variante wird nachfolgend erläutert, die zweite Möglichkeit wird in +\autoref{sec:local:update} beschrieben. Nur die manuelle Deinstallation der +lokalen Nutzerversion \TUDScript ermöglicht dabei die Verwendung der jeweils +aktuellen CTAN"=Version. Hierfür ist etwas Handarbeit durch den Anwender +vonnöten. Der in der Konsole beziehungsweise 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{\emph{<Installationspfad>}/tex/latex/tudscr/tudscrbase.sty} +\end{quoting} +% +Um die Nutzerinstallation vollständig zu entfernen, muss als erstes zu +\Path{\emph{<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/}]alle .cls- und .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} +% +Das Verzeichnis \Path{\emph{<Installationspfad>}/tex/latex/tudscr/fonts} +\textbf{sollte erhalten bleiben}. Andernfalls müssen die Schriften des \CDs +abermals wie unter \autoref{sec:install} beschrieben installiert werden. +Zum Abschluss ist in der Kommandozeile beziehungsweise im Terminal der Befehl +\Path{texhash} aufzurufen. Damit wurde die lokale Version 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} +\label{sec:local:install} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +% +Für die lokale Installation von \TUDScript inklusive der Schriften des \CDs +werden für Windows sowie unixartige Betriebssysteme die passenden Skripte +angeboten. Eine lokale Installation sollte nur von Anwender ausgeführt werden, +die genau wissen, aus welchen Gründen dies geschehen soll. + + +\subsection{Lokale Installation von \TUDScript unter Windows} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} +oder \Distribution{\hologo{MiKTeX}} werden neben Schriftarchiven die Dateien aus +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_full.zip}% +{\File*{TUD-KOMA-Script\_\vTUDScript\_Windows\_full.zip}} benötigt. Vor der +Verwendung des Skripts \File{tudscr\_\vTUDScript\_install.bat} sollte +sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben +Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.bat}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit Klassen- und Paketdateien + \item[\File{tudscr\_\vTUDScript\_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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} + \item[\File{7za.exe}]Stand-Alone-Version von 7-zip zum Entpacken der Archive% + \footnote{% + Windows stellt keine Bordmittel zum Extrahieren von Archiven auf + Kommandozeilen-/Skript-Ebene zur Verfügung.% + }% +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert, falls kein anderes +Verzeichnis explizit angegeben wird. Für Hinweise bei Problemen mit der +Schriftinstallation sei auf \autoref{sec:install:fonts:win} verwiesen. + + + +\subsection{Lokale Installation von \TUDScript unter Linux und OS~X} +\index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} +oder \Distribution{Mac\hologo{TeX}} werden neben Schriftarchiven die Dateien aus +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_full.zip}% +{\File*{TUD-KOMA-Script\_\vTUDScript\_Unix\_full.zip}} benötigt. Vor der +Verwendung des Skripts \File{tudscr\_\vTUDScript\_install.sh} sollte +sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben +Verzeichnis befinden: +% +\begin{description}[labelwidth=\tempdim,labelsep=1em] +\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.sh}}% + \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit Klassen- und Paketdateien + \item[\File{tudscr\_\vTUDScript\_install.sh}]Installationsskript + (Terminal: \Path{bash tudscr\_\vTUDScript\_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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert. Für Hinweise bei +Problemen mit der Schriftinstallation sei auf \autoref{sec:install:fonts:unix} +verwiesen. + + + +\section{Lokales Update des \TUDScript-Bundles} +\label{sec:local:update} +\index{Update!Nutzerinstallation}\index{Nutzerinstallation (lokal)} +% +%\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.02} +%Für eine lokale Aktualisierung von \TUDScript auf \vTUDScript{} muss das Archiv +%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip}% +%{TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip} respektive +%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip}% +%{TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip} entpackt und anschließend +%\File{tudscr\_\vTUDScript\_update.bat} oder +%\File{tudscr\_\vTUDScript\_update.sh} ausgeführt werden. +%\Attention{% +% Das lokale Update funktioniert nur, wenn bereits mindestens Version~v2.02 +% entweder lokal oder über die Distribution installiert ist.% +%} + +\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.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 lokal erfolgen. Für die zweite Variante muss +der Inhalt des Archivs +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/tudscr\_\vTUDScript.zip}% +{\File{tudscr\_\vTUDScript.zip}} in das lokale \Path{texmf}"=Nutzerverzeichnis +kopiert werden. Des Weiteren wurde die Installation der Schriften überarbeitet. +Deshalb wird auch für diese eine Neuinstallation (\autoref{sec:install}) +empfohlen. + + +\subsection{Update des \TUDScript-Bundles von Version \NoCaseChange{v}1.0} +\begin{Declaration*}{\Class{tudscrbookold}} +\begin{Declaration*}{\Class{tudscrreprtold}} +\begin{Declaration*}{\Class{tudscrartclold}} +\index{Update!Version v1.0}% +\index{Hauptklassen} +\index{Version!v1.0}% +% +Ist \TUDScript in der veralteten und obsoleten Version~v1.0 installiert, so +wird dringend zu einer Deinstallation dieser geraten. Dafür werden die Skripte +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.bat}{\File{tudscr\_uninstall.bat}} +respektive +\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr_uninstall.sh}{\File{tudscr\_uninstall.sh}} +bereitgestellt. Andernfalls wird es zu Problemen kommen. Die aktuelle +Version~\vTUDScript{} kann nach der Deinstallation der Version~v1.0 wie unter +\autoref{sec:install} beschrieben installiert werden. + +Sollen die obsoleten \TUDScript-Klassen in der Version~v1.0 nach einer +Aktualisierung weiterhin genutzt werden, so müssen diese erst wie zuvor +beschrieben de"~~und anschließend neu installiert werden. Dafür kann das Archiv +\hrfn{https://github.com/tud-cd/tudscrold/releases/download/v1.0/TUD-KOMA-Script_v1.0old.zip}% +{\File*{TUD-KOMA-Script\_v1.0old.zip}} verwendet werden, welches sowohl die +genannten Skripte zur Deinstallation als auch die zur neuerlichen Installation +der veralteten Klassen benötigten \File{tudscr\_v1.0old\_install.bat} oder +\File{tudscr\_v1.0old\_install.sh} enthält. Nach Abschluss des Vorgangs sind +die alten Klassen der Version~v1.0 mit \Class{tudscrbookold}, +\Class{tudscrreprtold} und \Class{tudscrartclold} verwendbar und können +parallel zur aktuellen Version~\vTUDScript{} genutzt werden. + +Im Vergleich zur Version~v1.0 hat sich an der Benutzerschnittstelle nicht sehr +viel verändert. Treten nach dem Umstieg von der Version~v1.0 auf die +Version~\vTUDScript{} dennoch Probleme auf, sollte der Anwender als erstes in +die Beschreibung des Paketes \Package{tudscrcomp}'full' sehen. Diese Paket +stellt eine Schnittstelle bereit, mit der es möglich ist, alte und ursprünglich +nicht mehr vorgesehene Befehle und Optionen dennoch zu nutzen. Allerdings +werden einige von diesen auch durch das Paket \Package{tudscrcomp} nicht mehr +bereitgestellt, weil diese schlichtweg verworfen wurden. Diese sind in +\autoref{sec:obsolete} aufgeführt und es werden im alten Dokument notwendige +Anpassungen beschrieben. Sollten dennoch Fehler oder Probleme beim Umstieg auf +die neue \TUDScript-Version auftreten, ist eine Meldung im Forum die beste +Möglichkeit, um Hilfe zu erhalten. +\end{Declaration*} +\end{Declaration*} +\end{Declaration*} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex new file mode 100644 index 00000000000..7f821f36daf --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex @@ -0,0 +1,291 @@ +\chapter{Einleitung} +\index{Distribution} +Zur fehlerfreien Verwendung der \TUDScript-Klassen der Version~\vTUDScript{} +werden sowohl die \KOMAScript"=Klassen~\vKOMAScript{} oder später als auch die +beiden Hausschriften des \CDs \Univers und \DIN zwingend benötigt. Außerdem +müssen weitere Pakete durch die genutzte \hologo{LaTeX}"=Distribution +bereitgestellt werden. + +Bei den aktuellen Distributionen \Distribution{\hologo{TeX}~Live}[2014], +\Distribution{Mac\hologo{TeX}}[2014] und \Distribution{\hologo{MiKTeX}}[2.9] +ist das mit großer Sicherheit kein Problem. Nutzen Sie jedoch eine ältere +Distribution, könnte dies zu Problemen führen. Dann sollte bestenfalls eine der +aktuellen Distributionen installiert werden. Ist dies nicht möglich, müssen die +unter \autoref{sec:packages:needed} aufgeführten Pakete sowie \TUDScript +(\autoref{sec:local:install}) in der jeweils benötigten Version lokal +installiert werden. + +Das Vorlagenpaket von Klaus Bergmann ist für die Verwendung nicht notwendig. +Allerdings beinhaltet dieses weitere Klassen zum Erstellen von Folien +und Briefen.% +\footnote{% + \Class{tudbook}, \Class{tudbeamer}, \Class{tudletter}, \Class{tudfax}, + \Class{tudhaus}, \Class{tudform} +} +Das \TUDScript"=Bundle ist hauptsächlich für das Erstellen wissenschaftlicher +Texte und Arbeiten gedacht und soll die ursprünglichen Vorlagen \emph{momentan} +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 der \KOMAScript"=Brief"=Klasse \Class{scrlttr2} +ist bis jetzt leider noch nicht entstanden, soll jedoch langfristig +bereitgestellt werden. Allerdings existieren bereits im Bundle +\Class{tudmathposter} für die \Class{beamer}"=Klasse mehrere Stile. Dieses +Bundle ist sowohl bei \hrfn{https://github.com/tud-cd/tud-cd}{GitHub} als +auch auf der \hrfn{http://tu-dresden.de/service/publizieren/cd/4_latex} +{\hologo{LaTeX}-Seite der \TnUD} zu finden. + + + +\section{Zur Verwendung dieses Handbuchs} +Sämtliche neu definierten Optionen, Umgebungen und Befehle der +\TUDScript-Klassen und \TUDScript-Pakete werden im Handbuch aufgeführt und +beschrieben. Am Ende des Dokumentes befinden sich mehrere Indizes, die das +Nachschlagen oder Auffinden von bisher unbekannten Befehlen oder Optionen +erleichtern sollen. + +Die folgend beschriebenen Optionen können~-- wie ein Großteil der Einstellungen +der \KOMAScript"=Klassen~-- 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} +kann man beliebig vielen Schlüsseln jeweils genau einen Wert zuweisen, +\Macro{KOMAoption}\Parameter{Option}\Parameter{Werteliste} erlaubt das +gleichzeitige Setzen mehrere Werte für genau einen Schlüssel. Äquivalent +dazu werden für die \emph{zusätzlichen} Optionen der \TUDScript-Klassen mit +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 einer jeden Option ist durch \PValue{preset:\,}\PName{Wert} +bei deren Beschreibung angegeben. Einige dieser Standardwerte sind nicht +immer gleich sondern werden zusätzlich in Abhängigkeit der genutzten Optionen +und Benutzereinstellungen gesetzt. Diese bedingten Voreinstellungen werden durch +\PValue{preset:\,}\PName{Wert}\PValue{\,|\,}\PName{Bedingung}\PValue{:\,}% +\PName{bedingter~Wert} angegeben. + +Jedem Schlüssel wird normalerweise durch den Benutzer ein gewünschter, gültiger +Wert zugewiesen. Wird ein Schlüssel jedoch ohne Wertzuweisung genutzt, so +wird~-- falls vorhanden~-- ein vordefinierter Säumniswert gesetzt, welcher in +der Beschreibung der einzelnen Optionen durch die \PValue{\emph{kursive}} +Schreibweise gekennzeichnet ist. In den allermeisten 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 immer sowohl normale als auch +bedingte Voreinstellungen überschrieben. Die neben den Optionen neu +eingeführten Befehle und Umgebungen der Klassen werden im gleichen Stil +erläutert. + + + +\section{Installation des \TUDScript-Bundles} +\label{sec:install}% +\index{Installation}\index{Update}% +% +\ChangedAt{% + v2.01!\TUDScript-Bundle auf CTAN veröffentlicht,% + v2.02!Installationsroutine der PostScript-Schriften verbessert% +} +% +Das \TUDScript-Bundle ist seit der Version~v2.01~-- aufgrund lizenzrechtlicher +Bedingungen \emph{ohne} die geschützten Schriften \Univers und \DIN~-- im +\foreignlanguage{english}{% + \hrfn{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} +} zu finden und dadurch in aktuellen \hologo{LaTeX}"=Distributionen wie +\Distribution{\hologo{TeX}~Live}[2014], \Distribution{Mac\hologo{TeX}}[2014] +oder auch \Distribution{\hologo{MiKTeX}}[2.9] enthalten. Aus diesem Grund ist +eine komplett lokale Nutzerinstallation wie in den vorherigen Versionen nicht +mehr notwendig. Auch manuelle Updates des \TUDScript-Bundles sind~-- für den +Fall, dass die \hologo{LaTeX}"=Distribution durch den Nutzer aktuell gehalten +wird~-- prinzipiell nicht mehr nötig. + +Zur problemlosen Verwendung des \TUDScript-Bundles ist~-- neben \KOMAScript{} in +der Version~\vKOMAScript und den in \autoref{sec:packages:needed} aufgeführten +\hologo{LaTeX}-Paketen~-- lediglich eine Installation der PostScript"=Schriften +des \CDs der \TnUD notwendig. Diese müssen über das Universitätsmarketing auf +\hrfn{http://tu-dresden.de/service/publizieren/cd/1_basiselemente/03_hausschrift/schriftbestellung.html}% +{Anfrage} mit dem Hinweis auf die Verwendung von \hologo{LaTeX} bestellt +werden. Sobald Sie die notwendigen Archive \File{Univers\_PS.zip} und +\File{DIN\_Bd\_PS.zip} erhalten haben, können die Schriften für Windows +(\autoref{sec:install:fonts:win}) beziehungsweise unixoide Betriebssysteme +(\autoref{sec:install:fonts:unix}) installiert werden. Die benötigten Skripte +werden als \hrfn{https://github.com/tud-cd/tudscr/releases/tag/fonts}{Release} +im \GitHubRepo* bereitgestellt.% +\footnote{% + Das Einbinden von installierten Systemschriften im Open-Type-Format mit dem + Paket \Package{fontspec} für \hologo{LuaLaTeX} oder \hologo{XeLaTeX} wird + mittlerweile zwar unterstützt, empfehlenswert ist diese Variante allerdings + nur bedingt. Genaueres dazu in \autoref{sec:fonts:fontspec}.% +} +Dort sind auch die Quelldateien von \TUDScript und der Installationsskripte zu +finden. + +\Attention{% + Wurde \TUDScript in einer früheren Ausführung als lokale Nutzerinstallation + eingerichtet oder soll es in der Version \vTUDScript{} lokal installiert + werden, so sei auf \autoref{sec:install:ext} verwiesen.% +} + +\minisec{Anmerkung zu Windows} +Sollte Windows genutzt werden und noch keine \hologo{LaTeX}"=Distribution auf +ihrem System installiert sein, so rate ich persönlich zur Verwendung von +\Distribution{\hologo{TeX}~Live}|?| statt \Distribution{\hologo{MiKTeX}}|?|. +Der Vorteil ist, dass diese Distribution von mehreren Autoren gewartet wird, +Updates von Paketen und Klassen auf CTAN meist schneller verfügbar sind und +zusätzlich ein \textsc{Perl}"=Interpreter sowie \textsc{Ghostscript} +mitgeliefert werden, welche die Ad"=hoc"=Verwendung einiger +\hologo{LaTeX}"=Pakete wie beispielsweise \Package{glossaries} vereinfacht +beziehungsweise verbessert. + +\minisec{Anmerkung zu Linux und OS~X} +Nach dem gegebenenfalls notwendigen Entpacken eines heruntergeladenen Archivs +\emph{müssen} Installationsskripte für unixartigen Betriebssystemen über das +Terminal ausgeführt werden. Nachdem dieses geöffnet wurde, sollte in diesem zum +entsprechenden Pfad (beispielsweise \Path{cd Downloads/\PName{Unterordner}}) +navigiert werden. Danach können sämtliche Skripte direkt mit der Verwendung von +\Path{bash \PName{Skript}.sh} aus dem Terminal ausgeführt werden. + + +\subsection{Installation der PostScript-Schriften unter Windows} +\label{sec:install:fonts:win} +\index{Installation!Schriften} +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-KOMA-Script_fonts_Windows.zip}% +{\File*{TUD-KOMA-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 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{tudscrfonts\_install.bat} sollte sichergestellt werden, dass sich +\emph{alle} der folgenden Dateien im selben Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscrfonts\_install.bat}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscrfonts\_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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} + \item[\File{7za.exe}]Stand-Alone-Version von 7-zip zum Entpacken der Archive% + \footnote{% + Windows stellt keine Bordmittel zum Extrahieren von Archiven auf + Kommandozeilen-/Skript-Ebene zur Verfügung.% + }% +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert, falls kein anderes +Verzeichnis explizit angegeben wird. + +\minisec{Anmerkung zu \ifdin{TeX~Live}{\hologo{TeX}~Live}} +Sollte das Installationsskript fehlerfrei durchlaufen, die Schriften dennoch +nicht verfügbar sein, so kann man mit \Path{updmap-sys -{}-syncwithtrees} +die Synchronisierung aller Schriftdateien anstoßen. Anschließend sollte man +noch \Path{updmap-sys -{}-force} aufrufen. Sind die Schriften danach immer noch +nicht verfügbar, so wurden auf dem System bestimmt schon andere Schriften lokal +installiert. In diesem Fall sollte man den Vorgang noch einmal für lokale +Schriften mit \Path{updmap -{}-syncwithtrees} und \Path{updmap -{}-force} +ausführen. Dies hat jedoch zur Folge, dass der Befehl \Path{updmap-sys} von nun +an wirkungslos bleibt und auch in Zukunft bei der globalen Installation neuer +Schriften diese mit \Path{updmap} lokal registriert werden müssen. + +\minisec{Anmerkung zu \ifdin{MiKTeX}{\hologo{MiKTeX}}} +Für den Fall, dass \Distribution{\hologo{MiKTeX}} verwendet wird, ist sehr +ratsam, das \TUDScript-Bundle~-- wie sämtliche manuell installierte Pakete und +Schriftarten auch~-- nicht in das Standardnutzerverzeichnis oder gar in den +Pfad der \Distribution{\hologo{MiKTeX}}"=Distribution selbst sondern in einen +separaten Ordner zu installieren und diesen bei \Distribution{\hologo{MiKTeX}} +als lokalen \Path{texmf}-Baum anzumelden. Das mitgelieferte Installationsskript +für diesen Schritt automatisiert aus. Am besten ist, den voreingestellten +Installationspfad zu verwenden. + +Es kann vorkommen, dass die für den Schriftinstallationsprozess notwendigen +Pakete \Package{fontinst}, \Package{cmbright} sowie \Package{iwona} noch nicht +installiert sind. Ist die automatische Nachinstallation fehlender Pakete +aktiviert, so reicht es im Normalfall, nach einem ersten vollständigen +Durchlauf das Skript abermals zu starten. Andernfalls müssen diese Pakete +manuell über den Paketmanager installiert 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 Nutzer über die Kommandozeile +\Path{initexmf -{}-edit-config-file updmap} erfolgen. In der sich öffnenden +Datei sollte sich der Eintrag \Path{Map tudscr.map} befinden. Ist dies nicht +der Fall, ist diese Zeile manuell einzutragen und die Datei zu speichern. +Danach muss in der Kommandozeile noch \Path{initexmf -{}-mkmaps} ausgeführt +werden. + + +\subsection{Installation der PostScript-Schriften unter Linux und OS~X} +\label{sec:install:fonts:unix} +\index{Installation!Schriften} +Für die Erstellung des Installationsskripts für Linux und OS~X geht mein Dank +an Jons-Tobias Wamhoff, welcher sich für die erstmalige Portierung des Skripts +von Windows zu unixartigen Systemen freiwillig zur Verfügung stellte. +Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-KOMA-Script_fonts_Unix.zip}% +{\File*{TUD-KOMA-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 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{tudscrfonts\_install.sh} sollte sichergestellt werden, dass sich +\emph{alle} der folgenden Dateien im selben Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscrfonts\_install.sh}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscrfonts\_install.sh}]Installationsskript + (Terminal: \Path{bash tudscrfonts\_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{tudscrfonts.zip}]Archiv mit Metriken für die + Schriftinstallation via \Package{fontinst} +\end{description} +% +Beim Ausführen des Installationsskripts werden alle Schriften in das lokale +Nutzerverzeichnis der jeweiligen Distribution installiert. + + +\subsection{Probleme bei der Installation der PostScript-Schriften} +Treten bei der Installation wider Erwarten Probleme auf, so sollte eine +Logdatei erstellt werden. Unter Windows muss das Skript, welches Probleme +verursacht, aus der Kommandozeile mit +\Path{\PName{Skript}.bat > \PName{Skript}.log} aufgerufen werden, wobei hierbei +das doppelte Betätigen der Eingabetaste nötig ist. Für unixartige Systeme +ist der Aufruf \Path{./\PName{Skript}.sh > \PName{Skript}.log} aus dem Terminal +heraus zu verwenden. Die erstellte Logdatei kann mit einer kurzen +Fehlerbeschreibung direkt an \Email{\tudscrmail} gesendet werden. + + + +\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{LaTeX}-Klassen +verwendet werden können und demzufolge für alle \hologo{LaTeX}-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 \CD der \TnUD ü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/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex new file mode 100644 index 00000000000..63feffb17be --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex @@ -0,0 +1,2601 @@ +\chapter[Die Klassen tudscrbook, tudscrreprt und tudscrartcl]{Die Hauptklassen} +\begin{Declaration*}{\Class{tudscrbook}} +\begin{Declaration*}{\Class{tudscrreprt}} +\begin{Declaration*}{\Class{tudscrartcl}} +\index{Hauptklassen|!} +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 Optionen, Umgebungen und Befehle~-- beispielsweise \Option{parskip} für +die Absatzeinstellungen oder \Option{BCOR} zur Festlegung der Bindekorrektur~-- +unterstützen. Zusätzlich zu den \KOMAScript"=Klassen werden weitere Pakete +zwingend benötigt, welche unter \autoref{sec:packages:needed} aufgeführt sind +und auf jeden Fall durch \TUDScript geladen werden. + +Es sei hier abermals auf die Anwenderdokumentation \scrguide 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 Befehle und Optionen werden im Folgenden erläutert. +\end{Declaration*} +\end{Declaration*} +\end{Declaration*} + +\begin{Declaration}{\Macro{TUDoptions}\Parameter{Optionenliste}} +\begin{Declaration}{\Macro{TUDoption}\Parameter{Option}\Parameter{Werteliste}} +\printdeclarationlist% +\index{Optionen|!}% +\index{Optionenwahl|!}% +% +Mit diesen Befehlen hat man bei den meisten der neuen Klassenoptionen die +Möglichkeit, den Wert der Optionen noch nach dem Laden der Klasse zu ändern. +Man kann wahlweise mit der Anweisung \Macro{TUDoptions} die Werte einer Reihe +von Optionen ändern. Jede Option der Optionenliste hat dabei die Form +\PName{Option}\PValue{=}\PName{Wert}. Die meisten Optionen besitzen auch einen +Säumniswert\footnote{engl.: default value}. Versäumt man die Angabe eines +Wertes~-- verwendet demzufolge einfach die Form \PName{Option}~-- so wird +automatisch dieser Säumniswert angenommen. + +Manche Optionen können gleichzeitig mehrere Werte besitzen. Für diese besteht +die Möglichkeit, mit \Macro{TUDoption} der einen Option nacheinander eine +Reihe von Werten zuzuweisen. Die einzelnen Werte sind dabei in der Werteliste +durch Komma voneinander getrennt. + +Mit diesen beiden Befehlen kann im Bedarfsfall das Verhalten von einer Option +oder mehreren Optionen im Dokument geändert werden. Werden diese Befehle in +einer Umgebung oder einer Gruppe verwendet, bleiben die gemachten Einstellungen +innerhalb dieser lokal begrenzt. +\end{Declaration} +\end{Declaration} + + +\section{Die Schriften des \CDs} +\label{sec:fonts} +\index{Schrift|?} +% +Das \CD der \TnUD gibt die Verwendung der Schriften \Univers für den Fließtext +sowie \DIN für das Setzen von Überschriften vor. Im Standardfall wird dies so +unterstützt. Da jedoch in längeren Texten die Verwendung von Serifenschriften +zu empfehlen ist, gibt es die Möglichkeit, die ursprünglich vorgesehenen +Schriften nicht zu laden und die Standardschriften beziehungsweise ein anderes +Schriftpaket zu verwenden. Die Einstellungen und Befehle für den Fließtext sind +in \autoref{sec:text} zu finden. + +Durch das \CD werden keine Schriften für den Mathematiksatz bereitgestellt. +Dies ist insbesondere für sowohl mathematische als auch ingenieur- und +naturwissenschaftliche Dokumente nicht tragbar. Dieser Mangel wird behoben, +indem im Mathematikmodus die lateinischen Buchstaben der Hausschriften mit +griechischen Lettern und mathematischen Symbolen aus anderen Paketen ergänzt +werden.% +\footnote{% + \Package{iwona} für die Schrift \DIN und zusätzlich \Package{cmbright} für + die \Univers"=Schriftfamilie% +} +Diese Einstellungen kann natürlich ebenfalls mit der entsprechenden Option +deaktiviert werden. Dann werden die Standardschriften oder gegebenenfalls die +eines zusätzlichen Paketes für den mathematischen Satz genutzt. Alle Befehle +und Optionen für den Mathematiksatz sind in \autoref{sec:math} erläutert. In +\autoref{sec:exmpl:mathtype} sowie \autoref{sec:exmpl:mathswap} sind weitere +Hinweise zum typographisch guten Mathematiksatz zu finden. + + +\subsection{Schriften für den Textsatz} +\begin{Declaration}[% + v2.02!Werte für Optionen \Option{barfont} und \Option{fontspec} ergänzt% +]{\Option{cdfont}[\PSet]}[true]% +\printdeclarationlist% +\label{sec:text}% +\index{Schrift}\index{Schrift!Fließtext} +\index{Schrift!Corporate Design}\index{Schrift!Stärke}% +% +Mit der Option \Option{cdfont} können durch den Anwender alle zentralen +Schrifteinstellungen für die \TUDScript-Klassen vorgenommen werden. Dies +betrifft sowohl die Schriften für Überschriften als auch den Fließtext sowie +die Mathematikschriften. Die verwendete Schriftstärke im charakteristischen +Querbalken der Kopfzeile lässt sich hiermit ebenfalls einstellen. +% +\begin{values} +\itemfalse + Es werden die \hologo{LaTeX}"=Standardschriften und nicht die Hausschriften + 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.% + } + Sollte das Layout des \CDs aktiviert sein (siehe \Option{cd}), werden die + Überschriften in Großbuchstaben und \DIN gesetzt und nur die Schriftart des + Fließtextes kann angepasst werden. +\itemtrue*[light/lightfont/noheavyfont] + Es werden die Hausschriften im Stil des \CDs der \TnUD genutzt. Überschriften + der obersten Gliederungsebenen bis einschließlich \Macro{subsubsection} + verwenden \DIN, darunter liegende% + \footnote{\Macro{paragraph} und \Macro{subparagraph}} + \textubn{Univers~65~Bold}. Für den Fließtext im Dokument kommt + \textuln{Univers~45~Light} zum Einsatz. Aus \Package{lmodern} wird die + \texttt{Schreibmaschinenschrift} verwendet. +\item[heavy/heavyfont] + Die Schriftstärke der Hausschriften wird erhöht. Die beiden untersten + Gliederungsebenen werden in \textuxn{Univers~75~Black} gesetzt, der Fließtext + in \texturn{Univers~55~Regular}. Ansonsten entspricht alles der Option + \Option{cdfont}[true]. Die Mathematikschriften werden durch diese + Einstellung nicht beeinflusst. Gegebenenfalls sollte mit \Macro{boldmath} auf + den fetten Schnitt umgeschaltet werden. +\item[nodin] + Für die Überschriften wird nicht \DIN verwendet. Ist \Option{cdfont}[true] + gewählt, wird \Univers genutzt. Die Schriftstärke ist dabei abhängig von der + Einstellung \Option{cdfont}[light/heavy]. Ist die Verwendung der Schriften + des \CDs deaktiviert (\Option{cdfont}[false]), kommt die fette Schriftstärke + der eingestellten serifenlosen Schriftfamilie zum Einsatz. +\item[din] + Mit dieser Einstellung wird die Schrift \DIN in den Überschriften verwendet. + Diese ist standardmäßig aktiviert. +\end{values} +% +\ChangedAt{v2.02} +Für den Text im Querbalken gibt es folgende Einstellmöglichkeiten: +% +\begin{values} +\item[barfont] + Für den Querbalken der Kopfzeile wird unabhängig von der Verwendung der + Hausschriften die Schrift \Univers in normaler Schriftstärke verwendet, + siehe \Option{barfont}[true]. +\item[heavybarfont] + Die im Querbalken der Kopfzeile verwendete Stärke der Schrift \Univers wird + erhöht, siehe \Option{barfont}[heavy]. +\end{values} +% +Die verwendeten Mathematikschriften lassen sich mit folgenden Werte +beeinflussen: +% +\begin{values} +\item[serifmath/serif/nosansmath/nosans] + Diese Einstellung deaktiviert die Verwendung von serifenlosen Schriften für + den mathematischen Satz. Es werden die \hologo{LaTeX}"=Standardschriften + verwendet und der Benutzer kann beliebige Schriftpakete für den + Mathematikmodus nutzen, siehe \Option{sansmath}[false]. +\item[sansmath/sans] + Es werden serifenlose Mathematikschriften für lateinische und griechische + Lettern genutzt, siehe \Option{sansmath}[true]. +\item[upgreek/uprightgreek/uprightGreek] + Die großen griechischen Buchstaben werden im Mathematikmodus aufrecht gesetzt, + siehe \Option{slantedgreek}[false]. +\item[slgreek/slantedgreek/slantedGreek] + In mathematischen Umgebungen erfolgt die Ausgabe der griechischen Majuskeln + kursiv, siehe \Option{slantedgreek}[true]. +\end{values} +% +\ChangedAt{v2.02} +Außerdem kann mit folgenden Werten das verwendete Schriftformat eingestellt +werden: +% +\begin{values} +\item[fontspec/lualatex/xelatex] + Es wird das Paket \Package{fontspec} geladen und die Schriften des \CDs im + OpenType"=Format verwendet. Hierfür muss entweder \hologo{LuaLaTeX} oder + \hologo{XeLaTeX} als Dokumentprozessor genutzt werden. Wird diese Einstellung + aktiviert, sind die Hinweise zur Option \Option{fontspec}'full' unbedingt + zu beachten. +\item[nofontspec/pdflatex] + Es werden die Schriften des \CDs im PostScript"=Format verwendet, wenn diese + wie unter \autoref{sec:install} beschrieben installiert wurden. Diese + Einstellung ist standardmäßig aktiviert und sollte nur in Ausnahmefällen + geändert werden. +\end{values} +\end{Declaration} + +\subsubsection{Auszeichnungen in Überschriften} +\begin{Declaration}[% + v2.02!Fußnoten in Überschriften können mit Symbolen gesetzt werden% +]{\Option{footnotes}[\PSet]}[nosymbolheadings]% +\begin{Declaration}[v2.02]{\Counter{symbolheadings}}% +\printdeclarationlist% +\index{Überschriften}\index{Überschriften!Fußnoten}\index{Fußnoten}% +% +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. +% +\begin{values} +\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} + +\begin{Declaration}{\Macro{ifdin}\Parameter{Dann-Teil}\Parameter{Sonst-Teil}}% +\printdeclarationlist% +\index{Überschriften}\index{Schrift!Überschriften}\index{Schriftauszeichnung}% +\index{Kolumnentitel}\index{Layout!Kolumnentitel} +% +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}. +Dies ist beispielsweise bei Überschriften sinnvoll, wenn zwischen der Ausgabe +im Fließtext und dem Eintrag für das Inhaltsverzeichnis sowie der Ausprägung +der automatischen Kolumnentitel unterschieden werden soll. +\end{Declaration} + +\begin{Declaration}{\Macro{MakeTextUppercase}\Parameter{Text}}% +\begin{Declaration}{\Macro{NoCaseChange}\Parameter{Text}}% +\printdeclarationlist% +\index{Überschriften}\index{Schrift!Überschriften}\index{Schriftauszeichnung}% +% +Diese beiden Befehle stammen aus dem Paket \Package{textcase}. Der Befehl +\Macro{MakeTextUppercase} setzt den Text seines Argumentes in Majuskeln. Die +Überschriften der Gliederungsebenen bis einschließlich \Macro{subsubsection} +werden damit in Großbuchstaben der Schrift \DIN gesetzt. Sollen bestimmte +Kleinbuchstaben erhalten bleiben, ist der Befehl \Macro{NoCaseChange} zu nutzen. +\end{Declaration} +\end{Declaration} +% +\begin{Example} +In einer Kapitelüberschrift wird ein einzelnes Wort in Kleinbuchstaben +geschrieben: +\begin{Code}[escapechar=§] +\chapter{§Ü§berschrift mit \NoCaseChange{kleinem} Wort} +\end{Code} +\end{Example} + +\subsubsection{Auszeichnungen im Text} +\begin{Declaration}[v2.02]{\Font{titlepage}} +\begin{Declaration}[v2.02]{\Font{thesis}} +\begin{Declaration}[v2.02]{\Font{parttitle}} +\printdeclarationlist% +\index{Schriftelemente} +% +Die \TUDScript-Klassen definieren mit \Macro{newkomafont} diese neuen +Schriftelemente. Dabei wird \Font{titlepage} auf der Titelseite für alle +Felder verwendet, welche kein spezielles Schriftelement verwenden und +\Font{thesis} für das mit \Macro{thesis} angegebene Feld, in welchem der Typ +einer Abschlussarbeit angegeben wird (siehe \autoref{sec:title}). Mit +\Font{parttitle} kann die Schrift für die Bezeichnung des Teils bei +aktivierter \Option{parttitle}-Option beeinflusst werden. Alle Schriften lassen +sich mit \Macro{addtokomafont}\Parameter{Schriftelement} anpassen. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{univln}} +\begin{Declaration}{\Macro{textuln}\Parameter{Text}} +\begin{Declaration}{\Macro{univrn}} +\begin{Declaration}{\Macro{texturn}\Parameter{Text}} +\begin{Declaration}{\Macro{univbn}} +\begin{Declaration}{\Macro{textubn}\Parameter{Text}} +\begin{Declaration}{\Macro{univxn}} +\begin{Declaration}{\Macro{textuxn}\Parameter{Text}} +\begin{Declaration}{\Macro{univls}} +\begin{Declaration}{\Macro{textuls}\Parameter{Text}} +\begin{Declaration}{\Macro{univrs}} +\begin{Declaration}{\Macro{texturs}\Parameter{Text}} +\begin{Declaration}{\Macro{univbs}} +\begin{Declaration}{\Macro{textubs}\Parameter{Text}} +\begin{Declaration}{\Macro{univxs}} +\begin{Declaration}{\Macro{textuxs}\Parameter{Text}} +\begin{Declaration}{\Macro{dinbn}} +\begin{Declaration}{\Macro{textdbn}\Parameter{Text}} +\settowidth{\tempdim}{\Macro{textuln}\Parameter{Text}}% +\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\printdeclarationlist(% + \begin{minipage}{-\tempdim}% + \centering% + \begin{tabularm}{3}% + \toprule% + \textbf{Schriftart} & \textbf{Schalter} + & \textbf{Textkommando}\tabularnewline + \midrule + \textuln{Univers 45 Light} & \Macro{univln}{} + & \Macro{textuln}\Parameter{Text}\tabularnewline + \texturn{Univers 55 Regular} & \Macro{univrn}{} + & \Macro{texturn}\Parameter{Text}\tabularnewline + \textubn{Univers 65 Bold} & \Macro{univbn}{} + & \Macro{textubn}\Parameter{Text}\tabularnewline + \textuxn{Univers 75 Black} & \Macro{univxn}{} + & \Macro{textuxn}\Parameter{Text}\tabularnewline + \textuls{Univers 45 Light Oblique} & \Macro{univls}{} + & \Macro{textuls}\Parameter{Text}\tabularnewline + \texturs{Univers 55 Regular Oblique} & \Macro{univrs}{} + & \Macro{texturs}\Parameter{Text}\tabularnewline + \textubs{Univers 65 Bold Oblique} & \Macro{univbs}{} + & \Macro{textubs}\Parameter{Text}\tabularnewline + \textuxs{Univers 75 Black Oblique} & \Macro{univxs}{} + & \Macro{textuxs}\Parameter{Text}\tabularnewline + \DIN & \Macro{dinbn}{} + & \Macro{textdbn}\Parameter{Text}\tabularnewline + \bottomrule% + \allcolumnpar{\footnotesize\vskip0pt% + Die Schrift \DIN darf laut \CD nur mit Majuskeln (Großbuchstaben) + verwendet werden. Wird diese Schrift manuell verwendet, sollte dies mit + \Macro{MakeTextUppercase}\PParameter{\Macro{textdbn}\Parameter{Text}} + geschehen. Sollen dabei im Argument einzelne Teile zwingend klein + geschrieben werden, wird der Befehl \Macro{NoCaseChange} benötigt. + } + \end{tabularm}% + \end{minipage}% +)% +\index{Schrift!Befehle}\index{Schrift!Schalter}% +% +Unabhängig davon, welche Schriftfamilie verwendet wird, können die Schriften +des \CDs jederzeit entweder mit einem Textschalter oder mit einem Textkommando +innerhalb des Dokumentes genutzt werden. Ein Textschalter wirkt sich~-- wenn er +nicht in einer Gruppe oder einer Umgebung verwendet und damit lokal begrenzt +wird~-- global auf das Dokument aus. Bei einem Textkommando hingegen erfolgt +die Änderung der Schriftart nur für das angegebene Argument. Deshalb ist die +Verwendung der letzteren Variante vorzuziehen. +\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} + +\subsection{Schriften für den Mathematiksatz} +\begin{Declaration}{\Option{sansmath}[\PBoolean]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\label{sec:math} +\index{Schrift!Mathematiksatz}\index{Mathematiksatz|!} +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben} +% +Diese Option dient zur Verwendung serifenloser Mathematikschriften. Dafür +werden zum einen die griechischen Buchstaben aus \Package{cmbright} und zum +anderen die Symbole aus \Package{iwona} verwendet. Für die lateinischen +Buchstaben wird \Univers genutzt. Ein Umschalten auf Serifenlose und zurück +innerhalb des Dokumentes ist~-- beispielsweise in einer Abbildung oder in einer +Tabelle~-- durch \Macro{TUDoptions}\PParameter{\Option{sansmath}[true]} und +\Macro{TUDoptions}\PParameter{\Option{sansmath}[false]} möglich. Mit +\Macro{boldmath} kann auf fette Mathematikschriften umgeschaltet werden. + +Mit der Einstellung \Option{sansmath}[false] wird auf die Standardschriften +für den Mathematikmodus zurückgeschaltet. Sollen stattdessen andere serifenlose +Mathematikschriften genutzt werden, so sei auf \Package{sansmath}, +\Package{sansmathfonts}, \Package{mathastext}, \Package{sfmath} sowie +\Package{sansmathaccent} verwiesen. +% +\begin{values} +\itemfalse + Es werden die normalen \hologo{LaTeX}"=Serifenschriften beziehungsweise die + Schriften beliebig nutzbarer Pakete für den Mathematiksatz verwendet. +\itemtrue* + Die serifenlose Mathematikschriften werden aktiviert. +\end{values} +\end{Declaration} + +\subsubsection{Griechischen Buchstaben} +\label{sec:greek} +\index{Griechische Buchstaben}%\index{Griechische Buchstaben!Neigung} +% +\begin{Declaration}{\Macro{varDelta}} +\begin{Declaration}{\Macro{varTheta}} +\begin{Declaration}{\Macro{varLambda}} +\begin{Declaration}{\Macro{varXi}} +\begin{Declaration}{\Macro{varPi}} +\begin{Declaration}{\Macro{varSigma}} +\begin{Declaration}{\Macro{varUpsilon}} +\begin{Declaration}{\Macro{varPhi}} +\begin{Declaration}{\Macro{varPsi}} +\begin{Declaration}{\Macro{varOmega}} +\begin{Declaration}{\Macro{upDelta}} +\begin{Declaration}{\Macro{upTheta}} +\begin{Declaration}{\Macro{upLambda}} +\begin{Declaration}{\Macro{upXi}} +\begin{Declaration}{\Macro{upPi}} +\begin{Declaration}{\Macro{upSigma}} +\begin{Declaration}{\Macro{upUpsilon}} +\begin{Declaration}{\Macro{upPhi}} +\begin{Declaration}{\Macro{upPsi}} +\begin{Declaration}{\Macro{upOmega}} +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% +\settowidth{\tempdim}{\Macro{varUpsilon}}% +\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\printdeclarationlist(% + \begin{minipage}{-\tempdim}% + \newcommand\tablecontent{}% + \newcommand*\greekLetters{% + Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% + }% + \def\do#1{\appto\tablecontent{% + \Macro*{var#1} & $\csuse{var#1}$ & & + \Macro*{up#1} & $\csuse{up#1}$\tabularnewline + }}% + \expandafter\docsvlist\expandafter{\greekLetters}% + \centering% + \vspace{\intextsep}\noindent + \begin{tabularm}{5} + \toprule% + \textbf{Befehl (kursiv)} & \textbf{Symbol} & & + \textbf{Befehl (aufrecht)} & \textbf{Symbol} + \tabularnewline\midrule\tablecontent\bottomrule% + \allcolumnpar{\footnotesize\vskip0pt% + Die Befehle \Macro*{up}\PName{Name} und \Macro*{var}\PName{Name} + werden normalerweise durch einige Pakete, unter anderem auch von + \Package{cmbright} oder \Package{amsmath}, bereitgestellt. + } + \end{tabularm} + \end{minipage}% +)% +% +Griechische Majuskeln werden sowohl in aufrechter als auch in geneigter Form +bereitgestellt. Unabhängig von den beiden Optionen \Option{sansmath} und +\Option{slantedgreek} können sowohl kursive als auch aufrechte griechischen +Großbuchstaben im Mathematikmodus direkt verwendet werden. Dies ist nützlich, +um zwischen kursiven Variablen und aufrechten Konstanten zu unterscheiden. Die +griechischen Minuskeln sind leider nur in der kursiven Variante verfügbar. +\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} + +\begin{Declaration}{\Option{slantedgreek}[\PBoolean]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% +\index{Griechische Buchstaben!Neigung}% +% +Die Option ändert die standardmäßige Neigung der griechischen Großbuchstaben im +Mathematikmodus bei der Verwendung der Befehle \Macro*{Delta}, \Macro*{Theta}, +\Macro*{Lambda}, \Macro*{Xi}, \Macro*{Pi}, \Macro*{Sigma}, \Macro*{Upsilon}, +\Macro*{Phi}, \Macro*{Psi} und \Macro*{Omega}. Wie unabhängig von der Option +\Option{slantedgreek} gezielt kursive und aufrechte Buchstaben gesetzt werden +können, ist \vpageref{sec:greek} beschrieben. +% +\begin{values} +\itemfalse + Die griechischen Majuskeln werden wie bei den Standardklassen aufrecht + gesetzt. +\itemtrue* + Die Ausgabe der griechischen Großbuchstaben erfolgt kursiv. +\end{values} +\end{Declaration} + +\subsubsection{Zusätzliche Hinweise zum Mathematiksatz} +Weitere Hinweise zum typographisch guten Mathematiksatz sind außerdem in +\autoref{sec:exmpl:mathswap} sowie \autoref{sec:exmpl:mathtype} zu finden. + + +\subsection{Die Schriften des \CDs im OpenType-Format} +\label{sec:fonts:fontspec} +\index{OpenType-Schriften} +% +\ChangedAt{v2.02!OpenType-Schriften mit \Option{fontspec} verwendbar} +Das \TUDScript-Bundle unterstützt die Verwendung der Schriften des \CDs sowohl +im PostScript- als auch im OpenType"=Format. Sind die OpenType"=Schriften über +das Betriebssystem installiert, können diese mit dem Paket \Package{fontspec} +eingebunden werden. Wäre dies ohne Probleme möglich, wäre die Installation der +PostScript"=Schriften mithilfe eines Skriptes damit obsolet. Allerdings sind +einerseits für die Kompilierung eines Dokumentes über den klassischen Prozess +via \Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf}~-- wie es +beispielsweise für die Erstellung von Grafiken mit \Package{pstricks} notwendig +ist~-- die Schriften im PostScript"=Format nötig. Andererseits liefern die +Schriftfamilien des \CDs keinerlei mathematische Glyphen, sodass diese bei der +PostScript"=Schriftinstallation aus den Schriftpaketen \Package{cmbright} und +\Package{iwona} entnommen werden müssen. + +Die Verwendung der Schriften des \CDs im OpenType"=Format sollte folglich nur +genutzt werden, wenn eine Installation der PostScript"=Schriften \emph{absolut} +nicht möglich ist. Sollten die PostScript"=Schriften installiert sein, gibt es +auch beim Einsatz von \hologo{LuaLaTeX} oder \hologo{XeLaTeX} keinen triftigen +Grund, die Option \Option{fontspec} zu verwenden. + +\begin{Declaration}[v2.02]{\Option{fontspec}[\PBoolean]}[false]% +\printdeclarationlist% +% +Wird die Option aktiviert, werden die OpenType"=Varianten von \Univers und \DIN +anstelle der PostScript"=Schriften verwendet. Diese sollte nur in absoluten +Ausnahmefällen genutzt werden. Hierfür müssen die OpenType"=Schriften auf dem +Betriebssystem installiert sein. +\begin{values} +\itemfalse* + Die Hausschriften im Stil des \CDs der \TnUD werden im PostScript"=Format + eingebunden. Sowohl Kerning als auch der mathematische Satz funktionieren + problemlos. +\itemtrue* + Es werden die OpenType"=Varianten der Hausschriften verwendet. Dazu wird das + Paket \Package{fontspec} geladen, welches lediglich mit \hologo{LuaLaTeX} + oder \hologo{XeLaTeX} jedoch nicht mit \hologo{pdfLaTeX} als genutzt werden + kann. Sowohl beim mathematischen Satz als auch beim Kerning der Schriften + kann es zu Problemen kommen. Die Verwendung dieser Einstellung sollte nur + erfolgen, wenn eine Installation der PostScript"=Schriften nicht möglich ist. +\end{values} +\end{Declaration} + + +\section{Das Layout des \CDs} +Das Hauptaugenmerk der neuen Klassen liegt auf der Umsetzung des \CDs der +\TnUD für \hologo{LaTeX}. Ein großer Teil der definierten Optionen und Befehle +dient genau dazu und wird folgend beschrieben. + +Einige spezielle Seiten werden 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 in \autoref{sec:title}}, +die \hyperref[sec:part]{Teileseiten in \autoref{sec:part}} sowie die +\hyperref[sec:chapter]{Kapitelseiten in \autoref{sec:chapter}}. +Außerdem können entweder mit den \PageStyle{tudheadings}"=Seitenstilen oder +mit der \Environment{tudpage}-Umgebung aus \autoref{sec:tudheadings} eigene +Seiten im selben Stil erzeugt werden. Wird das Paket \Package{tudscrsupervisor} +verwendet und mit den entsprechenden Befehlen oder Umgebungen aus diesem eine +Aufgabenstellung, ein Gutachten oder ein Aushang erstellt, so erscheinen auch +diese in besagtem Seitenstil. + + +\subsection{Das Erscheinungsbild von Titel, Teilen und Kapiteln} +\begin{Declaration}{\Option{cd}[\PSet]}[true] +\printdeclarationlist% +\index{Layout}% +% +Mit dieser Option wird festgelegt, ob und wie das \CD der \TnUD verwendet wird. +Sie hat Einfluss auf die Ausprägung für Titel"~, Teil"~, und Kapitelseiten. +% +\begin{values} +\itemfalse + Diese Einstellung erzeugt das Standard"=Verhalten der \KOMAScript"=Klassen, + es wird kein \CD genutzt. +\itemtrue*[standard/simple/monochrom] + Das Layout für Titel"~, Teil"~ und Kapitelseiten ist im \CD, es wird + schwarze Schrift für Titel, Teil"~ und Kapitelüberschriften sowie im + Seitenkopf verwendet. +\item[lite/light/pale] + Die Einstellung entspricht weitestgehend der Option \Option{cd}[true], + allerdings wird die primäre Hausfarbe \Color{HKS41} anstelle schwarzer + Schrift genutzt. +\item[color/colour/full] + Der Titel sowie Teil"~ und Kapitelseiten werden allesamt farbig und im \CD + gestaltet, der Seitenkopf wird in der primären Hausfarbe \Color{HKS41} + gesetzt. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Length{pageheadingsvskip}} +\begin{Declaration}[v2.02]{\Length{headingsvskip}} +\printdeclarationlist% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}\index{Überschriften!Position}% +% +Diese beiden Längen haben Auswirkung auf die vertikale Position verschiedener +Überschriften. Mit \Length{pageheadingsvskip} können sowohl der Titel auf der +Titelseite (\Option{titlepage}[true]) als auch die Überschriften von Teilen und +Kapiteln, welche als einzelne Kapitelseite (\Option{chapterpage}[true]) gesetzt +werden, verschoben werden. Demgegenüber erlaubt es \Length{headingsvskip}, +sowohl den Titel innerhalb eines Titelkopfes (\Option{titlepage}[false]) als +auch die Überschrift eines Kapitels bei deaktivierter Kapitelseite +(\Option{chapterpage}[false]) in ihrer vertikalen Position anzupassen. + +Normalerweise werden alle der zuvor genannten Überschriften im Layout relativ +tief im Textbereich gesetzt. Mit negativen Werten wird diese nach oben +verschoben, positive Werte setzen diese dementsprechend tiefer. Beim +Verschieben nach oben, sollte darauf geachtet werden, dass diese sich danach +noch innerhalb des Satzspiegels befinden, da dies \emph{nicht} automatisch +durch die Hauptklassen überprüft wird. +\end{Declaration} +\end{Declaration} + +\subsubsection{Einstellungen für Titel, Umschlagseite, Teile und Kapitel} +Das Verhalten aller Elemente% +\footnote{% + Titel (\Macro{maketitle}), Umschlagseite (\Macro{makecover}), + Teileseite (\Macro{part}, \Macro{addpart}), + Kapitelseite (\Macro{chapter}, \Macro{addchap})% +} +wird normalerweise von der Option \Option{cd}[\PSet] bestimmt. Bedarfsweise +können einzelne Elemente andererseits auch individuell mit abweichenden +Wertzuweisungen angepasst werden. Soll ein bestimmtes Elemente des Layouts +anders erscheinen als der Rest des Dokumentes, so kann der entsprechende Wert +mithilfe der folgenden Optionen überschrieben werden. Die gültigen +Wertzuweisungen für die einzelnen Elemente entsprechend dabei den möglichen +Werten für die Option \Option{cd}. + +\begin{Declaration}{\Option{cdtitle}[\PSet]} +\printdeclarationlist% +\index{Titel}\index{Layout!Titel}% +% +Mit \Option{cdtitle} kann der Wert des Schlüssels \Option{cd} für die +Titelseite überschrieben werden. Es kann zwischen dem Standardtitel~-- welcher +durch \KOMAScript{} bereitgestellt wird~-- und dem Titel im \CD umgeschaltet +werden. Die neue Titelseite unterstützt alle durch \KOMAScript{} definierten +Befehle für den Titel.% +\footnote{\raggedright% + \Macro{extratitle}\Parameter{Schmutztitel},\Macro{titlehead}\Parameter{Kopf}, + \Macro{subject}\Parameter{Typisierung},\Macro{title}\Parameter{Titel}, + \Macro{subtitle}\Parameter{Untertitel},\Macro{author}\Parameter{Autor}, + \Macro{date}\Parameter{Datum},\Macro{publishers}\Parameter{Verlag}, + \Macro{and} und \Macro{thanks}\Parameter{Fußnote} sowie + \Macro{uppertitleback}\Parameter{Titelrückseitenkopf}, + \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} + und \Macro{dedication}\Parameter{Widmung} +} +Zusätzlich werden viele neue Felder für den Titel definiert, welche vor allem +für den Titel einer wissenschaftlichen 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]{\Option{cdcover}[\PSet]} +\printdeclarationlist% +\index{Umschlagseite|!}% +\index{Titel!Umschlagseite}\index{Layout!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}~-- das Erscheinungsbild +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}{\Option{cdpart}[\PSet]} +\printdeclarationlist% +\index{Teileseiten}\index{Layout!Teileseiten}% +% +Für die Teileseiten kann der Wert des Schlüssels \Option{cd} separat +überschrieben und somit deren Layout% +\footnote{\label{fn:layout}% + \KOMAScript"=Layout beziehungsweise monochromes oder farbiges + Erscheinungsbild im \CD% +} +beeinflusst werden, welches bei der Benutzung der Befehle \Macro{part} +beziehungsweise \Macro{addpart} und deren Sternversionen genutzt wird. +\end{Declaration} + +\begin{Declaration}{\Option{cdchapter}[\PSet]} +\printdeclarationlist% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +% +Für Kapitelseiten kann der Schlüsselwert \Option{cd} ebenfalls angepasst und +damit das Erscheinungsbild\footref{fn:layout} geändert werden, das bei der +Verwendung von \Macro{chapter} beziehungsweise \Macro{addchap} und den +dazugehörigen Sternversionen genutzt wird. +\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} +\end{Example} + +\subsubsection{Vakatseiten/Leerseiten} +\index{Leerseiten}% +Automatisch erzeugte Vakatseiten~-- auch absichtliche Leerseiten genannt~-- +findet man in Dokumenten mit den aktivierten Optionen \Option{twoside} und +\Option{open}[right]\footnote{Standard bei \Class{tudscrbook}} beziehungsweise +\Option{open}[left] beim Beginn von Teilen und Kapiteln. Für diese kann der +Seitenstil mit der \KOMAScript"=Option \Option{cleardoublepage} eingestellt +werden. + +\begin{Declaration}{\Option{cleardoublespecialpage}[\PSet]}[true]% +\printdeclarationlist% +\index{Teileseiten}\index{Layout!Teileseiten}% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +\index{Satzspiegel!doppelseitig}\index{Layout!Rückseiten}% +% +Diese Option wirkt sich lediglich bei aktiviertem doppelseitigem Satz und +ausschließlich rechts eröffnenden Seiten für Teile beziehungsweise Kapitel +aus.% +\footnote{\Option{twoside} und \Option{open}[right]} +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 Rückseite unabhängig von der Einstellung für \Option{cleardoublepage} +immer als vollständig leere Seite ohne Kopf"~ oder Fußzeilen gesetzt wird. + +Diese Einstellung erlaubt es, dieses 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} zu übernehmen. Des Weiteren kann auch ein +anderer, beliebiger, bereits definierter Seitenstil gewählt werden. Außerdem +kann im farbigen Layout die Rückseite in der gleichen Farbe wie die +Vorderseite von Teil oder Kapitel gesetzt werden. \notudscrartcl +% +\begin{values} +\itemfalse + Die Rückseiten sind vollständig leere Seiten, unabhängig von Option + \Option{cleardoublepage}. +\itemtrue* + Der Seitenstil der Rückseite von Teilen und gegebenenfalls Kapiteln + entspricht der Einstellung von \Option{cleardoublepage} für Vakatseiten. +\item[current] + Es wird der aktuell definierte Seitenstil (\Macro{pagestyle}) für die + erzeugte Rückseite verwendet. +\item[color/colour] + Im farbigen Layout ist auch die Rückseite von Teilen und Kapiteln farbig, + siehe \Option{clearcolor}. +\makeatletter\item@values[\PName{Seitenstil}\textsl{:}]\makeatother + 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. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Option{clearcolor}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Titel}\index{Layout!Titel}% +\index{Teileseiten}\index{Layout!Teileseiten}% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +\index{Satzspiegel!doppelseitig}\index{Leerseiten}% +% +Sollten beim farbigen Layout die Optionen \Option{twoside} sowie auch +\Option{open}[right] gesetzt sein, so werden beim Aktivieren dieser Option die +Rückseiten von Teilen~-- und je nach Einstellung von \Option{chapterpage} +gegebenenfalls auch von Kapiteln~-- farbig gesetzt.% +\footnote{% + Dies führt bei der Ausgabe zu farbigen Blättern (Vorder- und Rückseite) der + entsprechenden Elemente des Layouts. +} +Die Option wirkt sich ebenfalls auf die Rückseite des Titels aus.% +\footnote{% + siehe \Macro{uppertitleback} und \Macro{lowertitleback} der + \KOMAScript"=Dokumentation (\scrguide*) +} +Der Stil dieser zusätzlich eingefügten Rückseiten ist abhängig von der Option +\Option{cleardoublespecialpage}. +% +\begin{values} +\itemfalse + Es werden weiße Rückseiten bei Titel, Teilen und gegebenenfalls Kapiteln + erzeugt. +\itemtrue* + Die rückwärtigen Seiten der genannten Elemente des Layouts sind farbig. +\end{values} +\end{Declaration} + +\subsection{Seiten im Stil des \CDs} +\begin{Declaration}[v2.02]{\PageStyle{tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{plain.tudheadings}} +\begin{Declaration}[v2.02]{\PageStyle{empty.tudheadings}} +\printdeclarationlist% +\label{sec:tudheadings} +% +Ein zentrales Element des \CDs der \TnUD ist der eingeführte prägnante +Seitenkopf mit der Angabe von Fakultät (\Macro{faculty}), Einrichtung +(\Macro{department}), Institut (\Macro{institute}) und Lehrstuhl +(\Macro{chair}) in der dazugehörigen Kopfzeile mit Querbalken. Durch die +Verwendung von \Package{scrlayer-scrpage} lassen sich einzelne Seiten oder auch +ganze Dokumente sehr einfach in diesem Stil setzen. Hierzu muss lediglich einer +der Seitenstile mit \Macro{pagestyle}\Parameter{Seitenstil} geladen werden. + +Allen Seitenstilen ist der typische Kopf gemein. Der Fuß des Seitenstils +\PageStyle{empty.tudheadings} ist immer leer, \PageStyle{tudheadings} und +\PageStyle{plain.tudheadings} übernehmen die Einstellungen für den Fuß aus der +Anwenderschnittstelle von \Package{scrlayer-scrpage}.% +\footnote{% + Es können die Befehle \Macro{lefoot}, \Macro{cefoot} und \Macro{refoot} sowie + \Macro{lofoot}, \Macro{cofoot} und \Macro{rofoot} verwendet werden. +} +Wie diese zu verwenden ist, ist der \KOMAScript"=Anleitung zu entnehmen. +Alternativ zu einer eigenen Definition der Fußzeile kann außerdem die Option +\Option{cdfoot} verwendet werden. + +Sobald einer der neu definierten Seitenstile aktiviert wurde, sind diese +zusätzlich unter den Namen \PageStyle{headings}, \PageStyle{plain} und +\PageStyle{empty} verwendbar. Das hat den Vorteil, dass bei Optionen oder +Befehlen, die automatisch zwischen \PageStyle{headings}, \PageStyle{plain} +und \PageStyle{empty} umschalten, durch die einmalige Auswahl von einem der +Stile \PageStyle{tudheadings}, \PageStyle{plain.tudheadings} oder +\PageStyle{empty.tudheadings} nun zwischen diesen Stilen umgeschaltet wird. Um +auf das normale Verhalten zurückzuschalten, muss einer der beiden Seitenstile +\PageStyle{scrheadings} oder \PageStyle{plain.scrheadings} aktiviert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\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{Kopfzeile}\index{Layout!Kopfzeile}\index{Kopfzeile!Felder}% +\index{Querbalken}\index{Layout!Querbalken}\index{Querbalken!Felder}% +% +Für den Seitenstil des \CDs der \TnUD typisch ist die Kopfzeile mit dem +charakteristischen 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, 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!\protect\DDC-Logo automatisch in Kopf oder Fuß% +]{\Option{ddc}[\PSet]}[false] +\begin{Declaration}[v2.02]{\Option{ddchead}[\PSet]}[false] +\begin{Declaration}[% + v2.02!neue Werte für die Farbwahl des Logos von \protect\DDC% +]{\Option{ddcfoot}[\PSet]}[false] +\printdeclarationlist% +\index{Zweitlogo}\index{Layout!Zweitlogo}\index{\DDC-Logo}% +% +Diese Optionen fügen das Logo von \DDC entweder im Kopf oder im Fuß der Seiten +mit dem Stil \PageStyle{tudheadings} ein. Mit \Option{ddc} wird dieses +automatisch entweder im Kopf oder~-- falls ein Zweitlogo mit \Macro{headlogo} +angegeben wurde~-- im Fuß gesetzt. Die anderen beiden Optionen setzen das Logo +zwingend entweder im Kopf (\Option{ddchead}) oder im Fuß (\Option{ddcfoot}), +wobei erstgenannte ein optionales Zweitlogo dabei unterdrückt. Die Verwendung +einer der drei Optionen führt zur Deaktivierung der anderen beiden, sie +schließen sich folglich gegenseitig aus. Die möglichen Werte für diese Optionen +sind: +% +\begin{values} +\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} +% +Soll die Farbe des \DDC-Logos manuell erfolgen, können folgende Werte verwendet +werden: +% +\begin{values} +\item[color/colour] + Im Kopf oder Fuß wird die achtfarbige 4C"~Variante des \DDC-Logos genutzt. +\item[colorblack/colourblack] + Es wird das achtfarbige Logo mit schwarzem \DDC-Schriftzug anstelle des + grauen verwendet. Für den Fuß wird der grüne Claim ebenfalls durch einen + schwarzen ersetzt. Dies ist insbesondere für kleine Darstellungen des Logos + im Fuß sinnvoll. +\item[gray/grey/cdgray/cdgrey] + Dies Ausgabe des \DDC-Logos erfolgt in Graustufen. +\item[black] + Verwendung des Logos in Graustufen mit schwarzem Schriftzug. +\item[blue/cddarkblue] + Der Schriftzug und das Logo werden in der primären Hausfarbe \Color{HKS41} + und den entsprechenden Abstufungen gesetzt +\item[white] + Das \DDC-Logo sowie der dazugehörige Schriftzug sind vollständig weiß. +\end{values} +% +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{headlogo}\LParameter\Parameter{Dateiname}% +} +\printdeclarationlist% +\index{Zweitlogo|?}\index{Layout!Zweitlogo}\index{\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 verwendeten Befehl \Macro{includegraphics} +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}{\Option{widehead}[\PBoolean]}% + [false][\Option{cd}[color]:true]% +\printdeclarationlist% +\index{Querbalken}\index{Layout!Querbalken}% +% +Für die \TUDScript-Klassen ist ein Seitenlayout entstanden, welche den Kopf des +\CDs umsetzt. Dieser besteht aus dem Logo der \TnUD sowie einem darunter +befindlichen Querbalken, in welchem Fakultät, Einrichtung, Institut und +Lehrstuhl% +\footnote{% + \Macro{faculty}, \Macro{department}, \Macro{institute} sowie \Macro{chair}% +} +aufgeführt werden können. Bei der Ausprägung dieses Balkens gibt es zwei +Varianten. Die Außenlinien laufen entweder bis zum Text"~ oder bis zum +Blattrand. + +Für den Fall, dass ein randloser Ausdruck technisch nicht möglich ist, +kann die letztere der beiden Variante Probleme bereiten. Deshalb kann mit der +Option \Option{widehead} die Breite des Querbalkens angepasst werden. +Normalerweise ist der Balken auf die Textbreite begrenzt, lediglich im farbigen +Layout wird dieser standardmäßig bis zum Blattrand verlängert. +% +\begin{values} +\itemfalse + Der Querbalken im Kopf erstreckt sich nur über den Textbereich. +\itemtrue* + Die horizontale Ausdehnung des Querbalkens erstreckt sich bis an den + Blattrand.\footnote{Voreinstellung bei \Option{cd}[color]} +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Option{barfont}[\PSet]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\index{Kopfzeile!Schrift}% +\index{Layout!Kopfzeile}% +% +Mit dieser Option kann die Schrift im Querbalken der Kopfzeile für Seiten, +welche in einem der \PageStyle{tudheadings}"=Seitenstilen gesetzt wird, +beeinflusst werden. +% +\begin{values} +\itemfalse + Sollte mit \Option{cdfont}[false] die Verwendung der Hausschrift im Stil des + \CDs der \TnUD deaktiviert worden sein, wird die Kopfzeile im Querbalken in + den Serifenlosen der genutzten Schrift gesetzt. Sind die Hausschriften + aktiviert, hat diese Einstellung keinen Einfluss. +\itemtrue*[cdfont/light/lightfont/noheavyfont] + Im Querbalken wird für \Macro{faculty} \textubn{Univers~65~Bold} verwendet, + für die Felder \Macro{department}, \Macro{institute}, \Macro{chair} und + \Macro{extraheadline} kommt \textuln{Univers~45~Light} zum Einsatz. +\item[heavy/heavyfont] + Der Inhalt von \Macro{faculty} wird weiterhin in \textubn{Univers~65~Bold} + gesetzt, für die restlichen Felder wird \texturn{Univers~55~Regular} genutzt. +\end{values} +\end{Declaration} + +\begin{Declaration}[% + v2.02!Parameter \Key{\Environment{tudpage}}{head} und + \Key{\Environment{tudpage}}{foot} entfernt +]{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{color}[\PName{Farbe}]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{pagestyle}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddc}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddchead}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddcfoot}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{barfont}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{widehead}[\PBoolean]} +\printdeclarationlist% +\index{Layout}\index{Layout!Seitenstil}% +\index{Kopfzeile}\index{Layout!Kopfzeile}% +\index{Fußzeile}\index{Layout!Fußzeile}% +\index{Schrift}\index{Kopfzeile!Schrift} +% +Diese Umgebung dient zum Setzen einer oder mehrerer Seiten innerhalb des +Dokumentes mit dem Kopf im \CD. Sie hat ihren Ursprung in einer früheren +Version, als die \PageStyle{tudheadings}"=Seitenstile noch nicht verfügbar +waren. Diese können mittlerweile anstelle der \Environment{tudpage}"=Umgebung +verwendet werden. + +Dabei lassen sich verschiedene Parameter als optionales Argument angegeben. +Wird das Paket \Package{babel} genutzt, kann die in der Umgebung verwendete +Sprache mit \Key{\Environment{tudpage}}{language}[\PName{Sprache}] geändert +werden, was zur lokalen 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 dem Parameter \Key{\Environment{tudpage}}{color} kann die Farbe des Kopfes +auf eine beliebige geändert werden. Diese ist für den Fall eines farbigen +Layouts (\Option{cd}[pale|color]) auf die primäre Hausfarbe \Color{HKS41} +gesetzt, sonst ist der Kopf standardmäßig schwarz. Außerdem kann mit +\Key{\Environment{tudpage}}{pagestyle} der Seitenstil angepasst werden. +Gültige Werte sind \PValue{headings}, \PValue{plain}, \PValue{empty} oder einer +der \PageStyle{tudheadings}"=Seitenstile. Soll lokal ein anderes Zweitlogo als +das mit \Macro{headlogo} gegebene erscheinen, so kann der Parameter +\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}] verwendet werden. + +Die anderen Parameter entsprechen in ihrem Verhalten prinzipiell den +gleichnamigen Klassenoptionen, wirken sich jedoch nur lokal innerhalb der +\Environment{tudpage}"=Umgebung aus. Dies sind namentlich sowohl die Optionen +\Option{cdfont}'full' sowie \Option{ddc}, \Option{ddchead} und +\Option{ddcfoot}'full' als auch \Option{barfont} und \Option{widehead}'page'. +Das Verhalten sowie die jeweils gültigen Wertzuweisungen können in den +entsprechenden Abschnitten der Dokumentation nachgelesen werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\ToDo[imp,nxt]{% + Titelseite und Cover auf Drittlogos und dergleichen mit scrlayer erweitern. +}[v2.x] + + +\subsection{Der Titel und die Umschlagseite} +\label{sec:title}%\label{sec:cover}% +\index{Titel|!(} +\index{Umschlagseite|!}% +\index{Titel!Umschlagseite}\index{Layout!Umschlagseite}% +% +Für den Titel werden alle Felder unterstützt, die bereits durch \KOMAScript{} +bereitgestellt werden. Darüber hinaus werden für die \TUDScript-Klassen weitere +Felder definiert, die Auswirkungen auf die Gestalt des Titels haben. Diese +werden nachfolgend in diesem \autorefname erläutert. Der Titel~-- bestehend aus +möglichem Schmutztitel, der eigentlichen Titelseite und der nachgelagerten +Elementen~-- kann mit dem Befehl \Macro{maketitle} ausgegeben werden. Außerdem +kann im zweispaltigen Satz der \Macro{maketitleonecolumn} verwendet werden, +welcher einen einspaltigen Einfügung nach dem Titel selbst ermöglicht. + +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. + +\ChangedAt{v2.02} +Für alle Felder des Titels und der Umschlagseite lässt sich die verwendete +Schrift anpassen. Dabei werden sowohl die bereits durch \KOMAScript{} +bereitgestellten Schriftelemente \Font{titlehead}, \Font{subject}, +\Font{title}, \Font{subtitle}, \Font{author}, \Font{date}, \Font{publishers} +und \Font{dedication} als auch die neuen \Font{titlepage} und \Font{thesis} +unterstützt. +% +\begin{Example} +In diesem Dokument wurde der Untertitel derart geändert, dass dieser nicht +standardmäßig in \DIN sondern in \textubn{Univers~65~Bold} ausgegeben wird. +\begin{Code}[escapechar=§] +\addtokomafont{subtitle}{\univbn} +\end{Code} +\end{Example} + +\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.02]{\Key{\Macro{maketitle}}{cdfont}[\PSet]} +\printdeclarationlist% +\index{Layout!Titel}% +\index{Satzspiegel!doppelseitig}% +% +Der Befehl \Macro{maketitle} setzt für \Option{cdtitle}[false] den normalen +\KOMAScript"=Titel{}, ansonsten wird die Titelseite im \CD der \TnUD erzeugt. +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 in +diesem \autorefname erläutert. Wird das Dokument doppelseitig und mit rechts +öffnenden Kapiteln gesetzt,% +\footnote{% + \Option{twoside} und \Option{open}[right], Standard für \Class{tudscrbook} +} +so wird zusätzlich die Option \Option{clearcolor} beachtet. + +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. +Zusätzlich kann der Parameter \Key{\Macro{maketitle}}{cdfont} im optionalen +Argument verwendet werden, um die Nutzung der Schriften des \CDs zu regulieren. +Er entspricht in seinem Verhalten der gleichnamigen Klassenoption. Die gültigen +Wertzuweisungen können der Beschreibung der Option \Option{cdfont}'full' +entnommen werden. Die Einstellungen dieses Parameters wirkt sich nur lokal und +einzig auf die Umschlagseite aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{maketitleonecolumn}\OParameter{Seitenzahl}\Parameter{Einspaltentext}% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{maketitleonecolumn}}{pagenumber}[\PName{Seitenzahl}]% +} +\begin{Declaration}[v2.02]{\Key{\Macro{maketitleonecolumn}}{cdfont}[\PSet]} +\printdeclarationlist% +\index{Layout!Titel}% +\index{Satzspiegel!doppelseitig}% +\index{Zweispaltensatz}% +% +Im zweispaltigen Satz (\Option{twocolumn}) 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} +ermöglichen die \TUDScript-Klassen, nach dem Titel zusätzlich noch weitere +Textpassagen~-- beispielsweise eine Zusammenfassung~-- einspaltig zu setzen. + +Wird der Befehl bei einer Titelseite (\Option{titlepage}[true]) verwendet, wird +der Inhalt des Argumentes direkt nach dieser auf einer neuen Seite ebenfalls +einspaltig ausgegeben. Kommt jedoch ein Titelkopf (\Option{titlepage}[false]) +zum Einsatz, so folgt nach diesem die einspaltige Textpassage aus dem Argument. +Danach wird auf das zweispaltige Layout umgeschaltet, + +Der optionale Parameter von \Macro{maketitleonecolumn} kann äquivalent zum +Befehl \Macro{maketitle} für die Anpassung der Seitenzahl und der verwendeten +Schrift verwendet werden. +\end{Declaration} +\end{Declaration} +\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}{\Key{\Macro{makecover}}{cdlayout}[\PBoolean]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{makecover}}{pagenumber}[\PName{Seitenzahl}]% +} +\begin{Declaration}{\Key{\Macro{makecover}}{cdfont}[\PSet]} +\printdeclarationlist% +% +Eine Umschlagseite wird zumeist für gebundene Abschlussarbeiten verlangt, um +diese beispielsweise für einen Prägedruck auf dem Buchdeckel zu verwenden. +Hierfür ist es sinnvoll, mit \Option{cdcover}[true] die farbige Ausprägung der +Umschlagseite zu deaktivieren, falls diese für das restliche Dokument aktiv ist +(\Option{cd}[color]). + +Wird \Option{cdcover}[true] gewählt, so wird die Umschlagseite im \CD der +\TnUD 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} 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 wird daher im gleichen +Satzspiegel gesetzt. Dem entgegen steht die Umschlagseite, welche zumeist in +einem anderen Layout erscheint. Normalerweise wird das Cover~-- unabhängig von +der Option \Option{geometry}~-- im asymmetrischen Satzspiegel des \CDs gesetzt. +Mit \Key{\Macro{makecover}}{cdlayout}[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 durch den Nutzer mit den Befehlen \Macro{coverpagetopmargin}, +\Macro{coverpageleftmargin}, \Macro{coverpagerightmargin} sowie +\Macro{coverpagebottommargin} frei angepasst werden. Mehr dazu ist im +\KOMAScript"=Handbuch \scrguide zu finden. + +Die beiden anderen optionalen Parameter \Key{\Macro{makecover}}{pagenumber} +sowie \Key{\Macro{makecover}}{cdfont} dienen~-- äquivalent zum Befehl +\Macro{maketitle}~-- zur Anpassung der Seitenzahl und der verwendeten Schrift. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{extratitle}\Parameter{Schmutztitel}} +\begin{Declaration}{\Macro{titlehead}\Parameter{Kopf}} +\begin{Declaration}{\Macro{title}\Parameter{Titel}} +\begin{Declaration}[% + v2.01a!Bugfix für Schriftstärke bei Verwendung des Untertitels% +]{\Macro{subtitle}\Parameter{Untertitel}} +\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% +\index{Titel!Felder}% +% +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~-- 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. + +Die Befehle \Macro{title} und \Macro{subtitle} bedürfen keiner weiteren +Erklärung. Anzumerken ist, dass sowohl Titel als auch Untertitel normalerweise +in Majuskeln und \DIN gesetzt 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}, 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} kann eine eigene Widmungsseite zentriert und in etwas +größerer Schrift gesetzt werden. Die Rückseite ist wie die des Schmutztitels +grundsätzlich leer. Die Widmung wird zusammen mit der restlichen Titelei durch +\Macro{maketitle} ausgegeben und muss daher vor dieser Anweisung definiert sein. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{titledelimiter}\Parameter{Trennzeichen}} +\printdeclarationlist% +\index{Titel!Felder}\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 (siehe dazu \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. +\end{Declaration} + + +\begin{Declaration}{\Macro{author}\Parameter{Autor(en)}} +\begin{Declaration}{\Macro{authormore}\Parameter{Autorenzusatz}} +\begin{Declaration}{\Macro{dateofbirth}\Parameter{Geburtsdatum}} +\begin{Declaration}{\Macro{placeofbirth}\Parameter{Geburtsort}} +\begin{Declaration}{\Macro{matriculationnumber}\Parameter{Matrikelnummer}} +\begin{Declaration}{\Macro{matriculationyear}\Parameter{Immatrikulationsjahr}} +\printdeclarationlist% +\index{Titel!Felder}\index{Autorenangaben|?}% +\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. Zu erwähnen ist, dass alle +weiteren hier vorgestellten Befehle selbst im Argument von \Macro{author} +stehen können. Damit wird es möglich, jedem Autor unterschiedliche Angaben +mitzugeben. + +Mit \Macro{authormore} wird unter dem Autor eine Zeile ausgegeben, welche +durch den Anwender frei belegt werden kann. Sollte das Paket \Package{isodate} +geladen sein, so wird die damit eingestellte Formatierung des Datums durch +\Macro{dateofbirth}~-- wie übrigens bei jedem anderem Datumsfeld der +\TUDScript-Klassen auch~-- verwendet. Dafür der Befehl \Macro{printdate} aus +diesem Paket verwendet. Die weiteren Befehle als zusätzliche Angabe erklären +sich von selbst. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{and}} +\printdeclarationlist% +\index{Kollaboratives Schreiben|?}\index{Titel!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. Auch bei den Umgebungen \Environment{task}, +\Environment{evaluation} und \Environment{notice} kann er eingesetzt werden. +\end{Declaration} +% +\begin{Example} +Angenommen, es soll eine Abschussarbeit von zwei unterschiedlichen Autoren in +kollaborativer Gemeinschaft erstellt werden, so könnte man 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}{\Macro{thesis}\Parameter{Typisierung}} +\begin{Declaration}{\Macro{subject}\Parameter{Typisierung}} +\printdeclarationlist% +\index{Titel!Felder}% +\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 und in \DIN auf der Titelseite +ausgibt, erscheint der Inhalt des Befehls \Macro{subject} in \Univers 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{Bezeichner!Typisierung}%\\ +\index{Abschlussarbeit!Typisierung}% +\caption{% + Spezielle Werte zur Typisierung des Dokumentes für + \Macro{thesis} und \Macro{subject}% +} +\label{tab:thesis}% +\centering% +\makeatletter% +\def\@tempa#1{% + \Term{#1} & \@nameuse{#1} & \selectlanguage{english}\@nameuse{#1}% + \tabularnewline% +}% +\begin{tabular}{llll} + \toprule + \textbf{Wert} & \textbf{Bezeichner} + & \textbf{Deutsch} & \textbf{Englisch} \tabularnewline + \midrule + diss & \@tempa{dissertationname} + doctoral & \@tempa{dissertationname} + phd & \@tempa{dissertationname} + diploma & \@tempa{diplomathesisname} + master & \@tempa{masterthesisname} + bachelor & \@tempa{bachelorthesisname} + student & \@tempa{studentresearchname} + project & \@tempa{projectpapername} + seminar & \@tempa{seminarpapername} + research & \@tempa{researchname} + log & \@tempa{logname} + report & \@tempa{reportname} + internship & \@tempa{internshipname} + \bottomrule +\end{tabular} +\makeatother% +\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 +zweier unterschiedlichen Ausprägungen der Titelseite und ist im speziellen für +Abschlussarbeiten gedacht. Außerdem kann bei der Verwendung 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} +\itemfalse + Die Ausgabe des Typs der Abschlussarbeit (\Macro{thesis}) selbst sowie des + angestrebten Abschlusses (\Macro{graduation}) erfolgt in großen Lettern in + \DIN 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 in der schlankeren \Univers ausgegeben. +\end{values} +\end{Declaration} + +\Rename[macros]{v2.02}{\Macro{degree}}{\Macro{graduation}} +\begin{Declaration}{\Macro{graduation}\OParameter{Kurzform}\Parameter{Grad}} +\printdeclarationlist% +\index{Titel!Felder}% +% +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. + +Die Option \Option{subjectthesis} hat Einfluss auf die Ausgabe auf der +Titelseite. Für die Einstellung \Option{subjectthesis}[false] wird der +Abschuss~-- ä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{Titel!Felder}% +\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}{\Macro{date}\OParameter{Ergänzung}\Parameter{Datum}} +\begin{Declaration}{\Macro{defensedate}\Parameter{Verteidigungsdatum}} +\printdeclarationlist% +\index{Titel!Felder} +\index{Datum|?}\index{Datum!Verteidigungsdatum|?}% +% +Mit \Macro{date} kann das Datum angegeben werden. Das optionale Argument +erlaubt eine zusätzliche Anmerkung, welche nach dem Datum ausgegeben wird. Das +Datum wird bei normalen Dokumenten direkt nach dem Autor beziehungsweise den +Autoren ausgegeben. Bei Abschlussarbeiten~-- aktiviert durch die Verwendung von +\Macro{thesis} uder \Option{subjectthesis}~-- 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 das Paket \Package{isodate} geladen sein, so wird die damit eingestellte +Formatierung des Datums durch den Befehl \Macro{printdate} aus diesem Paket für +alle Datumsfelder des Dokumentes und folglich auch für die beiden Felder +\Macro{date} und \Macro{defensedate} verwendet. +\end{Declaration} +\end{Declaration} +\index{Titel|!)} + + +\subsection{Die Teileseite} +\label{sec:part} +% +\ChangedAt{% + v2.02!\PageStyle{plain.tudheadings} wird genutzt!\Macro{partpagestyle}% +} +Wird für die Teileseiten das Layout des \CDs verwendet, so wird der Seitenstil +dieser (\Macro{partpagestyle}) auf \PageStyle{plain.tudheadings} gesetzt. +Möchten Sie stattdessen einen anderen Seitenstil nutzen, so kann dieser mit +\Macro*{renewcommand*}\PParameter{\Macro{partpagestyle}}\Parameter{Seitenstil} +angepasst werden. + +\begin{Declaration}{\Option{parttitle}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Teileseiten|?}\index{Layout!Teileseiten}% +% +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} erzeugten Teils wird +in diesem Fall in kleiner Schrift direkt darunter gesetzt. Diese +Layout"=Variante findet sich im Handbuch für das \CD der \TnUD. \notudscrartcl +% +\begin{values} +\itemfalse + Die Bezeichnung des Teils erscheint in großer Schrift auf der Seite, der + Titel des Dokumentes gar nicht. +\itemtrue* + Der Titel wird in großer Auszeichnung auf der Teileseite gesetzt, die + Bezeichnung des Teils selber in kleinerer. +\end{values} +\end{Declaration} + + +\subsection{Die Kapitelseite} +\begin{Declaration}{\Option{chapterpage}[\PBoolean]}% + [false][\Option{cd}[color]:true]% +\printdeclarationlist% +\label{sec:chapter}% +\index{Kapitelseiten|?}\index{Layout!Kapitelseiten|?}% +\index{Satzspiegel!doppelseitig}\index{Leerseiten}% +% +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{% + \Option{twoside} und \Option{open}[right], 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} +\itemfalse + Es gibt keine Sonderstellung von Kapiteln, der nachfolgende Text wird direkt + unter der Überschrift auf der gleichen Seite ausgegeben. +\itemtrue* + Die Kapitelüberschrift wird auf einer separaten Seite gesetzt, der folgende + Text wird erst auf der nächsten beziehungsweise übernächsten Seite + ausgegeben. Siehe dazu auch die Option \Option{cleardoublespecialpage}. +\end{values} +% +\ChangedAt{% + v2.02!nicht mehr abhängig von \Macro{partpagestyle}!\Macro{chapterpagestyle} +} +Mit \Macro*{renewcommand*}\PParameter{\Macro{chapterpagestyle}}% +\Parameter{Seitenstil} lässt sich übrigens~-- unabhängig von der Option +\Option{chapterpage}~-- der Seitenstil von Kapiteln anpassen. + +Außerdem empfehle ich insbesondere bei der Verwendung separater Kapitelseiten +das Aktivieren der \KOMAScript-Option \Option{chapterprefix}. Damit werden die +Kapitelüberschriften mit einer Vorsatzzeile gesetzt. Falls ein nummeriertes +Kapitel erzeugt wird, 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. Genaueres hierzu ist in der \KOMAScript"=Dokumentation +nachzulesen. +\end{Declaration} + + +\subsection{Satzspiegel und Kolumnentitel} +\begin{Declaration}{\Option{geometry}[\PSet]}[true]% +\printdeclarationlist% +\index{Seitenstil}\index{Layout!Seitenstil}% +\index{Satzspiegel}\index{Satzspiegel!doppelseitig}\index{Layout!Satzspiegel}% +\index{Layout!Seitenränder}% +% +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 Standardverhalten von +\KOMAScript{} zurückzufallen und die Satzspiegelberechnung durch das Paket +\Package{typearea} vornehmen zu lassen. Hier hat insbesondere die Klassenoption +\Option{DIV}[\PSet] maßgeblichen Einfluss auf den Satzspiegel. Siehe dazu die +Dokumentation von \KOMAScript{}. +% +\begin{values} +\itemfalse + Die Satzspiegelberechnung erfolgt via \Package{typearea}, die Vorgaben des + \CDs bezüglich der Seitenränder werden ignoriert. +\itemtrue*[tud/cd/asymmetric] + Die Seitenränder werden im asymmetrischen Stil des \CDs fest definiert und + auch für den doppelseitigen Satz (\Option{twoside}[true]) genutzt.% + \footnote{links: 30\,mm, rechts: 20\,mm, oben: 25\,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: 25\,mm, unten: 30\,mm} +\item[balanced/twoside] + Im einseitigen Layout ist das Verhalten der Einstellung identisch zu + \Option{geometry}[symmetric]. Beim doppelseitigen Satz wird der Satzspiegel + derart verändert, dass die Ränder der inneren Seiten schmaler sind als die + der äußeren.% + \footnote{innen: 20\,mm, außen: 30\,mm, oben: 25\,mm, unten: 30\,mm} + \Attention{% + Der so erzeugte Satzspiegel ist jedoch nicht sehr vorteilhaft. Es ist zu + beachten, dass dabei das Logo der \TnUD sehr nah am inneren Seitenrand + des Dokumentes gesetzt wird, folglich insbesondere auf rechten respektive + ungeraden Seiten sehr weit an den Blattrand rückt. + } +\end{values} +% +Für die Festlegung der Seitenränder wird das Paket \Package{geometry} +verwendet. Ist \Option{geometry}[false] gewählt, erfolgt die Berechnung des +Satzspiegels durch \Package{typearea}. Die damit berechneten Werte werden +anschließend an \Package{geometry} weitergereicht und durch dieses umgesetzt. +\end{Declaration} + +\subsubsection{Bindekorrektur} +\index{Bindekorrektur|!}\index{Layout!Bindekorrektur}% +% +Zu erwähnen im Zusammenhang mit Seitenrändern und Satzspiegel ist die durch +\Package{typearea} angebotene Option \Option{BCOR}[\PName{Länge}], mit der bei +der Satzspiegelberechnung ein Heftrand beziehungsweise eine Bindekorrektur +berücksichtigt wird. Die \TUDScript-Klassen reichen diesen Wert auch an +\Package{geometry} weiter, so dass der Benutzer unabhängig von der Auswahl zur +Satzspiegelgestaltung diese Option nutzen kann. So kann beispielsweise eine +Bindekorrektur von \unit[5]{mm} mit der Klassenoption \Option{BCOR}[5mm] +gesetzt werden. + +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. +\end{Example} + +\subsubsection{Kopf"~ und Fußzeile im Zusammenspiel mit dem Satzspiegel} +\index{Kopfzeile|!}\index{Layout!Kopfzeile}% +\index{Fußzeile|!}\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] sowie +\Option{footinclude}[\PBoolean]. Diese können~-- unabhängig von der gewählten +Einstellung zur Satzspiegelgestaltung über \Option{geometry}~-- verwendet +werden. + +\begin{Declaration}{\Option{cdfoot}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Kolumnentitel}\index{Layout!Kolumnentitel} +\index{Satzspiegel!doppelseitig}% + +Eine Möglichkeit zur Gestaltung der Kolumnentitel zeigt das Handbuch für das +\CD der \TnUD. Dieses wird ohne Kopf"~ und mit einer einfachen Fußzeile +gesetzt. Diese enthält dabei den aktuellen Kolumnentitel sowie die Paginierung. +Eine derartige Ausprägung ist nicht explizit durch das \CD vorgegeben, wurde +jedoch innerhalb der alten \Class{tudbook}"=Klasse exakt so umgesetzt. + +Die neuen \TUDScript-Klassen sind~-- insbesondere aufgrund der Möglichkeit zur +Verwendung des Paketes \Package{scrlayer-scrpage}~-- bei der Gestaltung der +Kopf"~ und Fußzeilen wesentlich flexibler. Dennoch kann mit dieser Option das +beschriebene Verhalten aktiviert werden. Hierbei wird beim doppelseitigen Satz +(\Option{twoside}[true]) die Seitenzahl außen gesetzt. +% +\begin{values} +\itemfalse + Die Kopf"~ und Fußzeilen zeigen Standardverhalten, zur manuellen Änderung + dieser sollte unbedingt das \KOMAScript"=Paket \Package{scrlayer-scrpage} + verwendet werden. +\itemtrue* + Die Kopf"~ und Fußzeilen des Dokumentes werden wie im Handbuch des \CDs der + \TnUD beziehungsweise der \Class{tudbook}"=Klasse gesetzt. +\end{values} +% +Der Inhalt der Kolumnentitel kann durch den Anwender frei gewählt werden. Wird +die Klassenoption \Option{automark} angegeben, werden für das automatische +Setzen der Marken die Titel der Gliederungsebenen verwendet. Genaueres hierzu +sowie der Möglichkeit, die Kolumnentitel manuell festzulegen, ist dem Handbuch +von \KOMAScript{} zu entnehmen. +\end{Declaration} + + +\subsection{Die Farben des \CDs} +\index{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. + + + +\section{Zusätzliche Optionen und Erweiterungen} +Neben den Befehlen für die Anpassung des Layouts an das \CD der \TnUD stellen +die \TUDScript-Klassen weitere Befehle und Umgebungen zur Verfügung, um die +Anwendung insbesondere für wissenschaftliche Arbeiten zu erleichtern. + + +\subsection{Zusammenfassung} +\begin{Declaration}[% + v2.02!Wert \PValue{double} mit \PValue{multi} ersetzt,% + v2.02!Wert \PValue{tocleveldown} neu,% + v2.02!Wert \PValue{markboth} neu% +]{\Option{abstract}[\PSet]}% +\printdeclarationlist% +\index{Zusammenfassung|!(}% +\index{Zweispaltensatz}% +% +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 setzt man ein entsprechendes Kapitel an den Anfang oder Ende des Werks. +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 +die Klassen \Class{tudscrreprt} und \Class{tudscrbook} in der Form eines +\chapterautorefname{}s ausgegeben werden. +% +\begin{values} +\itemfalse[][nur für \Class{tudscrartcl} und \Class{tudscrreprt} verfügbar] + Es wird keine Überschrift für die \Environment{abstract}"=Umgebung ausgegeben. +\itemtrue*[][nur für \Class{tudscrartcl} und \Class{tudscrreprt} verfügbar] + Wie bei den \KOMAScript"=Klassen wird eine zentrierte Überschrift mit dem + Bezeichner \Term{abstractname} vor der eigentlichen Zusammenfassung gesetzt. +\item[section/addsec] + Die Überschrift verwendet den Gliederungsbefehl \Macro{section}. +\item[chapter/addchap][% + (Säumniswert für \Class{tudscrbook}) + nur für \Class{tudscrreprt} und \Class{tudscrbook} verfügbar% + ] + Es wird der Befehl \Macro{chapter} für das Setzen der Überschrift 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} +\item[toc/totoc] + Es wird ein nicht nummerierten Eintrag im Inhaltsverzeichnis auf der obersten + Gliederungsebene der verwendeten Dokumentklasse für die Zusammenfassung + gesetzt. +\item[tocleveldown/totocleveldown/leveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der + obersten erzeugt. +\item[notoc/nottotoc] + Die Zusammenfassung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +\ChangedAt{v2.02} +Außerdem kann das Verhalten für die Kolumnentitel durch den Nutzer beeinflusst +werden. Normalerweise werden diese nur gesetzt, wenn automatische Kolumnentitel +aktiviert sind (\Option{automark}) und sind von der Gliederungsebene der +Überschrift abhängig. Werden manuelle Kolumnentitel genutzt, müssen diese auch +für die Zusammenfassung manuell gesetzt werden. Mit \Option{abstract}[markboth] +lässt sich das Setzen der Kolumnentitel jedoch forcieren. +% +\begin{values} +\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. +% +\begin{values} +\item[one/simple/single] + Jede Zusammenfassung wird auf einer eigenen Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multi/multiple/all] + \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 Option \Option{twocolumn} aktiviert, + erfolgt die Ausgabe aller Zusammenfassungen ohne Spaltenumbruch. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Alle Zusammenfassungen auf einer Ausgabeseite werden vertikal zentriert. Für + den zweispaltigen Satz mit \Option{twocolumn} steht diese Einstellung nicht + zur Verfügung. +\end{values} +% +Die zuletzt genannten Einstellungen zur Positionierung der Zusammenfassungen +innerhalb der \Environment{abstract}"=Umgebung nur wirksam sind, wenn eine +Titelseite (\Option{titlepage}[true]) und \emph{keine} Überschriften in Form +von Kapiteln (\Option{abstract}[chapter]) verwendet werden. +\end{Declaration} + +\begin{Declaration}[% + v2.02!\Macro{nextabstract} zur Trennung der einzelnen Teile% +]{\Environment{abstract}[\OLParameter{Sprache}]} +\begin{Declaration}[v2.02]{\Macro{nextabstract}\OLParameter{Sprache}} +\begin{Declaration}{\Key{\Environment{abstract}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Environment{abstract}}{markboth}[\PBName{Kolumnentitel}]% +} +\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]} +\printdeclarationlist% +\index{Zweispaltensatz}% +% +Diese Umgebung dient speziell für die Ausgabe einer Zusammenfassung. Wird ein +Titelkopf (\Option{titlepage}[false]) und keine Titelseite verwendet, so wird +für den Fall, dass die Zusammenfassung \emph{nicht} mit der Überschrift einer +Gliederungsebene gesetzt wird, diese wie bei den \KOMAScript"=Klassen in einer +\Environment{quotation}"=Umgebung gesetzt, um diese vom restlichen Fließtext +abzuheben. Diese hat jedoch den Nachteil, dass in besagter Umgebung die Option +\Option{parskip} nicht beachtet wird. Um dieses Problem zu beheben, kann das +Paket \Package{quoting} geladen werden, wodurch stattdessen die Umgebung +\Environment{quoting} 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}. Außerdem lässt sich der +Kolumnentitel mit \Key{\Environment{abstract}}{markboth}[\PName{Kolumnentitel}] +auch 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} verwendet werden, so wird in der +Umgebung automatisch der Seitenstil \PageStyle{headings} verwendet. Mit dem +Parameter \Key{\Environment{abstract}}{pagestyle} dieser auch manuell angegeben +werden. Auch die \PageStyle{tudheadings}"=Seitenstile werden unterstützt. + +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 Angabe als Klassenoption oder über die Variante der späten Optionenwahl% +\footnote{% + \Macro{TUDoption}\PParameter{abstract}\Parameter{Einstellung} oder + \Macro{TUDoptions}\PParameter{abstract=\PName{Einstellung}} +}~-- lediglich lokal auf die verwendete \Environment{abstract}"=Umgebung aus. + +\ChangedAt{v2.02} +Sollen mehrere Zusammenfassungen im gleichen Stil erzeugt und die Einstellungen +der Option \Option{abstract}[simple/multiple/fill/nofill] beachtet werden, so +ist die \Environment{abstract}"=Umgebung nur einmal zu verwenden. Innerhalb +dieser müssen die einzelnen Zusammenfassungen mit \Macro{nextabstract} +voneinander getrennt werden. Der Befehl akzeptiert dabei im optionalen Argument +alle Parameter, die 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{partpreamble} beziehungsweise \Macro{chapterpreamble} 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} +\index{Zusammenfassung|!)}% + + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +\begin{Declaration}[% + v2.02!Wert \PValue{double} mit \PValue{multi} ersetzt,% + v2.02!Wert \PValue{tocleveldown} neu,% + v2.02!Wert \PValue{markboth} neu% +]{\Option{declaration}[\PSet]}[true]% +\printdeclarationlist% +\index{Selbstständigkeitserklärung|!}\index{Sperrvermerk|!}% +% +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 Einstellungen +\Option{declaration}[true/false] auch für die Klasse \Class{tudscrbook} zur +Verfügung. +% +\begin{values} +\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}. +\item[chapter/addchap][% + (Säumniswert für \Class{tudscrbook}) + nur für \Class{tudscrreprt} und \Class{tudscrbook} verfügbar% + ] + Es wird der Befehl \Macro{chapter} 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/false] +geschieht dies standardmäßig nicht. Das voreingestellte Verhalten kann mit +folgenden Werten überschrieben werden. +% +\begin{values} +\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 aktuell gerade verwendeten Dokumentklasse. +\item[tocleveldown/totocleveldown/leveldown] + \ChangedAt{v2.02} + Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der + obersten erzeugt. +\item[notoc/nottotoc] + Die Erklärung wird definitiv nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +\ChangedAt{v2.02} +Normalerweise werden die automatischen Kolumnentitel in Abhängigkeit von der +Gliederungsebene der Überschrift gesetzt, falls diese denn aktiviert sind +(\Option{automark}). Werden manuelle Kolumnentitel genutzt, müssen diese auch +für die Erklärungen manuell gesetzt werden. Mit \Option{declaration}[markboth] +lässt sich außerdem das Setzen der Kolumnentitel auf linken und rechten Seiten +forcieren, wobei hierfür der Titel der Überschrift genutzt wird. +% +\begin{values} +\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} +% +Des Weiteren kann mit dem Parameter \Key{\Environment{declaration}}{markboth} +der \Environment{declarations}"=Umgebung der Kolumnentitel mit einem beliebigen +Inhalt gesetzt werden. Verwenden Sie einen der Befehle \Macro{declaration} +beziehungsweise \Macro{confirmation} und \Macro{blocking} ist dies mit dem +gleichnamigen, optionalen Parameter ebenfalls möglich. + +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 eine Titelseite (\Option{titlepage}[true]) verwendet +wird. +% +\begin{values} +\item[one/simple/single] + Jede Erklärung wird auf einer separaten Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[multi/multiple/all] + \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 Option \Option{twocolumn} aktiviert, + erfolgt die Ausgabe aller Erklärungen ohne Spaltenumbruch. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Alle Erklärungen auf einer Ausgabeseite werden vertikal zentriert. Für + den zweispaltigen Satz mit \Option{twocolumn} steht diese Einstellung nicht + zur Verfügung. +\end{values} +\end{Declaration} + +\begin{Declaration}[v2.02]{\Environment{declarations}[\LParameter]} +\begin{Declaration}{\Key{\Environment{declarations}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Environment{declarations}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Environment{declarations}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{% + \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% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +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. Die im Folgenden beschriebenen Parameter +können dabei sowohl für die \Environment{declarations}"=Umgebung selbst als +auch für die zuvor genannten Befehle als optionales Argument verwendet werden. +Auch die beiden Umgebungen \Environment{abstract} und \Environment{declaration} +sind sich sehr ähnlich. 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{abstract}}{markboth}[true] werden +für die Kolumnentitel auf linker und rechter Seite \Term{confirmationname} +respektive \Term{blockingname} verwendet. Außerdem kann der Anwender diese mit +\Key{\Environment{declarations}}{markboth}[\PName{Kolumnentitel}] auch direkt +festlegen. Sollte \Key{\Environment{declarations}}{markboth} verwendet werden, +wird der Seitenstil automatisch auf \PageStyle{headings} gesetzt. Mit dem +Parameter \Key{\Environment{declarations}}{pagestyle} lässt sich dieser für die +Umgebung auch manuell angegeben. + +Die Verwendung der 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. Für den +Parameter \Key{\Environment{declarations}}{option} können alle gültigen Werte +der Option \Option{declaration} angegeben werden. Diese wirken sich nur lokal +innerhalb der \Environment{declarations}"=Umgebung aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{declaration}\LParameter} +\begin{Declaration}{\Key{\Macro{declaration}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{markboth}[\PBName{Kolumnentitel}]% +} +\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% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +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 Wertzuweisungen an die Option +\Option{declaration}[simple/multiple/fill/nofill] erfolgen, beachtet. Er kann +sowohl innerhalb der \Environment{declarations}"=Umgebung als auch außerhalb +direkt im Dokument verwendet werden und akzeptiert im optionalen Argument dabei +alle für die \Environment{declarations}"=Umgebung beschriebenen Parameter. +\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}{\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}[\PBName{Kolumnentitel}]% +} +\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{Selbstständigkeitserklärung}\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 direkt im Dokument +verwendet werden. + +Wird er in seiner ursprünglichen Form belassen, kann er im optionalen Argument +über 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} oder \Macro{subject} und +einem speziellen Wert aus \autoref{tab:thesis} beziehungsweise mit der Option +\Option{subjectthesis} angegeben wurde~-- aufgeführt. Über den Parameter +\Key{\Macro{confirmation}}{supporter} können weitere an der Arbeit beteiligte +Personen angegeben werden. Dies ist auch mit dem Befehl \Macro{supporter} +möglich, wenn dieser \emph{vor} \Macro{confirmation} verwendet wird. 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. + +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 Freiraum 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}}{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} + +\Rename[macros]{v2.02}{\Macro{restriction}}{\Macro{blocking}} +\begin{Declaration}{\Macro{blocking}\OLParameter{Firma}} +\begin{Declaration}{\Key{\Macro{blocking}}{company}[\PName{Firma}]} +\begin{Declaration}{\Key{\Macro{blocking}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{blocking}}{columns}[\PName{Anzahl}]% +} +\begin{Declaration}{\Key{\Macro{blocking}}{option}[\PSet]} +\printdeclarationlist% +\index{Sperrvermerk}% +% +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 durch den Anwender geändert werden. Wie genau +ist in \autoref{sec:localization} beschrieben. Der Befehl \Macro{blocking} +kann sowohl innerhalb der Umgebung \Environment{declarations} als auch +außerhalb 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} oder \Macro{subject} und einem speziellen Wert aus +\autoref{tab:thesis} beziehungsweise mit der Option \Option{subjectthesis} +angegeben wurde~-- aufgeführt. Mit \Key{\Macro{blocking}}{company}~-- oder +\emph{vorher} mit dem Befehl \Macro{company}~-- kann zusätzlich eine im +Sperrvermerk zu nennende Firma oder ähnliches angegeben werden. Dieses Feld +kann auch direkt im optionalen Argument ohne die Verwendung eines Parameters +gesetzt werden. Die weiteren Parameter +\Key{\Environment{declarations}}{language}, +\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{supporter}\Parameter{Unterstützer}} +\begin{Declaration}{\Macro{place}\Parameter{Ort}} +\begin{Declaration}{\Macro{confirmationclosing}\Parameter{Ende}} +\begin{Declaration}{\Macro{company}\Parameter{Firma}} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +Diese Makros ändern~-- im Gegensatz zu den Parametern der bereits vorgestellten +Befehle \Macro{confirmation} und \Macro{blocking}~-- die entsprechenden +Feldwerte global für das gesamte Dokument. Genutzt werden kann dies +beispielsweise wenn ein Erklärungstyp in unterschiedlichen Sprachen ausgegeben +wird. Dann kann man sich mit diesen Makros die mehrfache Angabe eines +Parameters sparen. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{Lesezeichen} +\begin{Declaration}{\Option{tudbookmarks}[\PBoolean]}[true]% +\printdeclarationlist% +\index{Lesezeichen}% +\index{Umschlagseite}\index{Titel}\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 +jeweils Lesezeichen oder auch Outline"=Einträge im PDF-Dokument erzeugt. +% +\begin{values} +\itemfalse + Es erfolgt kein Eintrag von ergänzenden Lesezeichen. +\itemtrue* + Es werden automatisch zusätzliche Lesezeichen eingetragen. +\end{values} +\end{Declaration} + +\begin{Declaration}{% + \Macro{tudbookmark}\OParameter{Ebene}\Parameter{Text}\Parameter{Ankername}% +}% +\printdeclarationlist% +% +Der Befehl \Macro{tudbookmark} arbeitet wie \Macro{pdfbookmark} aus +\Package{hyperref} mit dem Unterschied, dass die Lesezeichen nur generiert +werden, wenn die Option \Option{tudbookmarks} aktiviert ist. +\end{Declaration} + + + +\section{Sprachabhängige Bezeichner} +\label{sec:localization} +\index{Bezeichner|!(}% +% +Durch \KOMAScript{} werden Befehle, mit denen sprachabhängige Bezeichner +erzeugt oder geändert werden können, zur Verfügung gestellt. Diese werden durch +das \TUDScript-Bundle genutzt, um lokalisierte Begriffe für die Sprachen +Englisch und 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} +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} +zu verwenden. Seit der Version~v3.12 stellt \KOMAScript sicher, dass die +Bezeichner erst \textbf{nach} \Macro*{begin}\PParameter{document} angepasst +werden und somit nicht durch ein später geladenes Paket abermals geändert +werden können. 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 \PValue{\dots{}name} und beschreibende Texte auf +\PValue{\dots{}text} enden zu lassen. + +\begin{Declaration}{\Term{supervisorname}} +\begin{Declaration}{\Term{supervisorothername}} +\begin{Declaration}[% + v2.02!Unterscheidung zwischen einem und mehreren Gutachtern% +]{\Term{refereename}} +\begin{Declaration}{\Term{refereeothername}} +\begin{Declaration}{\Term{advisorname}} +\begin{Declaration}{\Term{advisorothername}} +\begin{Declaration}[% + v2.02!Unterscheidung von einem und mehreren Professoren% +]{\Term{professorname}} +\begin{Declaration}[v2.02]{\Term{professorothername}} +\printdeclarationlist% +\index{Titel}% +\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 \PValue{\bsc\dots{}othername} ergänzt. + +\ChangedAt{v2.02} +Bei der Bezeichnung des Gutachters wird unterschieden, ob einer oder mehrere +angegeben wurden. Wird lediglich einer genannt, so ist eine Unterscheidung +nicht notwendig. Werden jedoch zwei Gutachter angegeben, so werden diese auch +mit Erst- und Zweitgutachter betitelt. Für den betreuenden Hochschullehrer +(\Macro{professor}) wird ähnlich verfahren. Hier wird allerdings lediglich +die Bezeichnung vom Singular in den Plural gegebenenfalls automatisch geändert. + + +\renewcaptionname{ngerman}{\refereename}{Gutachter/Erstgutachter} +\renewcaptionname{english}{\refereename}{Referee/First referee} +\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{studentresearchname}} +\begin{Declaration}{\Term{projectpapername}} +\begin{Declaration}{\Term{seminarpapername}} +\begin{Declaration}{\Term{researchname}} +\begin{Declaration}{\Term{logname}} +\begin{Declaration}{\Term{internshipname}} +\begin{Declaration}{\Term{reportname}} +\printdeclarationlist% +\index{Titel}\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 \Macro{thesis} und +\Macro{subject}'full' beziehungsweise in \autoref{tab:thesis} 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} + +\begin{Declaration}{\Term{dateofbirthtext}} +\begin{Declaration}{\Term{placeofbirthtext}} +\begin{Declaration}{\Term{matriculationnumbername}} +\begin{Declaration}{\Term{matriculationyearname}} +\printdeclarationlist% +\index{Titel}\index{Autorenangaben}\index{Datum!Geburtsdatum}% +% +Werden für den Autor oder die Autoren das Geburtsdatum (\Macro{dateofbirth}), +der Geburtsort (\Macro{placeofbirth}) sowie 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% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{degreetext}}{\Term{graduationtext}} +\begin{Declaration}{\Term{graduationtext}} +\printdeclarationlist% +\index{Titel}\index{Abschlussarbeit}\index{Typisierung}% +% +Wurde erkannt, dass das Dokument eine Abschlussarbeit ist,% +\footnote{% + Entweder wurde \Macro{thesis} oder \Macro{subject} mit einem speziellen Wert + oder der Option \Option{subjectthesis} verwendet. +} +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{Titel}\index{Abschlussarbeit}% +\index{Datum}\index{Datum!Verteidigungsdatum}% +% +Wird mit \Macro{date} das Datum und mit \Macro{defensedate} ein Datum der +Verteidigung für eine Abschlussarbeit angegeben, so werden auch diese Felder +durch einen einleitenden Text beschrieben. +\TermTable{datetext,defensedatetext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{abstractname}} +\printdeclarationlist% +% +Dieser Bezeichner wird lediglich für \Class{tudscrbook} definiert, da dieser +von \KOMAScript{} für die Buchklasse nicht vorgesehen wird. +\TermTable{abstractname} +\end{Declaration} + +\Rename[terms]{v2.02}{\Term{restrictionname}}{\Term{blockingname}} +\begin{Declaration}{\Term{confirmationname}} +\begin{Declaration}{\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} + +\Rename[terms]{v2.02}{\Term{restrictiontext}}{\Term{blockingtext}} +\begin{Declaration}{\Term{confirmationtext}} +\begin{Declaration}{\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% +\footnote{% + entweder \Macro{thesis} oder \Macro{subject}\Parameter{\autoref{tab:thesis}} + beziehungsweise Option \Option{subjectthesis}[true] +} +sowie die angegebenen Unterstützer% +\footnote{% + \Macro{confirmation}\POParameter{\Key{\Macro{confirmation}}{supporter}=\dots} + oder \Macro{supporter}\PParameter{\dots}% +} +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}=\dots} oder + \Macro{company}\PParameter{\dots}% +} +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\baselineskipglue\noindent + \textbf{Bezeichner}\quad\Term*{confirmationtext}% + \begin{quoting} + \confirmationtext + \end{quoting} + \textbf{Bezeichner}\quad\Term*{blockingtext}% + \begin{quoting} + \blockingtext + \end{quoting} +\endgroup +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{coverpagename}} +\begin{Declaration}{\Term{titlepagename}} +\printdeclarationlist% +\index{Lesezeichen}\index{Umschlagseite}\index{Titel!Umschlagseite}\index{Titel} +% +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{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} +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex new file mode 100644 index 00000000000..02ccdb607a9 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex @@ -0,0 +1,306 @@ +\chapter{Obsolete sowie vollständig entfernte Optionen und Befehle} +\label{sec:obsolete}% +% +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. + +\begin{Declaration}{\Option{cd}[alternative]}{entfällt} +\begin{Declaration}{\Option{cdtitle}[alternative]}{entfällt} +\begin{Declaration}{\Length{titlecolwidth}}{entfällt} +\begin{Declaration}{\Term{authortext}}{entfällt} +\printdeclarationlist*% +\index{Titel!alternativer}% +% +Die alternative Titelseite ist komplett aus dem \TUDScript-Bundle entfernt +worden. Dementsprechend entfallen auch die dazugehörigen Optionen sowie Länge +und Bezeichner. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{color}[\PBoolean]}{siehe \Option*{cd}[color]} +\printdeclarationlist*% +% +Die Einstellungen der farbigen Ausprägung des Dokumentes erfolgt über die +Option \Option*{cd}. +\end{Declaration} + +\begin{Declaration}{\Option{tudfonts}[\PBoolean]}{siehe \Option*{cdfont}[\PSet]} +\printdeclarationlist*% +% +Die Option zur Schrifteinstellung ist wesentlich erweitert worden. Aus Gründen +der Konsistenz wurde diese umbenannt. +\end{Declaration} + +\begin{Declaration}{\Option{tudfoot}[\PBoolean]}{ + siehe \Option*{cdfoot}[\PBoolean]% +} +\printdeclarationlist*% +% +Ebenso wurde die Option \Option*{tudfoot} umbenannt, um dem Namensschema der +restlichen Optionen von \TUDScript zu entsprechen. +\end{Declaration} + +\begin{Declaration}{\Option{headfoot}[\PSet]}{entfällt} +\printdeclarationlist*% +% +Diese Option war für \TUDScript in der 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, so dass die Option \Option*{headfoot} nicht mehr notwendig ist +und deshalb entfernt wurde. +\end{Declaration} + +\begin{Declaration}{\Option{partclear}[\PBoolean]}{% + entfällt, siehe \Option*{cleardoublespecialpage}% +} +\begin{Declaration}{\Option{chapterclear}[\PBoolean]}{% + entfällt, siehe \Option*{cleardoublespecialpage}% +} +\printdeclarationlist*% +% +Beide Optionen sind in der neuen Option \Option*{cleardoublespecialpage} +aufgegangen, womit ein konsistentes Layout erreicht wird. Die ursprünglichen +Optionen entfallen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{abstracttotoc}[\PBoolean]}{% + entfällt, siehe \Option*{abstract}[\PSet]% +} +\begin{Declaration}{\Option{abstractdouble}[\PBoolean]}{% + entfällt, siehe \Option*{abstract}[\PSet]% +} +\printdeclarationlist*% +% +Beide Optionen wurden in die Option \Option*{abstract} integriert und sind +deshalb überflüssig. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{logofile}\Parameter{Dateiname}}% + {siehe \Macro*{headlogo}\Parameter{Dateiname}% +} +\begin{Declaration}{\Macro{logofilename}\Parameter{Dateiname}}% + {siehe \Macro*{headlogo}\Parameter{Dateiname}% +} +\printdeclarationlist*% +% +Der Befehl \Macro*{logofile} sowie der dazugehörige Alias \Macro*{logofilename} +wurden in \Macro*{headlogo} umbenannt. Die Funktionalität bleibt weiterhin +bestehen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Length{chapterheadingvskip}}{% + siehe \Length*{pageheadingsvskip} sowie \Length*{headingsvskip} +} +\begin{Declaration}{\Length{signatureheight}}{entfällt} +\printdeclarationlist*% +% +Die vertikale Positionierung von Überschriften wurde zweigeteilt. Die Höhe für +die Zeile der Unterschriften wurde dehnbar gestaltet. Eine Anpassung durch den +Anwender ist nicht vonnöten. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{titlecoldelim}}{% + entfällt, siehe \Macro*{titledelimiter}% +} +\printdeclarationlist*% +% +Das Trennzeichen für Bezeichnungen beziehungsweise beschreibende Texte und dem +eigentlichen Feld auf der Titelseite ist nicht mehr sprachabhängig und wurde +umbenannt. +\end{Declaration} + +\begin{Declaration}{\Macro{submissiondate}\Parameter{Datum}}{% + Alias für \Macro*{date}% +} +\begin{Declaration}{\Macro{birthday}\Parameter{Geburtsdatum}}{% + Alias für \Macro*{dateofbirth}% +} +\begin{Declaration}{\Macro{birthplace}\Parameter{Geburtsort}}{% + Alias für \Macro*{placeofbirth} +} +\begin{Declaration}{\Macro{studentid}\Parameter{Matrikelnummer}}{% + Alias für \Macro*{matriculationnumber} +} +\begin{Declaration}{\Macro{enrolmentyear}\Parameter{Immatrikulationsjahr}}{% + Alias für \Macro*{matriculationyear}% +} +\printdeclarationlist*% +% +Alle Befehle wurden umbenannt und sind jetzt neben der \taskname{} auch für die +Titelseite im \CD nutzbar. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{submissiontext}}{umbenannt, siehe \Term*{datetext}} +\begin{Declaration}{\Term{birthdaytext}}{% + umbenannt, siehe \Term*{dateofbirthtext}% +} +\begin{Declaration}{\Term{birthplacetext}}{% + umbenannt, siehe \Term*{placeofbirthtext}% +} +\begin{Declaration}{\Term{studentidname}}{% + umbenannt, siehe \Term*{matriculationnumbername}% +} +\begin{Declaration}{\Term{enrolmentname}}{% + umbenannt, siehe \Term*{matriculationyearname}% +} +\begin{Declaration}{\Term{supervisorIIname}}{% + umbenannt, siehe \Term*{supervisorothername}% +} +\begin{Declaration}{\Term{defensetext}}{% + umbenannt, siehe \Term*{defensedatetext}% +} +\printdeclarationlist*% +% +Die Bezeichner wurden in Anlehnung an die dazugehörigen Befehlsnamen umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{degree}\OParameter{Kurzform}\Parameter{Grad}}{% + umbenannt, siehe \Macro*{graduation}% +} +\begin{Declaration}{\Term{degreetext}}{umbenannt, siehe \Term*{graduationtext}} +\printdeclarationlist*% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +der dazugehörige Bezeichner dahingehend angepasst. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{restriction}\OLParameter{Firma}}{% + umbenannt, siehe \Macro*{blocking}% +} +\begin{Declaration}{\Term{restrictionname}}{% + umbenannt, siehe \Term*{blockingname} +} +\begin{Declaration}{\Term{restrictiontext}}{% + umbenannt, siehe \Term*{blockingtext}% +} +\printdeclarationlist*% +% +Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, +die dazugehörigen Bezeichner dahingehend angepasst. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{confirmationandrestriction}}{% + entfällt, siehe \Macro*{declaration}% +} +\begin{Declaration}{\Macro{restrictionandconfirmation}}{% + entfällt, siehe \Macro*{declaration}% +} +\printdeclarationlist*% +% +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{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{location}\Parameter{Ort}}{% + siehe \Macro*{place} sowie auch Parameter \Key*{\Macro{declaration}}{place}% +} +\printdeclarationlist*% +In Anlehnung an andere \hologo{LaTeX}-Pakete und "~Klassen wurde +\Macro*{location} in \Macro*{place} umbenannt. +\end{Declaration} + + + +\minisec{\taskname{} und \noticename} +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{Declaration}{\Option{cdtask}[\PSet]}{entfällt, siehe \Environment*{task}} +\begin{Declaration}{\Option{taskcompact}[\PBoolean]}{entfällt} +\begin{Declaration}{\Macro{tasks}\Parameter{Ziele}\Parameter{Schwerpunkte}}{% + umbenannt, siehe \Macro*{taskform}% +} +\begin{Declaration}{\Length{taskcolwidth}}{entfällt} +\printdeclarationlist*% +% +Die Klassenoption \Option*{cdtask} ist komplett entfernt worden, alle +Einstellungen, welche \Environment*{task} betreffen erfolgen direkt über das +optionale Argument der Umgebung. Die Variante eines kompakten Kopfes mit der +Option \Option*{taskcompact} wird nicht mehr bereitgestellt. Der Befehl +\Macro*{tasks} wurde in \Macro*{taskform} umbenannt und in der Funktionalität +erweitert. Die manuelle Einstellung der Spaltenbreite für den Kopf der +Aufgabenstellung mit \Length*{taskcolwidth} wurde aufgrund der verbesserten +automatischen Berechnung entfernt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{branch}\Parameter{Studienrichtung}}{% + umbenannt, siehe \Macro*{discipline}% +} +\begin{Declaration}{\Term{branchname}}{umbenannt, siehe \Term*{disciplinename}} +\begin{Declaration}{\Macro{startdate}\Parameter{Ausgabedatum}}{% + Alias für \Macro*{issuedate}% +} +\begin{Declaration}{\Macro{enddate}\Parameter{Abgabetermin}}{% + Alias für \Macro*{duedate}% +} +\begin{Declaration}{\Term{starttext}}{umbenannt, siehe \Term*{issuedatetext}} +\begin{Declaration}{\Term{duetext}}{umbenannt, siehe \Term*{duedatetext}} +\begin{Declaration}{\Term{focustext}}{umbenannt, siehe \Term*{focusname}} +\begin{Declaration}{\Term{objectivestext}}{% + umbenannt, siehe \Term*{objectivesname}% +} +\printdeclarationlist*% +% +Alle genannten Befehle und Bezeichner wurden für die \taskname{} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{contact}\Parameter{Kontaktperson(en)}}{% + umbenannt, siehe \Macro*{contactperson}% +} +\begin{Declaration}{\Term{contactname}}{% + umbenannt, siehe \Term*{contactpersonname}% +} +\begin{Declaration}{\Macro{phone}\Parameter{Telefonnummer}}{% + umbenannt, siehe \Macro*{telephone}% +} +\begin{Declaration}{\Macro{email}\Parameter{E-Mail-Adresse}}{% + umbenannt, siehe \Macro*{emailaddress}% +} +\printdeclarationlist*% +% +Alle genannten Befehle und Bezeichner wurden für den \noticename{} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex new file mode 100644 index 00000000000..591b7c43f48 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex @@ -0,0 +1,889 @@ +\chapter{Unerlässliche und beachtenswerte Pakete} +\manualhyperdef{sec:packages} +\index{Kompatibilität!Pakete} +\section{Von den neuen Hauptklassen benötigte Pakete} +\label{sec:packages:needed} +\subsection{Erforderliche Pakete bei der Schriftinstallation} +% +Für die Installation der Schriften sind die folgend genannten Pakete von +\emph{essentieller} Bedeutung und daher \emph{zwingend} notwendig. Das +Vorhandensein dieser wird durch die jeweiligen Schriftinstallationsskripte +(siehe~\autoref{sec:install}) geprüft und die Installation beim Fehlen eines +oder mehrerer Pakete mit einer entsprechenden Warnung abgebrochen. +% +\begin{packages} +\item[fontinst] + Dieses Paket wird für die Installation der Schriften \Univers sowie \DIN + benötigt. +\item[cmbright] + Alle mathematischen Glyphen und Symbole, die nicht in den \Univers-Schriften + enthalten sind, werden diesem Paket entnommen. +\item[iwona] + Sowohl für die \Univers-Schriftfamilie als auch für \DIN werden fehlenden + Glyphen und Symbole hieraus entnommen. +\end{packages} +% +Zusätzlich werden die \texttt{Schreibmaschinenschriften} aus dem Paket +\Package{lmodern} verwendet. + +\subsection{Notwendige Pakete für die Verwendung der Hauptklassen} +In diesem \autorefname werden alle Pakete genannt, die von den neuen Klassen +zwingend benötigt und geladen werden, um den Anwender das mehrmalige Laden +dieser Pakete oder mögliche Konflikte mit anderen Paketen zu ersparen. +% +\begin{packages} +\item[scrbase](koma-script) + Dieses Paket gehört zum \KOMAScript-Bundle und 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. Von diesem wird das Paket \Package{keyval} geladen, welches + das Definieren von Klassen"~ und Paketoptionen sowie Parametern nach dem + Schlüssel"=Wert"=Prinzip ermöglicht. +\item[kvsetkeys] + Hiermit wird das von \Package{scrbase} geladene Paket \Package{keyval} + verbessert. Unter anderem kann das Verhalten für einen übergebenen, + unbekannten Schlüssel festgelegt werden. +\item[scrlayer-scrpage](koma-script) + \ChangedAt{v2.02!\Package{scrlayer-scrpage}: Für Verwendung notwendig} + Dieses \KOMAScript-Paket wird für die \PageStyle{tudheadings}-Seitenstile + benötigt. +\item[etoolbox] + Es werden viele Funktionen zum Testen und zur Ablaufkontrolle bereitgestellt + und das einfache Manipulieren vorhandener Makros ermöglicht. +\item[geometry]\index{Satzspiegel} + Das Paket ist essentiell für die \TUDScript-Klassen. Es wird zum Festlegen + der Seitenränder respektive des Satzspiegels verwendet. +\item[textcase]\index{Schriftauszeichnung} + Mit \Macro{MakeTextUppercase} wird die Großschreibung der Überschriften in + \DIN erzwungen. Im \emph{Ausnahmefall} kann dies mit \Macro{NoCaseChange} + unterbunden werden. +\item[graphicx]\index{Grafiken} + Dies ist das De-facto-Standard-Paket zum Einbinden von Grafiken. Zum Setzen + des Logos der \TnUD im Kopf wird \Macro{includegraphics} 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[eviron]\index{Befehle!Deklaration} + Es wird eine verbesserte Deklaration von Umgebungen ermöglicht, bei der auch + beim Abschluss der Umgebung auf die übergebenen Parameter zugegriffen werden + kann. Dies wird die Neugestaltung der \Environment{abstract}"=Umgebung + benötigt. Das Paket lädt \Package{trimspaces}, womit das Entfernen von + überflüssigen Leerraum um einen Strings ermöglicht wird. +\item[afterpage] + \ChangedAt{v2.02!\Package{afterpage}: Für Verwendung notwendig} + Der Befehl \Macro{afterpage}\Parameter{\dots} kann genutzt werden, um den + Inhalt aus dessen Argument direkt nach der Ausgabe der aktuellen Seite + auszuführen. Es wird für den Titelkopf im \CD für das zweispaltige Layout + benötigt (\autoref{sec:title}). +\end{packages} +% +Möchten Sie eines der hier aufgezählten Pakete selber mit bestimmten Optionen +laden, so sollten diese bereits \emph{vor} der Definition der Dokumentklasse an +das Paket weitergereicht werden. +% +\begin{Example} +Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: +\begin{Code}[escapechar=§] +\PassOptionsToPackage§\Parameter{Optionenliste}\Parameter{Paket}§ +\documentclass§\OParameter{Klassenoptionen}\PParameter{tudscr\dots}§ +\end{Code} +\end{Example} + + + +\section{Durch \TUDScript direkt unterstütze Pakete} +% +\begin{packages} +\item[hyperref]\index{Lesezeichen}\index{Querverweise} + 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[isodate]\index{Datum|?} + Dieses Paket formatiert mit \Macro{printdate}\Parameter{Datum} die Ausgabe + eines Datums automatisch in ein spezifiziertes Format. Wird es geladen, + werden alle Datumsfelder, welche durch die \TUDScript-Klassen definiert + wurden,% + \footnote{% + \Macro{date}, \Macro{dateofbirth}, \Macro{defensedate}, \Macro{duedate}, + \Macro{issuedate} + } + in diesem Format ausgegeben. +\item[multicol]\index{Zweispaltensatz|?} + Hiermit kann jeglicher beliebiger Inhalt in zwei oder mehr Spalten ausgegeben + werden, wobei~-- im Gegensatz zur \hologo{LaTeX}-Option \Option{twocolumn}~-- + für einen Spaltenausgleich gesorgt wird. Unterstützt wird das Paket innerhalb + der Umgebungen \Environment{abstract} und \Environment{tudpage}. +\item[quoting]\index{Zitate} + \hologo{LaTeX} bietet von Haus aus \emph{zwei} verschiedene Umgebungen für + Zitate und ähnliches. Beide sind in ihrer Ausprägung starr und ignorieren + beispielsweise die Einstellungen von \Option{parskip}. Dies wird durch die + Umgebung \Environment{quoting} verbessert. Wird das Paket geladen, kommt + diese gegebenenfalls innerhalb der \Environment{abstract}"=Umgebung zum + Einsatz. +\item[ragged2e]\index{Worttrennung} + Das Paket verbessert den Flattersatz, indem für diesen die Worttrennung + aktiviert wird. +\item[pagecolor]\index{Farben} + Mit dem Paket kann die Hintergrundfarbe der Seiten im Dokument geändert + werden. Nach der Ausgabe einer farbigen Titel"~, Teile"~, oder Kapitelseite + wird auf diese zurückgeschaltet. +\end{packages} + + + +\section{Empfehlenswerte Pakete} +\label{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 zu Rate gezogen +werden,\footnote{Kommandozeile/Terminal: \Path{texdoc\,\PName{Paketname}}} +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. Egal, in welcher Sprache das Dokument verfasst wird, sollte +diese mit dem Paket \Package{babel} definiert werden~-- auch wenn dies +Englisch ist. Für deutschsprachige Dokumente ist für eine annehmbare +Worttrennung das Paket \Package{hyphsubst} unbedingt zu verwenden. + +\begin{packages} +\item[fontenc]\index{Zeichensatzkodierung} + Das Paket erlaubt Festlegung der Zeichensatzkodierung des Ausgabefonts. Als + Voreinstellung ist die Ausgabe als 7"~bit kodierte Schrift 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, sollte man + \Macro*{usepackage}\POParameter{T1}\PParameter{fontenc} nutzen. +\item[selinput]\index{Eingabekodierung} + Hiermit erfolgt die (automatische) Festlegung der Eingabekodierung. Diese ist + vom genutzten \hyperref[sec:tips:editor]{Editors (\autoref{sec:tips:editor})} + und den darin gewählten Einstellung abhängig. Mit: + \begin{Code} + \usepackage{selinput} + \SelectInputMappings{adieresis={ä},germandbls={ß}} + \end{Code}\vspace{-\baselineskip}% + wird es verwendet. Dies macht den Quelltext portabel, womit beispielsweise + einfach via Copy~\&~Paste ein \hrfn{http://www.komascript.de/minimalbeispiel}% + {Minimalbeispiel} bei Problemstellungen in einem Forum bereitgestellt werden + kann. Alternativ dazu lässt sich mit dem Paket \Package{inputenc} die zu + verwendende Eingabekodierung manuell einstellen + (\Macro*{usepackage}\OParameter{Eingabekodierung})\PParameter{inputenc}). +\item[babel]\index{Sprachunterstützung}\index{Bezeichner} + Mit diesem Paket 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 als 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 + \hologo{LuaLaTeX} und \hologo{XeLaTeX} kann das Paket \Package{polyglossia} + genutzt werden. +\item[microtype]\index{Typographie} + 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 \hologo{TeX}-Engine, + wohl jedoch mit \hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX}. +\item[hyphsubst]\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. Es muss bereits \emph{vor} + der Dokumentklasse wie folgt geladen werden: + \begin{Code}[escapechar=§] + \RequirePackage[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{Typographie und Layout} +\index{Typographie} +% +\begin{packages} +\item[setspace]\index{Zeilenabstand} + Die Vergrößerung des Zeilenabstandes wird: + % + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \itempackages viel zu häufig und völlig unnötig gefordert und + \itempackages schließlich auch noch zu groß gewählt. + \end{enumerate} + % + Die Forderung nach Erhöhung des Zeilenabstandes~-- in der Typographie als + Durchschuss bezeichnet~-- kommt noch 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} verwendet werden. Dieses stellt den Befehl + \Macro{setstretch}\Parameter{Faktor} zur Verfügung, mit dem der Durchschuss + beziehungsweise 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 der aktuellen 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 \CD der + \TnUD verwendeten \Univers~-- ist dies schwieriger und ein erweiterter + Abstand der Zeilen kann dabei durchaus hilfreich sein. Jedoch sollte nicht + nach dem Motto \enquote{viel hilft viel} verfahren werden. In diesem Dokument + wurde als Faktor für den Zeilenabstand \Macro{setstretch}\PParameter{1.1} + gewählt. Nach einer Einstellung des Zeilenabstandes sollte der Satzspiegel + unbedingt mit \Macro{recalctypearea} neu berechnet werden. Siehe dazu auch + \autoref{sec:tips:headings} sowie \autoref{sec:tips:headline}. +\item[csquotes]\index{Zitate} + Das Paket stellt unter anderem den Befehl \Macro{enquote}\Parameter{Zitat} + 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!\Package{noindentafter}: Beschreibung hinzugefügt} + Mit diesem Paket lassen sich automatische Absatzeinzüge für selbst zu + bestimmende Befehle und Umgebungen unterdrücken. +\item[xspace]\index{Befehle!Deklaration} + Mit \Package{xspace} kann bei der Definition eigener Makros der Befehl + \Macro{xspace} genutzt werden. Dieser setzt ein gegebenenfalls notwendiges + Leerzeichen automatisch. In \autoref{sec:tips:xspace} ist die Definition + eines solchen Befehls exemplarisch ausgeführt. +\item[ellipsis]\index{Befehle!Deklaration} + In \hologo{LaTeX} folgten 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 + folgende Leerzeichen~-- im Gegensatz zum Standardverhalten~-- nur gesetzt, + wenn ein Satzzeichen und kein Buchstabe folgt. Siehe dazu auch + \autoref{sec:tips:dots}. +\item[xpunctuate]\index{Befehle!Deklaration} + Die Funktionalität von \Package{xspace} wird um die Beachtung von + Interpunktionen erweitert. +\itempackages[\href{http://www.ctan.org/pkg/delig}{\Application{DeLig}}] + \index{Typographie}\index{Ligaturen} + Hierbei handelt es sich um ein Java-Script, welches anhand eines Wörterbuches + falsche Ligaturen innerhalb eines Dokumentes automatisiert entfernt. Wird + \Univers verwendet ist dies jedoch nicht notwendig, da diese keinerlei + Ligaturen enthält, die insbesondere in deutschen Texten für einen guten Satz + manuell aufgelöst werden müssten.% + \footnote{% + Das sind ff, fi, fl, ffi, und ffl bei den \hologo{LaTeX}"=Standardschriften. + } + Mit \hologo{LuaLaTeX} als Dokumentprozessor kann alternativ dazu auch + \Package{selnolig} verwendet werden. +\item[balance]\index{Zweispaltensatz} + Dieses Paket ermöglicht einen Spaltenausgleich im Zweispaltensatz auf der + letzten Dokumentseite. Alternativ dazu kann auch \Package{multicol} verwendet + werden. +\end{packages} + +\subsubsection{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 lediglich nutzbar, wenn \hologo{LuaLaTeX} als +Dokumentprozessor genutzt wird. +\begin{packages} +\item[lua-check-hyphen]\index{Worttrennung} + Hiermit lassen sich mit \hologo{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]\index{Rechtschreibung} + Wird \hologo{LuaLaTeX} als Prozessor 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} oder \Application{Hunspell} + analysiert werden. Wird durch dieses Programm eine Liste falsch geschriebener + Wörter ausgegeben, können diese mit \Package{spelling} im PDF"~Dokument + hervorgehoben werden. +\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] + 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[mweights]\index{Schrift!Stärke} + In \hologo{LaTeXe} existieren die drei 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. Das Paket + \Package{mweights} erlaubt die individuelle Definition der Schriftstärke für + jede der drei Schriftfamilien. +\item[fontspec] + \ChangedAt{v2.02!\Package{fontspec}: % + Beschreibung hinzugefügt{,} mit \Option{fontspec} nutzbar% + }% + Wird als Dokumentprozessor nicht \hologo{pdfLaTeX} sondern \hologo{XeLaTeX} + oder \hologo{LuaLaTeX} verwendet, können mit diesem Paket Systemschriften im + OpenType-Format eingebunden werden, womit sich die Auswahl der verwendbaren + Schriften in einem \hologo{LaTeX}"=Dokument stark erweitert. Das Paket wird + mit der Option \Option{fontspec} durch \TUDScript unterstützt. +\item[relsize]\index{Schrift!Größe} + Mithilfe dieses Paketes kann die Größe einer Textauszeichnung relativ zur + aktuell gewählten 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} +% +Auch für die mathematischen Schriften gibt es einige nützliche Pakete. +\index{Mathematiksatz!Schrift}\index{Schrift!Mathematiksatz} +% +\begin{packages} +\item[sansmath] + Sollten die normalen \hologo{LaTeX}-Schriften Computer~Modern verwendet + werden, kann man dieses Paket zum serifenlosen Setzen mathematischer + Ausdrücke nutzen. Werden die Schriften des \CDs der \TnUD zusammen mit den + \TUDScript-Hauptklassen verwendet, sei auf die Option \Option{sansmath} + verwiesen. +\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} +\index{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] + 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}. +\end{packages} +% +Für das typographisch 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 typographisch 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}. +\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 typischen 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{Trennzeichen} + \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 typographisch 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. + \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. +\end{packages} +% +Weitere Hinweise und Anwendungsfälle zur mathematischen Typographie werden in +\autoref{sec:exmpl:mathtype} sowie \autoref{sec:exmpl:mathswap} gegeben. + +\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 gibt es seit geraumer Zeit und es 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[acro]\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. +\item[glossaries]\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 beziehungsweise Symbole benötigt + werden, sollte man dieses Paket in Erwägung ziehen. + + 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. +\end{packages} + +\subsubsection{Listen} +\index{Listen|?} +\begin{packages} +\item[enumitem] + Das Paket \Package{enumitem} erweitert die rudimentären Funktionalitäten der + \hologo{LaTeX}"=Standardlisten \Environment{itemize}, \Environment{enumerate} + sowie \Environment{description} 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}. +\end{packages} + +\subsubsection{Tabellen} +\index{Tabellen|?} +Für den Tabellensatz in \hologo{LaTeX} werden von Haus aus die Umgebungen +\Environment{tabbing} und \Environment{tabular} beziehungsweise +\Environment{tabular*} bereitgestellt, welche in ihrer Funktionalität meist +für einen qualitativ hochwertigen Tabellensatz nicht ausreichen. Es werden +deshalb Pakete vorgestellt, die zusätzlich verwendet werden können. +\begin{packages} +\item[array] + Dieses Paket ermöglicht mit dem Befehl \Macro{newcolumntype} das Erstellen + eigener Spaltentypen sowie die erweiterte Definition von Tabellenspalten + (\PValue{>\{\dots\}}\PName{Spaltentyp}\PValue{<\{\dots\}}), wobei mithilfe + sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb einer Spalte + gezielt Anweisungen gesetzt werden können. Außerdem kann die Höhe der Zeilen + einer Tabelle mit \Macro{extrarowheight} angepasst werden. +\item[multirow] + Es wird der Befehl \Macro{multirow} definiert, der~-- ähnlich zum Makro + \Macro{multicolumn}~-- das Zusammenfassen von mehreren Zeilen in einer + Spalte ermöglicht. +\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} zur Verfügung, die als Alternative genutzt + werden kann und eine symmetrische Tabelle erzeugt. +\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*.] + \itempackages keine vertikalen Linien + \itempackages 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}, \Macro{midrule} sowie \Macro{cmidrule} und + \Macro{bottomrule} für unterschiedliche horizontale Linien bereit. +\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[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}"=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 und 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 die Standardspalten~-- wird jedoch nicht wie bei der + Umgebung \Environment{tabularx} auf alle Spalten gleichmäßig verteilt sondern + in der \Environment{tabulary}"=Umgebung für die Spaltentypen~\PValue{LCRJ} + anhand ihres Zellinhaltes gewichtet vergeben. + (\Macro*{begin}\PParameter{tabulary}\Parameter{Breite}\Parameter{Spalten}). +\item[longtable] + 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}"=Umgebung können die Pakete + \Package{ltablex} oder besser noch \Package{ltxtable} verwendet werden. +\item[ltxtable] + Wie bereits erwähnt sollte dieses Paket für mehrseitige Tabellen, die mit der + Umgebung \Environment{tabularx} erstellt wurden, verwendet werden. + Alternativ dazu kann man auch \Package{tabu} nutzen. +\item[tabu] + \ChangedAt{v2.02!\Package{tabu}: Verwendung 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} und \Environment{longtabu} definiert. Es + kann alternativ zu \Package{tabularx} verwendet werden und ist insbesondere + als Ersatz für das Paket \Package{ltxtable} empfehlenswert. + + \Attention{% + Leider wären für das Paket in der aktuellen Version~v2.8 seit geraumer Zeit + ein paar kleinere Bugfixes notwendig. 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, weshalb es momentan mit Vorsicht zu genießen ist. + Zumindest sollte sich der Anwender bewusst sein, dass er mit dieser Version + gesetzte Dokumente gegebenenfalls später anpassen muss. + } +\end{packages} + + + +\subsubsection{Gleitobjekte} +\index{Gleitobjekte|?} +\index{Tabellen}\index{Grafiken} +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[placeins]\index{Gleitobjekte!Platzierung} + Mit diesem Paket kann die Ausgabe von Gleitobjekten vor Kapiteln und wahlweise + Unterkapiteln erzwungen werden. +\item[flafter]\index{Gleitobjekte!Platzierung} + 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. +\item[caption]\index{Gleitobjekte!Beschriftung} + Die \KOMAScript-Klassen bietet bereits einige Möglichkeiten zum Setzen 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]\index{Gleitobjekte!Beschriftung} + 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]\index{Gleitobjekte!Beschriftung} + Mit diesem Paket können global wirksame Einstellungen und Formatierungen für + \emph{alle} Gleitobjekte eines Dokumentes vorgenommen werden. So kann unter + anderem die verwendete Schrift (\Macro{floatsetup}\PParameter{font=\dots}) + innerhalb der Umgebungen \Environment{float} und \Environment{table} + eingestellt werden. Das typographisch richtige Setzen der Beschriftungen von + Abbildungen als Unterschriften + (\Macro{floatsetup}\POParameter{figore}\PParameter{capposition=bottom}) + sowie Tabellen als Überschriften + (\Macro{floatsetup}\POParameter{table}\PParameter{capposition=top}) + kann automatisch erzwungen werden~-- unabhängig von der Position des Befehls + zur Beschriftung \Macro{caption} innerhalb der Gleitobjektumgebung. Wird das + Verhalten so wie empfohlen mit dem \Package{floatrow}-Paket eingestellt, + sollte für eine richtige Platzierung der Tabellenüberschriften außerdem die + \KOMAScript-Option \Option{captions}[tableheading] genutzt werden. +\end{packages} + +\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 der Referenz auf die Quelle ins Dokument 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 man \enquote{programmiert} die Grafiken ähnlich wie das Dokument +selber oder man nutzt Zeichenprogramme, die wiederum die Ausgabe oder das +Weiterreichen von Text an \hologo{LaTeX} unterstützen. 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. +Außerdem wird im Tutorial \Tutorial{treatise} für beide Pakete jeweils ein +Beispiel gegeben. + +\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 \hologo{pdfLaTeX}. +\item[pstricks] + Das Paket \Package{pstricks} stellt die zweite Variante zum Programmieren + von Grafiken dar. Mit diesem Paket hat man \emph{noch} mehr Möglichkeiten bei + der Erstellung eigener Grafiken, da man mit \Package{pstricks} auf + PostScript zugreifen kann und einige der bereitgestellten Befehle davon rege + Gebrauch machen. Der daraus resultierende Nachteil ist, dass mit + \Package{pstricks} die direkte Verwendung von \hologo{pdfLaTeX} nicht + möglich ist. + + Die Grafiken aus den \Environment{pspicture}"=Umgebungen müssen deshalb erst + über den Pfad \Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf} + in PDF"~Dateien gewandelt werden. Diese lassen sich von \hologo{pdfLaTeX} + anschließend als Abbildungen einbinden. Um dieses Vorgehen zu ermöglichen, + können folgende Pakete genutzt werden: + % + \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] + Das Paket automatisiert die Erzeugung der \Package{pstricks}"=Grafiken mit + dem Paket \Package{pst-pdf}. Dafür muss \hologo{pdfLaTeX} per Option mit + Schreibrechten ausgeführt werden. Dazu ist der Aufruf von \Path{pdflatex} + mit der Option \Path{-{}-shell-escape} beziehungsweise für Nutzer von + \hologo{MiKTeX} mit \Path{-{}-enable-write18} notwendig. Bitte beachten Sie + außerdem die Hinweise in \autoref{sec:tips:auto-pst-pdf}. Eine Alternative + dazu ist das Paket \Package{pdftricks2}. + \end{packages} +\end{packages} +% +Um bei der Erstellung von Grafiken mit \Package{pstricks} oder \Package{tikz} +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. Für die +erstellten Grafiken kann man den Export für die Einbindung in \hologo{LaTeX} +manuell durchführen. In \autoref{sec:tips:svg} wird vorgestellt, wie sich dies +automatisieren lässt. + +\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!\Class{standalone}: Probleme behoben} + 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!\Package{subfiles}: Beschreibung hinzugefügt} + 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} 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 sich nicht eignete, in die vorherigen Kategorien +eingeordnet zu werden. +% +\begin{packages} +\item[bookmark]\index{Lesezeichen}\index{Querverweise} + Dieses Paket verbessert und erweitert die von \Package{hyperref} angebotenen + Möglichkeiten zur Erstellung von Lesezeichen~-- auch Outline"=Einträge~-- im + PDF-Dokument. Beispielsweise können Schriftfarbe- und "~stil geändert werden. +\item[calc]\index{Berechnungen} + Normalerweise können Berechnungen nur mit Low-Level-\hologo{TeX}-Primitiven + im Dokument durchgeführt werden. 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[chngcntr]\index{Zählermanipulation} + Das Paket erlaubt die Manipulation aller möglichen, bereits definierten + \hologo{LaTeX}-Zähler. Es können Zähler so umdefiniert werden, dass sie bei + der Änderung eines anderen Zählers automatisch zurückgesetzt werden oder eben + nicht. Ein kleines Beispiel dazu ist in \autoref{sec:tips:counter} zu finden. +\item[varioref]\index{Querverweise} + 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 zweiseitigen Satz auf die + gegenüberliegende Seite erfolgt, werden passende Textbausteine für diesen + verwendet. +\item[cleveref]\index{Querverweise} + Dieses Paket vereint die Vorzüge von \Package{varioref} mit der automatischen + Benennung der referenzierten Objekte mit dem Befehl \Macro{autoref} aus dem + Paket \Package{hyperref}. +\item[marginnote]\index{Randnotizen} + Randnotizen, welche mit \Macro{marginpar} erzeugt werden, sind spezielle + Gleitobjekte in \hologo{LaTeX}. Dies kann dazu führen, dass eine Notiz am + Blattrand nicht direkt da gesetzt wird, wo diese intendiert war. Dieses Paket + stellt den Befehl \Macro{marginnote} für nicht"~gleitende Randnotizen zur + Verfügung. Alternativ dazu kann man auch \Package{mparhack} verwenden. +\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{Befehle!Deklaration} + 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]\index{Befehle!Deklaration} + \ChangedAt{v2.02!\Package{xkeyval}: Beschreibung hinzugefügt} + 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[listings]\index{Quelltexte einbinden}\index{Quelltextverzeichnis}% + 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!\Package{listings}: Beschreibung ergänzt} + 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[mwe]\index{Minimalbeispiel|!} + \ChangedAt{v2.02!\Package{mwe}: Beschreibung hinzugefügt} + Mit diesem Paket lassen sich sehr einfach Minimalbeispiele erzeugen, die + sowohl Blindtexte respektive Abbildungen enthalten sollen. +\item[filemod] + Wird entweder \hologo{pdfLaTeX} oder \hologo{LuaLaTeX} als Prozessor + eingesetzt, können mit diesem Paket das Änderungsdatum zweier Dateien + miteinander verglichen und in Abhängigkeit davon definierbare Aktionen + ausgeführt werden. +\item[coseoul] + Mit diesem Paket kann man die Struktur der Gliederung relativ angeben. 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[dprogress]\index{Debugging} + Das Paket schreibt bei der Kompilierung des Dokumentes die Gliederung in die + Logdatei. Dies kann im Fehlerfall beim Auffinden des Problems im Dokument + helfen. Allerdings werden dafür die Gliederungsebenen so umdefiniert, dass + diese keine optionalen Argumente mehr unterstützen,was jedoch für die + \TUDScript-Klassen von essentieller Bedeutung ist. Zum Debuggen kann es + trotzdem sporadisch eingesetzt 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 man + unbedingt die Dokumentation beachten. +\item[fixltx2e] + Dieses Paket enthält Bugfixes für \hologo{LaTeXe}. Da diese eventuell zu + Inkompatibilitäten mit früheren Versionen führen könnten, wurden diese nicht + in den \hologo{LaTeXe}-Kernel eingepflegt. Für neu gesetzte Dokumente kann es + ohne Bedenken verwendet werden. +\item[mparhack] + Zur Behebung falsch gesetzter Randnotizen wird ein Bugfix für + \Macro{marginpar} bereitgestellt. Alternativ dazu kann man auch + \Package{marginnote} verwenden. +\item[etex] + Das Paket kann genutzt werden, falls die maximale Anzahl der normalerweise + verfügbaren \hologo{LaTeX}-Register für Längen, Zähler etc. überschritten + wurde. +\end{packages} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-preface.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-preface.tex new file mode 100644 index 00000000000..fc539e6b2d3 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-preface.tex @@ -0,0 +1,68 @@ +\addchap{\prefacename} +Die im Folgenden beschriebenen Klassen und Pakete wurden für das Erstellen von +\hologo{LaTeX}"=Dokumenten im \CD der \TnUD entwickelt.% +\footnote{% + \url{http://tu-dresden.de/cd}\hfill + \url{http://tu-dresden.de/service/publizieren/cd/6_handbuch/index.html}% +} +Diese basieren auf den gerade im deutschsprachigen Raum häufig verwendeten +\KOMAScript"=Klassen, welche eine Vielzahl von Einstellmöglichkeiten bieten, +die weit über die Möglichkeiten der \hologo{LaTeX}"=Standardklassen +hinausgehen. Zusätzlich bietet das hier dokumentierten \TUDScript-Bundle +weitere, insbesondere das Dokumentlayout betreffende Auswahlmöglichkeiten. + +Es sei angemerkt, dass die hier beschriebenen Klassen eine Abweichung vom \CD +der \TnUD zulassen, da dieses gerade unter typographischen Gesichtspunkten +durchaus als diskussionswürdig zu erachten ist. Mit den entsprechenden +Einstellungen kann bis auf das Standardlayout der \KOMAScript"=Klassen +zurückgestellt werden. Inwieweit der Nutzer der \TUDScript"=Klassen von diesen +Möglichkeiten Gebrauch macht, bleibt ihm selbst überlassen. Ohne die gezielte +Verwendung der entsprechenden Optionen werden standardmäßig alle Vorgaben des +\CDs umgesetzt. + +Dies ist das Anwenderhandbuch der Klassen und Pakete aus dem \TUDScript-Bundle. +Es werden Hinweise für eine einfache Installation und ein Überblick über die +zusätzlich zu den \KOMAScript"=Klassen nutzbaren Optionen und Befehle gegeben. +Dies bedeutet, dass Grundkenntnisse in der Verwendung von \hologo{LaTeXe} +vorausgesetzt werden. Sollten diese nicht vorhanden sein, wird dem Nutzer +zumindest das Lesen der Kurzbeschreibung von \hologo{LaTeXe} +\hrfn{http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf}{\File{l2kurz.pdf}} +dringend empfohlen. Für den stärker vertieften Einstieg in \hologo{LaTeX} gibt +es eine \hrfn{http://www.fadi-semmo.de/latex/workshop/}{Workshop-Reihe} von +Fadi~Semmo. Außerdem 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. Außerdem 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}{DANTE"~FAQ}. Falls der +Nutzer unerfahren bei der Verwendung von \KOMAScript{} sein sollte, so ist ein +Blick in das dazugehörige Handbuch \scrguide 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 unter +\begin{quoting} +\Forum*% +\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. + +\makeatletter +\medskip +\noindent Falk Hanisch\newline +Dresden, \@date +\makeatother diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex new file mode 100644 index 00000000000..0fea5fe02df --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex @@ -0,0 +1,118 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrman} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage[open,openlevel=0]{bookmark}[2011/12/02] + +\begin{document} +\faculty{http://tu-dresden.de/cd} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\Email{\tudscrmail}}} +\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{} \vKOMAScript} +\title{% + Ein \NoCaseChange{\hologo{LaTeXe}}-Bundle für Dokumente im~neuen \CD der \TnUD +} +\addtokomafont{subtitle}{\univbn} +\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% + \hypersetup{% + pdfauthor = {\@author},% + pdftitle = {\@title},% + pdfsubject = {Benutzerhandbuch für \TUDScript},% + pdfkeywords = {LaTeX, \TUDScript, Benutzerhandbuch},% + }% +\endgroup% +\makeatother +\maketitle + +\include{tudscr-preface} + +\makeatletter +\renewcommand*\@pnumwidth{1.7em} +\makeatother +\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} + \ChangedAt*{% + v2.00!Generalüberholung und komplette Neuimplementierung von \TUDScript,% + v2.00!Schriften~-- insbesondere für den mathematischen Satz~-- verbessert,% + v2.00!Robustheit vieler Befehle und Optionen erhöht,% + v2.01!Unterschneidung (Kerning) der Ziffern für \Univers verbessert,% + v2.01b!Bugfix für falsche Berechnungen verschiedener Längen,% + v2.02!Befehle zur besseren Kompatibilität mit anderen Paketen umbenannt{,} + siehe dazu \manualhyperref{v2.02:Umbenennungen}{\enquote{Umbenennungen}} + in der Änderungsliste zur Version~v2.02,% + }% +}% +\part{Das \TUDScript-Bundle} +\label{part:main} + +\include{tudscr-mainclasses} + +\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} sind insbesondere für + \hologo{LaTeX}"=Neulinge sowie neue Anwender des \TUDScript-Bundles + mehrere einfache Beispiele sowie umfangreichere Tutorials für dessen + Verwendung zu sehen. In \autoref{sec:packages} werden Einsteigern~-- und + auch dem bereits versierten \hologo{LaTeX}-Nutzer~-- 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-index} + +\ListOfToDo +\ToDo[rls]{Layout und Umbrüche kontrollieren, insbesondere im Index} +\ToDo[rls]{Datum in tudscr-version.dtx, Handbuch und README aktualisieren} +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex new file mode 100644 index 00000000000..7bc67f9e42a --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex @@ -0,0 +1,147 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathswap} + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\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 +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{microtype} + +\end{Preamble} +% +Zusätzlich wird das Paket \Package{mathswap} geladen, welches die Änderung der +Gruppierungs- und Dezimaltrennzeichen von Zahlen im Mathematikmodus ermöglicht. +% +\begin{Preamble} +\usepackage{mathswap} +\end{Preamble} +% +Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und +beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese +importierten Daten nicht dem Zahlenformat entsprechen, welches für die +verwendete Dokumentsprache normalerweise notwendig wäre. 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 erledigen. In +diesem Tutorial wird hierfür das Paket \Package*{mathswap} genutzt. Alternativ +dazu kann auch das Paket \Package{ionumbers} verwendet werden. + +Ohne die Verwendung eines speziellen Paketes zur Zahlenformatierung wird eine +Zahl im mathematischen Modus durch \hologo{LaTeXe} normalerweise so +ausgegeben: +% +\CodePreamble{% + Ausgabe mit deutscher Zifferngruppierung ohne \Package*{mathswap}% +} +\begin{Trunk*} +\mathswapoff +\(4.523,58\) +\mathswapon + +\end{Trunk*} +% +Da in der Präambel dieses Dokumentes das Paket \Package*{mathswap} bereits +geladen wurde, musste mit \Macro*{mathswapoff} auf das Standardverhalten von +\hologo{LaTeXe} geschaltet werden. Der Befehl \Macro*{mathswapon} aktiviert +wiederum die Funktionalität von \Package*{mathswap}. + +Für diese Tutorial wird angenommen, dass die wissenschaftlichen Abhandlung in +deutscher Sprache verfasst wird. Ist nun eine Zahl im deutschen Zahlenformat +gegeben, kann diese einfach im Mathematikmodus angegeben werden. Diese wird +den hierzulande existierenden Konventionen entsprechend gruppiert ausgegeben: +% +\CodePreamble{% + Ausgabe mit deutscher Zifferngruppierung und Sprache \PValue{ngerman}% +} +\begin{Trunk*} +\(4.523,58\) + +\end{Trunk*} +% +Sollte die gleiche Zahl in englischer Formatierung gegeben sein, funktioniert +dies nicht mehr: +% +\CodePreamble{% + Ausgabe mit englischer Zifferngruppierung und Sprache \PValue{ngerman}% +} +\begin{Trunk*} +\(4,523.58\) + +\end{Trunk*} +% +Mit der Verwendung der beiden Befehle \Macro*{commaswap}\PParameter{\bsc,} +sowie \Macro*{dotswap}\PParameter{,} können die Substitutionen für Komma und +Punkt im Mathematikmodus geändert: +% +\CodePreamble{% + Ausgabe mit englischer Zifferngruppierung und geänderten Trennzeichen% +} +\begin{Trunk*} +\begingroup + \commaswap{\,} + \dotswap{,} + \(4,523.58\) +\endgroup + +\end{Trunk*} +% +Die Verwendung von \Macro{begingroup} und \Macro{endgroup} führt hierbei +dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser +Gruppe erfolgt. + +Wird das Paket \Package*{mathswap} zusammen mit einer \TUDScript-Klasse +verwendet, werden die Dezimaltrennzeichen im Mathematikmodus sprachabhängig +definiert. Wird die Dokumentsprache auf \PValue{english} gesetzt, so werden die +Dezimaltrennzeichen standardmäßig für die englischsprachige Zifferngruppierung +definiert. In diesem Fall müssen Zahlen, welche im deutschsprachigen Format +gruppiert sind, angepasst werden: +% +\CodePreamble{ + Ausgabe bei \PValue{english} als gewählter Sprache% +} +\begin{Trunk*} +\begingroup% + \selectlanguage{english}% + \(4,523.58\)\par + \(4.523,58\)\par + \commaswap{.} + \dotswap{\,} + \(4.523,58\)% +\endgroup +\end{Trunk*} +% +\FinishTutorial +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex new file mode 100644 index 00000000000..5ff00d2fa72 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex @@ -0,0 +1,184 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} + +\usepackage{mathtools} + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\title{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} +\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 +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\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} +% +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn +mikrotypographisch alles richtig gemacht werden soll, gibt es einiges zu +beachten. Generell gilt, dass Variablen kursiv, Bezeichnungen und Konstanten +aufrecht gesetzt werden. Um beschreibende Indizes bei Formelzeichen richtig zu +setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der beiden Befehle +\Macro{mathrm}\PParameter{\dots} und \Macro{mathit}\PParameter{\dots} wohl oder +übel notwendig. Somit wird aus: +% +\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*} +% +mit ziemlich viel Anpassungsarbeit: +% +\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*} +% +Wie man sieht, ist dabei eine ganze Menge Handarbeit vonnöten. Allerdings lässt +sich das relativ gut vereinfachen lassen. Zu diesem Zwecke wird ein Befehl +\Macro{ind}\PParameter{\dots} für das Setzen von Indizes bei Formelzeichen +definiert. Danach kann man sich~-- wenn man das für nötig und sinnvoll +erachtet~-- noch zusätzliche Befehle für häufig verwendete Ausdrücke schnitzen. +Als Beispiel wird das schon eben genutzte Drehmoment \ensuremath{M} verwendet. +Hierfür könnte man Folgendes definieren: +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} + +\end{Trunk*} +% +und damit diese Ausgabe erzeugen: +% +\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*} +% +Netter Nebeneffekt ist, dass man den Befehl aufgrund der Verwendung von +\Macro{ensuremath}\PParameter{\dots} nun auch im Fließtext verwenden kann, +beispielsweise wie hier \M{VM_{ind}} (\Macro{M}\PParameter{VM\_\{ind\}}) für +das induzierte Moment einer Verbrennungskraftmaschine. + +Möchte man es sich noch bequemer machen, strikt man sich noch eine Lösung, in +der man~-- im Gegensatz zum \hologo{LaTeX}"=Standardfall~-- \textbf{nach} dem +obligatorischen Argument noch ein optionales für einen weiteren Index angeben +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} +genutzt +werden kann. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Trunk*} +\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\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 + \IfNoValueTF{#2}{}{_{#2}} + }% + }% +} +\end{Hint} +% +\FinishTutorial +\end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex new file mode 100644 index 00000000000..9d73bee604b --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex @@ -0,0 +1,2878 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[% + english,ngerman,% + geometry=no,DIV=12,automark,% +]{tudscrartcl} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{lmodern} + +\usepackage{tudscrman} +\lstset{% + inputencoding=utf8,extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +\lstset{escapechar=§} +\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,% + ]{glossaries} + \setStyleFile{\jobname-temp} + \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} + +\ifpdf + \usepackage{tikz} + \usetikzlibrary{chains} + \usetikzlibrary{decorations.markings} + \tikzset{on grid} +\fi + +\usepackage{pstricks,pst-node} + +\makeatletter +\newcommand*\pcolumnfuzz[1]{\pretocmd{\@endpbox}{\hfuzz=#1}{}{}} +\makeatother + +\usepackage[open,openlevel=0]{bookmark}[2011/12/02] + + +\ActivateWarningFilters[Tutorial]% +\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} +\DeactivateWarningFilters[Tutorial]% + + +\begin{document} +\date{17.12.2014} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\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[% + \begin{abstract}\noindent + 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 potentiellen + 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. Sehr empfehlenswert ist die + ausführliche \hrfn{http://www.fadi-semmo.de/latex/workshop/}{Workshop-Reihe} + von Fadi~Semmo. Außerdem stellt Nicola~L.~C.~Talbot 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 verwendeten Optionen und Befehle aus dem + \TUDScript-Bundle werden nur sporadisch in ihrer Grundfunktion erläutert. + Eine detaillierte Erläuterung lässt sich jedoch jederzeit sehr einfach über + die türkisfarbigen Hyperlinks im \manualhyperref{}{\TUDScript-Handbuch} + öffnen. Des Weiteren wird in auf eine Vielzahl von Paketen verwiesen, deren + Dokumentation sich entweder über den magentafarbigen Hyperlink auf das + \href{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} oder + alternativ über die Kommandozeile respektive das Terminal mit dem Aufruf + \PValue{texdoc }\PName{Paket} direkt lokal öffnen lässt. + + 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. + \end{abstract} +] +\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. + +Den Anfang macht das Paket \Package{hyphsubst}. Dieses wird für eine wesentlich +verbesserte Worttrennung für die deutsche Sprache benötigt und muss bereits +\emph{vor} der Klasse geladen werden, damit es problemlos funktioniert. In +\autoref{sec:hyphenation} können Sie außerdem weitere Informationen zum Thema +\emph{Worttrennung} finden. +% +\begin{Preamble} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\end{Preamble} +% +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} +% +Bei der Verwendung von \hologo{LaTeXe} sollte zum einen die Eingabekodierung +des erstellten Datei spezifiziert werden. Das Paket \Package{selinput} erkennt +automatisch, welche Kodierung der genutzte Editor verwendet. Zum anderen werden +die Schriften in der Ausgabe ebenfalls kodiert. Mit dem Paket \Package{fontenc} +lässt sich die verwendete Schriftkodierung für das Dokument spezifizieren, +wobei im Normalfall die europäischen Zeichen mit der Option~\Option{T1} +aktiviert werden sollten. +% +\begin{Preamble} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\end{Preamble} +% +Das Paket \Package{fixltx2e} behebt einige Fehler im \hologo{LaTeXe}-Kernel. +In neuen Dokumenten kann es bedenkenlos geladen werden. +% +\begin{Preamble} +\usepackage{fixltx2e} +\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 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{Makrotypographie} +\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. + +Zuallererst gilt zu entscheiden, ob das Dokument einseitig oder beidseitig +gesetzt werden soll. Ist Letzteres der Fall, so sollte \Option{twoside} als +Klassenoption angegeben werden. Im nächsten Schritt ist der zu verwendenden +Satzspiegel festzulegen. Hierfür kann die Option \Option*{geometry} verwendet +werden, welche im \TUDScript-Handbuch beschrieben wird. Normalerweise wird das +Dokument im asymmetrischen Layout des \CDs gesetzt. + +Dieses Verhalten kann mit \Option*{geometry}[false] deaktiviert werden und der +Satzspiegel wird durch das Paket \Package{typearea} nach typographischen +Gesichtspunkten konstruiert. Dabei ist die \KOMAScript"=Option \Option{DIV} +maßgeblich für die Aufteilung des Satzspiegels verantwortlich. Des Weiteren +spielt die \KOMAScript"=Option \Option{BCOR} für die Bindekorrektur eine Rolle. +Diese wird in \autoref{sec:bcor} erläutert. + +\subsection{Änderung des Zeilenabstandes (Durchschuss)} +Auf die Änderung des standardmäßigen Zeilenabstandes sollte aus typographischer +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} erläutert, welches im Zweifelsfall für dieses +Anliegen den Befehl \Macro{setstretch} bereitstellt. Wird ein Dokument in der +\Univers-Hausschrift der \TnUD gesetzt, sollte der Wert von \Macro{setstretch} +im Bereich 1.05--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, welche 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} 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, +wobei meistens nur eine Teilmenge verlangt wird. 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 wissenschaftlichen +Mitarbeiters respektive betreuenden Hochschullehrers. + +Verwenden Sie für ihre Arbeit eine Buchklasse, so können die entsprechenden +Abschnitte mit \Macro{frontmatter} (Vorspann), \Macro{mainmatter} (Hauptteil) +und \Macro{backmatter} (Nachspann) gekennzeichnet werden. Einen Anhang starten +Sie mit \Macro{appendix}, womit unter anderem die Kapitelnummerierung auf +Großbuchstaben umgeschaltet wird (siehe \scrguide*). + + +\subsection{Aufgabenstellung} +\label{sec:task} +Das Erstellen der Aufgabenstellung einer Abschlussarbeit im \CD der \TnUD muss +das Paket \Package*{tudscrsupervisor} geladen werden. +% +\begin{Preamble} +\usepackage{tudscrsupervisor} + +\end{Preamble} +% +Dieses Paket stellt die Umgebung \Environment*{task} sowie den Befehl +\Macro*{taskform} bereit. Bei beiden Varianten wird zu Beginn eine Tabelle mit +Informationen zum Autor erzeugt. Am Ende werden der oder die Betreuer der +Arbeit sowie Professor und gegebenenfalls der Prüfungsausschussvorsitzende +ausgegeben. Mit der \Environment*{task}-Umgebung kann zwischen dem Kopf und dem +Fuß ein beliebiger Inhalt gesetzt werden. Der Befehl \Macro*{taskform} hingegen +erzeugt eine standardisierte Ausgabe, wobei das zweite obligatorische Argument +in der \Environment{itemize}-Umgebung verwendet wird und somit \Macro{item} 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 man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +} + +\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 man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +} +\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} 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} ausgegeben +werden. Wurde das Thema in Kooperation mit einem Unternehmen bearbeitet, so +wird zumeist auch ein Sperrvermerk gefordert, welcher mit \Macro*{blocking} +erzeugt werden kann. Mit \Macro*{declaration} werden beide Erklärungen direkt +nacheinander erzeugt. Die verwendete Überschrift und ein möglicher Eintrag in +das Inhaltsverzeichnis können über die Option \Option*{declaration} 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 dem \hologo{LaTeX}"=Standardbefehl +\Macro{tableofcontents} erzeugt und führt die Gliederung des erstellten +Dokumentes entsprechend der verwendeten Befehle (\Macro{part}, \Macro{addpart}, +\Macro{chapter}, \Macro{addchap}, \Macro{section}, \Macro{addsec} 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} genutzt +werden, um diesen eine Bezeichnung hinzuzufügen. Mit \Macro{listoffigures} +beziehungsweise \Macro{listoftables} 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 genutzt und benannt werden, kann dies mit dem +Befehl \Macro{captionof}\Parameter{Typ}\OParameter{Verzeichniseintrag} +\Parameter{Bezeichnung} erfolgen. Weitere Informationen diesbezüglich sind der +\KOMAScript"=Anleitung \scrguide zu entnehmen. In \autoref{sec:floats} wird +außerdem genauer auf die Verwendung von 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. + +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*} aus dem \KOMAScript-Bundle. Mit diesem können Sie +die Ausführung von Quelltext bis zum Laden eines Paketes verzögern. Allerdings +ist darauf zu achten, dass der Quelltext nur ausgeführt wird, wenn auch das +avisierte Zielpaket geladen wird. Die für \Package{glossaries} verwendeten +Optionen werden kurz erläutert. +% +\begin{Preamble+} +\AfterPackage*{hyperref}{% +\end{Preamble+} +\begin{Preamble} +\usepackage[% +\end{Preamble} +% +Das Programm \Application{makeindex} wird im Normalfall durch die genutzte +\hologo{LaTeX}"=Distribution bereitgestellt und für das alphabetische Sortieren +der erstellten Listen verwendet. Mit der Paketoption \Option{automake} erfolgt +der automatische Aufruf von \Application{makeindex} mit den passenden +Einstellungen für alle Verzeichnisse. Alternativ dazu kann die Option +\Option{xindy} aktiviert werden, welche \Application{xindy} anstelle von +\Application{makeindex} für das Sortieren verwendet. Dieses Programm bietet +unter anderem eine Unterstützung von Unicode sowie die Möglichkeit, nach +sprachabhängigen Regeln zu sortieren. Allein für die deutsche Sprache gibt es +beispielsweise zwei verschiedene Varianten~-- nach DIN und nach Duden~-- zum +alphabetischen Sortieren. Ich persönlich würde~-- aufgrund der genannten +Vorteile~-- der Verwendung von \Application{xindy} immer den Vorzug geben. + +Leider wird das Programm \Application{xindy} lediglich mit den Distributionen +\Distribution{\hologo{TeX}~Live} und \Distribution{Mac\hologo{TeX}} jedoch +nicht mit \Distribution{\hologo{MiKTeX}} geliefert. Soll \Application{xindy} +mit der letztgenannten Distribution genutzt werden, muss diese Anwendung +manuell installiert werden. +Für das Erstellen der Glossare mit \Application{xindy} sollte das Perl"=Skript +\Application{makeglossaries} verwendet werden, welches alle notwendigen +Optionen an die Anwendung weiterleitet. Treten Probleme bei der Erzeugung der +einzelnen Glossare auf, sollte die Dokumentation von \Package{glossaries} +weiterhelfen können. + +% +\begin{Preamble} + automake,% +% mit Tex Live einfach verwendbar +% xindy={language=german-din}, +\end{Preamble} +% +Die Optionen \Option{acronym} und \Option{symbols} erzeugen die Glossare +beziehungsweise die Verzeichnisse für Abkürzungen und Symbole. Die Option +\Option{nomain} wird verwendet, weil in diesem Tutorial kein zusätzliches +technisches Glossar erzeugt werden soll. +% +\begin{Preamble} + acronym,% Abkürzungen + symbols,% Formelzeichen + nomain,% kein Glossar +\end{Preamble} +% +Mit der Option \Option{translate}[babel] werden die Überschriften der Glossare +in der Dokumentsprache gesetzt, mit \Option{nogroupskip} kann der automatische +Abstand zwischen den Einträgen zur Gruppierung innerhalb eines Glossars +entfernt werden. Die Option \Option{toc} fügt die Verzeichnisse dem +Inhaltsverzeichnis hinzu, \Option{section} bestimmt die Gliederungsebene der +Überschrift. +% +\begin{Preamble} + translate=babel,% + nogroupskip,% + toc,% + section=chapter,% +\end{Preamble} +% +Damit sind alle verwendeten Optionen erläutert. Schließlich sorgt der Befehl +\Macro{makeglossaries} 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} +% +Damit wäre der erste Teil zur Initialisierung überstanden und wir können zum +eigentlichen Problem kommen. Wie erstellt man nun ein Abkürzungs- und/oder +Symbolverzeichnis? + +\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} 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 \Macro{gls}\Parameter{Label} +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äugig 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} von der zweiten~-- und jeder weiteren~-- unterscheidet. Das +Verhalten lässt sich über verschiedene Stile mit \Macro{setacronymstyle} +anpassen. Die Ausgabe einer Liste aller Abkürzungen erfolgt mit: +% +\begin{Hint} +\printacronyms +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\vspace*{-\baselineskipglue} +\glsdisablehyper +\InputCode +\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} oder \Environment{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 auch Seitenumbrüche in der Tabelle zulassen, können Sie etwas später bei +Symbolverzeichnissen in diesem \autorefname[sec:glossaries] erfahren. + +\minisec{Eigener Stil mit \Environment{tabularx}} +Für das Definieren eines eigenen Glossarstils wird \Macro{newglossarystyle} +verwendet, wobei für den neuen Stils die Umgebung \Environment{theglossary} +umdefiniert wird. Als erstes kommt die Tabellenumgebung \Environment{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{@\{\}} 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} lässt sich diese nicht +als verschachtelte Umgebung verwenden. Allerdings kann man stattdessen die mit +\Macro{tabularx} und \Macro{endtabularx} die Low"~Level"~Variante nutzen. 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}) sowie Überschriften und Abstände bei Gruppierungen +(\Macro{glsgroupheading} und \Macro{glsgroupskip}) verzichtet. Der Befehl +\Macro{glossentry} 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} die Bezeichnung oder mit + \Macro{glsentrydesc} die dazugehörige Beschreibung% +} + +Der Befehl \Macro{glossentry} 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} 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] +\vspace*{-\baselineskipglue} +\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} wird durch das +Paket \Package{tabu} bereitgestellt. Es wird in \autoref{sec:tabu} vorgestellt, +wobei die dortigen Anmerkungen \emph{unbedingt} zu beachten sind. Ähnlich zu +\Environment{tabularx} bietet auch die \Environment{tabu}-Umgebung einen +\PValue{X}"~Spaltentyp. Allerdings gibt es hier eine Besonderheit. Für +\Environment{tabularx}"=Tabellen muss generell eine feste Tabellenbreite +angegeben werden. Die Breite der \PValue{X}"~Spalten wird anhand der +angegebenen, gewünschten Gesamtbreite und dem bereits für andere Spalten vom +Typ~\PValue{l},~\PValue{r}~und~\PValue{c} benötigten Platz berechnet. + +Für \Environment{tabu}"=Tabellen kann 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 Freiraum am unteren +Ende. Um dieses Manko zu beheben, wird am Schluss jeder \PValue{X}"~Spalte mit +\PValue{X<\{\Macro{strut}\}} einfach der Befehl \Macro{strut} angehängt, der +vertikalen Freiraum ober- und unterhalb der aktuellen Grundlinie einfügt. In +\autoref{sec:tables} wird ein Ansatz aufgezeigt, wie man dies automatisiert +über einen neuen Spaltenstil ausmerzen kann. Der Rest des Stils ist identisch +zu \PValue{acrotabularx}. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{acrotabu}{% + \renewenvironment{theglossary}{% + \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}% + }{% + \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 +\vspace*{-\baselineskipglue} +\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} 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 wird dieser +\Macro{newsymbol} genannt. Dieser hat ein optionales und vier obligatorische +Argumente, wobei das optionale Argument prinzipiell alle Schlüssel-Wert-Paare +enthalten kann, die durch \Package{glossaries} akzeptiert werden. Welche davon +letztlich auch Auswirkungen haben, hängt allerdings von der Gestaltung des +Stils durch den Anwender ab. Der nachfolgend definierte Befehl hat folgende +Gestalt: +% +\begin{quoting}[leftmargin=\parindent] +\Macro{newsymbol}\LParameter\Parameter{Label}\Parameter{Bezeichnung}% +\Parameter{Symbol}\Parameter{Einheit} +\end{quoting} +% +Mit \PName{Label} erfolgt die eindeutige Kennzeichnung des Symbols. Außerdem +wird dies für die Sortierung verwendet, was unter Umständen etwas problematisch +sein könnte. Eine manuelle Festlegung für den dazugehörigen Schlüssel durch den +Anwender über das optionale Argument mit \PValue{sort=}\PName{Bezeichnung} ist +eventuell sinnvoll. Nach dem \PName{Label} schließt die \PName{Bezeichnung} für +das Formelzeichen an, gefolgt vom \PName{Symbol} sowie der dazugehörige +physikalische \PName{Einheit}. +% +\CodeHook{\let\newcommand\renewcommand} +\begin{Preamble*} +\newcommand*{\newsymbol}[5][]{% + \newglossaryentry{#2}{% + type=symbols,% + description={},% + name={#3},% + 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 man auch den Befehl \Macro{si} aus dem Paket \Package{siunitx} benutzen. +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, wird für diese der Befehl \Macro{sfrac} aus dem Paket \Package{xfrac} +genutzt. +% +\begin{Trunk*} +\newsymbol{l}{Länge}{l}{m} +\newsymbol{m}{Masse}{m}{kg} +\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}} +\newsymbol{t}{Zeit}{t}{s} +\newsymbol{f}{Frequenz}{f}{s^{-1}} +\newsymbol{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} 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 man die Formelzeichen auch für den mathematischen +Satz sinnvoll nutzen kann, sollte das Erscheinungsbild der Einträge mit +\Macro{defglsentryfmt} angepasst werden. +% +\begin{Preamble*} +\defglsentryfmt[symbols]{% + \ifmmode% + \glssymbol{\glslabel}% + \else% + \glsgenentryfmt~\glsentrysymbol{\glslabel}% + \fi% +} +\end{Preamble*} +% +Diese Definition führt bei der Verwendung von \Macro{gls}\Parameter{Label} +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} jedenfalls kein sinnvolles Verzeichnis: +% +\begin{Hint} +\printsymbols +\end{Hint} +\begin{quoting}[rightmargin=0pt] +\vspace*{-\baselineskipglue} +\glsdisablehyper +\InputCode +\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} setzen. Vielmehr ist das Paket \Package{ltxtable} +notwendig. Dieses wiederum verlangt, dass die zu setzende Tabelle in einer +separaten Datei abgelegt wird. Möchte man diese dennoch im Hauptdokument +belassen, kann man die \Environment{filecontents}"=Umgebung nutzen. + +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} aus dem Paket \Package{tabu} +infrage. + +\minisec{Eigener Stil mit \Environment{tabu}} +Das Paket \Package{tabu} definiert die \Environment{longtabu}"=Umgebung, die +wiederum auf \Environment{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. +% +\CodeHook{\let\newglossarystyle\renewglossarystyle} +\begin{Preamble*} +\newglossarystyle{symblongtabu}{% + \renewenvironment{theglossary}{% + \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}% + }{% + \end{longtabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule\endhead% + \bottomrule\endfoot% + }% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glsgroupskip}{}% + \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} wird \Macro{glossaryheader} für einen +Tabellenkopf definiert, wie er auch für eine \Environment{longtable}"=Umgebung +erscheinen würde. In hier vorgestellten Fall werden Kopf beziehungsweise Fuß +mit \Macro{endhead} respektive \Macro{endfoot} 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}spread 0pt{ccX<{\strut}l}% + }{% + \bottomrule\end{tabu}% + }% + \renewcommand*{\glossaryheader}{% + \toprule + \bfseries Symbol & \bfseries Einheit & + \bfseries Name & \bfseries Seite(n) + \tabularnewline\midrule% + }% +} +\printsymbols[style=symbtabu] +\end{quoting} + + +\subsection{Literaturverzeichnis} +\label{sec:biblatex} +Für das Erstellen eines Literaturverzeichnisses wurde in der Vergangenheit fast +ausschließlich \hologo{BibTeX} verwendet. Lieder wird auch heute immer noch +darauf verwiesen, obwohl es seit einigen Jahren das Paket \Package{biblatex} +gibt, welches insbesondere für neue Dokumente definitiv 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. Welcher Stil und welches Backend zur Sortierung genutzt werden +soll, lässt sich durch das optionale Argument beim Laden des Paketes festlegen. +Damit die Zitierstile das optimale Ergebnis erzielen wird das vorherige 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}"=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 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}"=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} +% +Es werden folgend drei Einträge für die Literaturdatenbank 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örige +Werte eingetragen werden. Die verwendbaren Eintragstypen und die für diesen +benötigten und zusätzlich nutzbaren 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. Dies geschieht mit: +% +\begin{Preamble} +\addbibresource{\jobname-temp.bib} + +\end{Preamble} +% +Im einfachsten Fall werden die Einträge mit \Macro{cite}\Parameter{macro} im +Dokument referenziert. Für die Referenzierung werden durch \Package{biblatex} +weitere Befehle angeboten. +% +\begin{refsection}[\jobname-temp.bib] +\begin{Trunk+} +\section{Referenzen und das Literaturverzeichnis} +Das Literaturverzeichnis wir 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} 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 +\vspace*{-\baselineskipglue} +\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} 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} innerhalb von \Macro{setpartpreamble} beziehungsweise +\Macro{setchapterpreamble} verwendet werden. Genaueres hierzu und zu den +Möglichkeiten, die Gestalt des Zitats zu beeinflussen, ist in der Anleitung von +\KOMAScript{} \scrguide 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 +Geschrieben 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} aus dem Paket \Package{hyperref}~-- Bezug genommen und +gegebenenfalls eine kurze Erläuterung gegeben werden. Weitere Erläuterungen zum +Thema \emph{Querverweise} ist in \autoref{sec:references} nachlesen. + +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. Worauf man bei Gleitobjekten in jedem Fall achten sollte, dass die +Verwendung von \Macro{label} immer erst \emph{nach} \Macro{caption} erfolgt, 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 geigneten +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 referenziereden 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} erstellt wird, +gesetzt wird. + +\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{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. Dies ist ein Effekt, den man in den seltensten Fällen will. + +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{\manualhyperref{sec:tips:floats}{Platzierung von Gleitobjekten}} +ein eigener Abschnitt mit weiterführenden Informationen. + + +\subsection{Abstellen des Gleitprozesses} +Oftmals wird verlangt, den Gleitprozess vollständig abzustellen. Dies bringt in +den meisten Fällen einige Probleme mit sich. Die Folge sind sehr ein unruhiges +Erscheinungsbild das Satzspiegels aufgrund schlecht gefüllter Seiten, außerdem +viel Handarbeit mit hart kodierten Seitenumbrüchen sowie ein gegenüber von +Umbruchänderungen äußerst anfälliges Dokument. Sollte es in \emph{Einzelfällen} +dennoch erforderlich sein, dass eine Abbildung oder eine Tabelle nicht gleitet, +ist die einzig logische Konsequenz, auf die Verwendung einer Gleitumgebung +gänzlich zu verzichten. + +Hierfür eignen sich Umgebungen wie \Environment{center}, um etwas Abstand vor +und nach dem Objekt zu erzeugen und \Environment{minipage}, um Grafik oder +Tabelle und Beschriftung zusammenzuhalten. Die \KOMAScript-Klassen stellen für +diese Anwendung das Makro \Macro{captionof} zur Verfügung. Damit lassen sich +Bildunter- sowie Tabellenüberschriften auch ohne die gleitenden Umgebungen +\Environment{figure} beziehungsweise \Environment{table} erzeugen. Alternativ +kann das Paket \Package{float} verwendet werden, welches für Gleitumgebungen +den Platzierungsparameter \POParameter{H} zur Verfügung stellt. Allerdings ist +dies meiner Meinung nach alles andere als konsequent und sinnvoll. + + +\subsection{Gleitobjektlayout} +\label{sec:floatlayout} +% +Es wurde bis jetzt das prinzipielle Vorgehen bei der Nutzung von Gleitobjekten +beschrieben. Allerdings gibt es auch noch einige typographische 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} +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} bereit. Mit diesem werden die +Beschriftungen in Serifenlosen und das Label zur besseren Unterscheidung im +fetten Schriftschnitt 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} 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} mit der Option \Option{justification} +erreichen. Damit dies auch für einzeilige Beschriftungen angewendet wird, muss +zusätzlich die Einstellung \Option{singlelinecheck} deaktiviert werden. Mit der +Option \Option{hang} 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} für Tabellen sowie +\Macro{ffigbox} für Abbildungen bereit. + +Beide Makros erwarten im ersten obligatorischen Argument den Befehl +\Macro{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 \Macro{ttabbox} 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 am einfachsten 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 Kommentarzeichen \PValue{\%} folgt. + +\begin{table} +\ttabbox{\tableexample}{% + \caption[Eine mit \Macro{ttabbox} gesetzte Tabelle in einer Gleitumgebung]{% + Eine in einer Gleitumgebung gesetzte Tabelle in Verbindung mit dem Befehl + \Macro{ttabbox}, welcher vom Paket \texttt{floatrow} für Beschriftungen in + Objektbreite bereitgestellt 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} und \Environment{subfloatrow} +angeboten, wobei 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} 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 + + + +\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,labelwidth=*,labelsep=1em,label=\Roman*.,noitemsep] +\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}, \Macro{midrule} sowie +\Macro{cmidrule} und \Macro{bottomrule} 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} die Definition eigener Spaltentypen sowie die Verwendung +sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb einer Spalte +(\PValue{>\{\dots\}}\PName{Spaltentyp}\PValue{<\{\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{\bsc\bsc}. 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{@\{\}} verwendet, was das +\manualhyperref{sec:tips:table}{Einrücken dieser Tabellenspalten verhindert} +und im Handbuch genauer erläutert wird. + + +\subsection{Die Standardumgebung \Environment{tabular}} +Normalerweise gibt es vier unterschiedliche Spaltentypen. Dabei stehen die drei +Spaltentypen~\PValue{l},~\PValue{c}~und~\PValue{r} für linksbündige, zentrierte +und rechtsbündige Spalten, 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 den Inhalt in jeder Zeile in eine \Macro{parbox}, wobei diese +wird 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 der Box erfolgt. Es folgt ein Beispiel zur Verwendung 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 durch den +Anwender 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 des nicht umbrochenen Eintrags +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} + +\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} erwartet vor der Angabe der +Spaltentypen als obligatorisches Argument die gewünschte Breite der Tabelle. Zu +beachten ist, dass Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} +weiterhin 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}-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} ein neuer Spaltentyp +definiert. Das erste Argument von \Macro{newcolumntype} 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 dabie 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 angegeben werden, was bei der +\Environment{tabulary}-Umgebung mit dem ersten obligatorischen Argument vor der +Angabe der Spaltendefinition erfolgt. Werden für die Tabelle 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} 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} +kann die maximale Ausdehnung einer der Spalten vom Typ~\PValue{LCRJ} festgelegt +werden. Für die \Environment{tabulary}-Umgebung wird das vorherige Beispiel +wiederholt. Zu beachten ist, dass die Spaltentypen~\PValue{LCRJ} mit dem Makro +\Macro{tyformat} 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 die Verwendung der \Environment{tabu}-Umgebung +gezeigt werden, insbesondere weil es für das Setzen umbruchfähiger Tabellen mit +automatisch berechneten Spaltenbreiten momentan (fast) keine Alternative zu der +Umgebung \Environment{longtabu} gibt. + +Dieses Paket definiert ebenso einen Spaltentyp~\PValue{X}, welchem allerdings +zusätzlich ein optionales Argument angehängt 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 hat man entweder die Möglichkeit, bei jeder Angabe einer +Spalte im Tabellenkopf, welche eine \Macro{parbox} verwendet, mit dem Ausdruck +\PValue{>\{\Macro{strut}\}} die fehlenden Unterlänge auszugleichen oder man +definiert sich abermals einen entsprechenden Spaltentyp. Das ist für die +\PValue{X}"~Spalten der Umgebung \Environment{tabu} etwas schwieriger, da +\Macro{newcolumntype} 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} +Eine andere Variante zum Setzen einer Tabelle mit variabler Spaltenbreite +und festgelegter Gesamtbreite ist in \autoref{tab:tabu} zu sehen. Diese +würde in der Umgebung \texttt{tabu} gesetzt. Auch für diese wird zuerst +ein neuer Spaltentyp definiert, welcher die Unzulänglichkeiten der +Umgebung reduziert. Außerdem wird \texttt{\textbackslash ttabbox} aus dem +Paket \texttt{floatrow} verwendet, um die Beschriftung auf die Breite der +Tabelle zu begrenzen. + +\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 dabei die Verwendung von \Macro{ttabbox} 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 Optionen \Option{colorlinks} +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{Preamble} +\usepackage[colorlinks,linkcolor=blue]{hyperref} + +\end{Preamble} +% +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}, \Macro{section} etc.} +erfolgen. Für Abbildungen, Tabellen oder andere Objekte in Gleitumgebungen muss +der Anker unmittelbar nach der Verwendung von \Macro{caption} respektive +\Macro{captionof} erstellt werden. Um nun auf diesen Anker zu referenzieren, +sollte nicht \Macro{ref} sondern \Macro{autoref} 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} sowie \Macro{vpageref} zur +Verfügung gestellt. Das Paket \Package{cleveref} vereint die Vorzüge von +\Macro{autoref} in Verbindung mit \Macro{vref} durch den Befehl \Macro{cref}. + + + +\section{Zitate} +Für das wörtliche Zitieren kann das Paket \Package{csquotes} verwendet werden. +Dieses stellt den Befehl \Macro{enquote} 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 gegebenfalls +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} und \Environment{quotation} an. Allerdings +verwenden beide fest eingestellte Absatzauszeichnungen. Sollen jedoch die +mit der Option \Option{parskip} vorgegebenen Absatzeinstellungen beachtet +werden, so bietet sich das Paket \Package{quoting} an, welches die gleichnamige +Umgebung 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 man sieht, ist der zweite Absatz~-- wie jeder weitere~-- aufgrund + der Einstellung \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 acuh für einen selbst von +Vorteil sein, wenn man beispielsweise die originale Textpassage noch +einmal analysieren möchte. + +\end{Trunk+} +\begin{quoting}[rightmargin=0pt] +\makeatletter +\let\markboth\@gobbletwo +\let\markright\@gobble +\makeatother +\vspace*{-\baselineskipglue} +\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 auch heute noch in nicht-englischsprachigen Texten teilweise falsche +Trennstellen gefunden werden. + +Zu Beginn wurde bei der Einleitung in \autoref{sec:introduction} 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 \emph{vor} dem Laden der +Dokumentklasse eingebunden werden. Außerdem wird das Paket \Package{babel} +benötigt. Damit auch Wörter mit Umlauten richtig getrennt werden, ist zudem die +Verwendung der \PValue{T1}"~Schriftkodierung notwendig. Der Beginn einer +Dokumentpräambel könnte folgendermaßen aussehen: +% +\begin{Hint} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§ +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +§\dots§ +\end{Hint} +% +Die Option \Option{ngerman} 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 Orthographie ist stattdessen +\Option{german}[german-x-lastest] zu verwenden. + + +\subsection{Einmalige und globale Worttrennungskorrektur} +Sollte es dennoch passieren, dass ein Wort nicht richtig getrennt wird, kann +dies manuell korrigiert werden. Dafür stellt das Paket \Package{babel} mehrere +Kurzbefehle zur Verfügung. Außerdem lassen sich mit \Macro{hyphenation} für ein +bestimmtes Wort alle potentiellen Trennstellen angeben. Im \TUDScript-Handbuch +ist im Kapitel Tipps~\&~Tricks zum Thema \manualhyperref{sec:tips:hyphenation}{% +Worttrennungen in deutschsprachigen Texten} 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 im Flattersatz% +\footnote{\Macro{raggedright}, \Macro{raggedleft}, \Macro{center}} deaktiviert. +Mit dem Paket \Package{ragged2e} kann diese hierfür aktiviert werden. Wird es +geladen, stehen dem Anwender die Befehle \Macro{Centering}, \Macro{RaggedLeft} +sowie \Macro{RaggedRight} zur Verfügung, um Worttrennungen im Flattersatz zu +verwenden. Mit der Paketoption \Option{newcommands} können die originalen +Befehle \Macro{centering}, \Macro{raggedleft} und \Macro{raggedright} mit der +Definition der neuen überschrieben werden. Genaueres dazu ist der Dokumentation +des Paketes zu entnehmen. + + + +\section{Mikrotypographische Feinheiten} +Unter Mikrotypographie oder Detailtypographie versteht man die Gestaltung +folgender Feinheiten des Schriftsatzes: +\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 +\hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX} funktioniert. +% +\begin{Preamble} +\usepackage[babel]{microtype} + +\end{Preamble} +% +Die Option \Option{babel} 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 typographisch richtig gesetzt werden. Beispielsweise gelingt dies für die +Abkürzung \enquote{zum~Beispiel~(z.\,B.)} mit der nachfolgenden 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 +braucht man in der Präambel lediglich Folgendes einfügen: +% +\begin{Hint} + \newignoredglossary{abbreviation} + \newcommand*\newabbreviation[4][]{% + \newacronym[type=abbreviation,#1]{#2}{\mbox{#3\xspace}}{#4}% + }% +\end{Hint} +% +Mit \Macro{newignoredglossary} wird dabei ein Glossar erstellt, welche bei der +Ausgabe aller Glossare mit \Macro{printglossaries} 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 eben definierten Abkürzung erfolgt \acrshort{zB} mit dem +Befehl \texttt{\textbackslash acrshort}. Wurde \texttt{glossaries} mit +der Option \texttt{shortcut} geladen, kann alternativ auch das kürzere +Makro \texttt{\textbackslash acs} genutzt werden. +\end{Hint*} + + +\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 den De-facto-Standard für den mathematischen +Satz mit \hologo{LaTeXe} dar. Allerdings wird es~-- insbesondere aus diesem +Grund~-- nur sehr \enquote{vorsichtig} weiterentwickelt. Für das Setzen neuer +Dokumente sollte deswegen das Paket \Package{mathtools} verwendet werden, +welches zwar auf \Package{amsmath} basiert, dieses jedoch um zusätzliche +Funktionalitäten ergänzt und Bugfixes bereithält. + + +\subsection{Einheiten} +Mit dem Paket \Package{siunitx} lassen sich sowohl physikalische Einheiten als +auch Zahlen typographisch korrekt setzen. Sollen die Funktionalitäten in einem +deutschsprachigen Dokument problemlos nutzbar sein, so sind die Hinweise zum +\manualhyperref{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{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} zur Verfügung. +% +\begin{Preamble} +\usepackage{xfrac} + +\end{Preamble} + + +\subsection{Ligaturen} +Die meisten \hologo{LaTeX}-Schriftfamilien enthalten Ligaturen, die für einen +typographisch sauberen Satz bei zusammengesetzten Wörtern, wie sie gerade im +Deutschen relativ häufig vorkommen, aufgetrennt werden müssten. Mit der +Anwendung \href{http://www.ctan.org/pkg/delig}{\Application{DeLig}} kann dies +automatisiert geschehen. Wird \hologo{LuaLaTeX} als Dokumentprozessor genutzt, +kann alternativ für dieses Unterfangen das Paket \Package{selnolig} verwendet +werden. + + +\subsection{Listen} +\label{sec:lists} +Für Auflistungen aller Art bietet \hologo{LaTeX} die drei Standardumgebungen +\Environment{iteimze}, \Environment{enumerate} und \Environment{description}. +Das häufigste Anliegen bei der Verwendung dieser Umgebungen ist das Reduzieren +der Abstände zwischen den einzelnen, mit \Macro{item} gesetzten Punkten, welche +sehr häufig als zu groß empfunden werden. Eine Aufzählung erscheint ohne +weitere Anpassungen normalerweise so: +% +\CodePreamble{% + Aufzählung mit einer \Environment{itemize}-Umgebung und 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 einzelnen Punkten tatsächlich etwas +überdimensioniert. Mit dem Paket \Package{enumitem} können die Umgebungen für +Auflistungen einfach 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} verwendet werden. Mit dem Befehl \Macro{setlist} +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*} +% +Das Ergebnis stellt sich folgendermaßen dar: +% +\CodePreamble{% + Aufzählung mit einer \Environment{itemize}-Umgebung 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. + +Natürlich erlaubt das Paket noch weitergehende Einstellungen für die Umgebungen +\Environment{itemize}, \Environment{enumerate} und \Environment{description}. +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{Datumsformatierung} +Das Paket \Package{isodate} stellt den Befehl \Macro{printdate} bereit, welcher +für die Formatierung von Datumsangaben verwendet werden kann. Wird das Paket +mit einer der \TUDScript-Dokumentklassen geladen, wird der genannte Befehl +automatisch für alle bereitgestellten Datumsfelder verwendet. +% +\begin{Preamble} +\usepackage{isodate} + +\end{Preamble} + + +\subsection{Auslassungspunkte} +Das typographisch richtige Setzen von Auslassungspunkten mit den Befehlen +\Macro{dots} repsektive \Macro{textellipsis} wird im Handbuch unter +\manualhyperref{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 +% +\begin{Preamble} +\let\ellipsispunctuation\relax + +\end{Preamble} +% +ausgeführt werden. + + + +\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}. 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 \manualhyperref{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). Für diese beiden wird im Folgenden eine +Abbildung exemplarisch erstellt, ohne dabei tiefer ins Detail gehen zu wollen. +Ebenfalls wird darauf verzichtet, diese im Kopierbeispiel einzubinden. Für +beide Pakete gibt es neben der umfangreichen Dokumentation zahlreiche Beispiele +und Erläuterungen im Internet. + + +\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?} +%\InputCode + + +\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} +\usepackage{pst-node} +\end{Hint} +% +Die Verwendung von PostScript hat zahlreiche Vorteile, macht die direkte +Nutzung von \hologo{pdfLaTeX} etwas schwierig. Das Paket \Package{auto-pst-pdf} +schafft hier jedoch Abhilfe. Wird \hologo{pdfLaTeX} über die zusätzliche Option +\Option{--shell-escape} respektive \Option{--enable-write18} 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 \manualhyperref{sec:tips:floatrow}{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}~-- 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, ist es ratsam, diese in separate Dateien auszulagern. Hierfür bieten +sich die beiden Pakete \Package*{subfiles} und \Package*{standalone} an, welche +im Handbuch erläutert werden. + + + +\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 \Macro{lstdefinestyle} ein +eigener \Package{lsitings}"~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 Teil als \hologo{LaTeX}"~Code +interpretiert werden, lässt sich mit \PValue{escapechar} ein Escape-Zeichen +definieren. Mit \Macro{lstnewenvironment} ist es außerdem möglich, eine eigene +\Package{lsitings}-Umgebung zu definieren. Das Einbinden externer Quelldateien +in das Dokument ist über +\Macro{lstinputlisting}\OParameter{Schlüssel-Wert-Liste}\Parameter{Dateiname} +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 ich als erstes einen Blick in die +Kapitel \manualhyperref{sec:packages}{Unerlässliche und beachtenswerte Pakete} +sowie \manualhyperref{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] + +\addsec{Index} +Da das Tutorial etwas umfangreicher ist, wird für alle erläuterten Optionen, +Umgebungen und Befehle ein Index erstellt. +\PrintIndex + +\FinishTutorial[% + Um das im kopierten Beispiel erstellte Literaturverzeichnis in das Dokument + einbinden zu können, bedarf es dem einmaligen Aufruf von \Application{biber} + nach dem ersten Durchlauf von \hologo{pdfLaTeX}. Dies erfolgt mit dem Aufruf + \PValue{biber}~\PName{Dateiname}. Danach ist ein weiteres mal die Verwendung + von \PValue{pdflatex}~\PName{Dateiname} notwendig. + + Für das Erstellen von Abkürzungs- und Symbolverzeichnis sollte das mehrmalige + Ausführen von \PValue{pdflatex}~\PName{Dateiname} vollkommen ausreichen. In + diesem Fall werden die Einträge mit \Application{makeindex} sortiert. Soll + stattdessen \Application{xindy} die Sortierung durchführen, muss beim Laden + von \Package{glossaries} die entsprechende Paketoption aktiviert werden. Für + diesen Fall sollte nach der Verwendung von \hologo{pdfLaTeX} der Aufruf des + Perl"=Skriptes \PValue{makeglossaries}~\PName{Dateiname} erfolgen, was + allerdings nur mit \Distribution{\hologo{TeX}~Live} ohne weiteres Zutun + möglich ist. Nutzer von \Distribution{\hologo{MiKTeX}} müssen das Sortieren + mit \Application{xindy} händisch anstoßen. +] +\end{document} |