03_MacroDoku.tex 9.56 KB
Newer Older
1
2
3
4
5
\chapter{Dokumentation der Vorlagen Makros}
Die Vorlage enthält sehr viele und umfangreiche Makros. Um diese auch den Studenten zugänglich zu machen sollen sie in diesem Kapitel beschrieben werden. Außerdem sind alle von der Vorlage eingebunden Packages in der Tabelle \ref{tab:packages} aufgelistet.

\newcommand{\link}[2]{\href{#1}{\texttt{#2}}}
\begin{table}
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
\begin{tabularx}{\linewidth}{llX} 
	\caption{Alle Packages die standardmäßig mit der Vorlage eingebunden werden.\label{tab:packages}}\\
	\toprule
	Name & Argumente & Beschreibung \\
	\midrule \endhead
	\link{http://mirrors.ctan.org/macros/latex/base/ifthen.pdf}{ifthen} && The package's basic command is ifthenelse, which can use a wide array of tests. Also provided is a simple loop command\\
	\link{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}{babel} & ngerman & Sprachpaket \\
	\link{http://ctan.org/pkg/greek-fontenc}{fontenc} & T1 & encoding	\\
	\link{http://ctan.org/pkg/microtype}{microtype} & siehe Code & Minimale Anpassung der Breite von Schrift und Leerzeichen, um eine bessere Silbentrennung zu erreichen.\\
	\link{http://mirrors.ctan.org/macros/latex/required/amsmath/amsmath.pdf}{amsmath} && \multirow{4}{*}{Mathe zeugs}\\
	\link{http://mirrors.ctan.org/fonts/amsfonts/doc/amssymb.pdf}{amssymb} && \\
	\link{http://ctan.org/pkg/amsfonts}{amsfonts} && \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/mathtools/mathtools.pdf}{mathtools} && \\
	\link{https://www.ctan.org/pkg/lm}{lmodern} && Schriftarten höher auflösen \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/xcolor/xcolor.pdf}{xcolor} && Farben \\
	\link{http://mirrors.ctan.org/macros/latex/required/graphics/grfguide.pdf}{graphicx} && Einbinden von Bildern \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf}{hyperref} & draft=false & Verlinkungen im PDF \\
	\link{http://mirrors.ctan.org/macros/latex/required/tools/calc.pdf}{calc} && Einfache Rechnungen \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/etoolbox/etoolbox.pdf}{etoolbox} && \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/l3packages/xparse.pdf}{xparse} && Befehle mit mehreren optionalen Argumenten erzeugen \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/siunitx/siunitx.pdf}{siunitx} && Korrektes Setzen von Einheiten \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/oberdiek/ifdraft.pdf}{ifdraft} && \\
	\link{http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf}{tikz} && Makros um Grafiken zu erstellen. Weitere Hilfe: \link{http://cremeronline.com/LaTeX/minimaltikz.pdf}{Minimal Introduction} \\
	\link{http://mirrors.ctan.org/graphics/pgf/contrib/pgfplots/doc/pgfplots.pdf}{pgfplots} && Zeichnen von Plots \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/blindtext/blindtext.pdf}{blindtext} && Makro für blindtext \\
	\link{http://ctan.org/pkg/ziffer}{ziffer} && Komma als Trennzeichen bei Zahlen (Abweichend vom Standard dieses Packages ist hier in der Vorlage der Dezimalpunkt sichtbar geschaltet)\\
	\link{http://mirrors.ctan.org/macros/latex/contrib/csquotes/csquotes.pdf}{csquotes} && \\
	\link{http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf}{cleveref} \\ \bottomrule
\end{tabularx}
35
36
\end{table}
\begin{table}
37
38
39
40
41
42
43
44
45
46
47
\centering
\keepXColumns
\begin{tabularx}{\linewidth}{llX}		
	\caption{Packages die optional eingebunden werden.}\\
	\toprule
	Name & Argumente & Beschreibung \\
	\midrule 
	\link{http://mirrors.ctan.org/macros/latex/contrib/booktabs-de/booktabs-de.pdf}{booktabs} && Anleitung für schöne Tabellen\\
	\link{http://mirrors.ctan.org/macros/latex/contrib/multirow/multirow.pdf}{multirow} && \\
	\bottomrule
\end{tabularx}
48
49
50
51
52
53
54
\end{table}

\section{Allgemeine Makros}
In diesem Abschnitt werden die Makros beschrieben die in der Datei \texttt{baseMacros.tex} enthalten sind.

\subsection{\texttt{bspl} - Beispielumgebung}
\begin{bspl}{Demonstration der Beispielumgebung:}
55
	Mit der Beispielumgebung können Beispiele vom restlichen Text abgesetzt werden. Die Beispielumgebung startet mit \textbf{Beispiel}, dann kommt eine dem Kapitel nach gezählte Nummer und dann eine Überschrift in kursiven Text. Das Ende des Beispiels wird durch ein schwarzes Dreieck markiert.
56
57
58
\end{bspl}

\paragraph{Verwendung:}
59
\begin{lstlisting}[caption={Code für eine Umgebung zur Abhebung von Beispielen.}]
60
	\begin{bspl}{name}
61
	...
62
	\end{bspl}
63
\end{lstlisting}
64
65
66


\subsection{\texttt{nscenter} - Kompakte zentrierung}
67
68
Zentrierte Umgebung, bei der vor und nach der Umgebung kein zusätzlicher Abstand eingefügt wird. Kann beim erstellen von Folien hilfreich sein.
\begin{lstlisting}[caption={Umgebung in welcher der Text zentriert wird ohne zusätzlichen Abstand darüber oder darunter einzufügen.}]
69
70
71
72
73
	\begin{nscenter}
		...
	\end{nscenter}	
\end{lstlisting}

74
\begin{bspl}{\texttt{nscenter} Umgebung in Fließtext:}
75
76
77
78
79
Blablabla komischer Text überhalb des zentrierten Teils...
\begin{nscenter}
	BLABLAB
\end{nscenter}
weiteres blablablba als komischer Text unterhalb des zentrierten teils...
80
81
82
\end{bspl}


83

84
\section{Blockdiagramm}
85
Die Makros für Blockdiagramme liegen in der Datei \texttt{tikz\-Block\-diagram.tex}. Mit diesen wurde das in Bild \ref{fig:blockschaltbild} dargestellte Blockschaltbild gezeichnet.
86

87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
\newcommand{\docblockrow}[1]{
	\texttt{\string#1}
	&
	\strukturbild{#1}
}

\newcommand{\strukturbild}[1]{
	\begin{tikzpicture}
	[
	every path/.style={draw, thick, line  join=bevel},
	on grid, 
	node distance = 1.25cm and 2cm,
	thick,
	frame/.append style={minimum height=1cm, minimum width=1.2cm}
	]
	#1
	\end{tikzpicture}
	}
	
\newcommand{\blockbild}{
	\strukturbild{
		\node(in) at (0,0) {};
		\node(k1)[knot, right=of in]{};
		\node(GAWI)[frame, right=of k1]{$G_{Aw}(s)$};
		\node(sum1)[sum, right=of GAWI]{};
		\node(sum2)[sum, right=of sum1,label=above right:{-}]{};
113
		\node(GI)[nonlin, right= of sum2]{Strecke};
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
		\node(k2)[knot, right=of GI]{};
		\node(out)[coordinate, right=of k2]{};
		\node(GRI)[frame, below=of sum1, node distance=1.5cm]{$G_{R}(s)$};
		\node(sum3)[sum, below=of GRI, label=below right:{-}]{};
		\node(GWIS)[frame, left=of sum3]{$G_{wS}(s)$};
		\node(z)[coordinate, node distance=1cm,above=of sum2, label=above:{$z(t)$}]{};
		
		\draw[->] (in) -- node[label=above:{$w(t)$}]{} (k1) -- (GAWI);
		\draw[->] (GAWI) -- node[label=above:{$u_S(t)$}]{} (sum1);
		\draw[->] (sum1) -- node[label=above:{$u(t)$}]{} (sum2);
		\draw[->] (sum2) -- (GI);
		\draw[->] (GI) -- (k2) -- node[label=above:{$y(t)$}]{} (out);
		\draw[->] (k1) |- (GWIS);
		\draw[->] (GWIS) -- node[label=below:{$y_S(t)$}]{} (sum3);
		\draw[->] (sum3) -- (GRI);
		\draw[->] (GRI) --node[label=right:{$u_{R}(t)$}]{} (sum1);
		\draw[->] (k2) |- (sum3);
		\draw[->] (z) -- (sum2);
	}
	}

\begin{figure}
136
	\resizebox{\textwidth}{!}{%
137
	\blockbild
138
	}
139
140
141
142
	\caption{Beispiel für ein Blockschaltbild}\label{fig:blockschaltbild}
\end{figure}

\paragraph{Benötigte Dateien}
143
Um mit der Markrosammlung Strukturbilder zeichnen zu können, müssen die Dateien \texttt{tikz\-Base\-.tex} und \texttt{tikzBlockdiagram.tex} eingebunden sein, sowie das Package \texttt{pgf-extrect}.
144
145
\paragraph{Einstellungen der TIKZ Umgebung}
Einstellungen die sich für das Zeichen von Strukturbildern bewährt haben sind in 
146
\begin{lstlisting}[breaklines,breakatwhitespace,caption={TIKZ-Code für die Erstellung des Strukturbildes in Bild \ref{fig:blockschaltbild}.}]
147
148
	\begin{tikzpicture}
	[
149
150
151
152
153
	every path/.style={%
		draw, 
		thick, 
		line  join=bevel
		},
154
155
156
	on grid, 
	node distance = 1.25cm and 2cm,
	thick,
157
158
159
160
	frame/.append style={%
		minimum height=1cm, 
		minimum width=1.2cm,
		}
161
162
163
164
165
166
167
168
169
	]
	
	% Der Code für Strukturbild in \ref{fig:blockschaltbild}
	
	\node(in) at (0,0) {};
	\node(k1)[knot, right=of in]{};
	\node(GAWI)[frame, right=of k1]{$G_{Aw}(s)$};
	\node(sum1)[sum, right=of GAWI]{};
	\node(sum2)[sum, right=of sum1,label=above right:{-}]{};
170
	\node(GI)[nonlin, right= of sum2]{Strecke};
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
	\node(k2)[knot, right=of GI]{};
	\node(out)[coordinate, right=of k2]{};
	\node(GRI)[frame, below=of sum1, node distance=1.5cm]{$G_{R}(s)$};
	\node(sum3)[sum, below=of GRI, label=below right:{-}]{};
	\node(GWIS)[frame, left=of sum3]{$G_{wS}(s)$};
	\node(z)[coordinate, node distance=1cm,above=of sum2, label=above:{$z(t)$}]{};
	
	\draw[->] (in) -- node[label=above:{$w(t)$}]{} (k1) -- (GAWI);
	\draw[->] (GAWI) -- node[label=above:{$u_S(t)$}]{} (sum1);
	\draw[->] (sum1) -- node[label=above:{$u(t)$}]{} (sum2);
	\draw[->] (sum2) -- (GI);
	\draw[->] (GI) -- (k2) -- node[label=above:{$y(t)$}]{} (out);
	\draw[->] (k1) |- (GWIS);
	\draw[->] (GWIS) -- node[label=below:{$y_S(t)$}]{} (sum3);
	\draw[->] (sum3) -- (GRI);
	\draw[->] (GRI) --node[label=right:{$u_{R}(t)$}]{} (sum1);
	\draw[->] (k2) |- (sum3);
	\draw[->] (z) -- (sum2);
	
	\end{tikzpicture}
191
192
\end{lstlisting}

193
194
195
196
197
198
199
200
201
202
203
204
205

\paragraph{Elemente für Strukturbilder}
Die Strukturbild-Elemente für die eigene Makros zur Verfügung stehen sind in Tabelle \ref{tab:blocksymbolmacros} beschrieben.
\begin{table}
	\centering
	\caption {Tabelle mit den Makros für die Strukturbildelemente. \label{tab:blocksymbolmacros}}
	\begin{tabular}{lc}
		\toprule
		Code & Symbol \\
		\midrule
		\docblockrow{\node[frame](<node name>){<block name>};} \\
		\docblockrow{\node[sum](<node name>){};}\\
		\docblockrow{\node[knot](<node name>){};}\\
206
		\docblockrow{\node[nonlin](<node name>){\{value\}};}\\
207
208
209
210
211
		\docblockrow{\node[times](<node name>){};}\\
		\docblockrow{\node[delay](<node name>){};}\\
		\docblockrow{\node[sat](<node name>){};}\\
		\docblockrow{\node[int](<node name>){};}\\
		\docblockrow{\node[diff](<node name>){};}\\
212
213
214
		\verb|\node[p-glied={$K$}](<node name>){};| & \strukturbild{\node[p-glied={$K$}](<node name>){};}\\
		\verb|\node[pt1-glied={$K$}{$T$}](<node name>){};| & \strukturbild{\node[pt1-glied](<node name>){};}\\
		\bottomrule
215
216
	\end{tabular}
\end{table}
217
218
219