% -*- coding: utf-8; -*- % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+ % | % (C)opyright A. Hilbig, mail@andrehilbig.de | % http://www.andrehilbig.de/Publications | % | % diese Datei: ahilbig-presentation.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-presentation} \newif\ifcmmath \DeclareOption{cmmath}{\cmmathtrue} \newif\ifonelecture \DeclareOption{onelecture}{\onelecturetrue} \newif\ifgitinfo \DeclareOption{gitinfo}{\gitinfotrue} \newif\iflogo \DeclareOption{logo}{\logotrue} \newif\iflogoins \DeclareOption{logoins}{\logoinstrue} \newif\ifnonumbers \DeclareOption{nonumbers}{\nonumberstrue} \ProcessOptions %\RequirePackage[draft]{ddi-common} %\RequirePackage[blackandwhite]{ddi-common} %\RequirePackage[cd]{ddi-common} \RequirePackage{ahilbig-common} \RequirePackage{ahilbig-semester} %\RequirePackage[height=5cm,keepaspectratio,digitcolor=white, % backgroundcolor=none]{ddiLogo} % benutzt in Zeile 388 %\RequirePackage{chapterbib} \RequirePackage{graphicx} \RequirePackage{pifont} \RequirePackage{ahilbig-comics} \RequirePackage{wrapfig} \RequirePackage{smartdiagram} \RequirePackage{varsfromjobname} % Element[e] aus \jobname extrahieren %\RequirePackage{qrcode} % Wird in maintitle genutzt - auskommentiert %\RequirePackage{pdfpages} % Default lecture \providecommand\insertshortlecture{0} \providecommand\insertlecture{Vortrag} \providecommand\lecturename{Vortragtitel} \def\insertshrtpr{null} \def\insertshrtscr{null} \ifgitinfo \RequirePackage{gitinfo2} \providecommand\versionsinfo{% %Gitinfo -- \gitAbbrevHash in \gitBranch von (\gitAuthorEmail) am \gitAuthorDate Versionsinformationen: \begin{tabular}{ll} \textcolor{blue!70}{Hash:} & \textcolor{blue!45}{\gitAbbrevHash} \\ \textcolor{blue!70}{Branch:} & \textcolor{blue!45}{\gitBranch} \\ \textcolor{blue!70}{Stand:} & \textcolor{blue!45}{\gitAuthorIsoDate} \\ \textcolor{blue!70}{Zuletzt bearbeitet von:} & \textcolor{blue!45}{\gitAuthorName\ (\gitAuthorEmail)}\\ \end{tabular} } \else \providecommand\versionsinfo{} \fi % Common packages % \usepackage{babel} \mode
{ \usepackage[left=1.75cm,right=6.5cm,top=2.5cm,bottom=2cm,twoside, a4paper]{geometry} \usepackage{fancyhdr} \setlength\columnsep{1.5cm} } %%\usepackage{hyperref} \usepackage{calc} \usepackage{tikz} %\usepackage{yfonts} \usepackage{translator} \usepackage{amssymb} \usetikzlibrary{scopes,backgrounds,positioning} \usepackage[absolute]{textpos} \usepackage{multimedia} \def\UrlFont{} % Common settings for all lectures in this course \title{\insertlecture} % The body environment \mode
{ \parskip.5em plus 1pt minus 1pt \newenvironment{body}{\parskip=2pt plus 1pt minus 1pt}{} } \mode{ \newenvironment{body}{\document\ifcd\setbeamertemplate{sidebar right}{}\fi}{\input{bib-config.tex}\enddocument} \newcommand{\starteBody}{\begin{document}} \newcommand{\beendeBody}{\end{document}} % \newcommand{\newblock}{} } % Common theorem-like environments \theoremstyle{definition} \newtheorem{lectureexercise@}[theorem]{\translate{Zur Uebung}} \newtheorem{discussion@}[theorem]{\translate{Zur Diskussion}} \pgfkeys{/ddi/lines/.initial=0} \pgfkeys{/ddi/border lines/.initial=4} \pgfkeys{/ddi/name/.initial=} \pgfkeys{/ddi/title/.style={/ddi/name=#1}} \newenvironment{lecture exercise}[1][]{\pgfkeys{/ddi/.cd,#1}% \edef\marshal{\noexpand\lectureexercise@[\pgfkeysvalueof{/ddi/name}]} \marshal\ignorespaces} {\endlectureexercise@ } % \def\lineblock % {% % % % \ifnum\pgfkeysvalueof{/ddi/border lines}>0\relax% % \only
{% % \setlength{\marginparsep}{.5cm}% % \setlength{\marginparwidth}{4cm}% % \marginpar{% % \color{black!35} % \edef\temp{1,...,\pgfkeysvalueof{/ddi/border lines}} % \foreach \i in \temp % {\ifnum\i>1\vskip1.5em\else\ding{46}\vskip2pt\fi\hrule width4cm height0.4pt} % \vskip1.5em % }% % }% % \fi% % } \def\lineblock{\llap{\ding{46}\ \ }} \newenvironment{discussion}[1][]{\pgfkeys{/ddi/.cd,#1}% \edef\marshal{\noexpand\discussion@[\pgfkeysvalueof{/ddi/name}]} \marshal\ignorespaces} {\enddiscussion@ } % % New environments % \newdimen\gapskip \gapskip=5cm \newenvironment{presentation itemize} {\alt{\itemize}{\ddi@save@item\let\item=\relax\ignorespaces}} {\alt{\enditemize}{}} \newenvironment{presentation enumerate} {\alt{\itemize}{\ddi@save@item\c@enumi=0\def\item{\advance\c@enumi by 1\relax\the\c@enumi.\ }\ignorespaces}} {\alt{\enditemize}{}} \def\ddi@save@item{\ifx\ddi@reinstall@item\relax\let\orig@item=\item\def\ddi@reinstall@item{\let\item=\orig@item}\fi} \let\ddi@reinstall@item\relax \let\orig@list=\list \def\list{\ddi@reinstall@item\orig@list} % % Special wide pages \def\ddistartwidepages{ \setlength\textwidth{\paperwidth-17.5mm-17.5mm} \setlength\oddsidemargin{17.5mm-1in} \setlength\evensidemargin{17.5mm-1in} \setlength\gapskip{0.25cm} } \newenvironment{wide pages} { \begingroup \ddistartwidepages \onecolumn } { \clearpage \endgroup \onecolumn } % Learning targets and TOC \mode { \newenvironment{learning targets} { \translatelet\temp{Kompetenzen} % \section*{\temp} \begin{frame}[fragile=singleslide]{\translate{Kompetenzen}~\insertshortlecture} \begin{enumerate}%\rightskip-1.5cm plus1fil } { \end{enumerate} \end{frame} \begin{frame}{\translate{Gliederung}~\insertshortlecture} \tableofcontents \end{frame} \aftergroup\setupsidebar } } \mode
{ \newcommand\maintableofcontents{{% \parskip0pt% % \addvspace{3em \@plus\p@}% % \avoidwiddow{2.5cm}{500} \tableofcontents }} \renewcommand*\l@part[2]{% \addpenalty{-\@highpenalty}% \addvspace{5em \@plus\p@}% \avoidwiddow{3cm}{750} \setlength\@tempdima{4em}% \begingroup \parindent \z@ \leavevmode \raggedright \leftskip0em% \Large\sffamily \long\def\numberline##1{{\fontsize{20pt}{24pt}\selectfont% \textcolor{structure.fg}{##1}\par}\leavevmode}% #1 \par \endgroup } \renewcommand*\l@chapter[2]{% \addvspace{3em \@plus\p@}% \avoidwiddow{2.5cm}{500} \@tempdima=4em% \begingroup \parindent \z@ \leavevmode \raggedright \advance\leftskip4em \hskip -4em {\Large\color{black} \textsf{#1}\par} \endgroup } \renewcommand*\l@section[2]{% \addvspace{1.0em \@plus\p@}% \avoidwiddow{2cm}{200} \@tempdima=4em% \begingroup \parindent \z@ \leavevmode \rightskip\@pnumwidth plus1fil \advance\leftskip4em \hskip -4em {\small\color{structure.fg} \textsf{#1}} % \ifmicrotoc % \else \nobreak\normalsize\normalfont \hfill \nobreak \rlap{\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #2}}% % \fi \par \endgroup } \def\subsectionnumberline#1{\hb@xt@\@tempdima{\small\sffamily#1\hfil}} \renewcommand*\l@subsection[2]{\@tempdima=4em% \begingroup \parindent \z@ \leavevmode \advance\leftskip4em \rightskip\@pnumwidth plus1fil \hskip -4em \let\numberline\subsectionnumberline #1 % \ifmicrotoc % \else \nobreak\normalsize\normalfont \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak \rlap{\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #2}}% % \fi \par \endgroup} \let\l@chapterstar\l@subsection \def\toclevel@chapterstar{1} \renewcommand*\l@subsubsection[2]{} \newenvironment{learning targets} { \begin{frame} \ifodd\c@page% \else% \hskip-4.75cm \fi \noindent\begin{minipage}[t]{8cm} \section*{\textcolor{structure.fg}{\translate{Kompetenzen}}} \medskip \begin{enumerate} \raggedright } { \end{enumerate} \end{minipage}\qquad\textcolor{gray}{\vrule width.4pt}\qquad \rlap{ \begin{minipage}[t]{8cm} \section*{\textcolor{structure.fg}{\translate{Inhalte dieses Vortrags}}} \raggedright \the\microtoc% \end{minipage}} \vskip2em \refstepcounter{framenumber}% \end{frame} } } % Microtocs \mode
{ \def\chaptertext{chapter} \def\chapterstartext{chapterstar} \def\parttext{part} \newtoks\microtoc \newif\ifmicrotoc { \def\contentsline#1#2#3#4{% \extractchapter{#1}{#2}{#3}{#4}#4..\relax% } \def\extractchapter#1#2#3#4#5.#6.#7\relax{% \def\test{#1}% \ifx\test\chaptertext% \else% \ifx\test\chapterstartext% \else% \ifx\test\parttext% \else% \expandafter\global\expandafter\microtoc\expandafter{% \the\microtoc\filteredcontentsline{#1}{#2}{#3}{#4}{#6}} \fi% \fi% \fi% } \@input{\jobname.toc} } \newcommand\filteredcontentsline[5]{% { \microtoctrue \ifnum#5=\c@chapter\relax% \contentsline{#1}{#2}{#3}{#4}% \fi% } } } % Parts \def\ddiparttext{part} \def\part#1{% \clearpage \null\vskip4cm \refstepcounter{part}% \chapterstarmark{\partname\ \thepart}{#1} \addcontentsline{toc}{part}{\protect\numberline{\partname\ \thepart}#1}% \interlinepenalty \@M \normalfont{\raggedright \sffamily {\fontsize{36pt}{40pt}\selectfont{ \color{structure.fg} \partname\ \thepart}\par \fontsize{24pt}{30pt}\selectfont#1\par}} \vskip2em \ifx\@currenvir\ddiparttext \parskip.75em plus 1pt minus 1pt \else \endpart \fi } \def\endpart{ \clearpage% } % Table of Contents \mode
{ \renewcommand\tableofcontents{% \begin{wide pages} \chapterstarmark{\contentsname}{} \twocolumn[ \vskip2cm {\fontsize{36pt}{40pt} \sffamily\hilight{\contentsname}}\par \vskip2cm] \@starttoc{toc}% \end{wide pages} } } % List of proof methods \newcommand\listofproofmethods{% \begin{wide pages} \parskip0pt% \chapterstarmark{Verzeichnis der Rezepte}{} \twocolumn[ \vskip2cm {\fontsize{36pt}{40pt} \sffamily\hilight{Verzeichnis der Rezepte\par}} \vskip1cm] \@starttoc{lop}% \end{wide pages} } \newcommand\listofproofmethodsinline{% { \parskip0pt \@starttoc{lop}% } } % Discussion \mode
{ \renewenvironment{lectureexercise@}[1][]{\begingroup \setlength{\marginparsep}{.5cm}% \setlength{\marginparwidth}{4cm}% \examplelike[#1]{\lineblock \translate{Zur Uebung}}}{ \endexamplelike \endgroup} \renewenvironment{discussion@}[1][]{\begingroup \setlength{\marginparsep}{.5cm}% \setlength{\marginparwidth}{4cm}% \examplelike[#1]{\lineblock \translate{Zur Diskussion}}}{% \endexamplelike\endgroup} } % Map \newcommand\insertmap[1]{ { \null \parskip0pt \setbox\mybox=\vbox{% \hsize=100cm\includegraphics[width=\paperheight-1.41cm, height=\paperwidth-1cm,angle=90]{../map/#1-map.pdf}\hss% } \ht\mybox=0cm \wd\mybox=0cm \vskip-1.8cm \vskip-2.9\baselineskip \hbox{} \hskip-6cm \box\mybox \thispagestyle{empty} \clearpage } } % Summary \newenvironment{summary} { \only
{% \section*{\translate{Zusammenfassung dieses Vortrags}} \sectionstarmark{\translate{Zusammenfassung dieses Vortrags}} } \only{ \translatelet\temp{Zusammenfassung} \section*{\temp} } \begin{frame}[fragile,environment=summary] \frametitle{\translate{Zusammenfassung}} \only
{\vskip-2.5\baselineskip\hbox{}} } { \end{frame} } \newenvironment<>{further reading} { \mode{\vfill} \def\refname{\translate{Zum Weiterlesen}} \actionenv#1 \begin{thebibliography}{10} \setbeamertemplate{bibliography item}[book] } { \end{thebibliography} \endactionenv } \newenvironment{bibitem comments} { \begin{onlyenv}
\par\medskip \small } { \par\medskip \end{onlyenv} } \newenvironment<>{summary item}[1]{\actionenv#2\block{\only
{% \ddibordericon{{\ddiborderpointer}}}#1}}{\endblock\endactionenv} % Exercise frame \newif\ifmulti \pgfkeys{/ddi/minutes/.initial=5} \pgfkeys{/ddi/multiple exercises/.is if=multi} \newenvironment{exercise frame}[1][] { \pgfkeys{/ddi/.cd,#1} \begin{frame}[fragile=singleslide] \frametitle{\pgfkeysvalueof{/ddi/minutes}\ifmulti\translate{% Minuten-Aufgaben}\else\translate{Minuten-Aufgabe}\fi} \only
{\vskip-2.5\baselineskip\hbox{}}% \ifmulti\else% \begin{lecture exercise}% \fi% \ignorespaces% } { \ifmulti\else% \end{lecture exercise}% \fi% \end{frame} } \newenvironment{discussion frame}[1][] { \pgfkeys{/ddi/.cd,#1} \begin{frame}[fragile=singleslide] \only{\frametitle{\translate{Zur Diskussion}: \pgfkeysvalueof{/ddi/name}}\pgfkeys{/ddi/title=}} \only
{\vskip-2.5\baselineskip\hbox{}}% \only
{\begin{discussion}}% \ignorespaces% } { \only
{\end{discussion}}% \end{frame} } % New frame numbering \mode
{\renewcommand\insertframenumber{% \ifonelecture \@arabic\c@framenumber\ von \inserttotalframenumber \else \insertshortlecture-\@arabic\c@framenumber \fi } } \mode{% \renewcommand\insertframenumber{% \ifonelecture \@arabic\c@framenumber\ von \inserttotalframenumber \else \beamer@shortlecturename-\@arabic\c@framenumber \fi } } %\mode{\renewcommand\insertframenumber{6-\@arabic\c@framenumber}} %\mode{\renewcommand\insertframenumber{7-\@arabic\c@framenumber}} \mode
{\def\name@of@slide{framenumber}} % shut up hyperref % Beamer version theme settings \useoutertheme[height=0pt,width=2cm,right]{sidebar} \ifcd \else \usecolortheme{rose,sidebartab} \useinnertheme{circles} \fi \definecolor{websitebg}{rgb}{0.8509,0.8509,0.8784} \ifcd\else\setbeamercolor{sidebar right}{bg=websitebg}\fi \setbeamercolor{structure}{fg=orange!80!red} \ifcd % \setbeamercolor{sidebar right}{bg=oceangreen!3} \setbeamercolor{structure}{fg=oceangreen!65} \setbeamercolor{alerted text}{fg=oceangreen!50} \setbeamerfont{alerted text}{shape=\ifmmode\else\itshape\fi} \fi \setbeamercolor{author}{parent=structure} \setbeamercolor{institute}{parent=structure,fg=blue!65} \setbeamercolor{subtitle}{fg=black} \ifcd \setbeamerfont{title in sidebar}{size=\fontsize{6.5}{7}} \setbeamerfont{chapter in sidebar}{size=\fontsize{6.5}{7}} \setbeamerfont{slide in sidebar}{size=\fontsize{6.5}{7}} \setbeamerfont{sidebar}{size=\fontsize{5}{5.25}} \setbeamerfont{section in sidebar}{size=\fontsize{5}{5.5}} \setbeamerfont{subsection in sidebar}{size=\fontsize{4.5}{5}} \setbeamercolor{section in sidebar shaded}{use=section in sidebar, fg=section in sidebar.fg} \setbeamercolor{subsection in sidebar shaded}{use=subsection in sidebar, fg=subsection in sidebar.fg} \setbeamertemplate{subsection in sidebar} {% \beamer@sidebarformat{3pt}{subsection in sidebar}{\leavevmode\llap{\fontsize{3.75}{3.75}% \selectfont$\blacktriangleright$ }\insertsubsectionhead}% } \setbeamertemplate{subsection in sidebar shaded} {% \beamer@sidebarformat{3pt}{subsection in sidebar shaded}{% \insertsubsectionhead}% } \setbeamertemplate{section in sidebar} {% \vbox{% \vskip.75em% \beamer@sidebarformat{3pt}{section in sidebar}{\leavevmode\llap{\fontsize{4.5}{5}\selectfont \insertshortlecture.\insertsectionheadnumber\ \ }\insertsectionhead~{\color{black}\fontsize{3.75}{3.75}\selectfont$\blacktriangleleft$}}% }% } \setbeamertemplate{section in sidebar shaded} {% \vbox{% \vskip.75em% \beamer@sidebarformat{3pt}{section in sidebar shaded}{\leavevmode\llap{\fontsize{4.5}{5}\selectfont\insertshortlecture.\insertsectionheadnumber\ \ }\insertsectionhead~\phantom{{\fontsize{3.75}{3.75}\selectfont$\blacktriangleleft$}}}% }% } \else \setbeamerfont{title in sidebar}{series=\bfseries} \setbeamerfont{slide in sidebar}{size=\scriptsize} \fi \setbeamerfont{title}{series=\normalfont,size=\LARGE} \setbeamerfont*{item}{series=} \ifcd \setbeamerfont{frametitle}{size=\large} \setbeamerfont{info in title}{size=\scriptsize} \setbeamercolor{info in title}{parent=structure} \else \setbeamerfont{frametitle}{size=} \setbeamerfont{info in title}{size=\scriptsize} \setbeamercolor{info in title}{parent=structure} \fi \ifcd\setbeamerfont{block title}{size=\normalsize}\else\setbeamerfont{block title}{size=\small}\fi \setbeamerfont{subtitle}{size=\normalsize,series=\normalfont} \setbeamerfont{subtitle}{size=\normalsize,series=\normalfont} \setbeamertemplate{navigation symbols}{} \setbeamertemplate{bibliography item}[book] \ifcd \else \pgfdeclarehorizontalshading{mytransition}{\the\paperheight}{color(0cm)=(white); color(1.5mm)=(websitebg)} \setbeamertemplate{background canvas} {\hskip\paperwidth\hskip-2.14cm\pgfuseshading{mytransition}} \fi \iflogo\else\def\insertlogo{}\fi \def\setupsidebar{ \setbeamertemplate{sidebar right} { \ifcd { \vskip2.6em% \usebeamerfont{chapter in sidebar}% \hskip3pt% \translate{Vortrag}~\insertshortlecture\par} \fi {\usebeamerfont{title in sidebar}% \ifcd\vskip1pt\else\vskip1.5em\fi% \hskip3pt% \usebeamercolor[fg]{title in sidebar}% \ifcd \insertshorttitle[width=2cm-6pt,left,respectlinebreaks] \else \insertshorttitle[width=2cm-6pt,center,respectlinebreaks]\fi\par% \ifcd\vskip.75em\else \vskip1.25em\fi }% \ifcd\else {% \hskip3pt% \usebeamercolor[fg]{author in sidebar}% \usebeamerfont{author in sidebar}% \ifcd \insertshortauthor[width=2cm-6pt,left,respectlinebreaks] \else \insertshortauthor[width=2cm-2pt,center,respectlinebreaks]\fi\par% \vskip1.25em% }\fi% \ifcd \else%\hbox to2cm{\hss\insertlogo\hss} \iflogoins \else \hbox to2cm{\hss\insertlogo\hss} \vskip1.25em \fi% \fi% \insertverticalnavigation{2cm}% \ifcd\vskip2em\else\vfill\fi \iflogoins \hbox to 2cm{\hss\insertlogo\hss} \else \hbox to 2cm{\hfill\insertshortinstitute\hskip 2.5pt} \fi% \vskip3pt \ifnonumbers \else \hbox to 2cm{\hfill\normalfont\strut\usebeamerfont{slide in sidebar}\insertframenumber\hskip5pt}% \fi% \vskip3pt% \hbox to 2cm{\hfill\insertCC\hskip 2.5pt} \vskip3pt }% } \setupsidebar \setbeamertemplate{title page} { \vbox{} \ifcd\vskip-5mm\leavevmode\hbox{\hskip-3mm}%\includegraphics[scale=0.25]{hglion.pdf}}% % \hfill{} % \includegraphics[scale=0.25]{hglion.pdf} \par \leftskip3mm\else \vskip1em\fi {\huge \translate{Vortrag} \insertshortlecture\par} {\usebeamercolor[fg]{title}\usebeamerfont{title}\inserttitle\par}% \ifx\insertsubtitle\@empty% \else% \vskip0.25em% {\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}% \fi% \vskip4pt\par {\usebeamerfont{info in title} \translate{Vortrag} {\usebeamercolor[fg]{info in title}\lecturename} \hbox{\translate{vom} \insertdate}% \vfill \ifthenelse{\equal{\inserturl}{null}}{}{% \begin{tiny} %\versionsinfo Quellen: \url{\inserturl} \ifthenelse{\equal{\insertshrtpr}{null}}{}{% Präsentation: \url{\insertshrtpr} } \ifthenelse{\equal{\insertshrtscr}{null}}{}{% Skript: \url{\insertshrtscr} } \end{tiny} \vfill } \ifcd\hbox{\translate{ von} {\usebeamercolor[fg]{info in title}\insertauthor}}\fi}\par \ifcd\else\vskip6em {\usebeamercolor[fg]{author}\insertauthor}\par\fi \ifcd\vskip1em {\scalebox{2}{\hbox{\insertlogo}}} \vskip0pt plus1filll\else {\usebeamercolor[fg]{institute} \insertinstitute}\vskip1em\fi } \iflogo \pgfdeclareimage[width=2cm]{logo}{logo.pdf}%../../planning/logo} \logo{ \pgfuseimage{logo} } \else \pgfdeclareimage[width=2cm]{logo}{} \logo{ %\pgfuseimage{logo} } \fi \ifcd \setbeamertemplate{section in toc} {\leavevmode\leftskip=3em\rlap{\hskip-3em\insertshortlecture.\inserttocsectionnumber}\inserttocsection\par} \setbeamertemplate{subsection in toc} {\leavevmode\leftskip=3em\rlap{\hskip-3em\insertshortlecture.\inserttocsectionnumber.\inserttocsubsectionnumber}\inserttocsubsection\par} \else \setbeamertemplate{enumerate item} { \usebeamerfont*{item projected}% \usebeamercolor[bg]{item projected}% \begin{pgfpicture}{-.55em}{0ex}{.55em}{1em} \pgfpathcircle{\pgfpoint{0pt}{.33em}}{0.6em} \pgfusepath{fill} \pgftext[base]{\color{fg}\insertenumlabel} \end{pgfpicture}% } \setbeamertemplate{enumerate subitem} { \usebeamerfont*{subitem projected}% \usebeamercolor[bg]{subitem projected}% \begin{pgfpicture}{-.55em}{0ex}{.55em}{1em} \pgfpathcircle{\pgfpoint{0pt}{.33em}}{0.6em} \pgfusepath{fill} \pgftext[base]{\color{fg}\insertsubenumlabel} \end{pgfpicture}% } \setbeamertemplate{enumerate subsubitem} { \usebeamerfont*{subsubitem projected}% \usebeamercolor[bg]{subsubitem projected}% \begin{pgfpicture}{-.55em}{0ex}{.55em}{1em} \pgfpathcircle{\pgfpoint{0pt}{.33em}}{0.6em} \pgfusepath{fill} \pgftext[base]{\color{fg}\insertsubsubenumlabel} \end{pgfpicture}% } \setbeamertemplate{section in toc} {\leavevmode\leftskip=1em% \llap{% \usebeamerfont*{section number projected}% \usebeamercolor{section number projected}% \begin{pgfpicture}{-.55em}{0ex}{.55em}{1em} \color{bg} \pgfpathcircle{\pgfpoint{0pt}{.33em}}{0.6em} \pgfusepath{fill} \pgftext[base]{\color{fg}\inserttocsectionnumber} \end{pgfpicture}\kern0.6em% }% \inserttocsection\par} \fi \alt{ \newenvironment{under construction}{}{} } { \newenvironment{under construction}{ \underconstructiontrue \marginpar{% \color{red}% \hrule width 1cm height 1.6pt% \vskip1pt \hrule width 1cm height .8pt% \vskip1pt \hrule width 1cm height .4pt% \vskip1pt \hbox to 1cm{\hss$\downarrow$\hss} \hbox to 1cm{\hss\scriptsize\sffamily\strut in Arbeit\hss} } \vskip1em } { \marginpar{% \color{red}% \hbox to 1cm{\hss$\uparrow$\hss}% \vskip1pt \hrule width 1cm height .4pt% \vskip1pt \hrule width 1cm height .8pt% \vskip1pt \hrule width 1cm height 1.6pt% } \vskip1em \global\underconstructionendedonthispagetrue% } } % Article version layout settings \mode
\def\ddimarginmark#1{% % Put a mark on both sides (one will be correct...) \par\noindent\leavevmode% \llap{\textcolor{gray}{\ddiputinbox{#1}}\hskip\marginparsep}% \rlap{\hskip\textwidth\hskip\marginparsep\textcolor{gray}{\ddiputinbox{#1}}}% } \def\ddiputinbox#1{% \scriptsize\sffamily% \setbox\marginbox=\hbox to1cm{\hfil% \begin{minipage}[t]{1cm}% \leftskip0pt plus 1fill\relax% \rightskip0pt plus 1fill\relax% #1% \end{minipage}\hfil% }% \dp\marginbox=0pt% \box\marginbox% } \newbox\marginbox \setbeamertemplate{frame begin}{% \def\@currentlabel{\insertframenumber}% \avoidwiddow{2cm}{150}% \par\vskip\medskipamount\penalty-100% \ddimarginmark{\insertframenumber}\ignorespaces% } \setbeamertemplate{frametitle}{% \unskip{% \raggedright% \normalsize\selectfont\noindent% \textsf{% \ifcd\color{structure.fg}\fi \insertframetitle% \ifx\insertframesubtitle\@empty% \else% \hfil\break\small\textcolor{structure.fg}{\insertframesubtitle}% \fi% }\par% }\noindent\expandafter\ignorespaces } \setbeamertemplate{frame end}{% \par } \setlength{\marginparwidth}{1cm} \setlength{\marginparsep}{5cm} \renewcommand\maketitle{ \par \thispagestyle{onlypagenumber} \addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}\insertlecture} \null \ifodd\c@page% \else% \leftskip-4.75cm \fi \chapterlikeheadline{\translate{Vortrag} \insertshortlecture}{\insertlecture}{\insertsubtitle\newline\newline \begin{footnotesize} \versionsinfo \end{footnotesize} } } \renewenvironment{titlepage}{\clearpage\null}{\vfill\vfill\clearpage} \newcommand\maintitle{ \thispagestyle{empty} {% \rightskip-4cm plus 1fil\relax% \leftskip6.5mm\relax% \vskip-2.2cm \leavevmode\hbox{\hskip-1.2cm{}%\includegraphics[scale=0.35]{hglion.pdf}% \hskip4cm{}\scalebox{3.2}{}%\ddiLogo}% \hskip5cm{}\vskip1cm%\includegraphics[scale=0.4]{ddi_qr_url.pdf}}\vskip1cm % {\vskip-2.75cm{}\hskip16.5cm{}\qrcode[height=2.5cm]{http://ddi.uni-wuppertal.de/}}}\vskip1cm \sffamily {\fontsize{48pt}{48pt}\selectfont \translate{Skript} \par\vskip6pt} {\fontsize{36pt}{44pt}\selectfont \color{structure.fg} \lecturename\par\vskip8pt} {\fontsize{24pt}{28pt}\selectfont \color{black} \insertsemester\vskip6pt\par} {\normalsize Fassung vom \today} \vskip3em\par \large {\color{structure.fg}\@author}\par \vfill } } \def\thesection{\insertshortlecture.\the\c@section} \def\thesubsection{\insertshortlecture.\the\c@section.\the\c@subsection} \def\sectionmarktext#1{% \typesetheadlinemain{% \hbox to3em{\ \ \insertshortlecture\hss}\quad\insertlecture\\[1pt]% \hbox to3em{\ \ \thesection\hss}\quad#1% }% } \def\sectionstarmarktext#1{% \typesetheadlinemain{% \hbox to3em{\ \ \insertshortlecture\hss}\quad\insertlecture\\[1pt]% \hbox to3em{\ \ \hss}\quad#1% }% } \def\chapterstarmarktext#1#2{% \typesetheadlinemain{% \quad#1\\[1pt]% \hbox{}\quad#2% }% } \def\sectionmark#1{% \markboth{\noexpand\sectionmarktext{#1}}{\noexpand\sectionmarktext{#1}}% } \def\sectionstarmark#1{% \markboth{\noexpand\sectionstarmarktext{#1}}{\noexpand\sectionstarmarktext{#1}}% } \def\chapterstarmark#1#2{% \markboth{\noexpand\chapterstarmarktext{#1}{#2}}{\noexpand\chapterstarmarktext{#1}{#2}}% } \def\ps@onlypagenumber{ \def\@oddhead{\rightbgbar{4.6cm}\setupheadcolor\typesetheadlinemain{\hbox to3em{\ \ \insertshortlecture\hss}\quad\insertlecture\\}% \hfill\oddouterborder} \def\@evenhead{\leftbgbar{4.6cm}\setupheadcolor\evenouterborder\typesetheadlinemain{\hbox to3em{\ \ \insertshortlecture\hss}\quad\insertlecture\\}} } \def\@oddfoot{} \def\@evenfoot{} \newif\ifunderconstruction \newif\ifunderconstructionendedonthispage \def\typesetheadlinemain#1{% \smash{% \sffamily\normalsize% \fboxsep=3pt% \colorbox{head.bg}{\vrule height15pt depth1pt width0pt% \smash{\hbox to \textwidth{% \hss{% \fontsize{7}{8}\selectfont% \hsize=\textwidth \vbox{% \textcolor{white}{#1} }% }% }}\hskip-6pt}}% } \def\typesetpagenumber{% \hbox to1cm{% \sffamily\normalsize% \hss% \fboxsep=3pt% \colorbox{head.bg}{% \vrule height15pt depth1pt width0pt% \raise4pt\hbox to 16pt{\hss\textcolor{white}{\thepage}\hss}}% \hss% }% } \def\setupheadcolor{% \ifunderconstruction\colorlet{head.bg}{red}\fi% \ifunderconstructionendedonthispage\colorlet{head.bg}{red}\fi% \global\underconstructionendedonthispagefalse% } \def\oddouterborder{\smash{\rlap{\rlap{\hskip-3pt\hskip2em\copy\fancypicturebox}\hskip\gapskip\typesetpagenumber}}} \def\evenouterborder{\smash{\llap{\typesetpagenumber\hskip\gapskip\llap{\copy\fancypicturebox\hskip2em}}}} \def\@oddhead{\rightbgbar{0pt}\setupheadcolor\rightmark\hfill\oddouterborder} \def\@evenhead{\leftbgbar{0pt}\setupheadcolor\evenouterborder\leftmark} \newdimen\extraheight \extraheight=\paperheight \advance\extraheight by 2cm \pgfdeclarehorizontalshading{bgleft}{\extraheight}{color(0pt)=(black95); color(4pt)=(white)} \pgfdeclarehorizontalshading{bgright}{\extraheight}{color(0pt)=(white); color(4pt)=(black95)} \def\leftbgbar#1{% \llap{% \setbox\mybox=\hbox{% \textcolor{black95}{\vrule width 7cm height \extraheight}% \pgfuseshading{bgleft}\hskip1em\hskip-2pt\hskip#1% }% \ht\mybox=0pt% \dp\mybox=0pt% \hbox{\vbox{\vskip\paperheight\vskip-1cm\box\mybox\vskip-\paperheight\vskip1cm}}% }% \rlap{% \hskip\textwidth% \setbox\mybox=\hbox{% \hskip1em\hskip-2pt% \pgfuseshading{bgright}% \textcolor{black95}{\vrule width 2cm height \extraheight}% }% \ht\mybox=0pt% \dp\mybox=0pt% \hbox{\vbox{\vskip\paperheight\vskip-1cm\box\mybox\vskip-\paperheight\vskip1cm}}% }% } \def\rightbgbar#1{% \llap{% \setbox\mybox=\hbox{% \textcolor{black90}{\vrule width 2cm height \extraheight}% \pgfuseshading{bgleft}\hskip1em\hskip-2pt% }% \ht\mybox=0pt% \dp\mybox=0pt% \hbox{\vbox{\vskip\paperheight\vskip-1cm\box\mybox\vskip-\paperheight\vskip1cm}}% }% \rlap{% \hskip\textwidth% \setbox\mybox=\hbox{% \hskip#1\hskip1em\hskip-2pt% \pgfuseshading{bgright}% \textcolor{black90}{\vrule width 7cm height \extraheight}% }% \ht\mybox=0pt% \dp\mybox=0pt% \hbox{\vbox{\vskip\paperheight\vskip-1cm\box\mybox\vskip-\paperheight\vskip1cm}}% }% } % Cannot print this: \def\leftbgbar#1{} \def\rightbgbar#1{} \def\insertsubtitle{} \newenvironment{frontmatter} { \pagenumbering{roman} } { \cleardoublepage \pagenumbering{arabic} } % Fancy mini pictures \newbox\fancypicturebox \newcommand\fancypictures[1]{% \global\setbox\fancypicturebox=\hbox{#1}} \let\ddi@fancy@other@option=\@empty \let\ddi@fancy@filename=\@empty \def\ddi@fancy@view@lx{0} \def\ddi@fancy@view@ly{0} \def\ddi@fancy@view@ux{25} \def\ddi@fancy@view@uy{25} \newif\ifddi@fancy@size@set \pgfkeys{/ddi/fancypicture/extra options/.store in=\ddi@fancy@other@option} \pgfkeys{/ddi/fancypicture/x/.code={% \pgfmathparse{#1}% \let\ddi@fancy@view@lx=\pgfmathresult% }} \pgfkeys{/ddi/fancypicture/y/.code={% \pgfmathparse{#1}% \let\ddi@fancy@view@ly=\pgfmathresult% }} \pgfkeys{/ddi/fancypicture/size/.code={% \pgfmathparse{\ddi@fancy@view@lx+#1}% \let\ddi@fancy@view@ux=\pgfmathresult% \pgfmathparse{\ddi@fancy@view@ly+#1}% \let\ddi@fancy@view@uy=\pgfmathresult% \ddi@fancy@size@settrue}% } \pgfkeys{/ddi/fancypicture/filename/.store in=\ddi@fancy@filename} \newcommand\fancypicture[1][]{% {\ddi@fancy@size@setfalse% \pgfkeys{/ddi/fancypicture/.cd,#1}% \edef\ddi@marshal{\noexpand \includegraphics[ clip,height=50pt,width=50pt, % angepasst -- ursprünglich 22 x 22, lh \ifddi@fancy@size@set viewport=\ddi@fancy@view@lx\space\ddi@fancy@view@ly\space\ddi@fancy@view@ux\space\ddi@fancy@view@uy,\fi% \ddi@fancy@other@option] {\ddi@fancy@filename}}% \lower4pt\hbox{\ddi@marshal}% }\ignorespaces } \mode \mode{\def\fancypictures#1{}} \mode
% Bibliography \renewenvironment{thebibliography}[1] { %\begin{comment} %\subsection*{\refname}% \list{\@biblabel{\@arabic\c@enumiv}}% {\settowidth\labelwidth{\@biblabel{#1}}% \leftmargin\labelwidth \advance\leftmargin\labelsep \@openbib@code \usecounter{enumiv}% \let\p@enumiv\@empty \renewcommand\theenumiv{\@arabic\c@enumiv}}% \sloppy \clubpenalty4000 \@clubpenalty \clubpenalty \widowpenalty4000% \sfcode`\.\@m} {\def\@noitemerr {\@latex@warning{Empty `thebibliography' environment}}% \endlist} %\end{comment} \mode % Lectures in article mode \mode
{ \renewcommand\lecture[3][]{ \clearpage \gdef\insertlecture{#2} \gdef\insertshortlecture{#1} \refstepcounter{chapter} \setcounter{framenumber}{0}% \label{#3}% } \renewcommand\thechapter{\insertshortlecture} } % Chapters like Introdcution \def\chapter#1{ \clearpage \null \addcontentsline{toc}{chapterstar}{#1} \ifodd\c@page% \else% \leftskip-4.75cm \fi \chapterlikeheadline{#1}{}{} \chapterstarmark{#1}{} } % New useful definitions: \newcommand\ddiborderpicture[1]{% \hbox{}\par% {% \setlength{\marginparsep}{2em}% \setlength{\marginparwidth}{5cm-2em}% \ddibordercommentpicture{#1}% \par% \vskip-\baselineskip% } \ignorespaces% } \newcommand\ddibordercommentpicture[1]{% \marginpar{\begin{minipage}[t]{4cm}\small\raggedright\hrule width0pt\par\vskip-4pt\par% \color{black!50}\scriptsize\sffamily\tikzset{every picture/.append style={black,font=\small}}#1\end{minipage}}% } \newcommand\includegraphicscopyrightborder[3][]{% \hbox{}\par% {% \setbox\mytempbox=\hbox{\includegraphicscopyright[#1]{#2}{#3}}% \setlength{\marginparsep}{2em}% \setlength{\marginparwidth}{\wd\mytempbox}% \marginpar{\leavevmode\raise\baselineskip\hbox{\lower\ht\mytempbox\box\mytempbox}}% \par% \vskip-\baselineskip% } \ignorespaces% } \newcommand\includegraphicscopyrightborderautowidth[3][]{% \includegraphicscopyrightborder[#1,width=4cm]{#2}{#3} } \only{ \let\includegraphicscopyrightborder=\includegraphicscopyright \let\includegraphicscopyrightborderautowidth=\includegraphicscopyright } \only{\newcommand\tafel{\hfill\beamergotobutton{Tafel}}} \only
{\newcommand\tafel{\par\smallskip{\noindent (Details an der Tafel)}}} % Regie \mode
{ \newenvironment{lecture notes only}[1][]{ \everythingsmaller \par\bigskip \noindent \ddimarginmark{#1}% \parskip.5em plus 1pt minus 1pt \ignorespaces } { \bigskip } } \mode { \newenvironment{lecture notes only}[1][]{\bgroup\setbox0=\hbox\bgroup} {\egroup\egroup} } \newenvironment{lecture notes intro}[1][\translate{Worum es heute geht}] {\begin{lecture notes only}[#1]\normalsize\ignorespaces}{\end{lecture notes only}} \newenvironment{lecture notes reference}[1][] { \par \mode
{#1}% \noindent% \ddimarginmark{\translate{Skript-Referenz}}% \everythingsmaller% \noindent% \ignorespaces% }{\bigskip} % Exercises \newif\ifddiwideexercises \mode
\newenvironment{lecture exercises} { \ifddiwideexercises \begin{wide pages}\twocolumn[] \fi \small \parskip=2pt plus 1pt minus 1pt {\def\thesection{}\let\@seccntformat=\@gobble\translatelet\mytemp{Uebungen zu diesem Vortrag}\section{\mytemp}} \sectionstarmark{\translate{Uebungen zu diesem Vortrag}} } { \ifddiwideexercises \end{wide pages} \fi } \newenvironment{exam exercises} { \parskip=2pt plus 1pt minus 1pt\avoidwiddow{3cm}{550}\subsection*{\translate{Pruefungsaufgaben zu diesem Vortrag}} } {} \newcommand\appendixchapter[3] { \clearpage \parskip=2pt plus 1pt minus 1pt \null \chapterlikeheadline{Anhang}{#1}{#2} \chapterstarmark{Anhang}{#3} \addcontentsline{toc}{subsection}{#3} } \newenvironment{lecture solutions} { \appendixchapter{Lösungen}{Beispiellösungen zu ausgewählten Übungsaufgaben}{Lösungen zu ausgewählten Übungsaufgaben} } {} \renewcommand\appendix{ \clearpage \chapterstarmark{Anhang}{} \addcontentsline{toc}{part}{\protect\numberline{Anhang}} } \pgfkeys{ /ddi/exercise/@credits/ignore/.initial=yes, /ddi/exercise/how/ignore/.initial=yes, /ddi/exercise/time/ignore/.initial=yes, /ddi/exercise/bonus/ignore/.initial=yes, /ddi/every exercise/.code=\everythingsmaller, /ddi/every solution/.code=\everythingsmaller} \ifonelecture \newcounter{exercisenumber} \else \newcounter{exercisenumber}[chapter] \fi \renewcommand{\theexercisenumber}{% \ifonelecture \the\c@exercisenumber \else \insertshortlecture.\the\c@exercisenumber \fi } \renewcommand\insertexercisetext{\translate{Uebung}} \newcommand\everythingsmaller{% \small% \def\@listI{\leftmargin\leftmargini \parsep 0pt \topsep 3\p@ \@plus2\p@ \@minus3\p@ \itemsep0pt}% \let\@listi=\@listI% \def\@listii{\leftmargin\leftmarginii \parsep 0pt \topsep 3\p@ \@plus2\p@ \@minus3\p@ \itemsep0pt}% \lstset{% basicstyle=\ttfamily\footnotesize, }% } \mode % Sorting sparklines \colorlet{varcolor1}{orange!80!red} \colorlet{varcolor2}{blue} \colorlet{varcolor3}{violet!70} \colorlet{varcolor4}{red} \colorlet{varcolor5}{green!50!black} \pgfkeys{/algolab/sorting/seq/.code={\global\algolabseq#1\relax}} \pgfkeys{/algolab/sorting/max value/.initial=5} \pgfkeys{/algolab/sorting/num values/.initial=5} \pgfkeys{/algolab/sorting/num vars/.initial=2} \pgfkeys{/algolab/sorting/compare/.code args={#1 and #2}{\def\possiblecompare{\showcompare{#1}{#2}}}} \pgfkeys{/algolab/sorting/swap/.code args={#1 and #2}{\def\possibleswap{\showswap{#1}{#2}}}} \def\possiblecompare{} \def\possibleswap{} \def\showcompare#1#2{ \draw[red!50,very thick,line join=round] (\csname algolabvalue#1\endcsname,#1) -- (\pgfkeysvalueof{/algolab/sorting/max value}+2,#1) -- (\pgfkeysvalueof{/algolab/sorting/max value}+2,#2) -- (\csname algolabvalue#2\endcsname,#2); } \def\showswap#1#2{ \coordinate (s1) at (\csname algolabvalue#1\endcsname,#1); \coordinate (s2) at (\pgfkeysvalueof{/algolab/sorting/max value},#1); \coordinate (t1) at (\csname algolabvalue#2\endcsname,#2); \coordinate (t2) at (\pgfkeysvalueof{/algolab/sorting/max value},#2); \draw[red,very thick,line join=round] (s1) -- ([shift={(0.5,0)}]s2) -- ([shift={(1.5,0)}]t2) -- ([shift={(2,0)}]t2) -- ([shift={(2,0)}]s2) -- ([shift={(1.5,0)}]s2) -- ([shift={(0.5,0)}]t2) -- (t1); } \pgfkeys{/algolab/sorting/offset/.code args={#1=#2}{\pgfkeysalso{/algolab/sorting/vars/offsets/#1/.initial=#2}}} \pgfkeys{/algolab/sorting/vars/.initial=} \pgfkeys{/algolab/sorting/@show vars/phantom/.code=\advance\algolabsortingcount by 1\relax} \pgfkeys{/algolab/sorting/@show vars/.unknown/.code= { { \colorlet{current}{varcolor\the\algolabsortingcount} \let\name=\pgfkeyscurrentname \let\value=\pgfkeyscurrentvalue \pgfkeysifdefined{/algolab/sorting/vars/offsets/\name} {\pgfkeysgetvalue{/algolab/sorting/vars/offsets/\name}{\offset}}{\def\offset{0}} \@tempcnta=\value\relax \advance\@tempcnta by\offset\relax \edef\pos{\the\@tempcnta} \node [current] (x) at (-1*\pgfkeysvalueof{/algolab/sorting/num vars}-2,2*\algolabsortingcount-2) [anchor=mid east,inner sep=1pt] {\scriptsize{$\mathit{\name}=\value$}}; \draw [current,semithick] (x.mid east) -- ++(\pgfkeysvalueof{/algolab/sorting/num vars}-\the\algolabsortingcount+1,0) -- (-1.5,\pos) -- (0,\pos); \algolabsortline[current]{\csname algolabvalue\pos\endcsname}{\pos} } \advance\algolabsortingcount by 1\relax } } \pgfkeys{/algolab/sorting/values/.initial=0} \newcount\algolabsortingcount \newcount\algolabvarnum \newcommand\algolabsortline[3][]{ \ifnum#2<0\relax \else \draw[black!50,line width=.75ex,#1] ([xshift=-0.4pt]0,#3) -- (#2,#3); \fi } \newcount\algolabseq \newenvironment{sorting example}[1][] { \global\algolabseq=0\relax \pgfkeys{/algolab/sorting/.cd,#1} } {} \newcommand\sortsparkline[1]{% \global\advance\algolabseq by1\relax% \begin{tikzpicture}[x=.725ex,y=-1ex,join=round] \pgfkeys{/algolab/sorting/.cd,#1} \path (\pgfkeysvalueof{/algolab/sorting/max value}+3,0); % \fill[blue!20] % (-10-\pgfkeysvalueof{/algolab/sorting/num vars},-3) rectangle % (\pgfkeysvalueof{/algolab/sorting/max value}+3,\pgfkeysvalueof{/algolab/sorting/num values}); % \fill[blue!20] % (-10-\pgfkeysvalueof{/algolab/sorting/num vars},-3) rectangle % (\pgfkeysvalueof{/algolab/sorting/max % value}+3,\pgfkeysvalueof{/algolab/sorting/num vars}*2-1); % \path ([yshift=-2mm]current bounding box.south); \tikzset{slide=\the\algolabseq} % \node[tiny numbering,below right] at % (-9.5-\pgfkeysvalueof{/algolab/sorting/num vars},-2.5) {\the\algolabseq}; \pgfkeysgetvalue{/algolab/sorting/values}{\values} \algolabsortingcount=0\relax% \expandafter\foreach\expandafter \i\expandafter i\expandafter n\expandafter {\values} { \algolabsortline{\i}{\algolabsortingcount} \expandafter\xdef\csname algolabvalue\the\algolabsortingcount\endcsname{\i} \global\advance\algolabsortingcount by 1\relax } \pgfkeysgetvalue{/algolab/sorting/vars}{\vars} \possiblecompare \possibleswap \algolabsortingcount=1\relax% \pgfkeys{/algolab/sorting/@show vars/.cd,/utils/exec=\expandafter\pgfkeysalso\expandafter{\vars}} \end{tikzpicture}% \hfil\penalty0\hfilneg\hskip1mm\ignorespaces % } % Typesetting memory models \newcount\ddimemoryline \newenvironment{ahobject}[1] { \def\objectname{#1} \ddimemoryline=0\relax \lstset{basicstyle=\scriptsize\ttfamily} \tikzset{@kind/.style=memory} \scope } { \endscope } \newenvironment{variables}[1] { \def\objectname{#1} \ddimemoryline=0\relax \lstset{basicstyle=\scriptsize\ttfamily} \tikzset{@kind/.style=var,y=.5cm} \scope } { \endscope } \def\ahattribute#1 #2=#3;{% \node [@kind,minimum height=4mm,text height=1mm,text depth=0pt,anchor=base west] (\objectname-#2) at (0,-1*\ddimemoryline) {\scantokens{\javacode|#3|}}; \node [text height=1mm,text depth=0pt,minimum height=4mm,anchor=base east] at (0,-1*\ddimemoryline) {\javacode|#1 #2|}; \advance\ddimemoryline by 1\relax } % Bars \pgfdeclareverticalshading{ddibar}{\textwidth}{ color(0pt)=(white); color(1.5pt)=(structure.fg!50); color(3pt)=(white)} \newcommand\articlebar{% \only
{\parskip=0pt\baselineskip=0pt\medskip% %\textcolor{structure.fg!50}{\hrule height1pt}% \par% \pgfuseshading{ddibar} \par\medskip}} % Quotations \mode
{ \renewenvironment{quotation}{ \list{}{\small}\item \parindent0em \parskip.75em plus 1pt minus 1pt \ignorespaces } {\endlist} } % Rezepte \newcount\proofcomments \mode
{ \newenvironment{commented proof}[1][\translate{Proof}]{ \only
{\parskip.1em plus 1pt minus 1pt\proofcomments=0\relax} \proof[#1]% \setlength{\marginparsep}{2em}% \setlength{\marginparwidth}{5cm-2em}% \proofcomment[]{\textcolor{structure.fg}{Kommentare zum Rezept}}\noindent\ignorespaces% } { \endproof } \newcommand\proofcomment[2][\the\proofcomments]{% \def\temp{#1}\ifx\temp\pgfutil@empty\else% \advance\proofcomments by1\relax% \leavevmode\smash{$^{\hbox{\fontsize{6}{7}\selectfont\textcolor{black!50}{#1}}}$}\fi% \marginpar{\scriptsize\sffamily\raggedright\textcolor{black!50}{\llap{\smash{\raise 2.8pt\hbox{\tiny#1\ }}}#2}}% }% \newenvironment{commented definition}[1][]{ \only
{\parskip.1em plus 1pt minus 1pt} \definition[#1]% \setlength{\marginparsep}{2em}% \setlength{\marginparwidth}{5cm-2em}% \par\definitioncomment[]{\textcolor{structure.fg}{Kommentare zur Definition}}\noindent\ignorespaces% } { \enddefinition } \newenvironment{commented paragraph}[1][]{ \begingroup \setlength{\marginparsep}{2em}% \setlength{\marginparwidth}{5cm-2em}% } { \par \endgroup } } \mode \newenvironment{proof method}[1][] { \pgfkeys{/ddi/proof method/.cd,#1} \begin{frame}[fragile=singleslide,t] \frametitle{Rezept: \emph{\textcolor{black}% {\pgfkeysvalueof{/ddi/proof method/title}}}} \begin{columns}[onlytextwidth] \column{\textwidth-2.5cm} \begin{block}{Ziel} \emph{\pgfkeysvalueof{/ddi/proof method/goal}} \end{block} \column{2cm} \vskip1mm %\includegraphics[width=1.5cm]{ddi-icon-kochmuetze.pdf} \end{columns} \begin{block}{Rezept} } { \end{block} \pgfkeysvalueof{/ddi/proof method/also on frame} \end{frame} } \newcommand\proofcomment[1]{\par{\leftskip0pt plus1fill\rightskip0pt\textcolor{black!50}{(#1)}\par}} \newenvironment{commented proof}{\proof}{\endproof} \newenvironment{commented definition}{\definition}{\enddefinition} % Handling of seminar files \mode{\def\bodydir{.}} \mode
\let\ddilecturelist\@empty \def\InsertLectureAndExercises#1{ \IfFileExists{../#1/body.bib}{ \begin{refsection}[../#1/body.bib] }{ \begin{refsection} } \def\bodydir{../#1} \g@addto@macro\ddilecturelist{\InputIfFileExists{../#1/solutions.tex}{}{}} \InputIfFileExists{../#1/body.tex}{}{} \InputIfFileExists{../#1/exercises.tex}{}{} \end{refsection} } \def\InsertSolutions{% %\fancypictures{} \appendix \begin{lecture solutions} \ddilecturelist \end{lecture solutions} } \mode \let\definitioncomment=\proofcomment % Translations \providetranslation[to=German]{Skript}{Skript} \providetranslation[to=English]{Skript}{Notes} \providetranslation[to=German]{DDI}{Fachgebiet Didaktik der Informatik} \providetranslation[to=English]{DDI}{Department of Didactics of Informatics} \providetranslation[to=German]{BUW}{\universitaet} \providetranslation[to=English]{BUW}{\university} %\providetranslation[to=German]{Vortrag}{Vortrag} %\providetranslation[to=English]{Vortrag}{Talk} \providetranslation[to=German]{Seminar -- Kompetenzen}{Seminar -- Kompetenzen} \providetranslation[to=English]{Seminar -- Kompetenzen}{Seminar---Competencies} %\providetranslation[to=German]{Inhalte dieses Vortags}{Inhalte dieses Vortrags} %\providetranslation[to=English]{Inhalte dieses Vortrags}{Contents} %\providetranslation[to=German]{Zusammenfassung dieses Vortrags}{Zusammenfassung dieses Vortrags} %\providetranslation[to=English]{Zusammenfassung dieses Vortrags}{Summary for this Talk} \providetranslation[to=German]{Zusammenfassung}{Zusammenfassung} \providetranslation[to=English]{Zusammenfassung}{Summary} \providetranslation[to=German]{Uebung}{Übung} \providetranslation[to=English]{Uebung}{Problem} \providetranslation[to=German]{Zur Uebung}{Zur Übung} \providetranslation[to=English]{Zur Uebung}{Exercise} \providetranslation[to=German]{Zur Diskussion}{Zur Diskussion} \providetranslation[to=English]{Zur Diskussion}{Discussion} \providetranslation[to=German]{Worum es heute geht}{Worum es heute geht} \providetranslation[to=English]{Worum es heute geht}{Today's topic} \providetranslation[to=German]{Zum Weiterlesen}{Zum Weiterlesen} \providetranslation[to=English]{Zum Weiterlesen}{For Further Reading} \providetranslation[to=German]{Kompetenzen}{Ziele} \providetranslation[to=English]{Kompetenzen}{Ziele} %\providetranslation[to=German]{Kompetenzen}{Kompetenzen} %\providetranslation[to=English]{Kompetenzen}{Chapter---Competencies} \providetranslation[to=German]{Gliederung}{Gliederung} \providetranslation[to=English]{Gliederung}{Outline of Chapter} %\providetranslation[to=German]{Vortrag}{Vortrag} %\providetranslation[to=English]{Vortrag}{Talk} \providetranslation[to=German]{ vom}{ vom} \providetranslation[to=English]{ vom}{,} \providetranslation[to=German]{ von}{ von} \providetranslation[to=English]{ von}{ by} \providetranslation[to=German]{Minuten-Aufgaben}{-Minuten-Aufgaben} \providetranslation[to=English]{Minuten-Aufgaben}{-Minute Exercises} \providetranslation[to=German]{Minuten-Aufgabe}{-Minuten-Aufgabe} \providetranslation[to=English]{Minuten-Aufgabe}{-Minute Exercise} \providetranslation[to=German]{Skript-Referenz}{Skript-\penalty0Referenz} \providetranslation[to=English]{Skript-Referenz}{Lecture notes material}