summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/schule/doc/allgemeines.tex
blob: 23b82349359e894eaa76713185771670081d0ee1 (plain)
1
2
3
4
5
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
\part{Allgemeines}

\section{Allgemeines zum Paket}

\subsection{Wichtiger Hinweis zur neuen Version}
	Das Schule-Paket wurde vollständig überarbeitet. Diese
	Version enthält grundlegende, strukturelle Veränderungen.
	So wird unter anderem die Vielzahl an Dokumentenklassen 
	stark reduziert und die Konfiguration erfolgt nun über
	Paketoptionen.
	
	Dies führt zu großen Veränderungen der Schnittstelle. Die
	neue Version ist damit \textbf{nicht kompatibel} zu allen
	vorhergehenden Versionen. Es besteht allerdings ein
	\textbf{Kompatibilitätsmodus}, der automatisch für alle alten
	Dokumentenklassen aktiv ist. Alte Dokumente lassen sich somit
	weiterhin setzen, die Schnittstelle wird aber nicht
	weiterentwickelt. Bestehende Fehler werden in der alten
	Version nicht behoben. 

	Diese Änderungen ermöglichen die Lösung einiger bestehender
	Probleme (u.\,a. Quelltexte in Aufgaben und Lösungen).
	Zusätzlich wurde die Nutzung des Pakets vereinheitlicht und
	die Nutzung in anderen Dokumentenklassen ermöglicht, sodass
	etwa die Aufgabenumgebungen auch in Beamer-Präsentationen
	übernommen werden können. Klausuren unterstützen nun die
	automatische Erzeugung von Erwartungshorizonten.

	Eine weitere große Veränderung ist die Ausgliederung der
	ausbildungsrelevanten Teile (Unterrichtsbesuche,
	Stundenverläufe etc.) des Pakets. In der
	Vergangenheit hat sich gezeigt, dass sich die Anforderungen der
	verschiedenen, an der Lehrerbildung beteiligten Stellen
	stark voneinander unterscheiden.
	Daher werden die entsprechenden Funktionen des Pakets
	ausgegliedert, sodass sie einfach in eigenen Dokumenten
	genutzt werden können. Die bestehenden Vorlagen werden
	als eigenständige Klassen mitgeliefert.

\subsection{Manuelle Installation}
	Um die Pakete und Klassen nutzen zu können, gibt es drei
	Varianten. In der folgenden Beschreibung dieser Möglichkeiten
	wird von einer standardisierten \LaTeX-Installation
	ausgegangen -- weitere Hinweise können der Dokumentation der
	jeweiligen \TeX-Distribution entnommen werden:
		
\begin{description}
\item[Global]
	Für die globale/systemweite Installation der Pakete und
	Klassen	müssen diese in das globale \LaTeX-Verzeichnis der
	\TeX-Installation kopiert werden: unter Linux in der Regel
	\texttt{/usr/share/texmf/tex/latex/}. In diesem kann ein
	weiteres Verzeichnis wie z.\,B. \texttt{schule} angelegt
	werden, in das alle Dateien des Schulepakets
	kopiert werden. 
	
	Damit die Quellen anschließend dem System bekannt sind, muss
	der Cache von \LaTeX{} neu aufgebaut werden. Bei den meisten
	Linux-Installationen geschieht dieses durch den Aufruf von
	\texttt{texhash}.

\item[Benutzer]
	Damit ein Nutzer auf die Quellen zugreifen kann,
	müssen diese im Benutzerverzeichnis (Home directory)
	abgelegt werden. Dies geschieht durch das Kopieren der
	Pakete und Klassen in das Verzeichnis
	\texttt{texmf/tex/latex/} im Benutzerverzeichnis, das ggf.
	erst angelegt werden muss. Auch hier sollte -- wie bei der
	globalen Installation -- ein eigenes Unterverzeichnis
	angelegt werden.

\item[Lokal]
	Um die Klassen und Pakete ohne weitere Installation
	nutzen zu können, ist es darüber hinaus möglich, die
	benötigten Dateien in das Verzeichnis zu kopieren, in dem
	die Datei liegt, die übersetzt werden soll. Dies ist jedoch
	aufgrund des Umfangs des Schulepakets weniger empfehlenswert.
\end{description}

\subsubsection{Voraussetzungen}
Ein Grund für die Nutzung des Schule-Pakets und der damit
verbundenen speziellen Klassen und Pakete liegt
darin, viele der häufig  benötigten Pakete zusammen zu fassen.
Daher müssen diese für die Benutzung vorhanden sein. Die meisten
sind Standardpakete, die mit jeder normalen Installation
mitgeliefert sind.
Es folgt eine Aufstellung der Voraussetzungen
für das Paket \pkg{schule} und die vorhandenen Module. 
Mit einem Stern (*) markierte Pakete sind im Paket 
\pkg{schule} bereits enthalten:
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{amsmath}
		\item \pkg{babel}
		\item \pkg{environ}
		\item \pkg{fontenc}
		\item \pkg{forarray}
		\item \pkg{graphicx}
		\item \pkg{hyperref}
		\item \pkg{ifthen}
		\item \pkg{inputenc}
		\item \pkg{pgfopts}
		\item \pkg{schulealt} *
		\item \pkg{tikz}
		\item \pkg{xcolor}
		\item \pkg{xparse}
		\item \pkg{xstring}
		\item \pkg{zref-totpages}
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Fach \enquote{Informatik} benötigt: 
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{listings}
		\item \pkg{pgf-umlcd}
		\item \pkg{pgf-umlsd}
		\item \pkg{relaycircuit} *
		\item \pkg{struktex}
		\item \pkg{syntaxdi} *
	\end{smallitemize}
\end{multicols}

Folgende TikZ-Bibliotheken werden für das Fach \enquote{Informatik} benötigt:
\begin{smallitemize}
	\item er
\end{smallitemize}

Folgende Pakete werden zusätzlich für das Fach \enquote{Physik} benötigt:
\begin{multicols}{4}
	\begin{smallitemize}
	\item \pkg{circuittikz}
	\item \pkg{units}
	\item \pkg{mhchem}
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Fach \enquote{Geschichte} benötigt:
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{uni-wtal-ger}
		\item \pkg{marginnote}
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Modul \enquote{Aufgaben} benötigt: 
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{xsim}
		\item \pkg{utfsym} *
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Modul \enquote{Format} benötigt: 
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{amssymb}
		\item \pkg{array}
		\item \pkg{colortbl}
		\item \pkg{csquotes}
		\item \pkg{ctable}
		\item \pkg{enumitem}
		\item \pkg{eurosym}
		\item \pkg{graphicx}
		\item \pkg{longtable}
		\item \pkg{multicol}
		\item \pkg{multirow}
		\item \pkg{setspace}
		\item \pkg{tikz}
		\item \pkg{ulem}
		\item \pkg{utfsym} *
		\item \pkg{xspace}
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Modul \enquote{Symbole} benötigt: 
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{utfsym} *
	\end{smallitemize}
\end{multicols}

Folgende Pakete werden zusätzlich für das Modul \enquote{Texte} benötigt: 
\begin{multicols}{4}
	\begin{smallitemize}
		\item \pkg{lineno}
		\item \pkg{multicol}
	\end{smallitemize}
\end{multicols}

Folgende TikZ-Bibliotheken werden für das Zusatzpaket \pkg{syntaxdi} benötigt:
\begin{multicols}{4}
	\begin{smallitemize}
		\item arrows
		\item chains
		\item scopes
		\item shadows
		\item shapes.misc
	\end{smallitemize}
\end{multicols}

Folgende TikZ-Bibliotheken werden für das Zusatzpaket \pkg{relaycircuit} benötigt:
\begin{multicols}{4}
	\begin{smallitemize}
		\item arrows
		\item scopes
		\item shadows
		\item shapes.misc
	\end{smallitemize}
\end{multicols}

\subsection{Begriffsklärungen}
	\label{sec:begriffe}
	\begin{description}
		\item[Zusatzpaket] 
			Das Paket \pkg{schule} liefert einige \LaTeX-Pakete mit,
			die für das Paket entwickelt wurden, aber von diesem
			unabhängig nutzbar sind.
		
			Diese Pakete werden im Folgenden als Zusatzpaket
			bezeichnet.
		
		\item[Modul]
			Im Gegensatz zu einem Zusatzpaket ist ein Modul
			enger mit dem Hauptpaket verzahnt. Es lässt sich nicht
			unabhängig von diesem nutzen.
		
			Module bestehen aus einer oder mehreren
			\LaTeX-Quelldateien, die in das Paket eingebunden werden.
			
			Siehe auch die Beschreibung in der 
			Entwicklungsdokumentation im 
			\prettyref{sec:devmoduleModul}.
			
		\item[Fachmodul]
			Ein Fachmodul ist ähnlich aufgebaut wie ein	normales 
			Modul für das Schulepaket, wird allerdings für 
			fachspezifische Erweiterungen genutzt und erfüllt somit 
			einen anderen Zweck.
			
			Siehe auch die Beschreibung in der 
			Entwicklungsdokumentation im 
			\prettyref{sec:devmoduleFachmodul}.
						
		\item[Dokumenttyp]
			Ein Dokumenttyp ist ähnlich aufgebaut wie ein normales 
			Modul für das Schulepaket, wird allerdings für 
			typspezifische Erweiterungen genutzt und erfüllt somit 
			einen anderen Zweck.
			
			Siehe auch die Beschreibung in der 
			Entwicklungsdokumentation im 
			\prettyref{sec:devDokumenttyp}.
					
	\end{description}
	
\subsection{Arten der Nutzung}
	\subsubsection{Nutzung für Dokumente}
		Wenn zumindest ein \option{typ} in den Paketoptionen angegeben
		wird, werden viele Module und mit diesen auch viele externe
		Pakete geladen und konfiguriert, von denen einige auch die
		grundlegende Struktur der zu setzenden Dokumente verändern.
		
		Außerdem werden Entscheidungen für das Aussehen der Dokumente 
		getroffen. Man hat hier noch viele Freiheiten, ist jedoch auf
		die grundlegenden Vorgaben des Schule-Pakets festgelegt.
		
		Dies kann auch zu Inkompatibilitäten mit bestimmten
		Dokumentenklassen oder externen Paketen führen, \zB\space
		könnten Option-Clashes auftreten.
	
	\subsubsection{Eingebettete Nutzung}
		Es trat immer wieder der Wunsch auf, dass Funktionen aus dem
		Schulepaket auch in anderen Dokumenten oder gar in
		Dokumentenklassen oder anderen Paketen nutzen zu können.
		
		Das war aus den oben genannten Gründen schwierig. Inzwischen
		ist dies möglich, in dem man beim Laden des Pakets die Option
		\keyis{typ}{ohne} angibt.
		
		Damit wird das Paket in einen \enquote{minimalinvasiven} Modus
		geschaltet, der nur die nötigsten Module lädt und so wenig
		Vorgaben macht wie möglich.
		
		Weitere Module können dann natürlich geladen werden.
	
	\subsubsection{Nutzung über die Dokumentenklassen}
		Die Nutzungsvariante mit den wenigsten Freiheiten ist die
		über eine der Dokumentenklassen. Anpassungen sind hier nur
		sehr eingeschränkt möglich und es werden sehr viele Vorgaben
		gemacht. Sie ist allerdings gleichzeitig die Variante, bei
		der man am wenigsten konfigurieren und eigene Einstellungen
		vornehmen muss. Siehe auch \prettyref{subsubsec:paketoptionen}.
		
\subsection{Kompilieren der Dokumente}
	Das Schulepaket ist für die Nutzung von \texttt{pdflatex} 
	optimiert und wurde nur damit getestet.  
	
	Aufgrund des komplexen Aufbaus kann es besonders bei der Nutzung 
	des Moduls \module{Aufgaben} notwendig sein, mindestens zwei
	Läufe von \texttt{pdflatex} durchzuführen. Dies liegt daran, das 
	eine Menge Zwischendateien mit Punkten und anderen Metadaten zu 
	den Aufgaben erstellt werden müssen und dann damit Berechnungen
	durchgeführt werden.
	
	Es kann deshalb passieren, dass nach der Änderung der Anzahl der 
	Aufgaben der erste Durchlauf mit sehr vielen Fehlern fehlschlägt.