Made this a proper documented package
[gpcfhw.git] / gpcfhw.dtx
1 \iffalse meta-comment
2 Copyright (C) hyear i by hyour namei
3 This file may be distributed and/or modified under the
4 conditions of the LaTeX Project Public License, either
5 version 1.3 of this license or (at your option) any later
6 version. The latest version of this license is in:
7 http://www.latex-project.org/lppl.txt
8 and version 1.3 or later is part of all distributions of
9 LaTeX version 2005/12/01 or later.
10 \fi
11 % \iffalse
12 %<class>\NeedsTeXFormat{LaTeX2e}
13 %<class>\ProvidesClass{gpcfhw}[2016/11/22 GPCF Macros]
14 %<class>\LoadClass{article}
15 %%<class>\RequirePackage{beton}
16 %%<class>\RequirePackage{eulervm}
17 %<class>\RequirePackage{amsmath}
18 %<class>\RequirePackage[utf8]{inputenc}
19 %<class>\RequirePackage[T1]{fontenc}
20 %<class>\RequirePackage[ngerman]{babel}
21 %<class>\RequirePackage{amsthm}
22 %<class>\RequirePackage[activate]{pdfcprot}
23 %<class>\RequirePackage[left=2.3cm, right=6.7cm, bottom=2cm]{geometry}
24 %<class>\RequirePackage{amssymb}
25 %<class>\RequirePackage{fancyhdr}
26 %<class>\RequirePackage{totcount}
27 %<class>\RequirePackage{tikz}
28 %<class>\RequirePackage{calc}
29 %<class>\RequirePackage{gpcfmac}
30
31
32 %<*driver>
33 \documentclass{ltxdoc}
34 \usepackage[ngerman]{babel}
35 \usepackage{gpcfmac}
36 \usepackage{pgffor}
37 \newcommand{\bigline}{\mbox{\vline height 0.45cm depth 1cm}}
38 \newcommand{\exctaable}{
39 \par\noindent\vspace{0.5cm}\bigline\foreach \n in {1, ..., 5} {%
40 \hfill\n\hfill\bigline%
41 } \hfill$\Sigma$\mbox{}\hfill\mbox{}\bigline\\%
42 \vspace{-2.4cm}\\\mbox{}\hrulefill\\\vspace{1cm}
43 \vspace{-1.2cm}\\\mbox{}\hrulefill\\
44 \vspace{-0.0cm}\\\mbox{}\hrulefill\\\vspace{1cm}
45 }
46 \EnableCrossrefs
47 \CodelineIndex
48 \RecordChanges
49 \begin{document}
50 \DocInput{gpcfhw.dtx}
51 \PrintIndex
52 \end{document}
53 %</driver>
54 % \fi
55 %
56 % \CheckSum{0}
57 %
58 % \CharacterTable
59 % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
60 % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
61 % Digits \0\1\2\3\4\5\6\7\8\9
62 % Exclamation \! Double quote \" Hash (number) \#
63 % Dollar \$ Percent \% Ampersand \&
64 % Acute accent \' Left paren \( Right paren \)
65 % Asterisk \* Plus \+ Comma \,
66 % Minus \- Point \. Solidus \/
67 % Colon \: Semicolon \; Less than \<
68 % Equals \= Greater than \> Question mark \?
69 % Commercial at \@ Left bracket \[ Backslash \\
70 % Right bracket \] Circumflex \^ Underscore \_
71 % Grave accent \` Left brace \{ Vertical bar \|
72 % Right brace \} Tilde \~}
73 %
74 % \changes{v1.0}{2016/11/22}{Erste Version}
75 %
76 % \GetFileInfo{gpcfhw.sty}
77 %
78 % \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ ,\newcommand}
79 % \title{\texttt{gpcfhw} -- Klasse für Mathematikhausaufgaben}
80 %
81 % \author{Gabriel Pérez-Cerezo \texttt{gabriel@gpcf.eu}}
82 % \maketitle
83 %
84 %\section{Nutzung}
85 %
86 %
87 %\subsection{Einrichtung des Dokuments}
88 %
89 %\DescribeMacro{\hanr}\marg{Nummer} \verb|\hanr| setzt die
90 %Hausaufgabennummer. Nutzung: \verb|\hanr|\marg{Nummer}.
91 %
92 %
93 %\DescribeMacro{\authors}\marg{Autor1}\marg{Autor2} Mit dem
94 %\verb|\authors|-Befehl werden die Autoren des Dokuments
95 %angegeben. \texttt{gpcfhw} ist derzeit darauf ausgelegt, dass jedes
96 %Dokument genau zwei Autoren besitzt. Beispiel:
97 %\begin{verbatim}
98 % \authors{Max Mustermann}{Slartibartfast}
99 %\end{verbatim}
100
101 %\DescribeMacro{\mats}\marg{Autor1}\marg{Autor2} Mit dem Befehl
102 %\verb|\mats| gibt man die Matrikelnummern der Autoren an. Zum
103 %Beispiel:
104 % \begin{verbatim}
105 % \mats{000123}{123954}
106 % \end{verbatim}
107 %
108 %\DescribeMacro{\maketitle} Wie sonst auch, generiert
109 % \verb|\maketitle| den Titel des Dokuments. Bei \texttt{gpcfhw} wird
110 % zusätzlich noch eine Tabelle eingetragen, die die Punktzahlen
111 % enthält. Sie sieht ungefähr so aus und enthält automatisch für jede
112 % Aufgabe ein eigenes Kästchen.
113 %
114 % \vspace{0.1cm}
115 % \exctaable
116 %
117 % \subsection{Macros im Dokument}
118 % \DescribeMacro{\aufgabe}\DescribeMacro{\bonusaufgabe} Mit dem Macro
119 % \verb|\aufgabe| signalisiert man, dass man die nächste Aufgabe
120 % beginnen möchte. Analog existiert \verb|\bonusaufgabe|, damit
121 % markiert man, dass man eine Zusatzaufgabe beginnen möchte.
122 % \section{Quellcode}
123 % \subsection{Ästhetische Aspekte}
124 % \subsubsection{Setzen der Kopfzeile}
125 % \begin{macrocode}
126 \pagestyle{fancy}
127 \renewcommand{\headrulewidth}{0.1pt}
128 \lhead{\authori}
129 \rhead{\authork}
130 \chead{\thehanr. Hausaufgabe}
131 % \end{macrocode}
132 %\subsubsection{Umdefinitionen}
133 %Nun werden die Pfeilsymbole aus Ästhetischen Gründen umdefiniert,
134 %sowie das Epsilon.
135 %\begin{macrocode}
136 \let\implies\Rightarrow
137 \let\iff\Leftrightarrow
138 \renewcommand{\epsilon}{\varepsilon}
139 %
140 \displaywidowpenalty=1000
141
142 \date{}
143 \newtheorem{thm}{Satz}
144 \newtheorem{lem}{Lemma}
145 \newtotcounter{exc} % Counter that is incremented with every solution.
146 \newcommand{\thehanr}{}
147 \newcommand{\authori}{}
148 \newcommand{\authork}{}
149 \newcommand{\mati}{}
150 \newcommand{\matk}{}
151 \newcommand{\thetutorium}{}
152 \newcommand{\hanr}[1]{\renewcommand{\thehanr}{#1}
153 \title{\thehanr. Hausaufgabe}}
154 \newcommand{\theex}{\thehanr.\arabic{exc}}
155 \renewcommand{\theequation}{\fnsymbol{equation}}
156 \newcommand{\aufgabe}{\stepcounter{exc}\section*{Aufgabe \theex}}
157 \newcommand{\bonusaufgabe}{\stepcounter{exc}\section*{Bonusaufgabe \theex}}
158 \newcommand{\authors}[2]{\renewcommand{\authori}{#1}\renewcommand{\authork}{#2}}
159 \newcommand{\mats}[2]{\renewcommand{\mati}{#1}\renewcommand{\matk}{#2}}
160 \newcommand{\tutorium}[1]{\renewcommand{\thetutorium}{#1}}
161 \newcounter{k}
162 \newtheorem{bem}{Bemerkung}
163 \renewcommand*\descriptionlabel[1]{\hspace\labelsep
164 \normalfont\it #1}
165 \newcommand{\bigline}{\mbox{\vline height 0.4cm depth 1cm}}
166
167 \newcommand{\exctaable}{
168 \par\noindent\vspace{0.5cm}\bigline\foreach \n in {1, ..., \totvalue{exc}} {%
169 \hfill\n\hfill\bigline%
170 } \hfill$\Sigma$\mbox{}\hfill\mbox{}\bigline\\%
171 \vspace{-2.4cm}\\\mbox{}\hrulefill\\\vspace{1cm}
172 \vspace{-1.2cm}\\\mbox{}\hrulefill\\
173 \vspace{-0.0cm}\\\mbox{}\hrulefill\\\vspace{1cm}
174 }
175
176 \renewcommand{\bfseries}{\rm}
177 \newcommand{\exct@ble}{
178 \par\noindent\vspace{0.5cm}\bigline\foreach \n in {1, ..., \totvalue{exc}} {%
179 \hfill\n\hfill\bigline%
180 } \hfill$\Sigma$\mbox{}\hfill\mbox{}\bigline\\%
181 \vspace{-2.4cm}\\\mbox{}\hrulefill\\\vspace{1cm}
182 \vspace{-1.3cm}\\\mbox{}\hrulefill\\
183 \vspace{-0.1cm}\\\mbox{}\hrulefill\\\vspace{1cm}
184 }
185 \renewcommand{\exct@ble}{\exctaable}
186 \newcommand{\exctable}{}
187 \renewcommand{\maketitle}{
188 \newpage
189 \thispagestyle{plain}
190 \vspace{-2cm}
191 {\centering \Large \bf \@title \par}
192 \noindent\authori \hfill \mati \\
193 \noindent\authork \hfill \matk \\
194 \noindent Tutorium: \hfill \thetutorium
195 \vspace{1cm}
196 \exct@ble}
197
198 % \end{macrocode}
199 % \endinput
200 % Local Variables:
201 % mode: doctex
202 % TeX-master: t
203 % End: