Commit 22f37688 authored by Adrian C. Hinrichs's avatar Adrian C. Hinrichs
Browse files

Merge branch 'dev' into 'master'

Nikolaus Release

Closes #14, #17, #16, #18, #21, #23, #25, #26, #20, #22, and #24

See merge request !20
parents 3b378f93 aedceadb
Stop Nerds Public License License
Stop Nerds Public License
Copyright (c) 2018 Adrian C. Hinrichs
......
# LaTeX-Templates
#+TITLE: LaTeX-Templates
In this repository I collect LaTeX templates, styles and classes I develop
or use frequently. If I am not the author, this will be noted.
## Installation
### Classes and Styles
#### Release
##### From source
If the class is not uploaded to CTAN (I am planning to upload all, but
Iam lazy), clone the repository into a directory searched by
LaTeX. (Using TexLive under Linux this directory could be
`~/texmf/tex/latex`, using MikTech under Windows, this is
configurable) and index them (TexLive+Linux `$ texhash`,
* Installation
** Classes and Styles
*** From source (recomended)
If the class is not uploaded to CTAN (I want to upload and updatese
them all to CTAN, but I it may take some time), clone the repository
into a directory searched by LaTeX. (Using TexLive under Linux this
directory could be `~/texmf/tex/latex`, using MikTech under Windows,
this is configurable) and index them (TexLive+Linux `$ texhash`,
MikTech+Windows Refresh teh osurces via the MikTech-Settings as
Admin).
##### From CTAN
If I uploaded the class to CTAN, install them like any other class or package.
#### Development versions
I am not always updating the .cls-files when developing new features,
**** Special notes on developtment versions:
I am not always updating the =.cls=-files when developing new features,
so when you want to use developtment-versions (why would you want to do
that?) Proceed as above when installing from source, but after you
checked out th branch `dev` for the class you want to use, run LaTeX (not
pdflatex) on the `.ins`-File. This will generate a new `.sty` or
`.cls` file. Then just proceed as above.
#### Generate Documentation
checked out th branch =dev= for the class you want to use, run LaTeX (not
pdflatex) on the =.ins=-File. This will generate a new =.sty= or
=.cls= file. Then just proceed as above.
**** Generate Documentation
If the documentation in this repository does not correspond to the latest
version of the corresponding package or class, just run (pdf)LaTeX on
the `.dtx`file.
## homeworkassignment
This class provides a relatively simple document–type for homework, mainly created
for assignments at the University during my studies in Computer
Science.
the =.dtx=-file.
* homeworkassignment (LaTeX)
This class provides a relatively simple document–type for homework,
mainly created for assignments at the University during my studies in
Computer Science.
It features an easy to use sectioning, frequently used packages and
configurations and macros fo mathematical functions and operators,
which I need often.
## cheatsheet
I found out, that the sourcecode of Cheat-Sheets in LaTeX is always a
* cheatsheet (LaTeX)
I figured that the sourcecode of Cheat-Sheets in LaTeX is always a
hughe pile of badly documented code, which is basically identical for
all CheatSheets, so I bundeled it in a class. Just load
`\documentclass{cheatsheet}` and you are ready to go.
=\documentclass{cheatsheet}= and you are ready to go.
Available on CTAN
* beamer themes =projektion= and =polynom= (XeLaTeX)
Clean, simple and modern 16:9 (yes, that is possible) (Xe)LaTeX
beamer themes.
They are developed to match PowerPoint-Templates by Alexander
Bartolomey Git[[https://git.rwth-aachen.de/occloxium][Lab]] / [[https://github.com/Occloxium][Hub]].
......@@ -36,8 +36,8 @@
%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
%% SOFTWARE.
\def\fileversion{v3.0}
\def\filedate{2017/12/26}
\def\fileversion{v3.2}
\def\filedate{2018/12/06}
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesClass{homeworkassignment}[\filedate\space\fileversion]
\RequirePackage{suffix}
......@@ -50,8 +50,12 @@
\RequirePackage{etoolbox}
\RequirePackage{array}
\RequirePackage{xparse}
\RequirePackage{gillius2}
\RequirePackage{ifxetex}
\RequirePackage{wasysym}
\RequirePackage{adjustbox}
\RequirePackage{eso-pic}
\RequirePackage{kvoptions}
\SetupKeyvalOptions{ family=hwa,
prefix=hwa@ }
......@@ -65,7 +69,13 @@
\DeclareComplementaryOption{oneside}{twoside}
\DeclareBoolOption[true]{twocolumn}
\DeclareComplementaryOption{onecolumn}{twocolumn}
\DeclareBoolOption[false]{punchmark}
\DeclareStringOption[all]{hlines}
\ifxetex
\DeclareBoolOption[true]{unicodemath}
\else
\DeclareBoolOption[false]{unicodemath}
\fi
\ProcessKeyvalOptions*
\ifhwa@twoside
\PassOptionsToClass{twoside}{article}
......@@ -180,6 +190,13 @@
\pagestyle{followingpage}
\renewcommand{\theequation}{\Roman{equation}}
\allowdisplaybreaks
\ifthenelse{\boolean{xetex}}{
\RequirePackage{fontspec}
\setsansfont{Gillius ADF}
}{
\RequirePackage{gillius2}
}
\newcommand{\hwa@pointboxsize}{3em}
\newcommand{\hwa@kurs}{?\GetTranslation{subject}?} % To store the value
\newcommand{\subject}[1]{\renewcommand{\hwa@kurs}{#1}}
......@@ -247,6 +264,8 @@
}
\newcommand{\solution}[1][]{\keyword{\GetTranslation{loesung}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\toShow}[1][]{\keyword{\GetTranslation{zuZeigen}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\toDisprove}[1][]{
\keyword{\GetTranslation{zuWiderlegen}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\given}[1][]{\keyword{\GetTranslation{gegeben}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\assumption}[1][]{\keyword{\GetTranslation{Annahme}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\supposeThat}[1][]{\keyword{\GetTranslation{Angenommen-dass}\ifstrempty{#1}{}{~#1}}}
......@@ -255,14 +274,17 @@
\newcounter{subsubproblem}[subproblem] \setcounter{subsubproblem}{0}
\DeclareDocumentCommand\newproblem{O{} g}{
\stepcounter{problem}% to reset the lower counters
\ifthenelse{\equal{#1}{}}{
% empty
}{
\setcounter{problem}{#1}
}
\IfNoValueTF{#2}{
\newproblem*[#1]
\problem{\GetTranslation{aufgabe} \hwa@problemno}
\addToGradingTable{\# \hwa@problemno}
}{
\IfNoValueF{#1}{
\stepcounter{problem}% to reset the lower counters
\setcounter{problem}{#1}
}
\problem{\GetTranslation{aufgabe} \hwa@problemno}[#2]
\addToGradingTable{\# \hwa@problemno}{/#2}
}
......@@ -300,10 +322,19 @@
}
}
\newcommand{\QED}{\begin{flushright}
\newcommand{\hwa@QED}{\begin{flushright}
\textsc{Qed}
\end{flushright}
}
\newcommand{\QED}{\hwa@QED}
\ifhwa@unicodemath
\RequirePackage{unicode-math}
\AtBeginDocument{\let\QEDSymbol\QED
\renewcommand{\QED}{\hwa@QED}
}
\fi
\newcommand{\EOP}{\begin{flushright}
\(\square\)
\end{flushright}
......@@ -335,6 +366,9 @@
\DeclareMathOperator{\Sol}{Sol}
\DeclareMathOperator{\Bin}{Bin}
\DeclareMathOperator{\charakteristik}{char}
\DeclareMathOperator{\fo}{fo}
\DeclareMathOperator{\first}{fi}
\DeclareMathOperator{\la}{la}
\newcommand{\diff}[1]{\ensuremath{\frac{d}{d#1}}}
\newcommand{\partdiff}[1]{\ensuremath{\frac{\partial}{\partial#1}}}
......@@ -371,10 +405,12 @@
\begin{table}[hb]
\centering
\large
\expandafter\tabular\expandafter{\hwa@gradingtbl@defs ||p{\hwa@pointboxsize}|}\hline
\hwa@gradingtbl@lineOne $\Sigma$ \\\hline\small
\hwa@gradingtbl@lineTwo \IfNoValueTF{#1}{~}{\vfill\hfill/#1}\vspace{.15cm}\\\hline
\endtabular
\begin{adjustbox}{max width=\linewidth}
\expandafter\tabular\expandafter{\hwa@gradingtbl@defs ||p{\hwa@pointboxsize}|}\hline
\hwa@gradingtbl@lineOne \(\Sigma\) \\\hline\small
\hwa@gradingtbl@lineTwo \IfNoValueTF{#1}{~}{\vfill\hfill/#1}\vspace{.15cm}\\\hline
\endtabular
\end{adjustbox}
\end{table}
}
\edef\hwa@gradingtbl@aux@defs{}
......@@ -415,6 +451,21 @@
\hwa@hline@LTWO \normalsize
\end{centering}
}
\ifthenelse{\boolean{hwa@punchmark}}{
\newcommand{\hwa@punchmarkRad}{3mm}
\newcommand{\hwa@punchmarkDistanceX}{12mm}
\newcommand{\hwa@punchmarkDistanceY}{40mm}
\AtBeginDocument{
% Where will the punch be?
\AddToShipoutPictureBG*{\AtPageUpperLeft{
\put(\LenToUnit{\hwa@punchmarkDistanceX-\hwa@punchmarkRad*2},\LenToUnit{-.5\paperheight-\hwa@punchmarkDistanceY-\hwa@punchmarkRad}){\tikz{\draw (0,0) circle (\hwa@punchmarkRad);}}
\put(\LenToUnit{\hwa@punchmarkDistanceX-\hwa@punchmarkRad*2},\LenToUnit{-.5\paperheight+\hwa@punchmarkDistanceY-\hwa@punchmarkRad}){\tikz{\draw (0,0) circle (\hwa@punchmarkRad);}}}}
% Punch-Positioningmark
\AddToShipoutPictureBG*{\AtPageUpperLeft{
\put(\LenToUnit{5mm},\LenToUnit{-.5\paperheight}){\tikz{\draw (0,0) -- (5mm,0);}}}}
}
}{
}
\newcommand{\hwa@problemno}{\arabic{problem}}
\newcommand{\hwa@subproblemno}{\alph{subproblem}}
\newcommand{\hwa@subsubproblemno}{\roman{subsubproblem}}
......@@ -451,6 +502,7 @@
\DeclareTranslationFallback{uebungsgruppe}{\"Ubungsgruppe}
\DeclareTranslationFallback{abgabe}{Abgabe}
\DeclareTranslationFallback{zuZeigen}{Zu zeigen}
\DeclareTranslationFallback{zuWiderlegen}{Zu widerlegen}
\DeclareTranslationFallback{gegeben}{Gegeben}
\DeclareTranslationFallback{falls}{falls}
\DeclareTranslationFallback{Annahme}{Annahme}
......@@ -464,6 +516,7 @@
\DeclareTranslation{German}{uebungsgruppe}{\"Ubungsgruppe}
\DeclareTranslation{German}{abgabe}{Abgabe}
\DeclareTranslation{German}{zuZeigen}{Zu zeigen}
\DeclareTranslation{German}{zuWiderlegen}{Zu widerlegen}
\DeclareTranslation{German}{gegeben}{Gegeben}
\DeclareTranslation{German}{falls}{falls}
\DeclareTranslation{German}{Falls}{Falls}
......@@ -478,6 +531,7 @@
\DeclareTranslation{English}{uebungsgruppe}{Tutorial}
\DeclareTranslation{English}{abgabe}{Deadline}
\DeclareTranslation{English}{zuZeigen}{To show}
\DeclareTranslation{English}{zuWiderlegen}{To disprove}
\DeclareTranslation{English}{gegeben}{Given}
\DeclareTranslation{English}{falls}{if}
\DeclareTranslation{English}{Falls}{If}
......
% \iffalse meta-comment
%
% Copyright (c) 2016 by Adrian C. Hinrichs
%
% This File may be distributed and/or modified under the condition of the below
% license.
%
......@@ -9,8 +7,7 @@
% MIT License
%
%
%
% Copyright (c) 2017
% Copyright (c) 2016-2018 by Adrian C. Hinrichs
%
%
%
......@@ -32,8 +29,8 @@
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
% SOFTWARE.
% \fi
\def\fileversion{v3.0}
\def\filedate{2017/12/26}
\def\fileversion{v3.2}
\def\filedate{2018/12/06}
% \iffalse
%<*driver>
\ProvidesFile{homeworkassignment.dtx}
......@@ -45,6 +42,10 @@
\EnableCrossrefs
\CodelineIndex
\RecordChanges
% ATTENTION, DO NOT USE THIS SECTION FOR INCLUSION OF PACKAGES TO THE
% *CLASS*, THIS PLACE IS WHERE PACKAGES FOR THE *DOCUMENTATION* ARE LOADES
\usepackage[ngerman,english]{babel}
\usepackage[autostyle,german=guillemets]{csquotes}
\usepackage{hyperref}
......@@ -55,6 +56,7 @@
\usepackage{todonotes}
\usepackage[T1]{fontenc}
\usepackage{framed}
\DeclareMathOperator{\GL}{GL}
\DeclareMathOperator{\id}{id}
\DeclareMathOperator{\Var}{Var}
......@@ -70,6 +72,9 @@
\DeclareMathOperator{\Sol}{Sol}
\DeclareMathOperator{\Bin}{Bin}
\DeclareMathOperator{\charakteristik}{char}
\DeclareMathOperator{\fo}{fo}
\DeclareMathOperator{\first}{fi}
\DeclareMathOperator{\la}{la}
\begin{document}
\DocInput{homeworkassignment.dtx}
......@@ -182,8 +187,12 @@
\RequirePackage{etoolbox}
\RequirePackage{array}
\RequirePackage{xparse}
\RequirePackage{gillius2}
\RequirePackage{ifxetex}
\RequirePackage{wasysym}
\RequirePackage{adjustbox}
\RequirePackage{eso-pic}
% \end{macrocode}
% \section{Options\label{sec:Options}}
% KV-Options is essential for this.
......@@ -237,6 +246,12 @@
\DeclareBoolOption[true]{twocolumn}
\DeclareComplementaryOption{onecolumn}{twocolumn}
% \end{macrocode}
% \DescribeMacro{punchmark}
% Adds a mark for an hole puncher.
% Standard Layout has no marking.
% \begin{macrocode}
\DeclareBoolOption[false]{punchmark}
% \end{macrocode}
% \DescribeMacro{hlines=<1>}
% KeyValue-option. Takes the level of hlines. Available are
% \texttt{all},\texttt{decreased},\texttt{header}, \texttt{none}, with
......@@ -246,6 +261,36 @@
% \begin{macrocode}
\DeclareStringOption[all]{hlines}
% \end{macrocode}
% \DescribeMacro{unicode-math} Loads the unicode--math--package and
% overwrites the damn \texttt{\textbackslash QED}--Command unicode--math
% introduces, that creates a filled out box and only works in
% math--mode, but not telling you that it only works in math--mode or
% overwrites an already existing command. For a reason, that
% currently (06\textsuperscript{th} of December 2018) slips my mind
% completly, \texttt{unicode-math} needs to be loaded after
% \texttt{article}, because it needs \texttt{\normalsize} to be
% defined\\
% \begin{framed}
% \textsf{ATTENTION: Please do never, never, never, never, never
% ever load unicode-math your self, because this breaks
% \textbf{everything}\footnote{not eveything, but at least \texttt{\textbackslash{}QED}}}
% \end{framed}
%
% \texttt{\textbackslash{}end\{rant\}}\\
%
% If XeTeX is used, the default option for this is
% \texttt{true}, otherwise it is false.
%
%
% For the handling of the option, see \ref{QED}
% \begin{macrocode}
\ifxetex
\DeclareBoolOption[true]{unicodemath}
\else
\DeclareBoolOption[false]{unicodemath}
\fi
% \end{macrocode}
%
% Loads article and processes the options
% \begin{macrocode}
\ProcessKeyvalOptions*
......@@ -347,9 +392,9 @@
headsep=14pt,hmarginratio={4:3}}
\fi
% \end{macrocode}
% \section{Page-Layout}
% \section{Layout}
% Initially, the homeworkassignment had a verry \emph{special}
% appereance, which became much mor customizable with version 3.0, see
% appereance, which became much more customizable with version 3.0, see
% \ref{sec:OPTIONS} if you want to know how.
% \subsection{Headers \& Footers}
% Sets the page-headers.\\
......@@ -416,6 +461,20 @@
\allowdisplaybreaks
% \end{macrocode}
% \end{macro}
% \subsection{fonts}
% I fancy the Gillius-Font-Family, so that is the default Sans-Serif
% font, when using XeTeX, The template does default to
% \href{https://www.1001fonts.com/gillius-adf-font.html}{Gillius ADF},
% which is available for free, licensed under the GNU License.
% \begin{macrocode}
\ifthenelse{\boolean{xetex}}{
\RequirePackage{fontspec}
\setsansfont{Gillius ADF}
}{
\RequirePackage{gillius2}
}
% \end{macrocode}
% \section{Commands}
% \subsection{Constants}
% Defines some constants
......@@ -546,6 +605,7 @@
%
% \DescribeMacro{\solution} \DescribeMacro{\proof}
% \DescribeMacro{\given} \DescribeMacro{\toShow}
% \DescribeMacro{\toDisprove}
% \DescribeMacro{\assumption} \DescribeMacro{\supposeThat} They work like
% |\keyword|, but take only an optional Argument print out
% \enquote{Solution}, \enquote{Proof} \enquote{Given}, \enquote{To
......@@ -558,6 +618,8 @@
% \begin{macrocode}
\newcommand{\solution}[1][]{\keyword{\GetTranslation{loesung}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\toShow}[1][]{\keyword{\GetTranslation{zuZeigen}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\toDisprove}[1][]{
\keyword{\GetTranslation{zuWiderlegen}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\given}[1][]{\keyword{\GetTranslation{gegeben}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\assumption}[1][]{\keyword{\GetTranslation{Annahme}\ifstrempty{#1}{}{~#1}:}}
\newcommand{\supposeThat}[1][]{\keyword{\GetTranslation{Angenommen-dass}\ifstrempty{#1}{}{~#1}}}
......@@ -592,14 +654,17 @@
% \end{macrocode}
% \begin{macrocode}
\DeclareDocumentCommand\newproblem{O{} g}{
\stepcounter{problem}% to reset the lower counters
\ifthenelse{\equal{#1}{}}{
% empty
}{
\setcounter{problem}{#1}
}
\IfNoValueTF{#2}{
\newproblem*[#1]
\problem{\GetTranslation{aufgabe} \hwa@problemno}
\addToGradingTable{\# \hwa@problemno}
}{
\IfNoValueF{#1}{
\stepcounter{problem}% to reset the lower counters
\setcounter{problem}{#1}
}
\problem{\GetTranslation{aufgabe} \hwa@problemno}[#2]
\addToGradingTable{\# \hwa@problemno}{/#2}
}
......@@ -640,16 +705,26 @@
% \end{macrocode}
% \end{macro}
% \subsection{Useful Macros}
% \subsubsection{\textsc{Quod Erat Demunstarndum}, End of Proof}
% \subsubsection{\textsc{Quod Erat Demunstrandum}, End of Proof}
% \label{QED}
% \begin{macro}{\QED}~\\ \DescribeMacro{\EOP} \DescribeMacro{\eop}
% Display a flushed-right \textit{QED}, \(\square\), or \(\blacksquare\),
% respectively. |\qed| is not implemented, to keep compatibility to
% several Math-packages, which define the later.
% \begin{macrocode}
\newcommand{\QED}{\begin{flushright}
\newcommand{\hwa@QED}{\begin{flushright}
\textsc{Qed}
\end{flushright}
}
\newcommand{\QED}{\hwa@QED}
\ifhwa@unicodemath
\RequirePackage{unicode-math}
\AtBeginDocument{\let\QEDSymbol\QED
\renewcommand{\QED}{\hwa@QED}
}
\fi
\newcommand{\EOP}{\begin{flushright}
\(\square\)
\end{flushright}
......@@ -673,7 +748,6 @@
\newcommand{\qned}{\hfill\(\triangle\)}
% \end{macrocode}
% \end{macro}
%
% \subsubsection{Stolen Goods}
% \label{ALLES_NUR_GEKLAUT_EO-EO}
% \begin{center}
......@@ -745,6 +819,9 @@
% \DescribeMacro{\Sol}
% \DescribeMacro{\Bin}
% \DescribeMacro{\charakteristik}
% \DescribeMacro{\fo}
% \DescribeMacro{\first}
% \DescribeMacro{\la}
% \newcommand{\diff}[1]{\ensuremath{\frac{d}{d#1}}}
% \DescribeMacro{\diff}
% \newcommand{\partdiff}[1]{\ensuremath{\frac{\partial}{\partial#1}}}
......@@ -786,6 +863,9 @@
% |\divides| and |property| & Prints a vertical line\\
% |\dx|&$\dx$\\
% |\excup|&$\excup$\\
% |\fo|&\(\fo\)\\
% |\first|&\(\first\)\\
% |\la|&\(\la\)\\
% \caption{Common Functions}
% \label{tab:functions}
% \end{longtable}
......@@ -807,6 +887,9 @@
\DeclareMathOperator{\Sol}{Sol}
\DeclareMathOperator{\Bin}{Bin}
\DeclareMathOperator{\charakteristik}{char}
\DeclareMathOperator{\fo}{fo}
\DeclareMathOperator{\first}{fi}
\DeclareMathOperator{\la}{la}
\newcommand{\diff}[1]{\ensuremath{\frac{d}{d#1}}}
\newcommand{\partdiff}[1]{\ensuremath{\frac{\partial}{\partial#1}}}
......@@ -881,9 +964,10 @@
% Outputs a table to fill in the reached Points. Only shows Problems
% created by \texttt{\textbackslash{}newproblem}. \\Displays the
% according number of maximum points for each problem, if
% specified.\\Displayes the total number of maximum Problems, if
% specified.\\Displays the total number of maximum Problems, if
% given by Argument Like |\tableofcontent|, it needs a second run of
% \LaTeX, until all are added.\\
% It will never overflow the Line-Width, thanks to an |adjustbox|.
% \texttt{[\#1]}: \emph{Optional.} The total number of points
% reachable.
% \begin{macrocode}
......@@ -891,10 +975,12 @@
\begin{table}[hb]
\centering
\large
\expandafter\tabular\expandafter{\hwa@gradingtbl@defs ||p{\hwa@pointboxsize}|}\hline
\hwa@gradingtbl@lineOne $\Sigma$ \\\hline\small
\hwa@gradingtbl@lineTwo \IfNoValueTF{#1}{~}{\vfill\hfill/#1}\vspace{.15cm}\\\hline
\endtabular
\begin{adjustbox}{max width=\linewidth}
\expandafter\tabular\expandafter{\hwa@gradingtbl@defs ||p{\hwa@pointboxsize}|}\hline
\hwa@gradingtbl@lineOne \(\Sigma\) \\\hline\small
\hwa@gradingtbl@lineTwo \IfNoValueTF{#1}{~}{\vfill\hfill/#1}\vspace{.15cm}\\\hline
\endtabular
\end{adjustbox}
\end{table}
}
% \end{macrocode}
......@@ -962,6 +1048,21 @@
\hwa@hline@LTWO \normalsize
\end{centering}
}
\ifthenelse{\boolean{hwa@punchmark}}{
\newcommand{\hwa@punchmarkRad}{3mm}
\newcommand{\hwa@punchmarkDistanceX}{12mm}
\newcommand{\hwa@punchmarkDistanceY}{40mm}
\AtBeginDocument{
% Where will the punch be?
\AddToShipoutPictureBG*{\AtPageUpperLeft{
\put(\LenToUnit{\hwa@punchmarkDistanceX-\hwa@punchmarkRad*2},\LenToUnit{-.5\paperheight-\hwa@punchmarkDistanceY-\hwa@punchmarkRad}){\tikz{\draw (0,0) circle (\hwa@punchmarkRad);}}
\put(\LenToUnit{\hwa@punchmarkDistanceX-\hwa@punchmarkRad*2},\LenToUnit{-.5\paperheight+\hwa@punchmarkDistanceY-\hwa@punchmarkRad}){\tikz{\draw (0,0) circle (\hwa@punchmarkRad);}}}}
% Punch-Positioningmark
\AddToShipoutPictureBG*{\AtPageUpperLeft{
\put(\LenToUnit{5mm},\LenToUnit{-.5\paperheight}){\tikz{\draw (0,0) -- (5mm,0);}}}}
}
}{
}
% \end{macrocode}
% \end{macro}
% \subsection{Counters}
......@@ -1119,7 +1220,15 @@
% \item Fix Subproblem-Counter not beeing reset
% \item Merry Christmas!
% \end{itemize}
%
% \item[v3.2 - 2018/12/06] Nikolaus Release
% \begin{itemize}
% \item Make XeLaTex-Compatible
% \item Fix |\newproblem| requiring a Problem-Number
% \item Add |\toDisprove| macro similar to the |\toShow| macro
% \item Add option for punchmarks
% \item Add option to load unicode-math and work around a incompability
% \end{itemize}
%
% \end{description}
% \subsection{Version--Scheme}Since Version 2.0 the following version--scheme
% applies:
......@@ -1160,6 +1269,7 @@
\DeclareTranslationFallback{uebungsgruppe}{\"Ubungsgruppe}
\DeclareTranslationFallback{abgabe}{Abgabe}
\DeclareTranslationFallback{zuZeigen}{Zu zeigen}
\DeclareTranslationFallback{zuWiderlegen}{Zu widerlegen}
\DeclareTranslationFallback{gegeben}{Gegeben}
\DeclareTranslationFallback{falls}{falls}
\DeclareTranslationFallback{Annahme}{Annahme}
......@@ -1173,6 +1283,7 @@
\DeclareTranslation{German}{uebungsgruppe}{\"Ubungsgruppe}
\DeclareTranslation{German}{abgabe}{Abgabe}
\DeclareTranslation{German}{zuZeigen}{Zu zeigen}
\DeclareTranslation{German}{zuWiderlegen}{Zu widerlegen}
\DeclareTranslation{German}{gegeben}{Gegeben}
\DeclareTranslation{German}{falls}{falls}
\DeclareTranslation{German}{Falls}{Falls}
......@@ -1187,6 +1298,7 @@
\DeclareTranslation{English}{uebungsgruppe}{Tutorial}
\DeclareTranslation{English}{abgabe}{Deadline}
\DeclareTranslation{English}{zuZeigen}{To show}
\DeclareTranslation{English}{zuWiderlegen}{To disprove}
\DeclareTranslation{English}{gegeben}{Given}
\DeclareTranslation{English}{falls}{if}
\DeclareTranslation{English}{Falls}{If}
......
\documentclass[twoside]{HomeworkAssignment}
\usepackage{lipsum}
\author{Adrian C. Hinrichs Matr. 74656}
\tutorium{\"Ubungsgruppe 42}
\kurs{Analysis f\"ur Informatiker}
\date{\today}
\begin{document}
\maketitle
\newproblem
\newsubproblem
\lipsum[1]
\newsubproblem
\lipsum[2]
\lipsum[3]
\solution
\lipsum[4]
\solution[i]
\lipsum[5]
\subproblem{Schlussfolgerung}
\newsubsubproblem
\lipsum[1]
\newsubsubproblem
\lipsum[2]
\newproblem
\lipsum[4]
\proof
\lipsum[5]
\problem{Bonusaufgabe}
\lipsum[6]
\proof[durch vollst\"andige Induktion]
\lipsum[7]
\end{document}