Erste Version Vorlagen zur Erstellung von Vorträgen mit LaTeX
This commit is contained in:
commit
622c1c0fd7
19
.gitignore
vendored
Executable file
19
.gitignore
vendored
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
*.*~
|
||||||
|
*.SET
|
||||||
|
*.ods#
|
||||||
|
*.aux
|
||||||
|
*.bbl
|
||||||
|
*.blg
|
||||||
|
*.dvi
|
||||||
|
*.glo
|
||||||
|
*.gls
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
*.lof
|
||||||
|
*.log
|
||||||
|
*.swp
|
||||||
|
*.toc
|
||||||
|
*.tps
|
||||||
|
*.rtf
|
||||||
|
*.tex.backup
|
||||||
|
*.pdf
|
BIN
Myriad.sty
Normal file
BIN
Myriad.sty
Normal file
Binary file not shown.
264
ahilbig-comics.sty
Normal file
264
ahilbig-comics.sty
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
% -*- coding: utf-8; -*-
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: ahilbig-comics.sty |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
|
||||||
|
\ProvidesPackage{ahilbig-comics}
|
||||||
|
|
||||||
|
\@ifclassloaded{beamer}{}{\RequirePackage{beamerarticle}}
|
||||||
|
|
||||||
|
\RequirePackage{emerald}
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
|
||||||
|
\usetikzlibrary{calc,matrix}
|
||||||
|
|
||||||
|
\pgfkeys{/comics/.cd,
|
||||||
|
professor says/.code=\ddiprofessorsays{#1},
|
||||||
|
professor thinks/.code=\ddiprofessorthinks{#1},
|
||||||
|
student says/.code=\ddistudentsays{#1},
|
||||||
|
student thinks/.code=\ddistudentthinks{#1},
|
||||||
|
bingo/.code={\alt<article>{\ddibingo#1}{\def\ddibingonow{\ddibingo#1}}},
|
||||||
|
done/.code=\ddicomicdone,
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\ddicomicpicture[#1]{
|
||||||
|
\begin{tikzpicture}[baseline={([yshift=1.2cm]people)},inner sep=0pt,outer sep=0pt]
|
||||||
|
\coordinate (last) at (0,0);
|
||||||
|
\coordinate (last professor) at (0,0);
|
||||||
|
\coordinate (last student) at (0,0);
|
||||||
|
\ddicomicspokendonefalse
|
||||||
|
\def\ddibingonow{}
|
||||||
|
\pgfkeys{/comics/.cd,#1,done}
|
||||||
|
\end{tikzpicture}
|
||||||
|
}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<article>
|
||||||
|
|
||||||
|
\def\ddicomic[#1]{
|
||||||
|
{%
|
||||||
|
\setlength{\marginparsep}{.65cm}%
|
||||||
|
\setlength{\marginparwidth}{4.1cm}%
|
||||||
|
\marginpar{%
|
||||||
|
\ddicomicpicture[#1]
|
||||||
|
}%
|
||||||
|
}\refstepcounter{framenumber}%
|
||||||
|
\ignorespaces%
|
||||||
|
}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<presentation>
|
||||||
|
|
||||||
|
\def\ddicomic[#1]{
|
||||||
|
\begin{frame}
|
||||||
|
\begin{center}
|
||||||
|
\ddicomicpicture[#1]
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
||||||
|
\newif\ifddicomicspokendone
|
||||||
|
\newif\ifddicomicspokenprofessor
|
||||||
|
\newif\ifddicomicspokenstudent
|
||||||
|
\newif\ifddicomicthoughtprofessor
|
||||||
|
\newif\ifddicomicthoughtstudent
|
||||||
|
|
||||||
|
\def\ddicomicdone{
|
||||||
|
\ifddicomicspokendone\else\ddicomicpeople\fi
|
||||||
|
|
||||||
|
\ifddicomicthoughtprofessor
|
||||||
|
\draw[overlay,black!50]
|
||||||
|
{
|
||||||
|
[shift=(people),xshift=.3cm,yshift=.5cm]
|
||||||
|
\foreach \angle/\radius in {0/1,20/1.2,40/1.4,60/1.6,80/1.7}
|
||||||
|
{ (90+\angle:.5cm) circle[radius=\radius*1pt] }
|
||||||
|
let \p1 = ($ (people) - (professor thinks) + (0,10pt) $)
|
||||||
|
in \foreach \pos in {3,8,...,\y1} { (-.5cm,-\pos pt) circle
|
||||||
|
[radius=1.7pt] \pgfextra{\global\let\lastpos\pos} }
|
||||||
|
(-.5cm+3pt,-\lastpos pt-4pt) circle [radius=1.7pt]
|
||||||
|
};
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\ifddicomicthoughtstudent
|
||||||
|
\draw[overlay,black!50]
|
||||||
|
{
|
||||||
|
[shift=(people),xshift=3.9cm,yshift=.6cm]
|
||||||
|
\foreach \angle/\radius in {10/1.2,40/1.4,80/1.7}
|
||||||
|
{ (90-\angle:.3cm) circle[radius=\radius*1pt] }
|
||||||
|
let \p1 = ($ (people) - (student thinks) + (0,10pt) $)
|
||||||
|
in \foreach \pos in {3,8,...,\y1} { (.3cm,-\pos pt) circle
|
||||||
|
[radius=1.7pt] \pgfextra{\global\let\lastpos\pos} }
|
||||||
|
(.3cm-3pt,-\lastpos pt-4pt) circle [radius=1.7pt]
|
||||||
|
};
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\def\ddibingo#1#2#3#4#5#6#7#8#9{%
|
||||||
|
\alt<presentation>{\tikzset{where/.style={matrix anchor=south east,at={(-20pt,10pt)}}}}{\tikzset{where/.style={matrix anchor=north west,at=(last)}}}
|
||||||
|
\matrix [where,anchor=center] (last bingo)
|
||||||
|
[text width=1.1cm,align=center,matrix of nodes, inner sep=2pt,
|
||||||
|
nodes={fill=black!10, anchor=center, minimum height=1.2cm, minimum width=1.2cm}, column sep=1mm, row sep=1mm,
|
||||||
|
execute at begin
|
||||||
|
cell=\ECFAugie\fontsize{6}{7}\selectfont\hskip0pt,ampersand replacement=\&]
|
||||||
|
{#1\par\\par\\par\\#4\par\\par\\par\\#7\par\\par\	\par\\};
|
||||||
|
\node [above] at ([yshift=1em]last bingo.north)
|
||||||
|
{\ECFAugie\fontsize{8}{9}\selectfont Bingo gegen Langeweile};
|
||||||
|
\coordinate (last) at ([yshift=-2em]last bingo.south west);
|
||||||
|
}
|
||||||
|
|
||||||
|
\newbox\testbox
|
||||||
|
\long\def\ddiprofessorsays#1{%
|
||||||
|
\node [below right] (last professor) at (last)
|
||||||
|
[text width=3.5cm,align=left]
|
||||||
|
{\ECFAugie \fontsize{8}{9}\selectfont\ignorespaces#1\par};
|
||||||
|
\coordinate (last) at ([yshift=-1em]last professor.south west);
|
||||||
|
\ddicomicspokenprofessortrue
|
||||||
|
}
|
||||||
|
|
||||||
|
\newif\ifddicomicwide
|
||||||
|
|
||||||
|
\def\dditestwide#1{
|
||||||
|
\pgfinterruptpicture%
|
||||||
|
\setbox\testbox=\hbox{\ECFAugie \fontsize{8}{9}\selectfont #1}%
|
||||||
|
\ifdim\wd\testbox>3.5cm%
|
||||||
|
\global\ddicomicwidetrue%
|
||||||
|
\else%
|
||||||
|
\global\ddicomicwidefalse%
|
||||||
|
\fi%
|
||||||
|
\endpgfinterruptpicture%
|
||||||
|
}
|
||||||
|
|
||||||
|
\long\def\ddistudentsays#1{%
|
||||||
|
\dditestwide{#1}
|
||||||
|
\node [below right] (last student) at (last)
|
||||||
|
[text width=3.5cm,xshift=5mm,align/.expanded=\ifddicomicwide
|
||||||
|
left\else flush right\fi]
|
||||||
|
{\ECFAugie \fontsize{8}{9}\selectfont\ignorespaces#1\par};
|
||||||
|
\coordinate (last) at ([xshift=-5mm,yshift=-1em]last student.south west);
|
||||||
|
\ddicomicspokenstudenttrue
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\long\def\ddiprofessorthinks#1{%
|
||||||
|
\ifddicomicspokendone\else\ddicomicpeople\fi
|
||||||
|
\node [below right] (x) at (last)
|
||||||
|
[text width=3.5cm,align=left,text=black!50]
|
||||||
|
{\ECFAugie \fontsize{8}{9}\selectfont\ignorespaces#1\par};
|
||||||
|
\coordinate (last) at ([yshift=-1em]x.south west);
|
||||||
|
\ifddicomicthoughtprofessor
|
||||||
|
\else
|
||||||
|
\ddicomicthoughtprofessortrue
|
||||||
|
\coordinate (professor thinks) at (x.north west);
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\long\def\ddistudentthinks#1{%
|
||||||
|
\dditestwide{#1}
|
||||||
|
\ifddicomicspokendone\else\ddicomicpeople\fi
|
||||||
|
\node [below right] (x) at (last)
|
||||||
|
[xshift=5mm,text width=3.5cm,align/.expanded=\ifddicomicwide
|
||||||
|
left\else flush right\fi,text=black!50]
|
||||||
|
{\ECFAugie \fontsize{8}{9}\selectfont\ignorespaces#1\par};
|
||||||
|
\coordinate (last) at ([xshift=-5mm,yshift=-1em]x.south west);
|
||||||
|
\ifddicomicthoughtstudent
|
||||||
|
\else
|
||||||
|
\ddicomicthoughtstudenttrue
|
||||||
|
\coordinate (student thinks) at (x.north east);
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\ddicomicpeople{%
|
||||||
|
\ddicomicspokendonetrue
|
||||||
|
|
||||||
|
\begin{scope}[shift=(last),yshift=-1.6cm]
|
||||||
|
|
||||||
|
% Professor
|
||||||
|
\begin{scope}[shift={(0.5,1)}]
|
||||||
|
\node (head) [minimum size=6pt, draw, inner sep=0pt, circle] {};
|
||||||
|
|
||||||
|
\draw (head.south) -- ++(0,-7pt) coordinate (groin);
|
||||||
|
|
||||||
|
\draw (groin) -- ++(-70:8pt) (groin) -- ++(-110:8pt);
|
||||||
|
|
||||||
|
\draw ([yshift=-2pt]head.south) coordinate (shoulders) -- ++(10:5pt) (shoulders) -- ++(-30:5pt);
|
||||||
|
\end{scope}
|
||||||
|
|
||||||
|
\foreach \j in {3,2,1}{
|
||||||
|
\begin{scope}[xshift=1cm,shift=(20:\j*0.6)]
|
||||||
|
|
||||||
|
\foreach \i in {1,...,5}
|
||||||
|
{
|
||||||
|
\begin{scope}[shift={(0.2,1.3)},shift=(-45:\i*.25)]
|
||||||
|
\node (head) [minimum size=5pt, draw, inner sep=0pt, fill=white,circle] {};
|
||||||
|
\pgfmathsetmacro{\dir}{0.5}
|
||||||
|
\draw (head.south) -- ++(70+\dir*20:-8pt) coordinate [near start] (shoulders\i);
|
||||||
|
\end{scope}
|
||||||
|
}
|
||||||
|
|
||||||
|
\draw [line join=round] (0,1) -- (1,0) -- (1,-0.3) -- (0,0.7) -- (0,1);
|
||||||
|
\filldraw [fill=white,line join=round] (0,1) -- (0.2,1) -- (1.2,0) -- (1,0) -- cycle;
|
||||||
|
|
||||||
|
\foreach \i in {1,...,5}
|
||||||
|
{
|
||||||
|
\draw (shoulders\i) -- ++(-180+0.5*20:5pt) (shoulders\i) -- ++(-150+0.5*20:5pt);
|
||||||
|
}
|
||||||
|
\end{scope}
|
||||||
|
}
|
||||||
|
|
||||||
|
\ifddicomicspokenprofessor
|
||||||
|
\draw[overlay] (.6,1.1) to [out=100,in=-86] (-0.2,1.7)
|
||||||
|
to [out=94,in=-94] ([xshift=-2mm]last professor.south west)
|
||||||
|
to [out=86,in=-135] ([yshift=2mm,xshift=-1mm]last professor.south west);
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\ifddicomicspokenstudent
|
||||||
|
\draw[overlay] (3.75,1.15) to [out=100,in=-94] (4.2,1.9)
|
||||||
|
to [out=86,in=-86] ([xshift=2mm]last student.south east)
|
||||||
|
to [out=94,in=-45] ([yshift=2mm,xshift=1mm]last student.south east);
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\coordinate (last) at (0,-.3);
|
||||||
|
\coordinate (people) at (0,0);
|
||||||
|
|
||||||
|
\only<presentation>{\ddibingonow}
|
||||||
|
\end{scope}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\def\defddicomic#1[#2]{
|
||||||
|
\expandafter\def\csname ddi@comic@#1\endcsname{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\useddicomic#1{%
|
||||||
|
\expandafter\let\expandafter\dditemp\csname ddi@comic@#1\endcsname
|
||||||
|
\expandafter\ddicomic\expandafter[\dditemp]}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
989
ahilbig-common.sty
Normal file
989
ahilbig-common.sty
Normal file
@ -0,0 +1,989 @@
|
|||||||
|
% -*- coding: utf-8; -*-
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: ahilbig-common.sty |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
\ProvidesPackage{ahilbig-common}
|
||||||
|
|
||||||
|
\RequirePackage[german=guillemets]{csquotes}
|
||||||
|
|
||||||
|
% Automatische Skalierung zu grosser (breiter) Grafiken
|
||||||
|
\RequirePackage[Export]{adjustbox}
|
||||||
|
\adjustboxset{max size={\textwidth}{0.9\textheight}}
|
||||||
|
|
||||||
|
\RequirePackage{svn-multi}
|
||||||
|
%\RequirePackage[all]{svn-multi}
|
||||||
|
%\RequirePackage[filehooks,autokw]{svn-multi}
|
||||||
|
\RequirePackage{staves}
|
||||||
|
\RequirePackage{rotating}
|
||||||
|
\RequirePackage{scalerel}
|
||||||
|
\RequirePackage{longtable}
|
||||||
|
\RequirePackage[official]{eurosym}
|
||||||
|
\RequirePackage{fancybox}
|
||||||
|
\RequirePackage{tabularx}
|
||||||
|
\RequirePackage{xmpmulti}
|
||||||
|
\RequirePackage{pdfcomment}
|
||||||
|
\RequirePackage{xspace}
|
||||||
|
|
||||||
|
%\RequirePackage{paralist} % < führt zu Problemen mit beamer
|
||||||
|
|
||||||
|
%\RequirePackage[svgnames,rgb]{color} % Option Clash ....
|
||||||
|
|
||||||
|
\RequirePackage[curves]{struktex}
|
||||||
|
|
||||||
|
% Vorlesung 2
|
||||||
|
\newcommand\specparrightplus[3]{%
|
||||||
|
\begin{flushleft}
|
||||||
|
\newdimen\breite
|
||||||
|
\breite=#1cm
|
||||||
|
\scaleleftright[\breite]{.}{\parbox{2.\breite}{#2}}{\}}{\parbox{2.\breite}{#3}}
|
||||||
|
\end{flushleft}
|
||||||
|
}
|
||||||
|
|
||||||
|
% ab Vorlesung 9
|
||||||
|
\newcommand\kreisc[1]{\ensuremath{\mathbin{\settowidth{\dimen7}{\mbox{$\bigcirc$}}%
|
||||||
|
\makebox[0pt][l]{$\bigcirc$}\raisebox{-0.2mm}{\makebox[\dimen7]{#1}}}}}
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage{bookmark}
|
||||||
|
|
||||||
|
\RequirePackage{amsmath}
|
||||||
|
\RequirePackage{accents}
|
||||||
|
|
||||||
|
\RequirePackage{array}
|
||||||
|
|
||||||
|
\RequirePackage{delarray}
|
||||||
|
|
||||||
|
\RequirePackage{comment}
|
||||||
|
|
||||||
|
\newif\ifdraftversion
|
||||||
|
\newif\ifbw
|
||||||
|
\newif\ifcd
|
||||||
|
|
||||||
|
\DeclareOption{draft}{\draftversiontrue}
|
||||||
|
\DeclareOption{blackandwhite}{\bwtrue}
|
||||||
|
\DeclareOption{cd}{\cdtrue}
|
||||||
|
|
||||||
|
\ProcessOptions
|
||||||
|
|
||||||
|
|
||||||
|
\@ifclassloaded{beamer}{}{\RequirePackage{beamerarticle}}
|
||||||
|
\RequirePackage{pgfkeys}
|
||||||
|
\RequirePackage{ifluatex}
|
||||||
|
\ifluatex
|
||||||
|
\RequirePackage[utf8]{luainputenc}
|
||||||
|
\else
|
||||||
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\def\UrlFont{}
|
||||||
|
|
||||||
|
|
||||||
|
%%\ifcd\else
|
||||||
|
%\RequirePackage{futura}
|
||||||
|
%% \RequirePackage{utopia}
|
||||||
|
%%\fi
|
||||||
|
%\RequirePackage{Myriad}
|
||||||
|
%\RequirePackage{droid}
|
||||||
|
\RequirePackage{lmodern}
|
||||||
|
\RequirePackage{courier}
|
||||||
|
|
||||||
|
|
||||||
|
\def\headingfont{\small\sffamily}
|
||||||
|
|
||||||
|
|
||||||
|
% Basic colors
|
||||||
|
|
||||||
|
\colorlet{structure.fg}{orange!80!red}
|
||||||
|
\definecolor{black50}{rgb}{.50,.50,.51}
|
||||||
|
|
||||||
|
\definecolor{black90}{rgb}{.90,.90,.91}
|
||||||
|
\definecolor{black95}{rgb}{.94,.94,.95}
|
||||||
|
|
||||||
|
\long\def\hilight#1{{\ifbw\else\color{structure.fg}\fi#1}}
|
||||||
|
\ifbw
|
||||||
|
\colorlet{head.bg}{black}
|
||||||
|
\else
|
||||||
|
\colorlet{head.bg}{structure.fg}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\ifcd
|
||||||
|
% \RequirePackage[mixedgreek,textlf]{Myriad}
|
||||||
|
\RequirePackage{microtype}
|
||||||
|
\let\sfdefault\rmdefault
|
||||||
|
\definecolor{oceangreen}{cmyk}{1,0,.2,.78}
|
||||||
|
\colorlet{structure.fg}{oceangreen!75!white}
|
||||||
|
\colorlet{head.bg}{oceangreen}
|
||||||
|
\def\headingfont{\sffamily}
|
||||||
|
\AtBeginDocument{
|
||||||
|
% \renewcommand\scshape{\error}
|
||||||
|
\DeclareTextFontCommand{\orig@textsc}{\scshape}
|
||||||
|
\edef\MyriadText{\sfdefault}
|
||||||
|
\DeclareRobustCommand\textsc[1]{\ifx\f@family\MyriadText{\ifdim\f@size pt=10pt\relax\small\fi\edef\ddi@temp{#1}\expandafter\uppercase\expandafter{\ddi@temp}}\else\orig@textsc{#1}\fi}
|
||||||
|
}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
\RequirePackage{ahilbig-letterspace}
|
||||||
|
|
||||||
|
\mode<article>
|
||||||
|
{
|
||||||
|
%% \ifcmmath
|
||||||
|
%% \else
|
||||||
|
\RequirePackage{mathptmx}
|
||||||
|
\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n}
|
||||||
|
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
|
||||||
|
\DeclareSymbolFont{rmletters} {OML}{ztmcm}{m}{it}
|
||||||
|
\DeclareSymbolFont{letters} {OML}{ztmcm} {m}{it}
|
||||||
|
% \ifcd\My@Greek@Mix\fi
|
||||||
|
%% \fi
|
||||||
|
%\RequirePackage[bookmarksnumbered,pdfborder={0 0 0}]{hyperref}
|
||||||
|
%\RequirePackage[plainpages=false,bookmarksnumbered,pdfborder={0 0 0}]{hyperref}
|
||||||
|
\RequirePackage{paralist} %% wg. pasternak
|
||||||
|
\RequirePackage{tcolorbox}
|
||||||
|
|
||||||
|
}
|
||||||
|
\def\rmdefault{qtm}
|
||||||
|
%\ifcd\else\def\sfdefault{Futura}\fi
|
||||||
|
|
||||||
|
|
||||||
|
\mode<article>
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
% Lists/enumerations/descriptions
|
||||||
|
|
||||||
|
\def\@listI{\leftmargin\leftmargini
|
||||||
|
\parsep 0pt
|
||||||
|
\topsep 5\p@ \@plus3\p@ \@minus5\p@
|
||||||
|
\itemsep0pt}
|
||||||
|
\let\@listi=\@listI
|
||||||
|
\def\@listii{\leftmargin\leftmarginii
|
||||||
|
\parsep 0pt
|
||||||
|
\topsep 3\p@ \@plus3\p@ \@minus3\p@
|
||||||
|
\itemsep0pt}
|
||||||
|
\leftmargini=1.85em
|
||||||
|
|
||||||
|
\parindent=0pt
|
||||||
|
\parskip=2pt plus 1pt minus 1pt
|
||||||
|
|
||||||
|
\renewenvironment{description}
|
||||||
|
{
|
||||||
|
\list{}{\advance\leftmargin by1cm
|
||||||
|
\labelwidth\leftmargin
|
||||||
|
\itemindent0pt
|
||||||
|
\let\makelabel\descriptionlabel
|
||||||
|
\itemsep3pt plus2pt minus 2pt}}
|
||||||
|
{\endlist}
|
||||||
|
|
||||||
|
\renewcommand*\descriptionlabel[1]{%
|
||||||
|
\hfil\hspace\labelsep{\normalfont\headingfont\hilight{#1}}}
|
||||||
|
|
||||||
|
|
||||||
|
\def\enumerate{%
|
||||||
|
\ifnum \@enumdepth >\thr@@\@toodeep\else
|
||||||
|
\advance\@enumdepth\@ne
|
||||||
|
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
|
||||||
|
\expandafter
|
||||||
|
\list
|
||||||
|
\csname label\@enumctr\endcsname
|
||||||
|
{\usecounter\@enumctr\def\makelabel##1{\hss\llap{\footnotesize\sffamily##1}}}%
|
||||||
|
\fi}
|
||||||
|
|
||||||
|
\def\itemize{%
|
||||||
|
\ifnum \@itemdepth >\thr@@\@toodeep\else
|
||||||
|
\advance\@itemdepth\@ne
|
||||||
|
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
|
||||||
|
\expandafter
|
||||||
|
\list
|
||||||
|
\csname\@itemitem\endcsname
|
||||||
|
{\def\makelabel##1{\hss\llap{\sffamily##1}}}%
|
||||||
|
\fi}
|
||||||
|
|
||||||
|
\renewcommand\labelitemi{\normalfont\hilight{\bfseries–}}
|
||||||
|
\renewcommand\labelitemii{\normalfont\bfseries–}
|
||||||
|
|
||||||
|
\renewcommand\theenumi{\@arabic\c@enumi}
|
||||||
|
\renewcommand\theenumii{\@arabic\c@enumi.\@arabic\c@enumii}
|
||||||
|
\renewcommand\theenumiii{\@arabic\c@enumi.\@arabic\c@enumii.\@arabic\c@enumiii}
|
||||||
|
|
||||||
|
\renewcommand\labelenumi{\hilight{\theenumi.}}
|
||||||
|
\renewcommand\labelenumii{\textcolor{black}{\theenumii}}
|
||||||
|
|
||||||
|
\setbeamertemplate{block begin}
|
||||||
|
{\avoidwiddow{2cm}{50}\par\vskip\medskipamount\penalty-100\parskip0pt{\raggedright\headingfont{\noindent\hilight{\insertblocktitle}}\par}\noindent\ignorespaces}
|
||||||
|
\setbeamertemplate{block alerted begin}
|
||||||
|
{\avoidwiddow{2cm}{50}\par\vskip\medskipamount\penalty-100\parskip0pt{\raggedright\headingfont{\noindent\color{red!90!black}\insertblocktitle}\par}\noindent\ignorespaces}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Common packages
|
||||||
|
|
||||||
|
%\RequirePackage[german]{babel}
|
||||||
|
|
||||||
|
\RequirePackage[T1]{fontenc}
|
||||||
|
\RequirePackage{colortbl}
|
||||||
|
|
||||||
|
|
||||||
|
% Chapter-like Headline
|
||||||
|
|
||||||
|
\newcommand\chapterlikeheadline[3]{
|
||||||
|
{%
|
||||||
|
\rightskip0pt plus1fil
|
||||||
|
\parindent=0pt
|
||||||
|
\sffamily
|
||||||
|
\vskip2em%
|
||||||
|
{\fontsize{36pt}{36pt}\selectfont #1 \par\vskip2pt}
|
||||||
|
{\fontsize{24pt}{28pt}\selectfont \hilight{#2}\par\vskip4pt}
|
||||||
|
\expandafter\def\expandafter\temp\expandafter{#3}%
|
||||||
|
\ifx\temp\@empty\else{\Large\selectfont \color{black} \temp\par}\fi
|
||||||
|
\vskip10pt
|
||||||
|
}
|
||||||
|
\par
|
||||||
|
\vskip 1.5em%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\theoremstyle{definition}
|
||||||
|
\newtheorem{notation}[theorem]{Notation}
|
||||||
|
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<article>
|
||||||
|
|
||||||
|
|
||||||
|
% Sections
|
||||||
|
|
||||||
|
\let\origstartsection=\@startsection
|
||||||
|
\def\@startsection#1#2#3#4#5#6{%
|
||||||
|
\origstartsection{#1}{#2}{#3}{#4}{#5}{#6\raggedright\normalfont\sffamily\ifodd#2\relax\else\ifbw\color{black}\else\color{structure.fg}\fi\fi\selectfont}}
|
||||||
|
|
||||||
|
\def\avoidwiddow#1#2{\par\vskip 0pt plus #1\penalty-#2\vskip 0pt plus -#1\ignorespaces}
|
||||||
|
|
||||||
|
\renewcommand\section{\avoidwiddow{3cm}{600}
|
||||||
|
\@startsection {section}{1}{\z@}%
|
||||||
|
{-3.5ex \@plus -1ex \@minus -.2ex}%
|
||||||
|
{1.5ex \@plus.2ex}%
|
||||||
|
{\normalfont\Large\bfseries}}
|
||||||
|
\renewcommand\subsection{\avoidwiddow{3cm}{300}\@startsection{subsection}{2}{\z@}%
|
||||||
|
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||||
|
{.5ex \@plus .2ex}%
|
||||||
|
{\normalfont\large\bfseries}}
|
||||||
|
\renewcommand\subsubsection{\avoidwiddow{3cm}{250}\@startsection{subsubsection}{3}{\z@}%
|
||||||
|
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||||
|
{1.5ex \@plus .2ex}%
|
||||||
|
{\normalfont\normalsize\bfseries}}
|
||||||
|
|
||||||
|
% Theorems and such
|
||||||
|
|
||||||
|
\newenvironment{definitionlike}[2][]{%
|
||||||
|
\def\test{#1}%
|
||||||
|
% \par%
|
||||||
|
% \color{structure.fg}%
|
||||||
|
% \hbox\bgroup\hskip-1.5ex\vrule width .5ex\hskip1ex\vbox\bgroup%
|
||||||
|
% \color{black}%
|
||||||
|
\block{\ddibordericon{{\ddiborderpointer}}%
|
||||||
|
#2\ifx\test\@empty\else: \textcolor{black}{#1}\fi}
|
||||||
|
\ignorespaces
|
||||||
|
}
|
||||||
|
{\endblock}
|
||||||
|
|
||||||
|
\newenvironment{examplelike}[2][]{%
|
||||||
|
\def\test{#1}
|
||||||
|
\block{%
|
||||||
|
#2\ifx\test\@empty\else: \textcolor{black}{#1}\fi}
|
||||||
|
\ignorespaces
|
||||||
|
}
|
||||||
|
{\endblock}
|
||||||
|
|
||||||
|
\newenvironment{theoremlike}[2][]{%
|
||||||
|
\def\mytest{#1}
|
||||||
|
\block{\ddibordericon{{\ddiborderpointer}}%
|
||||||
|
#2\ifx\mytest\@empty\else: \textcolor{black}{#1}\fi}
|
||||||
|
\itshape\ignorespaces
|
||||||
|
}
|
||||||
|
{\endblock}
|
||||||
|
|
||||||
|
\newcommand\ddiborderpointer{{\textcolor{structure.fg}{\large$\blacktriangleright$}}}%\LARGE\ding{43}}}}
|
||||||
|
%\newcommand\ddiborderpointer{{\includegraphics[height=2em]{ddi-icon-bulb-red-ccas.png}}}
|
||||||
|
\newcommand\ddiborderannote{{\textcolor{structure.fg}{\staveVI}}}
|
||||||
|
|
||||||
|
\renewenvironment{problem}[1][]{\definitionlike[#1]{Problem}}{\enddefinitionlike}
|
||||||
|
\renewenvironment{definition}[1][]{\definitionlike[#1]{\translate{Definition}}}{\enddefinitionlike}
|
||||||
|
\renewenvironment{example}[1][]{\examplelike[#1]{\translate{Beispiel}}}{\endexamplelike}
|
||||||
|
\renewenvironment{examples}[1][]{\examplelike[#1]{\translate{Beispiele}}}{\endexamplelike}
|
||||||
|
\renewenvironment{theorem}[1][]{\theoremlike[#1]{\translate{Satz}}}{\endtheoremlike}
|
||||||
|
\renewenvironment{lemma}[1][]{\theoremlike[#1]{\translate{Lemma}}}{\endtheoremlike}
|
||||||
|
\renewenvironment{corollary}[1][]{\theoremlike[#1]{\translate{Folgerung}}}{\endtheoremlike}
|
||||||
|
\renewenvironment{notation}[1][]{\definitionlike[#1]{Notation}}{\enddefinitionlike}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Einordnung}{Einordnung}
|
||||||
|
\providetranslation[to=English]{Einordnung}{Qualifying}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Erläuterung}{Erläuterung}
|
||||||
|
\providetranslation[to=English]{Erläuterung}{Annotation}
|
||||||
|
\providetranslation[to=German]{Erläuterungen}{Erläuterungen}
|
||||||
|
\providetranslation[to=English]{Erläuterungen}{Annotations}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Erklärung}{Erklärung}
|
||||||
|
\providetranslation[to=English]{Erklärung}{Explanation}
|
||||||
|
\providetranslation[to=German]{Erklärungen}{Erklärungen}
|
||||||
|
\providetranslation[to=English]{Erklärungen}{Explanations}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Beispiel}{Beispiel}
|
||||||
|
\providetranslation[to=English]{Beispiel}{Example}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Beispiele}{Beispiele}
|
||||||
|
\providetranslation[to=English]{Beispiele}{Examples}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Satz}{Satz}
|
||||||
|
\providetranslation[to=English]{Satz}{Theorem}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Folgerung}{Folgerung}
|
||||||
|
\providetranslation[to=English]{Folgerung}{Corollary}
|
||||||
|
|
||||||
|
%~~
|
||||||
|
\newtranslation[to=German]{Advantages}{Vorteile}
|
||||||
|
\newtranslation[to=English]{Advantages}{Advantages}
|
||||||
|
|
||||||
|
\newtranslation[to=German]{Disadvantages}{Nachteile}
|
||||||
|
\newtranslation[to=English]{Disadvantages}{Disadvantages}
|
||||||
|
|
||||||
|
\newenvironment{advantages}[1][\translate{Advantages}]{
|
||||||
|
\setbeamercolor{structure}{fg=green!50!black}
|
||||||
|
\only<article>{\colorlet{structure.fg}{green!50!black}}
|
||||||
|
\begin{block}{#1}%
|
||||||
|
\alt<article>{\renewcommand\labelitemi{\normalfont\hilight{\bfseries+}}}%
|
||||||
|
{\setbeamertemplate{itemize item}{+}}%
|
||||||
|
}
|
||||||
|
{\end{block}}
|
||||||
|
\newenvironment{disadvantages}[1][\translate{Disadvantages}]{
|
||||||
|
\setbeamercolor{structure}{fg=red!50!black}
|
||||||
|
\only<article>{\colorlet{structure.fg}{red!75!black}}
|
||||||
|
\begin{block}{#1}%
|
||||||
|
\only<presentation>{\setbeamertemplate{itemize item}{–}}%
|
||||||
|
}
|
||||||
|
{\end{block}}
|
||||||
|
|
||||||
|
|
||||||
|
% Typesetting Listings
|
||||||
|
|
||||||
|
\RequirePackage{listings}
|
||||||
|
\lstset{extendedchars=true}
|
||||||
|
|
||||||
|
\newif\ifemphlistings
|
||||||
|
\def\colorunlessemph#1{\ifemphlistings\else\color{#1}\fi}
|
||||||
|
|
||||||
|
% Allow German umlauts:
|
||||||
|
\lstset{%
|
||||||
|
literate={ä}{{\"a}}1
|
||||||
|
{ö}{{\"o}}1
|
||||||
|
{ü}{{\"u}}1
|
||||||
|
{Ä}{{\"A}}1
|
||||||
|
{Ö}{{\"O}}1
|
||||||
|
{Ü}{{\"U}}1
|
||||||
|
{ß}{{\ss}}1
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstset{%
|
||||||
|
basicstyle=\footnotesize\ttfamily,
|
||||||
|
commentstyle=\itshape\colorunlessemph{green!50!black},
|
||||||
|
keywordstyle=\bfseries\colorunlessemph{structure.fg},
|
||||||
|
identifierstyle=\colorunlessemph{blue},
|
||||||
|
stringstyle=\colorunlessemph{violet},
|
||||||
|
emphstyle=\color{red},
|
||||||
|
numbersep=1em,
|
||||||
|
breaklines=true,
|
||||||
|
breakatwhitespace=true,
|
||||||
|
numberstyle=\scriptsize\color{black!50}
|
||||||
|
}
|
||||||
|
|
||||||
|
\only<article>
|
||||||
|
{
|
||||||
|
\lstset{%
|
||||||
|
basicstyle=\ttfamily\small,
|
||||||
|
backgroundcolor=\color{structure.fg!10},
|
||||||
|
frame=lines,
|
||||||
|
framerule=1pt,
|
||||||
|
rulecolor=\color{structure.fg},
|
||||||
|
numberstyle=\scriptsize\sffamily\color{black!50}
|
||||||
|
}
|
||||||
|
\ifbw
|
||||||
|
\lstset{backgroundcolor=}
|
||||||
|
\fi
|
||||||
|
\ifcd
|
||||||
|
\lstset{backgroundcolor=\color{structure.fg!5}}
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
\alt<article>
|
||||||
|
{
|
||||||
|
\lstdefinestyle{presentationscriptsize}{}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\lstdefinestyle{presentationscriptsize}{basicstyle=\ttfamily\scriptsize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\alt<article>
|
||||||
|
{
|
||||||
|
\lstdefinestyle{presentationtinysize}{basicstyle=\ttfamily\scriptsize}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\lstdefinestyle{presentationtinysize}{basicstyle=\ttfamily\tiny}
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinelanguage{css}{
|
||||||
|
morekeywords={
|
||||||
|
border,padding,color,font,font-size,height,width,margin,background-image,
|
||||||
|
red,green,blue,float,left,right,top,bottom,position,absolute,relative,
|
||||||
|
solid,
|
||||||
|
margin-top,margin-bottom,margin-left,margin-right,
|
||||||
|
border-top,border-bottom,border-left,border-right,
|
||||||
|
padding-top,padding-bottom,padding-left,padding-right
|
||||||
|
},%
|
||||||
|
morecomment=[s]{/*}{*/},%
|
||||||
|
morestring=[b]",%
|
||||||
|
alsoletter={-},%
|
||||||
|
}
|
||||||
|
\lstdefinelanguage{MySQL}[]{SQL}{
|
||||||
|
morekeywords={ADD,ALL,ALTER,ANALYZE,AND,AS,ASC,ASENSITIVE,BEFORE,BETWEEN,BIGINT,BINARY
|
||||||
|
BLOB,BOTH,BY,CALL,CASCADE,CASE,CHANGE,CHAR,CHARACTER,CHECK,COLLATE,COLUMN,
|
||||||
|
CONDITION,CONSTRAINT,CONTINUE,CONVERT,CREATE,CROSS,CURRENT_DATE,
|
||||||
|
CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,DATABASE,DATABASES,
|
||||||
|
DAY_HOUR,DAY_MICROSECOND,DAY_MINUTE,DAY_SECOND,DEC,DECIMAL,DECLARE,DEFAULT,
|
||||||
|
DELAYED,DELETE,DESC,DESCRIBE,DETERMINISTIC,DISTINCT,DISTINCTROW,DIV,DOUBLE,
|
||||||
|
DROP,DUAL,EACH,ELSE,ELSEIF,ENCLOSED,ESCAPED,EXISTS,EXIT,EXPLAIN,FALSE,FETCH,
|
||||||
|
FLOAT,FLOAT4,FLOAT8,FOR,FORCE,FOREIGN,FROM,FULLTEXT,GRANT,
|
||||||
|
GROUP,HAVING,HIGH_PRIORITY,HOUR_MICROSECOND,HOUR_MINUTE,HOUR_SECOND,
|
||||||
|
IF,IGNORE,IN,INDEX,INFILE,INNER,INOUT,INSENSITIVE,INSERT,
|
||||||
|
INT,INT1,INT2,INT3,INT4,INT8,INTEGER,INTERVAL,INTO,
|
||||||
|
IS,ITERATE,JOIN,KEY,KEYS,KILL,LEADING,LEAVE,LEFT,
|
||||||
|
LIKE,LIMIT,LINES,LOAD,LOCALTIME,LOCALTIMESTAMP,LOCK,LONG,LONGBLOB,
|
||||||
|
LONGTEXT,LOOP,LOW_PRIORITY,MATCH,MEDIUMBLOB,MEDIUMINT,MEDIUMTEXT,
|
||||||
|
MIDDLEINT,MINUTE_MICROSECOND,MINUTE_SECOND,MOD,MODIFIES,NATURAL,NOT,
|
||||||
|
NO_WRITE_TO_BINLOG,NULL,NUMERIC,ON,OPTIMIZE,OPTION,OPTIONALLY,
|
||||||
|
OR,ORDER,OUT,OUTER,OUTFILE,PRECISION,PRIMARY,PROCEDURE,PURGE,
|
||||||
|
READ,READS,REAL,REFERENCES,REGEXP,RELEASE,RENAME,REPEAT,REPLACE,
|
||||||
|
REQUIRE,RESTRICT,RETURN,REVOKE,RIGHT,RLIKE,SCHEMA,SCHEMAS,SECOND_MICROSECOND,
|
||||||
|
SELECT,SENSITIVE,SEPARATOR,SET,SHOW,SMALLINT,SONAME,SPATIAL,SPECIFIC,
|
||||||
|
SQL,SQLEXCEPTION,SQLSTATE,SQLWARNING,SQL_BIG_RESULT,SQL_CALC_FOUND_ROWS,
|
||||||
|
SQL_SMALL_RESULT,SSL,STARTING,STRAIGHT_JOIN,TABLE,TERMINATED,
|
||||||
|
THEN,TINYBLOB,TINYINT,TINYTEXT,TO,TRAILING,TRIGGER,TRUE,UNDO,
|
||||||
|
UNION,UNIQUE,UNLOCK,UNSIGNED,UPDATE,USAGE,USE,USING,UTC_DATE,
|
||||||
|
UTC_TIME,UTC_TIMESTAMP,VALUES,VARBINARY,VARCHAR,VARCHARACTER,
|
||||||
|
VARYING,WHEN,WHERE,WHILE,WITH,WRITE,XOR,YEAR_MONTH,ZEROFILL,
|
||||||
|
ASENSITIVE,CALL,CONDITION,CONNECTION,CONTINUE,CURSOR,
|
||||||
|
DECLARE,DETERMINISTIC,EACH,ELSEIF,EXIT,FETCH,
|
||||||
|
GOTO,INOUT,INSENSITIVE,ITERATE,LABEL,LEAVE,
|
||||||
|
LOOP,MODIFIES,OUT,READS,RELEASE,REPEAT,
|
||||||
|
RETURN,SCHEMA,SCHEMAS,SENSITIVE,SPECIFIC,SQL,
|
||||||
|
SQLEXCEPTION,SQLSTATE,SQLWARNING,
|
||||||
|
TRIGGER,UNDO,UPGRADE,WHILE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinelanguage{pseudocode}{
|
||||||
|
morekeywords={
|
||||||
|
if,then,else,while,do,repeat,until,seq,seqdo,return,call,
|
||||||
|
for,pardo,in,foreach,print,output,input,exit,
|
||||||
|
break,loop,end,begin,goto,pardo,par,global,read,write,to,stop,idle,procedure,function
|
||||||
|
},
|
||||||
|
sensitive=true,
|
||||||
|
morecomment=[l]{//},
|
||||||
|
morecomment=[l]{\%},
|
||||||
|
morestring=[b]",
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{text}{
|
||||||
|
basicstyle=\ttfamily\footnotesize,
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{pseudocodebase}{
|
||||||
|
language=pseudocode,
|
||||||
|
numbers=left,
|
||||||
|
basicstyle=\rmfamily\footnotesize,
|
||||||
|
keywordstyle=\bfseries\itshape\colorunlessemph{structure.fg},
|
||||||
|
columns=fullflexible,
|
||||||
|
mathescape=true,
|
||||||
|
identifierstyle=\itshape,
|
||||||
|
literate={<}{{$<$}}1
|
||||||
|
{>}{{$>$}}1
|
||||||
|
{-}{{-}}1
|
||||||
|
{+}{{$+$}}1
|
||||||
|
{*}{{$\cdot$}}1
|
||||||
|
{<-}{{$\gets$\ }}2
|
||||||
|
{<=}{{$\leq$}}1
|
||||||
|
{>=}{{$\geq$}}1
|
||||||
|
{!=}{{$\neq$}}1
|
||||||
|
{==}{{$=$}}1
|
||||||
|
{ä}{{\"a}}1
|
||||||
|
{ö}{{\"o}}1
|
||||||
|
{ü}{{\"u}}1
|
||||||
|
{Ä}{{\"A}}1
|
||||||
|
{Ö}{{\"O}}1
|
||||||
|
{Ü}{{\"U}}1
|
||||||
|
{ß}{{\ss}}1
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinelanguage{while}{
|
||||||
|
morekeywords={
|
||||||
|
uint,return,while,loop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\lstdefinelanguage{MuML}{
|
||||||
|
morekeywords={
|
||||||
|
fun,0,succ,min
|
||||||
|
}
|
||||||
|
}
|
||||||
|
\alt<article>
|
||||||
|
{\lstdefinestyle{pseudocode}{style=pseudocodebase,basicstyle=\rmfamily}}
|
||||||
|
{\lstdefinestyle{pseudocode}{xleftmargin=1em,style=pseudocodebase,basicstyle=\sffamily\small,keywordstyle=\itshape\colorunlessemph{structure.fg}}}
|
||||||
|
|
||||||
|
\lstdefinestyle{alerts}{% We want easy hilighting
|
||||||
|
moredelim=**[is][\color{red}\emphlistingstrue]{(!}{!)}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\lstdefinestyle{escapes}{
|
||||||
|
escapechar=\#
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\pythoncode{\lstinline[language=Python]}
|
||||||
|
\def\javacode{\lstinline[language=Java]}
|
||||||
|
\def\ccode{\lstinline[language=C]}
|
||||||
|
\def\htmlcode{\lstinline[language=html]}
|
||||||
|
\def\csscode{\lstinline[language=css]}
|
||||||
|
\def\sqlcode{\lstinline[language=MySQL]}
|
||||||
|
\def\pseudocode{\lstinline[style=pseudocode]}
|
||||||
|
\def\texcode{\lstinline[language={[LaTeX]tex}]}
|
||||||
|
\def\whilecode{\lstinline[language=while,mathescape=true]}
|
||||||
|
\def\mucode{\lstinline[language=MuML]}
|
||||||
|
|
||||||
|
\alt<article>
|
||||||
|
{
|
||||||
|
\def\verbatim@font{\normalfont\small\ttfamily}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\def\verbatim@font{\normalfont\footnotesize\ttfamily}
|
||||||
|
}
|
||||||
|
|
||||||
|
% New useful definitions:
|
||||||
|
|
||||||
|
\newbox\mytempbox
|
||||||
|
\newdimen\mytempdimen
|
||||||
|
|
||||||
|
\newcommand\includegraphicscopyright[3][]{%
|
||||||
|
\leavevmode\vbox{\vskip3pt\raggedright\setbox\mytempbox=\hbox{\includegraphics[#1]{#2}}%
|
||||||
|
\mytempdimen=\wd\mytempbox\box\mytempbox\par\vskip1pt%
|
||||||
|
\sffamily\fontsize{3}{3.5}\selectfont\spaceskip=.333em\xspaceskip=.5em{\color{black}{\vbox{\hsize=\mytempdimen#3}}}\vskip3pt%
|
||||||
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
\newenvironment{colortabular}[1]{\medskip\rowcolors[]{1}{structure.fg!10}{structure.fg!3}\tabular{#1}\rowcolor{structure.fg!20}}{\endtabular\medskip}
|
||||||
|
|
||||||
|
\def\equad{\leavevmode\hbox{}\quad}
|
||||||
|
|
||||||
|
\newenvironment{greencolortabular}[1]
|
||||||
|
{\medskip\rowcolors[]{1}{green!50!black!20}{green!50!black!5}%
|
||||||
|
\tabular{#1}\rowcolor{green!50!black!40}}%
|
||||||
|
{\endtabular\medskip}
|
||||||
|
|
||||||
|
\only<article>{\let\greencolortabular=\colortabular\let\endgreencolortabular=\endcolortabular}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Exercises
|
||||||
|
|
||||||
|
\mode<article>
|
||||||
|
|
||||||
|
\newif\ifbonus
|
||||||
|
|
||||||
|
\pgfkeys{
|
||||||
|
/ddi/exercise/title/.initial=,
|
||||||
|
/ddi/exercise/credits/.initial=,
|
||||||
|
/ddi/exercise/@credits/.initial=,
|
||||||
|
/ddi/exercise/level/.initial=,
|
||||||
|
/ddi/exercise/how/.initial=,
|
||||||
|
/ddi/exercise/@solution/.initial=,
|
||||||
|
/ddi/exercise/solution/.style={@solution=mit~Lösung},
|
||||||
|
/ddi/exercise/@examtext/.initial=,
|
||||||
|
/ddi/exercise/exam/.is choice,
|
||||||
|
/ddi/exercise/exam/no/.style={@examtext=nicht~klausurrelevant},
|
||||||
|
/ddi/exercise/exam/used/.style={@examtext=original~Klausuraufgabe},
|
||||||
|
/ddi/exercise/exam/typical/.style={@examtext=typische~Klausuraufgabe},
|
||||||
|
/ddi/exercise/bonus/.is if=bonus,
|
||||||
|
/ddi/exercise/time/.initial=,
|
||||||
|
/ddi/exercise/label/.store in=\exerciselabel}
|
||||||
|
|
||||||
|
\newif\ifignorekey
|
||||||
|
\def\ddiyestext{yes}
|
||||||
|
|
||||||
|
\def\possiblyuse#1{%
|
||||||
|
\ignorekeyfalse%
|
||||||
|
\pgfkeysifdefined{/ddi/exercise/#1/ignore}
|
||||||
|
{%
|
||||||
|
\pgfkeysgetvalue{/ddi/exercise/#1/ignore}\dditemp
|
||||||
|
\ifx\dditemp\ddiyestext%
|
||||||
|
\ignorekeytrue%
|
||||||
|
\fi%
|
||||||
|
}%
|
||||||
|
{}%
|
||||||
|
\ifignorekey
|
||||||
|
\else
|
||||||
|
\pgfkeysgetvalue{/ddi/exercise/#1}{\mymacro}%
|
||||||
|
\ifx\mymacro\@empty%
|
||||||
|
\else%
|
||||||
|
\ifx\infostring\@empty%
|
||||||
|
\let\infostring=\mymacro%
|
||||||
|
\else
|
||||||
|
\expandafter\expandafter\expandafter\def
|
||||||
|
\expandafter\expandafter\expandafter\infostring
|
||||||
|
\expandafter\expandafter\expandafter
|
||||||
|
{\expandafter\infostring\expandafter,\expandafter\ \mymacro}%
|
||||||
|
\fi%
|
||||||
|
\fi%
|
||||||
|
\fi%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newbox\mybox
|
||||||
|
|
||||||
|
\newenvironment{exercise}[1][]%
|
||||||
|
{
|
||||||
|
\pgfkeys{/ddi/exercise/.cd,/ddi/every exercise/.try,#1}%
|
||||||
|
\parindent0pt%
|
||||||
|
\refstepcounter{exercisenumber}%
|
||||||
|
\goodbreak\medskip\noindent
|
||||||
|
{%
|
||||||
|
\parskip=0pt%
|
||||||
|
\raggedright%
|
||||||
|
\headingfont%
|
||||||
|
\hilight{%
|
||||||
|
\setbox\mybox=\hbox{%
|
||||||
|
\insertexercisetext%
|
||||||
|
\pgfkeysifdefined{/ddi/exercise/bonus/ignore}{}{{\ifbonus*\fi}}\
|
||||||
|
\theexercisenumber%
|
||||||
|
\hskip2ex%
|
||||||
|
}%
|
||||||
|
\ddisetupcredits%
|
||||||
|
\leftskip\wd\mybox%
|
||||||
|
\llap{\box\mybox}%
|
||||||
|
\def\infostring{}%
|
||||||
|
\possiblyuse{title}%
|
||||||
|
\possiblyuse{level}%
|
||||||
|
\possiblyuse{@credits}%
|
||||||
|
\possiblyuse{how}%
|
||||||
|
\possiblyuse{time}%
|
||||||
|
\possiblyuse{@examtext}%
|
||||||
|
\possiblyuse{@solution}%
|
||||||
|
\ifx\infostring\@empty\else{\textcolor{black}{\infostring}}\fi\hfill%
|
||||||
|
\par}%
|
||||||
|
}%
|
||||||
|
\ifx\exerciselabel\@undefined\else\expandafter\label\expandafter{\exerciselabel}\fi%
|
||||||
|
\pgfkeys{/ddi/exercise/at begin/.try}%
|
||||||
|
\ignorespaces
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\parskip0pt
|
||||||
|
\par\medskip
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand\insertexercisetext{\translate{Aufgabe}}
|
||||||
|
\newcommand\insertpointtext{Punkt}
|
||||||
|
\newcommand\insertpointstext{Punkte}
|
||||||
|
\newcommand\insertbonuspointtext{Bonuspunkt}
|
||||||
|
\newcommand\insertbonuspointstext{Bonuspunkte}
|
||||||
|
\newtranslation[to=German]{Aufgabe}{Aufgabe}
|
||||||
|
\newtranslation[to=English]{Aufgabe}{Problem}
|
||||||
|
|
||||||
|
\def\ddisetupcredits{%
|
||||||
|
\pgfkeysgetvalue{/ddi/exercise/credits}{\ddipoints}%
|
||||||
|
\ifx\ddipoints\@empty%
|
||||||
|
\ddi@plain@numberfalse%
|
||||||
|
\else%
|
||||||
|
\afterassignment\ddi@check\expandafter\@tempcnta\expandafter1\ddipoints\relax%
|
||||||
|
\fi%
|
||||||
|
\ifddi@plain@number%
|
||||||
|
\ifbonus%
|
||||||
|
\ifnum\ddipoints=1\relax%
|
||||||
|
\pgfkeys{/ddi/exercise/@credits/.expanded=\ddipoints\ \insertbonuspointtext}%
|
||||||
|
\else%
|
||||||
|
\pgfkeys{/ddi/exercise/@credits/.expanded=\ddipoints\ \insertbonuspointstext}%
|
||||||
|
\fi%
|
||||||
|
\else%
|
||||||
|
\ifnum\ddipoints=1\relax%
|
||||||
|
\pgfkeys{/ddi/exercise/@credits/.expanded=\ddipoints\ \insertpointtext}%
|
||||||
|
\else%
|
||||||
|
\pgfkeys{/ddi/exercise/@credits/.expanded=\ddipoints\ \insertpointstext}%
|
||||||
|
\fi%
|
||||||
|
\fi%
|
||||||
|
\else%
|
||||||
|
\pgfkeys{/ddi/exercise/@credits/.expanded=\ddipoints}%
|
||||||
|
\fi%
|
||||||
|
}
|
||||||
|
\newif\ifddi@plain@number
|
||||||
|
|
||||||
|
\def\ddi@check{%
|
||||||
|
\@ifnextchar\relax{\ddi@plain@numbertrue\ddi@gobble@to@stop}{\ddi@plain@numberfalse\ddi@gobble@to@stop}%
|
||||||
|
}
|
||||||
|
\def\ddi@gobble@to@stop#1\relax{}%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% Solutions
|
||||||
|
|
||||||
|
\pgfkeys{/ddi/solution/of/.initial=}
|
||||||
|
|
||||||
|
|
||||||
|
\renewenvironment{solution}[1][]
|
||||||
|
{
|
||||||
|
\pgfkeys{/ddi/solution/.cd,/ddi/every solution/.try,#1}
|
||||||
|
\parindent0pt%
|
||||||
|
\goodbreak\medskip\noindent
|
||||||
|
{\sffamily%
|
||||||
|
\parskip0pt\hilight{%
|
||||||
|
Beispiellösung zu \refexercise{\pgfkeysvalueof{/ddi/solution/of}}}\hfill
|
||||||
|
\par%
|
||||||
|
}%
|
||||||
|
\ignorespaces
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\parskip0pt
|
||||||
|
\par\medskip
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand\refexercise[1]{\insertexercisetext~\ref{#1}}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand\ddibordericon[1]{%
|
||||||
|
\llap{\smash{\hbox{#1}}\kern1ex}%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Rezept
|
||||||
|
\pgfkeys{/ddi/proof method/title/.initial=}
|
||||||
|
\pgfkeys{/ddi/proof method/goal/.initial=}
|
||||||
|
\pgfkeys{/ddi/proof method/also on frame/.initial=}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<article>
|
||||||
|
|
||||||
|
% \newenvironment{proof method}[1][]
|
||||||
|
% {
|
||||||
|
% \pgfkeys{/ddi/proof method/.cd,#1}
|
||||||
|
% \par%
|
||||||
|
% \vfil\penalty100\vfilneg%
|
||||||
|
% \begin{frame}{}
|
||||||
|
% \addcontentsline{lop}{subsection}{\pgfkeysvalueof{/ddi/proof method/title}}
|
||||||
|
% \advance\hsize by-20pt
|
||||||
|
% \setbox\mybox=\vbox
|
||||||
|
% \bgroup
|
||||||
|
% \begin{minipage}[t]{\textwidth-2.5cm-20pt}
|
||||||
|
% \textsf{\hilight{Beweisrezept f\"ur}\\ \large\pgfkeysvalueof{/ddi/proof method/title}\smallskip}
|
||||||
|
|
||||||
|
% \begin{block}{Ziel}
|
||||||
|
% \pgfkeysvalueof{/ddi/proof method/goal}
|
||||||
|
% \end{block}
|
||||||
|
% \end{minipage}\hskip5mm
|
||||||
|
% \begin{minipage}[t]{2cm}
|
||||||
|
% \ \par\vskip-1em\includegraphics[width=2cm]{ddi-icon-kochmuetze.pdf}
|
||||||
|
% \end{minipage}
|
||||||
|
% \par
|
||||||
|
% \begin{minipage}{\textwidth-20pt}
|
||||||
|
% \begin{block}{Rezept}
|
||||||
|
% }
|
||||||
|
% {
|
||||||
|
% \end{block}
|
||||||
|
% \end{minipage}
|
||||||
|
% \egroup%
|
||||||
|
% \parskip0pt
|
||||||
|
% \advance\hsize by20pt
|
||||||
|
% \vskip-1em{\fboxsep=1em%
|
||||||
|
% \color{structure.fg}\hrule height2pt depth0pt%
|
||||||
|
% \color{black}\colorbox{black90}{\box\mybox}%
|
||||||
|
% \color{structure.fg}\hrule height2pt%
|
||||||
|
% }\medskip
|
||||||
|
% \pgfkeysvalueof{/ddi/proof method/also on frame}
|
||||||
|
% \end{frame}
|
||||||
|
% }
|
||||||
|
|
||||||
|
|
||||||
|
\newenvironment{proof method}[1][]
|
||||||
|
{
|
||||||
|
\pgfkeys{/ddi/proof method/.cd,#1}
|
||||||
|
\par%
|
||||||
|
\vfil\penalty100\vfilneg%
|
||||||
|
\begin{frame}{\ddibordericon{\lower3pt\hbox{}}%\includegraphics[height=1.5em]{ddi-icon-kochmuetze.pdf}{}}}%
|
||||||
|
Rezept: \emph{\hilight{\pgfkeysvalueof{/ddi/proof method/title}}}}
|
||||||
|
\addcontentsline{lop}{subsection}{\pgfkeysvalueof{/ddi/proof method/title}}
|
||||||
|
\begin{block}{Ziel}
|
||||||
|
\emph{\pgfkeysvalueof{/ddi/proof method/goal}}
|
||||||
|
\end{block}
|
||||||
|
\begin{block}{Rezept}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\end{block}
|
||||||
|
\pgfkeysvalueof{/ddi/proof method/also on frame}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
% TikZ styles
|
||||||
|
%
|
||||||
|
|
||||||
|
\RequirePackage{tikz}
|
||||||
|
\usetikzlibrary{mindmap,trees,backgrounds,arrows,calendar,fadings,shadows,
|
||||||
|
matrix,shapes,shapes.geometric,shapes.misc,petri,fit,
|
||||||
|
decorations.markings,
|
||||||
|
decorations.pathmorphing,
|
||||||
|
decorations.pathreplacing,
|
||||||
|
}
|
||||||
|
|
||||||
|
\tikzset{
|
||||||
|
plain/.style={minimum size=0mm,shape=rectangle,font=,draw=none,thin,fill=none,inner
|
||||||
|
sep=0.333em,text depth=,text height=,text width=},
|
||||||
|
node/.style={minimum size=6mm,shape=circle,font=\small,draw=structure.fg,thick,
|
||||||
|
fill=structure.fg!10,inner sep=1pt
|
||||||
|
},
|
||||||
|
tiny node/.style={minimum size=3mm,shape=circle,font=\tiny,draw=structure.fg,thick,
|
||||||
|
fill=structure.fg!10,inner sep=0.3pt
|
||||||
|
},
|
||||||
|
long label/.style={shape=rounded rectangle,text depth=0.15em,text
|
||||||
|
height=0.7em},
|
||||||
|
rectangular/.style={rectangle,minimum height=1cm,minimum width=4cm,rounded corners},
|
||||||
|
box/.style={node,shape=rectangle},
|
||||||
|
blue node/.style={node,fill=blue!20,draw=blue},
|
||||||
|
tiny blue node/.style={tiny node,fill=blue!20,draw=blue},
|
||||||
|
red node/.style={node,fill=red!20,draw=red},
|
||||||
|
tiny red node/.style={tiny node,fill=red!20,draw=red},
|
||||||
|
orange node/.style={node,fill=orange!20,draw=orange},
|
||||||
|
tiny orange node/.style={tiny node,fill=orange!20,draw=orange},
|
||||||
|
green node/.style={node,fill=green!50!black!20,draw=green!50!black},
|
||||||
|
tiny green node/.style={tiny node,fill=green!50!black!20,draw=green!50!black},
|
||||||
|
black node/.style={node,fill=black!20,draw=black},
|
||||||
|
tiny black node/.style={tiny node,fill=black!20,draw=black},
|
||||||
|
gray node/.style={node,fill=black!20,draw=black!50,text=black!50},
|
||||||
|
tiny gray node/.style={tiny node,fill=black!20,draw=black!50,text=black!50},
|
||||||
|
graph/.style={semithick,>=spaced stealth'},
|
||||||
|
tree/.style={
|
||||||
|
every node/.style={node,long label},
|
||||||
|
edge from parent/.style={draw,>=spaced stealth',semithick},
|
||||||
|
grow=down,
|
||||||
|
level 1/.style={level distance=1cm,sibling distance=2cm},
|
||||||
|
level 2/.style={sibling distance=1cm}
|
||||||
|
},
|
||||||
|
reverse tree/.style={tree,edge from
|
||||||
|
parent/.style={draw,>=spaced stealth',semithick,<-}},
|
||||||
|
graphs/suffix tree/.style={
|
||||||
|
trie,
|
||||||
|
simple,
|
||||||
|
edges={nodes={inner sep=1pt,anchor=mid,fill=white}},
|
||||||
|
nodes={tiny node},
|
||||||
|
sibling distance=1.5cm,
|
||||||
|
empty nodes,
|
||||||
|
/tikz/every edge quotes/.style={}
|
||||||
|
},
|
||||||
|
graphs/trie graph/.style={
|
||||||
|
trie,
|
||||||
|
simple,
|
||||||
|
edges={nodes={inner sep=1pt,anchor=mid,fill=white}},
|
||||||
|
nodes={tiny node},
|
||||||
|
sibling distance=1.5cm,
|
||||||
|
put node text on incoming edges
|
||||||
|
},
|
||||||
|
labeling/.style={below right,inner sep=2pt,font=\scriptsize},
|
||||||
|
gate/.style={node,rectangle,minimum height=6mm,minimum width=4mm},
|
||||||
|
tiny gate/.style={gate,minimum size=0pt,inner sep=1pt,thin},
|
||||||
|
numbering/.style={circle,fill=structure.fg,text=white,inner sep=0.5pt,font=\footnotesize\sffamily,minimum size=1.25em},
|
||||||
|
tiny numbering/.style={numbering,font=\tiny\sffamily},
|
||||||
|
memory/.style={thick,draw=blue,fill=blue!20,rectangle,minimum width=#1cm,minimum height=5mm},
|
||||||
|
memory/.default=1,
|
||||||
|
var/.style={node,long label,minimum height=4.5mm,minimum width=1cm},
|
||||||
|
pointer/.style={shorten <=-8pt,*-spaced stealth',semithick},
|
||||||
|
petrinet/.style={
|
||||||
|
graph,
|
||||||
|
every transition/.style={font=\small,draw=blue,thick,fill=blue!20},
|
||||||
|
every place/.style={font=\small,draw=structure.fg,thick,fill=structure.fg!10,minimum
|
||||||
|
size=7mm}
|
||||||
|
},
|
||||||
|
automaton/.style={graph,every state/.style=node},
|
||||||
|
dot/.style={circle,fill=structure.fg,minimum size=4pt,inner sep=0pt,outer sep=0pt,draw=none},
|
||||||
|
slide/.style={
|
||||||
|
execute at end picture={
|
||||||
|
\pgfonlayer{background}
|
||||||
|
\fill [rounded corners,draw=black!15,very thick,fill=black!5]
|
||||||
|
([shift={(-3mm,-3mm)}]current bounding box.south west) rectangle ([shift={(3mm,3mm)}]current bounding box.north east);
|
||||||
|
\def\temp{#1}
|
||||||
|
\ifx\temp\pgfutil@empty
|
||||||
|
\path ([yshift=1.5mm]current bounding box.north);
|
||||||
|
\else
|
||||||
|
\node[node,draw=black!15,very thick,fill=white,long label,text
|
||||||
|
depth=1.5pt,text height=5pt,minimum height=3mm,minimum
|
||||||
|
width=6mm,font=\tiny\sffamily,right] at ([xshift=3mm]current bounding box.north west)
|
||||||
|
{#1};
|
||||||
|
\fi
|
||||||
|
\path ([yshift=-1.5mm]current bounding box.south);
|
||||||
|
\endpgfonlayer
|
||||||
|
}
|
||||||
|
},
|
||||||
|
slide/.default=
|
||||||
|
}
|
||||||
|
|
||||||
|
\pgfarrowsdeclarecombine*{spaced stealth'}{spaced
|
||||||
|
stealth'}{stealth'}{stealth'}{space}{space}
|
||||||
|
|
||||||
|
% Myriad fixes
|
||||||
|
|
||||||
|
\ifcd
|
||||||
|
\let\epsilon\varepsilon
|
||||||
|
\let\phi\varphi
|
||||||
|
\fi
|
||||||
|
|
||||||
|
% Till's two favorite macros
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<presentation>
|
||||||
|
\newcommand\Class[1]{\mathsf{#1}}
|
||||||
|
\newcommand\Lang[1]{\text{\normalfont\footnotesize{\uppercase{#1}}}}
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<article>
|
||||||
|
\newcommand\Class[1]{\mathchoice{\text{\upshape\small$\mathrm{#1}$}}{\text{\upshape\small$\mathrm{#1}$}}{\text{\upshape$\mathrm{#1}$}}{\text{\upshape$\mathrm{#1}$}}}
|
||||||
|
\newcommand\Lang[1]{\text{\normalfont\textsc{\lowercase{#1}}}}
|
||||||
|
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
75
ahilbig-letterspace.sty
Normal file
75
ahilbig-letterspace.sty
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
% -*- coding: utf-8; -*-
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: ahilbig-letterspace.sty |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
|
||||||
|
\ProvidesPackage{ahilbig-letterspace}
|
||||||
|
|
||||||
|
\RequirePackage{ifluatex}
|
||||||
|
|
||||||
|
\def\textlsuppercase#1{\edef\temp{#1}\textls{\expandafter\uppercase\expandafter{\temp}}}
|
||||||
|
|
||||||
|
\newbox\lectureletterbox
|
||||||
|
\newif\iflec@uppercasetextls
|
||||||
|
|
||||||
|
\ifluatex
|
||||||
|
|
||||||
|
\def\textls#1{%
|
||||||
|
\begingroup
|
||||||
|
\def\.{\relax}
|
||||||
|
\lec@uppercasetextlsfalse
|
||||||
|
\edef\lec@temp{#1}%
|
||||||
|
\expandafter\textls@\lec@temp\pgf@stop%
|
||||||
|
}
|
||||||
|
\def\textlsuppercase#1{%
|
||||||
|
\begingroup
|
||||||
|
\def\.{\relax}
|
||||||
|
\lec@uppercasetextlstrue
|
||||||
|
\edef\lec@temp{#1}%
|
||||||
|
\expandafter\textls@word\lec@temp\. \pgf@stop%
|
||||||
|
}
|
||||||
|
\def\textls@word#1 #2\pgf@stop{%
|
||||||
|
\textls@#1\pgf@stop%
|
||||||
|
\def\pgf@temp{#2}%
|
||||||
|
\ifx\pgf@temp\pgfutil@empty%
|
||||||
|
\endgroup%
|
||||||
|
\else%
|
||||||
|
\ \kern.3ex%
|
||||||
|
\textls@word#2\pgf@stop%
|
||||||
|
\fi%
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\textls@{%
|
||||||
|
\pgfutil@ifnextchar\pgf@stop{\pgfutil@gobble}{%
|
||||||
|
\pgfutil@ifnextchar\unhbox{\textls@@gobbeltwo}{%
|
||||||
|
\pgfutil@ifnextchar\penalty{\textls@@gobbeltwo}{%
|
||||||
|
\textls@@}}}%
|
||||||
|
}
|
||||||
|
\def\textls@@#1{%
|
||||||
|
\iflec@uppercasetextls\uppercase{#1}\else#1\fi\kern0.3ex\textls@%
|
||||||
|
}
|
||||||
|
\def\textls@@gobbeltwo#1#2{\textls@}
|
||||||
|
|
||||||
|
\fi
|
1797
ahilbig-presentation.sty
Normal file
1797
ahilbig-presentation.sty
Normal file
File diff suppressed because it is too large
Load Diff
1862
ahilbig-script.sty
Normal file
1862
ahilbig-script.sty
Normal file
File diff suppressed because it is too large
Load Diff
533
ahilbig-semester.sty
Normal file
533
ahilbig-semester.sty
Normal file
@ -0,0 +1,533 @@
|
|||||||
|
% -*- coding: utf-8; -*-
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: ahilbig-semester.sty |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
|
||||||
|
\ProvidesPackage{ahilbig-semester}
|
||||||
|
|
||||||
|
\RequirePackage{pgffor}
|
||||||
|
\RequirePackage{pgfcalendar}
|
||||||
|
\RequirePackage{soul,color} % wg. \hl ... = highlight
|
||||||
|
\RequirePackage{multicol}
|
||||||
|
|
||||||
|
\RequirePackage[
|
||||||
|
backend=biber
|
||||||
|
,sortlocale=de_DE%.UTF-8
|
||||||
|
,style=authoryear
|
||||||
|
,bibencoding=UTF8
|
||||||
|
,block=space
|
||||||
|
,autocite=inline % \autocite[..][..]{..} erzeugt Literaturverweise mit runden Klammern
|
||||||
|
]{biblatex}
|
||||||
|
|
||||||
|
|
||||||
|
\RequirePackage[scale=1.9]{ccicons}
|
||||||
|
\newenvironment{topcolumns}{\begin{columns}[t]}{\end{columns}}
|
||||||
|
\RequirePackage{isodate}
|
||||||
|
\newcommand*\jahr{\number\year}
|
||||||
|
\newcounter{jahrp}
|
||||||
|
\addtocounter{jahrp}{\jahr}
|
||||||
|
\stepcounter{jahrp}
|
||||||
|
\newcommand*\sommersemester{\jahr}
|
||||||
|
\newcommand*\wintersemester{\jahr/\thejahrp}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Semester dates
|
||||||
|
%
|
||||||
|
|
||||||
|
% Sets the dates of the semester.
|
||||||
|
%
|
||||||
|
% Usage: \setsummerdates{first date of semester}{first lecture date}%
|
||||||
|
% {last lecture date}{last date of semester}
|
||||||
|
|
||||||
|
\def\setsummerdates#1#2#3#4{%
|
||||||
|
\edef\lec@summerstart{#1}
|
||||||
|
\edef\lec@summerfirstlec{#2}
|
||||||
|
\edef\lec@summerlastlec{#3}
|
||||||
|
\edef\lec@summerend{#4}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\setwinterdates#1#2#3#4{%
|
||||||
|
\edef\lec@winterstart{#1}
|
||||||
|
\edef\lec@winterfirstlec{#2}
|
||||||
|
\edef\lec@winterlastlec{#3}
|
||||||
|
\edef\lec@winterend{#4}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Getter and setter:
|
||||||
|
|
||||||
|
\def\getsummerstartdate{\lec@summerstart}
|
||||||
|
\def\getsummerfirstlecturedate{\lec@summerfirstlec}
|
||||||
|
\def\getsummerlastlecturedate{\lec@summerlastlec}
|
||||||
|
\def\getsummerenddate{\lec@summerend}
|
||||||
|
|
||||||
|
\def\getwinterstartdate{\lec@winterstart}
|
||||||
|
\def\getwinterfirstlecturedate{\lec@winterfirstlec}
|
||||||
|
\def\getwinterlastlecturedate{\lec@winterlastlec}
|
||||||
|
\def\getwinterenddate{\lec@winterend}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Lectures
|
||||||
|
%
|
||||||
|
|
||||||
|
% Sets the lecture dates.
|
||||||
|
%
|
||||||
|
% Usage:
|
||||||
|
%
|
||||||
|
% \lecturelistofdates{
|
||||||
|
% 2013-01-01,
|
||||||
|
% 2013-02-28,
|
||||||
|
% 2013-12-24,
|
||||||
|
% }
|
||||||
|
|
||||||
|
\def\lecturelistofdates#1{
|
||||||
|
\foreach \lec@date[count=\lec@i] in {#1} {
|
||||||
|
\expandafter\xdef\csname lec@date@\lec@i\endcsname{\lec@date}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Sets the exercise dates.
|
||||||
|
%
|
||||||
|
% Usage:
|
||||||
|
%
|
||||||
|
% \exerciselistofdates{
|
||||||
|
% 2013-01-01->2013-01-08,
|
||||||
|
% 2013-02-28->2013-03-07,
|
||||||
|
% 2013-12-24->2013-12-31,
|
||||||
|
% }
|
||||||
|
|
||||||
|
\def\exerciselistofdates#1{%
|
||||||
|
\def\ex@parsedates##1->##2\foo{%
|
||||||
|
\def\ex@tutorial{##1}%
|
||||||
|
\def\ex@deadline{##2}%
|
||||||
|
}%
|
||||||
|
\foreach \ex@date[count=\ex@i] in {#1} {%
|
||||||
|
\edef\ex@tmpdate{\ex@date}%
|
||||||
|
\expandafter\ex@parsedates\ex@tmpdate\foo
|
||||||
|
\expandafter\xdef\csname ex@tutorial@\ex@i\endcsname{\ex@tutorial}%
|
||||||
|
\expandafter\xdef\csname ex@deadline@\ex@i\endcsname{\ex@deadline}%
|
||||||
|
}%
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcount\lec@lastlecnumber % stores the last lecture id
|
||||||
|
\newcount\ex@lastexercisenumber % same for exercise id
|
||||||
|
|
||||||
|
% Sets the chronological list of lectures with their ids.
|
||||||
|
%
|
||||||
|
% \lecturelistofids{
|
||||||
|
% <lecture id>,
|
||||||
|
% <lecture id>,
|
||||||
|
% <lecture id>,
|
||||||
|
% }
|
||||||
|
|
||||||
|
\def\lecturelistofids#1{
|
||||||
|
\foreach \lec@id[count=\lec@i] in {#1} {
|
||||||
|
\expandafter\xdef\csname lec@id@\lec@i\endcsname{\lec@id}%
|
||||||
|
\expandafter\xdef\csname lec@number@\lec@id\endcsname{\lec@i}%
|
||||||
|
\global\lec@lastlecnumber=\lec@i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Sets the chronological list of exercises with their ids.
|
||||||
|
%
|
||||||
|
% \exerciselistofids{
|
||||||
|
% <exercise id>,
|
||||||
|
% <exercise id>,
|
||||||
|
% <exercise id>,
|
||||||
|
% }
|
||||||
|
|
||||||
|
\def\exerciselistofids#1{
|
||||||
|
\foreach \ex@id[count=\ex@i] in {#1} {
|
||||||
|
\expandafter\xdef\csname ex@id@\ex@i\endcsname{\ex@id}%
|
||||||
|
\expandafter\xdef\csname ex@number@\ex@id\endcsname{\ex@i}%
|
||||||
|
\global\ex@lastexercisenumber=\ex@i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Testing whether a lecture exists
|
||||||
|
|
||||||
|
\def\ddiiflectureidexists#1#2#3{%
|
||||||
|
\expandafter\ifx\csname lec@number@#1\endcsname\relax%
|
||||||
|
#3\else#2\fi%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Testing whether an exercise exists
|
||||||
|
|
||||||
|
\def\ddiifexerciseidexists#1#2#3{%
|
||||||
|
\expandafter\ifx\csname ex@number@#1\endcsname\relax%
|
||||||
|
#3\else#2\fi%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
% Starts a new lecture. This defines the lecture title, subtitle, and
|
||||||
|
% the date for the next \maketitle command. Furthermore it sets the
|
||||||
|
% lecture number and defines a corresponding label.
|
||||||
|
%
|
||||||
|
% Usage: \lecturewithid{<lecture id>}
|
||||||
|
|
||||||
|
\def\lecturewithid#1#2#3{
|
||||||
|
\lecture[\getlecturenumberfromid{#1}]{#2}{lecture-#1}
|
||||||
|
\subtitle{#3}
|
||||||
|
\date{\getlecturedatefromid{#1}}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Starts a new exercise. This defines the sheet number, date of the
|
||||||
|
% tutorial, and the date for the next \maketitle command. Furthermore
|
||||||
|
% it sets the exercise number and defines a corresponding label.
|
||||||
|
%
|
||||||
|
% Usage: \exercisewithid{<exercise id>}
|
||||||
|
|
||||||
|
\def\exercisewithid#1{%
|
||||||
|
\def\insertsheetnumber{\getexercisenumberfromid{#1}}%
|
||||||
|
\edef\ddi@tmpdeadline{\get@exercisedeadlinedatefromid{#1}}%
|
||||||
|
\def\ddi@none{none}%
|
||||||
|
\let\insertdeadline=\undefined
|
||||||
|
\ifx\ddi@none\ddi@tmpdeadline\else
|
||||||
|
\def\insertdeadline{\getexercisedeadlinedatefromid{#1}}%
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
% Getter and setter:
|
||||||
|
%
|
||||||
|
% Lecture
|
||||||
|
\def\getlecturedatefromid#1{%
|
||||||
|
\edef\ddi@tmp@isodate{\csname lec@date@\getlecturenumberfromid{#1}\endcsname}%
|
||||||
|
\expandafter\ddi@isodatetohumanreadable\ddi@tmp@isodate\pgf@stop%
|
||||||
|
}
|
||||||
|
\def\sem@getisodatefromlectureid#1{\csname lec@date@\getlecturenumberfromid{#1}\endcsname}
|
||||||
|
\def\getlecturenumberfromid#1{\csname lec@number@#1\endcsname}
|
||||||
|
|
||||||
|
% Exercise
|
||||||
|
\def\getexercisedeadlinedatefromid#1{%
|
||||||
|
\edef\ddi@tmp@deadlineisodate{\csname ex@deadline@\getexercisenumberfromid{#1}\endcsname}%
|
||||||
|
\edef\ddi@tmp@none{none}%
|
||||||
|
\edef\ddi@tmp{\ddi@tmp@deadlineisodate}%
|
||||||
|
\ifx\ddi@tmp@none\ddi@tmp
|
||||||
|
\def\ddi@tmp@deadlinedate{keine Abgabe}%
|
||||||
|
\else
|
||||||
|
\def\ddi@tmp@deadlinedate{\expandafter\ddi@isodatetohumanreadable\ddi@tmp@deadlineisodate\pgf@stop}%
|
||||||
|
\fi
|
||||||
|
\ddi@tmp@deadlinedate%
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\get@exercisedeadlinedatefromid#1{%
|
||||||
|
\csname ex@deadline@\getexercisenumberfromid{#1}\endcsname
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\getexercisetutorialdatefromid#1{%
|
||||||
|
\edef\ddi@tmp@isodate{\csname ex@tutorial@\getexercisenumberfromid{#1}\endcsname}%
|
||||||
|
\expandafter\ddi@isodatetohumanreadable\ddi@tmp@isodate\pgf@stop%
|
||||||
|
}
|
||||||
|
\def\sem@getisodatefromexerciseid#1{\csname ex@date@\getexercisenumberfromid{#1}\endcsname}
|
||||||
|
\def\getexercisenumberfromid#1{\csname ex@number@#1\endcsname}
|
||||||
|
|
||||||
|
\def\lecturegetfirstdate{\sem@getisodatefromlectureid{1}}
|
||||||
|
\def\lecturegetlastdate{\sem@getisodatefromlectureid{\lec@lastlecnumber}}
|
||||||
|
|
||||||
|
\def\setsummerfirstlectureid#1{\edef\lec@summerfirstlectureid{#1}}
|
||||||
|
\def\setsummerlastlectureid#1{\edef\lec@summerlastlectureid{#1}}
|
||||||
|
\def\setwinterfirstlectureid#1{\edef\lec@winterfirstlectureid{#1}}
|
||||||
|
\def\setwinterlastlectureid#1{\edef\lec@winterlastlectureid{#1}}
|
||||||
|
|
||||||
|
\def\getsummerfirstlectureid{\lec@summerfirstlectureid}
|
||||||
|
\def\getsummerlastlectureid{\lec@summerlastlectureid}
|
||||||
|
\def\getwinterfirstlectureid{\lec@winterfirstlectureid}
|
||||||
|
\def\getwinterlastlectureid{\lec@winterlastlectureid}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Lecture titles and subtitles.
|
||||||
|
%
|
||||||
|
|
||||||
|
\def\getlecturetitlefromid#1{\sem@getlecturetitlesfromid{#1}\sem@lecturetitle}
|
||||||
|
\def\getlecturesubtitlefromid#1{\sem@getlecturetitlesfromid{#1}\sem@lecturesubtitle}
|
||||||
|
|
||||||
|
\newif\ifsem@continuereadfile
|
||||||
|
|
||||||
|
\def\sem@empty{}
|
||||||
|
\def\sem@lecturetitle{}
|
||||||
|
\def\sem@lecturesubtitle{}
|
||||||
|
|
||||||
|
\newread\sem@lecturetitlesinputstream
|
||||||
|
\newread\sem@exercisetitlesinputstream
|
||||||
|
|
||||||
|
% Searches the body file of lecture with id #1 for the first
|
||||||
|
% occurrence of \lecturewithid at the very beginning of a line and
|
||||||
|
% stores the corresponding lecture title and subtitle in the macros
|
||||||
|
% \sem@lecturetitle and \sem@lecturesubtitle respectively.
|
||||||
|
%
|
||||||
|
\newread\sem@inputstream%
|
||||||
|
|
||||||
|
\def\sem@getlecturetitlesfromid#1{%
|
||||||
|
% Set iteration condition.
|
||||||
|
\sem@continuereadfiletrue%
|
||||||
|
%
|
||||||
|
% Macro for extracting and saving the result.
|
||||||
|
\def\sem@extractlecturetitles##1##2##3 \lecturewithid{%
|
||||||
|
\def\sem@lecturetitle{##2}%
|
||||||
|
\def\sem@lecturesubtitle{##3}%
|
||||||
|
}%
|
||||||
|
%
|
||||||
|
% Macro for examining the line.
|
||||||
|
\long\def\sem@checkandgetargument##1\lecturewithid##2\pgf@stop{%
|
||||||
|
% Prepare for \ifx check.
|
||||||
|
\def\sem@tmp{##1}%
|
||||||
|
\def\sem@tmpa{##2}%
|
||||||
|
\ifx\sem@tmp\sem@empty%
|
||||||
|
\ifx\sem@tmpa\sem@empty%
|
||||||
|
\else%
|
||||||
|
% We found the line!
|
||||||
|
\sem@continuereadfilefalse%
|
||||||
|
% Extract and store the result.
|
||||||
|
\expandafter\sem@extractlecturetitles##2%
|
||||||
|
\fi%
|
||||||
|
\fi%
|
||||||
|
}%
|
||||||
|
%
|
||||||
|
% Open the corresponding file.
|
||||||
|
\immediate\openin\sem@lecturetitlesinputstream=\sem@lecgetbodyfilefromid{#1}%
|
||||||
|
% Iterate over the lines.
|
||||||
|
\loop \ifsem@continuereadfile%
|
||||||
|
% Read the next line.
|
||||||
|
\immediate\read\sem@lecturetitlesinputstream to \sem@nextline
|
||||||
|
% Examine the line.
|
||||||
|
\expandafter\sem@checkandgetargument\sem@nextline\lecturewithid\pgf@stop%
|
||||||
|
\repeat%
|
||||||
|
% We're done. Close the input stream.
|
||||||
|
\immediate\closein\sem@lecturetitlesinputstream
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\sem@getexercisetitlesfromid#1{%
|
||||||
|
% Set iteration condition.
|
||||||
|
\sem@continuereadfiletrue%
|
||||||
|
%
|
||||||
|
% Macro for extracting and saving the result.
|
||||||
|
\def\sem@extractexercisetitles##1 \title{%
|
||||||
|
\def\sem@exercisetitle{##1}%
|
||||||
|
}%
|
||||||
|
%
|
||||||
|
% Macro for examining the line.
|
||||||
|
\long\def\sem@checkandgetargument##1\title##2\pgf@stop{%
|
||||||
|
% Prepare for \ifx check.
|
||||||
|
\def\sem@tmp{##1}%
|
||||||
|
\def\sem@tmpa{##2}%
|
||||||
|
\ifx\sem@tmp\sem@empty%
|
||||||
|
\ifx\sem@tmpa\sem@empty%
|
||||||
|
\else%
|
||||||
|
% We found the line!
|
||||||
|
\sem@continuereadfilefalse%
|
||||||
|
% Extract and store the result.
|
||||||
|
\expandafter\sem@extractexercisetitles##2%
|
||||||
|
\fi%
|
||||||
|
\fi%
|
||||||
|
}%
|
||||||
|
%
|
||||||
|
% Open the corresponding file.
|
||||||
|
\immediate\openin\sem@exercisetitlesinputstream=\sem@exgetbodyfilefromid{#1}%
|
||||||
|
% Iterate over the lines.
|
||||||
|
\loop \ifsem@continuereadfile%
|
||||||
|
% Read the next line.
|
||||||
|
\immediate\read\sem@exercisetitlesinputstream to \sem@nextline
|
||||||
|
% Examine the line.
|
||||||
|
\expandafter\sem@checkandgetargument\sem@nextline\title\pgf@stop%
|
||||||
|
\repeat%
|
||||||
|
% We're done. Close the input stream.
|
||||||
|
\immediate\closein\sem@exercisetitlesinputstream
|
||||||
|
}
|
||||||
|
|
||||||
|
% To my future me:
|
||||||
|
% You once really liked the two macros above.
|
||||||
|
|
||||||
|
%
|
||||||
|
% Lecture Parts
|
||||||
|
%
|
||||||
|
|
||||||
|
\newcount\sem@numberofparts % stores the number of ranges
|
||||||
|
|
||||||
|
% Sets the lecture parts.
|
||||||
|
%
|
||||||
|
% Usage:
|
||||||
|
% \lecturelistofparts{
|
||||||
|
% <id of first lecture in part>=<parttitle>,
|
||||||
|
% <id of first lecture in part>=<parttitle>,
|
||||||
|
% }
|
||||||
|
|
||||||
|
\def\lecturelistofparts#1{
|
||||||
|
\foreach \sem@partstartidandtitle[count=\map@i] in {#1} {
|
||||||
|
\expandafter\sem@parse@partstartidandtitle\sem@partstartidandtitle\pgf@stop{\map@i}
|
||||||
|
\global\sem@numberofparts=\map@i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\sem@parse@partstartidandtitle#1=#2\pgf@stop#3{
|
||||||
|
\expandafter\gdef\csname sem@partstart@lectureid@#3\endcsname{#1}
|
||||||
|
\expandafter\gdef\csname sem@partstart@title@#3\endcsname{#2}
|
||||||
|
}
|
||||||
|
|
||||||
|
% Getter and setter.
|
||||||
|
|
||||||
|
\def\sem@getnumberofsemesterparts{\the\sem@numberofparts}
|
||||||
|
\def\sem@getlectureidfrompartnumber#1{\csname sem@partstart@lectureid@#1\endcsname}
|
||||||
|
\def\sem@getparttitlefrompartnumber#1{\csname sem@partstart@title@#1\endcsname}
|
||||||
|
|
||||||
|
|
||||||
|
% Translates lecture ids to file names. This is required for
|
||||||
|
% - automatically inserting the lecture targets into the map,
|
||||||
|
% - extraction of the lecture titles and subtitles of the body
|
||||||
|
% files.
|
||||||
|
%
|
||||||
|
% This translation process should be removed, but this requires
|
||||||
|
% appropriate renaming of the folders within lecture_slides.
|
||||||
|
|
||||||
|
\def\lectureidstofoldernamelist#1{
|
||||||
|
\foreach \sem@idfilenametuple in {#1} {
|
||||||
|
\expandafter\sem@parse@idandfilename\sem@idfilenametuple\pgf@stop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\sem@parse@idandfilename#1=#2\pgf@stop{
|
||||||
|
\expandafter\xdef\csname sem@filename@#1\endcsname{../#2/body.tex}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\sem@getbodyfilefromid#1{\csname sem@filename@#1\endcsname}
|
||||||
|
\def\sem@lecgetbodyfilefromid#1{../lecture_slides/#1/body.tex}
|
||||||
|
\def\sem@exgetbodyfilefromid#1{../exercises/#1/body.tex}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
% The following macro creates the file podcasts.aux that is required
|
||||||
|
% for creating the XML files for Till's podcasts. In this file, the
|
||||||
|
% i'th line consists of the title and the subtitle of the i'th
|
||||||
|
% lecture, separated by two hashmarks.
|
||||||
|
|
||||||
|
\def\makeauxfiles{%
|
||||||
|
% Open outstreams
|
||||||
|
\message{^^JOpening outstreams.^^J}
|
||||||
|
\newwrite\pod@auxfile \immediate\openout\pod@auxfile=podcasts.aux
|
||||||
|
\newwrite\pres@auxfile \immediate\openout\pres@auxfile=upload-presentation-files.aux
|
||||||
|
\newwrite\preswiki@auxfile \immediate\openout\preswiki@auxfile=wiki-presentation-files.aux
|
||||||
|
\newwrite\ex@auxfile \immediate\openout\ex@auxfile=upload-exercise-files.aux
|
||||||
|
\newwrite\exwiki@auxfile \immediate\openout\exwiki@auxfile=wiki-exercise-files.aux
|
||||||
|
|
||||||
|
% Define counters for the following loop that iterates over all the
|
||||||
|
% lecture numbers.
|
||||||
|
\newcount\pod@tmpcnt \pod@tmpcnt=0
|
||||||
|
\newcount\pod@lecmax \pod@lecmax=\lec@lastlecnumber
|
||||||
|
|
||||||
|
\newcount\ex@tmpcnt \ex@tmpcnt=0
|
||||||
|
\newcount\ex@maxcnt \ex@maxcnt=\ex@lastexercisenumber
|
||||||
|
|
||||||
|
% Create temporary token registers
|
||||||
|
\newtoks\pod@titletoks
|
||||||
|
\newtoks\pod@subtitletoks
|
||||||
|
|
||||||
|
% Generate lecture files
|
||||||
|
\message{^^JGenerating lecture files.}
|
||||||
|
\message{Considering the following lecture IDs:^^J}
|
||||||
|
\loop
|
||||||
|
\def\lectureid{\csname lec@id@\the\pod@tmpcnt\endcsname}
|
||||||
|
\advance\pod@tmpcnt by 1
|
||||||
|
{
|
||||||
|
\sem@getlecturetitlesfromid{\lectureid}
|
||||||
|
\expandafter\global\expandafter\pod@titletoks\expandafter=\expandafter{\sem@lecturetitle}
|
||||||
|
\expandafter\global\expandafter\pod@subtitletoks\expandafter=\expandafter{\sem@lecturesubtitle}
|
||||||
|
\message{\the\pod@tmpcnt. \lectureid: \the\pod@titletoks^^J}
|
||||||
|
}
|
||||||
|
\immediate\write\pod@auxfile{\the\pod@titletoks__\the\pod@subtitletoks}
|
||||||
|
\immediate\write\pres@auxfile{\lectureid}
|
||||||
|
\edef\ddi@tmp@isodate{\csname lec@date@\getlecturenumberfromid{\lectureid}\endcsname}%
|
||||||
|
\immediate\write\preswiki@auxfile{%
|
||||||
|
1. [attachment:\lectureid.pdf Vorlesung: \the\pod@titletoks],
|
||||||
|
\expandafter\ddi@isodatetohumanreadable\ddi@tmp@isodate\pgf@stop%
|
||||||
|
}
|
||||||
|
\ifnum\pod@tmpcnt<\pod@lecmax
|
||||||
|
\repeat
|
||||||
|
|
||||||
|
\message{^^JFinished generating lecture files.^^J}
|
||||||
|
|
||||||
|
% Create temporary token registers
|
||||||
|
\newtoks\ex@titletoks
|
||||||
|
|
||||||
|
\message{^^JGenerating exercise files.}
|
||||||
|
\message{Considering the following exercise IDs:^^J}
|
||||||
|
|
||||||
|
% Generate exercise files
|
||||||
|
\loop
|
||||||
|
\def\exerciseid{\csname ex@id@\the\ex@tmpcnt\endcsname}
|
||||||
|
\advance\ex@tmpcnt by 1
|
||||||
|
{
|
||||||
|
\sem@getexercisetitlesfromid{\exerciseid}
|
||||||
|
\expandafter\global\expandafter\ex@titletoks\expandafter=\expandafter{\sem@exercisetitle}
|
||||||
|
\message{\the\ex@tmpcnt. \exerciseid: \the\ex@titletoks^^J}
|
||||||
|
}
|
||||||
|
\immediate\write\ex@auxfile{\exerciseid}
|
||||||
|
\edef\ddi@tmp@tutorialisodate{\csname ex@tutorial@\getexercisenumberfromid{\exerciseid}\endcsname}%
|
||||||
|
\edef\ddi@tmp@tutorialdate{\expandafter\ddi@isodatetohumanreadable\ddi@tmp@tutorialisodate\pgf@stop}%
|
||||||
|
\edef\ddi@tmp@deadlineisodate{\csname ex@deadline@\getexercisenumberfromid{\exerciseid}\endcsname}%
|
||||||
|
% Check whether sheet has deadline or not
|
||||||
|
\def\ddi@tmp@none{none}%
|
||||||
|
\edef\ddi@tmp{\ddi@tmp@deadlineisodate}%
|
||||||
|
\ifx\ddi@tmp@none\ddi@tmp
|
||||||
|
\def\ddi@tmp@deadlinedate{keine Abgabe}
|
||||||
|
\else
|
||||||
|
\def\ddi@tmp@deadlinedate{\expandafter\ddi@isodatetohumanreadable\ddi@tmp@deadlineisodate\pgf@stop}%
|
||||||
|
\fi
|
||||||
|
\immediate\write\exwiki@auxfile{%
|
||||||
|
|| [attachment:\exerciseid.pdf \the\ex@tmpcnt. Übung: \the\ex@titletoks]
|
||||||
|
|| \ddi@tmp@tutorialdate || \ddi@tmp@deadlinedate ||%
|
||||||
|
}
|
||||||
|
\ifnum\ex@tmpcnt<\ex@maxcnt
|
||||||
|
\repeat
|
||||||
|
|
||||||
|
\message{^^JFinished generating exercise files.^^J}
|
||||||
|
\message{^^JClosing outstreams.^^J}
|
||||||
|
|
||||||
|
% Close outstreams
|
||||||
|
\closeout\pod@auxfile
|
||||||
|
\closeout\pres@auxfile
|
||||||
|
\closeout\preswiki@auxfile
|
||||||
|
\closeout\ex@auxfile
|
||||||
|
\closeout\exwiki@auxfile
|
||||||
|
|
||||||
|
\message{Finished. Bye^^J^^J}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\ddi@isodatetohumanreadable#1-#2-#3\pgf@stop{%
|
||||||
|
\number#3. \translate{\ddi@arabmonth@to@textmonth{#2}} #1}
|
||||||
|
|
||||||
|
\def\ddi@arabmonth@to@textmonth#1{\csname ddi@monthname@#1\endcsname}
|
||||||
|
|
||||||
|
\expandafter\def\csname ddi@monthname@01\endcsname{Januar}
|
||||||
|
\expandafter\def\csname ddi@monthname@02\endcsname{Februar}
|
||||||
|
\expandafter\def\csname ddi@monthname@03\endcsname{März}
|
||||||
|
\expandafter\def\csname ddi@monthname@04\endcsname{April}
|
||||||
|
\expandafter\def\csname ddi@monthname@05\endcsname{Mai}
|
||||||
|
\expandafter\def\csname ddi@monthname@06\endcsname{Juni}
|
||||||
|
\expandafter\def\csname ddi@monthname@07\endcsname{Juli}
|
||||||
|
\expandafter\def\csname ddi@monthname@08\endcsname{August}
|
||||||
|
\expandafter\def\csname ddi@monthname@09\endcsname{September}
|
||||||
|
\expandafter\def\csname ddi@monthname@10\endcsname{Oktober}
|
||||||
|
\expandafter\def\csname ddi@monthname@11\endcsname{November}
|
||||||
|
\expandafter\def\csname ddi@monthname@12\endcsname{Dezember}
|
47
bib-config.tex
Normal file
47
bib-config.tex
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: bib-config.tex |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
|
||||||
|
\only<article>{%
|
||||||
|
\cleardoublepage
|
||||||
|
\refstepcounter{chapter}
|
||||||
|
{\sloppy\printbibliography[heading=bibchap]}
|
||||||
|
}
|
||||||
|
\only<presentation>{%
|
||||||
|
\begin{frame}[allowframebreaks]{Literatur}
|
||||||
|
\setbeamertemplate{bibliography item}[text]
|
||||||
|
\printbibliography[heading=bibliography]
|
||||||
|
|
||||||
|
\dotfill{}
|
||||||
|
\begin{center}
|
||||||
|
Dieses Dokument wird unter der folgenden Creative-Commons-Lizenz
|
||||||
|
ver"offentlicht:
|
||||||
|
|
||||||
|
\insertCC
|
||||||
|
|
||||||
|
\url{http://creativecommons.org/licenses/by-nc-sa/4.0/}
|
||||||
|
\end{center}
|
||||||
|
\end{frame}
|
||||||
|
}
|
78
body.tex
Normal file
78
body.tex
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: body.tex |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
\providecommand\hutAuf{M. Musterfrau}
|
||||||
|
|
||||||
|
\lecturewithid{id-vortrag}{Titel}{Untertitel \hfill \textcolor{blue!50}{Martha Musterfrau}}
|
||||||
|
\label{musterlabel}
|
||||||
|
|
||||||
|
\begin{body}
|
||||||
|
\begin{frame}
|
||||||
|
\maketitle
|
||||||
|
% Titel
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{lecture notes intro}
|
||||||
|
Einleitender Text im Skriptum
|
||||||
|
\end{lecture notes intro}
|
||||||
|
|
||||||
|
\begin{learning targets}
|
||||||
|
\item Dies sind die Ziele des Vortrags
|
||||||
|
\end{learning targets}
|
||||||
|
|
||||||
|
|
||||||
|
\mode
|
||||||
|
<all>
|
||||||
|
|
||||||
|
\only<article>{
|
||||||
|
\section{Allgemeine Infos}
|
||||||
|
Diese Sektion und dieser Text werden nur im Skriptum gesetzt!
|
||||||
|
}
|
||||||
|
|
||||||
|
\section{Beginn}
|
||||||
|
\begin{frame}
|
||||||
|
\begin{center}
|
||||||
|
Dies ist die erste Folie unter der Sektion Beginn!
|
||||||
|
\end{center}
|
||||||
|
\begin{lecture notes only}[Regie]
|
||||||
|
\only<article>{
|
||||||
|
Hier könnte eine Regieanweisung nur für das Skriptum stehen!
|
||||||
|
}
|
||||||
|
\end{lecture notes only}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\section{Mittelteil}
|
||||||
|
\subsection{Unterpunkt}
|
||||||
|
|
||||||
|
\begin{frame}{Weitere Folien}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Hier ist eine weitere Folie mit...\pause
|
||||||
|
\item Schrittweiser Aufdeckung\pause
|
||||||
|
\item Im Skriptum entsteht eine Folie!
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\end{body}
|
||||||
|
|
151
config.tex
Normal file
151
config.tex
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: config.tex |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
\def\university{ZfsL Essen\\ Carl-Humann-Gymnasium Essen-Steele}
|
||||||
|
\def\universitaet{ZfsL Essen\\ Carl-Humann-Gymnasium Essen-Steele}
|
||||||
|
\def\unishort{CHG}
|
||||||
|
|
||||||
|
\institute[ZfsL Essen -- CHG-Essen]
|
||||||
|
{%
|
||||||
|
Zentrum für schulpraktische Lehrerbildung Essen\\
|
||||||
|
Carl-Humann-Gymnasium Essen-Steele
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\insertauthortitle{Martha Musterfrau}
|
||||||
|
\def\insertnameetal{\insertauthortitle{} –
|
||||||
|
Martha Musterfrau – http://marthamusterfrau.de/ –
|
||||||
|
CC-Lizenz: http://creativecommons.org/licenses/by-nc-sa/4.0/}
|
||||||
|
\def\inserturl{http://martamusterfrau.de/}
|
||||||
|
\def\insertCC{\ccbyncsaeu{}}
|
||||||
|
|
||||||
|
\def\inserttalkname{Workshop}
|
||||||
|
|
||||||
|
% \addbibresource[location=remote,type=file]{http://ddi.uni-wuppertal.de/forschung/Komplett.bib}
|
||||||
|
% wenn man es sich einmal lokal in den TeX-Baum gelegt hat
|
||||||
|
% z.\,B.: unter ~/texmf/bibtex/bib/Komplett.bib reicht
|
||||||
|
\addglobalbib{quellen.bib} % A. Hilbig
|
||||||
|
\addglobalbib{Komplett.bib}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Kompetenzen -- Vortrag}{Kompetenzen -- \inserttalkname}
|
||||||
|
\providetranslation[to=English]{Kompetenzen -- Talk}{Chapter---Competencies}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Vortrag}{\inserttalkname}
|
||||||
|
\providetranslation[to=English]{Vortrag}{\inserttalkname}
|
||||||
|
|
||||||
|
%\providetranslation[to=German]{\inserttalkname -- Kompetenzen}{\inserttalkname -- Kompetenzen}
|
||||||
|
%\providetranslation[to=English]{\inserttalkname -- Kompetenzen}{Talk---Competencies}
|
||||||
|
\providetranslation[to=German]{Vortrag -- Kompetenzen}{\inserttalkname -- Leitgedanken}
|
||||||
|
\providetranslation[to=English]{Vortrag -- Kompetenzen}{Talk---Questions}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Inhalte dieses Vortrags}{Inhalte dieses \inserttalkname s}
|
||||||
|
\providetranslation[to=English]{Inhalte dieses Vortrags}{Contents}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Zusammenfassung dieses Vortags}{Zusammenfassung dieses
|
||||||
|
\inserttalkname s}
|
||||||
|
\providetranslation[to=English]{Zusammenfassung dieses Vortags}{Summary for this talk}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Gliederung -- Vortrag}{Gliederung -- \inserttalkname}
|
||||||
|
\providetranslation[to=English]{Gliederung -- Vortag}{Outline of Chapter}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Uebungen zu diesem Vortrag}{Übungen zu diesem \inserttalkname}
|
||||||
|
\providetranslation[to=English]{Uebungen zu diesem Vortrag}{Problems for this talk}
|
||||||
|
|
||||||
|
\providetranslation[to=German]{Pruefungsaufgaben zu diesem Vortrag}{Prüfungsaufgaben zu diesem
|
||||||
|
\inserttalkname}
|
||||||
|
\providetranslation[to=English]{Pruefungsaufgaben zu diesem Vortrag}{Exam Problems for this talk}
|
||||||
|
|
||||||
|
%\def\jahr{2014}
|
||||||
|
\providecommand\jahr{2015}
|
||||||
|
%\providecommand\jahrpe{2015}
|
||||||
|
|
||||||
|
\provideboolean{tagschalte} % damit Seminare, die auf einem Termin liegen,
|
||||||
|
% für die Veranstaltungskarte verteilt dargestellt
|
||||||
|
% werden
|
||||||
|
\setboolean{tagschalte}{false} % Wert für Präsentationen, Skriptum
|
||||||
|
|
||||||
|
\def\insertsemestershort{2015}
|
||||||
|
\def\insertsemester{März 2015}
|
||||||
|
|
||||||
|
%\def\insertassistant{Dorothee Müller}
|
||||||
|
%\def\inserttutors{Adrian Salamon}
|
||||||
|
|
||||||
|
\lecturelistofdates{
|
||||||
|
\jahr-03-23
|
||||||
|
}
|
||||||
|
|
||||||
|
\lecturelistofids{
|
||||||
|
id-vortrag, %achtung! Komma hier ist wichtig!!!
|
||||||
|
}
|
||||||
|
|
||||||
|
\lecturelistofparts{
|
||||||
|
neu-vtr=Neues Vortragsthema % hier ist kein komma notwendig!
|
||||||
|
}
|
||||||
|
|
||||||
|
\lectureidstofoldernamelist{
|
||||||
|
id-vortrag=meinvortragsverzeichnis
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\lecturename{Ausführlicher Titel des Vortrags}
|
||||||
|
\def\insertshortlecture{Kurztitel}
|
||||||
|
|
||||||
|
\alt<presentation>
|
||||||
|
{\def\equ{\mathbin{\hbox{\boldmath$\textcolor{green!80!black}{=}$}}}}
|
||||||
|
{\def\equ{\mathbin{\hbox{\textcolor{green!80!black}{\textbf{=}}}}}}
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\define@key{beamerst}{left}[true]{%
|
||||||
|
\def\beamer@stalign{\raggedright}}
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
|
||||||
|
\mode<presentation>{
|
||||||
|
\newenvironment{examplelike}[2][]{%
|
||||||
|
\def\test{#1}%
|
||||||
|
\block{%
|
||||||
|
{\hspace{-2ex}\vspace{-0.5ex}\scalebox{0.7}{\staveVI}}
|
||||||
|
#2\ifx\test\@empty\else: \textcolor{black}{#1}\fi}
|
||||||
|
\ignorespaces
|
||||||
|
}
|
||||||
|
{\endblock}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newenvironment{explanation}[1][]{\examplelike[#1]{\translate{Erklärung}}}{\endexamplelike}
|
||||||
|
\newenvironment{explanations}[1][]{\examplelike[#1]{\translate{Erklärungen}}}{\endexamplelike}
|
||||||
|
|
||||||
|
\newenvironment{annote}[1][]{\examplelike[#1]{\translate{Erläuterung}}}{\endexamplelike}
|
||||||
|
\newenvironment{annotes}[1][]{\examplelike[#1]{\translate{Erläuterungen}}}{\endexamplelike}
|
||||||
|
|
||||||
|
\newenvironment{qualifying}[1][]{\examplelike[#1]{\translate{Einordnung}}}{\endexamplelike}
|
||||||
|
|
||||||
|
\providecommand\klpifnrw{\emph{\textsc{klp} Informatik \textsc{nrw}}\xspace}
|
||||||
|
|
||||||
|
\providecommand{\CM}{Cy\-ber\-mob\-bing\xspace}
|
||||||
|
\providecommand{\IS}{Informatiksystem\xspace}
|
||||||
|
\providecommand{\ISo}{Informatiksystem}
|
||||||
|
\providecommand{\ISs}{Informatiksysteme\xspace}
|
||||||
|
\providecommand{\ISe}{Informatiksysteme\xspace}
|
||||||
|
\providecommand{\ISen}{Informatiksystemen\xspace}
|
||||||
|
\providecommand{\ISes}{Informatiksystems\xspace}
|
||||||
|
|
49
emerald.sty
Normal file
49
emerald.sty
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
%%
|
||||||
|
%% This is file `emerald.sty',
|
||||||
|
%%
|
||||||
|
%% IMPORTANT NOTICE:
|
||||||
|
%% This is a collection of files developed by M. Cesar Rodriguez
|
||||||
|
%% (mcesar@sec.upm.es) which give support for some ECF (emerald city fontwerks,
|
||||||
|
%% http://www.speakeasy.org/~ecf/) fonts in LaTeX.
|
||||||
|
%% The usual disclaimers apply:
|
||||||
|
%% If it doesn't work right that's your problem.
|
||||||
|
%% License: LPPL (Except for the fonts themselves)
|
||||||
|
%% See accompanying .txt files describing the use and
|
||||||
|
%% redistribution conditions of the fonts.
|
||||||
|
\def\filename{emerald}
|
||||||
|
\def\fileversion{v1.0}
|
||||||
|
\def\filedate{2006/01/26}
|
||||||
|
%%
|
||||||
|
%% Gives support for ECF (emerald city fontwerks) fonts. These are
|
||||||
|
%% mainly display or script/handwrited free fonts.
|
||||||
|
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
|
||||||
|
\ProvidesPackage{emerald}[\filedate\space\fileversion\space
|
||||||
|
LaTeX2e package which gives support for ECF (emerald city fontwerks) fonts]
|
||||||
|
\newcommand\ECFAPicture{\fontfamily{fap}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFAugie{\fontfamily{fau}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadence{\fontfamily{fdc}\fontseries{x}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceWithoutTheDiamonds{\fontfamily{fdc}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceCondensed{\fontfamily{fdc}\fontseries{c}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceInTheDark{\fontfamily{fdc}\fontseries{b}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceInTheDarkCondensed{\fontfamily{fdc}\fontseries{bc}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceInADifferentLight{\fontfamily{fdc}\fontseries{l}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFDecadenceInTheDarkCondensedMarquee{\fontfamily{fdm}\fontseries{bc}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFIntimacy{\fontfamily{fin}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFIntimacyDeux{\fontfamily{fin}\fontseries{l}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFJD{\fontfamily{fjd}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFMovieola{\fontfamily{fmv}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFMovieolaTitleType{\fontfamily{fmt}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFPookie{\fontfamily{fpk}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFPookieType{\fontfamily{fpt}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFSkeetch{\fontfamily{fsk}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFSpankysBungalow{\fontfamily{fsp}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFSpankysBungalowItalico{\fontfamily{fsp}\fontseries{m}\fontshape{it}\selectfont}
|
||||||
|
\newcommand\ECFSpankysBungalowBlanco{\fontfamily{fsb}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFSpankysBungalowBlancoItalico{\fontfamily{fsb}\fontseries{m}\fontshape{it}\selectfont}
|
||||||
|
\newcommand\ECFSyriac{\fontfamily{fsy}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFTallPaul{\fontfamily{ftp}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFTeenSpirit{\fontfamily{fts}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\newcommand\ECFWebster{\fontfamily{fwb}\fontseries{m}\fontshape{n}\selectfont}
|
||||||
|
\endinput
|
||||||
|
%%
|
||||||
|
%% End of file `emerald.sty'.
|
46
mustername-presentation.tex
Normal file
46
mustername-presentation.tex
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
% BUW-presentation_preamble.tex
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: mustername-presentation.tex |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
\documentclass[german,10pt,table]{beamer}
|
||||||
|
\usepackage[utf8]{luainputenc}
|
||||||
|
\usepackage[onelecture]{ahilbig-presentation}
|
||||||
|
\usepackage{yfonts}
|
||||||
|
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage[compatibility=false]{caption}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
\usepackage{circuitikz}
|
||||||
|
|
||||||
|
\input{config.tex}
|
||||||
|
|
||||||
|
|
||||||
|
\hypersetup{%
|
||||||
|
pdfsubject={Präsentation, \lecturename, \insertsemester, Themen, Termine, Kompetenzen, \universitaet},
|
||||||
|
pdfkeywords={Informatikunterricht,Didaktik,Modulkonzept,Mobilsysteme,Python,Informatik,allgemeine Bildung,Paradigmen,Freihandversuche,Bildungsgangdidaktik}
|
||||||
|
}
|
||||||
|
|
||||||
|
\input{body.tex}
|
||||||
|
|
122
mustername-script.tex
Normal file
122
mustername-script.tex
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
% -*- coding: utf-8; -*-
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% (C)opyright A. Hilbig, mail@andrehilbig.de |
|
||||||
|
% http://www.andrehilbig.de/Publications |
|
||||||
|
% |
|
||||||
|
% diese Datei: mustername-script.tex |
|
||||||
|
% |
|
||||||
|
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0 |
|
||||||
|
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de |
|
||||||
|
% |
|
||||||
|
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden, |
|
||||||
|
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben |
|
||||||
|
% und auf die ursprünglichen Urheber verwiesen wird. |
|
||||||
|
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
% HINWEISE/ERWEITERUNG |
|
||||||
|
% Diese Pakete basieren auf den entsprechenden Paketen von Prof. Dr. Ludger Humbert |
|
||||||
|
% (http://ddi.uni-wuppertal.de/ -- humbert@uni-wuppertal.de) und wurden zum Teil angepasst. Seine |
|
||||||
|
% Pakete basieren wiederum auf Entwicklungen von Prof. Dr. Till Tantau |
|
||||||
|
% (http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/). Beiden gilt mein Dank hierfür. |
|
||||||
|
% |
|
||||||
|
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
|
||||||
|
% |
|
||||||
|
|
||||||
|
|
||||||
|
%\RequirePackage{snapshot} % Needed by bundledoc
|
||||||
|
%
|
||||||
|
\documentclass[german,a4paper,10pt,table,notitlepage]{report}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
\RequirePackage[bookmarksnumbered,pdfborder={0 0 0}]{hyperref}
|
||||||
|
|
||||||
|
%\providecommand{\enquote}[1]{»#1«}
|
||||||
|
\providecommand{\bodydir}{./}
|
||||||
|
|
||||||
|
\usepackage[onelecture]{ahilbig-script}
|
||||||
|
\usepackage{beamerarticle}
|
||||||
|
\usepackage{ahilbig-semester}
|
||||||
|
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
\usepackage{circuitikz}
|
||||||
|
|
||||||
|
\input{config.tex}
|
||||||
|
|
||||||
|
%\DdILogoOptions{width=1.75cm,keepaspectratio=true,digitcolor=ddilogolightgray}
|
||||||
|
|
||||||
|
\listfiles
|
||||||
|
|
||||||
|
%\newcommand\logobreite{9.2cm}
|
||||||
|
|
||||||
|
%\newcommand\lgo{\raisebox{-1ex}{\ddiLogo}}
|
||||||
|
|
||||||
|
\usepackage{pdfpages}
|
||||||
|
|
||||||
|
\hypersetup{
|
||||||
|
pdftitle={Workshop – \lecturename{} – \insertsemester{} – \universitaet},
|
||||||
|
pdfsubject={Workshop \lecturename{}, \insertsemester{}, \universitaet},
|
||||||
|
pdfauthor={\insertnameetal},
|
||||||
|
pdfkeywords={Informatikunterricht, Didaktik, Informatik Mensch und Gesellschaft,
|
||||||
|
Technische Informatik, Objektorientierte Modellierung,
|
||||||
|
Modulkonzept, Mobilsysteme, Python, Informatik, allgemeine Bildung,
|
||||||
|
Paradigmen, Freihandversuche, Gender, Mobiles Programmieren,
|
||||||
|
Bildungsgangdidaktik,Computing},
|
||||||
|
}
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\begin{frontmatter}
|
||||||
|
|
||||||
|
\begin{titlepage}
|
||||||
|
\maintitle
|
||||||
|
%\includegraphics[width=\textwidth]{../../planning/logo.pdf}%
|
||||||
|
\end{titlepage}
|
||||||
|
|
||||||
|
\printTables
|
||||||
|
%\label{veranstaltungskarte}
|
||||||
|
%\insertmap{\unishort}
|
||||||
|
|
||||||
|
|
||||||
|
%\fancypictures{\lgo}
|
||||||
|
%\clearpage
|
||||||
|
|
||||||
|
\addchap{Vorwort}
|
||||||
|
\addsec{Allgemeine Hinweise}
|
||||||
|
Dieses Skriptum basiert auf den Ergebnissen aus meiner Bachelor-Thesis \citetitle{Hilbig2012}
|
||||||
|
\autocite{Hilbig2012} und vor allem der Masster-Thesis \citetitle{Hilbig2014}
|
||||||
|
\autocite{Hilbig2014}. Die Vorlage des zugehörigen Vortrags stammt aus einem Beitrag von mir im
|
||||||
|
Rahmen des Seminars der Didaktik der Informatik in Wuppertal \autocite[vgl.][]{HumbertDdI2014}.
|
||||||
|
|
||||||
|
Alle drei Arbeiten stehen unter einer Creative Commons cc-by-nc-sa-Lizenz und können den
|
||||||
|
Lizenzbedingungen entsprechend zitiert und verwendet werden. Einzelne Inhalte, etwa konkrete
|
||||||
|
Übungen, sind jedoch als Zitat kenntlich gemacht. Hier gelten die Bestimmungen der ausgewiesenen
|
||||||
|
Autoren.
|
||||||
|
|
||||||
|
Dieses Dokument wird unter der folgenden Creative-Commons-Lizenz veröffentlicht:
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\ccbyncsaeu{}
|
||||||
|
|
||||||
|
\url{http://creativecommons.org/licenses/by-nc-sa/4.0/}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
Weitere Materialien sowie die Präsentation können unter \url{\inserturl} abgerufen werden.
|
||||||
|
|
||||||
|
\addsec{Danksagung}
|
||||||
|
Die grundlegenden Elemente zur Unterstützung der
|
||||||
|
Erstellung dieser Dokumente basieren auf Quellen von Prof.\,Dr.\,Ludger Humbert
|
||||||
|
(\url{http://ddi.uni-wuppertal.de}) und Prof.\,Dr.\,Till Tantau
|
||||||
|
(\url{http://www.tcs.uni-luebeck.de/de/mitarbeiter/tantau/}) denen für die
|
||||||
|
Schaffung dieser Grundlage mein Dank gilt.
|
||||||
|
\end{frontmatter}
|
||||||
|
|
||||||
|
\onecolumn
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
\InsertLectureAndExercises{img-beispiel} % André Hilbig
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
1204
quellen.bib
Normal file
1204
quellen.bib
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user