diff --git a/img/zeitplan.pdf b/img/zeitplan.pdf deleted file mode 100644 index 0fb1ee8..0000000 Binary files a/img/zeitplan.pdf and /dev/null differ diff --git a/preamble.tex b/preamble.tex index 4c2c4e1..327563a 100644 --- a/preamble.tex +++ b/preamble.tex @@ -15,7 +15,7 @@ \setlength{\multicolsep}{0.5em} \usepackage{longtable} \usepackage{enumitem} % to easily remove itemize indent for the checklist - +\usepackage{pdfpages} \usepackage{fontspec} \usepackage{microtype} \usepackage[autostyle=true]{csquotes} diff --git a/texte/zeitplan.tex b/texte/zeitplan.tex index 2bde447..fba8cbd 100644 --- a/texte/zeitplan.tex +++ b/texte/zeitplan.tex @@ -16,23 +16,22 @@ % 5. Färdsch -\addchap[Zeitplan der ESE-Woche]{} -\thispagestyle{empty} +%\thispagestyle{empty} %\thispagestyle{empty} %keine Seitenzahl %\AddToShipoutPicture*{\put(0,0){% %\parbox[b][\paperheight]{\paperwidth}{% -\begin{center} - \vspace*{-6.5em} - \includegraphics[height=.77\dimen108,keepaspectratio]{img/zeitplan.pdf}% +%\begin{center} +% \vspace*{-6.5em} + \includepdf[angle=90]{timetable/zeitplan.pdf}% - \small - \vfill - \enlargethispage{3em} - - Sofern nicht anders angegeben, finden alle Veranstaltungen im Fakultätsgebäude der Informatik, dem - \textbf{Andreas Pfitzmann Bau (APB)}, im Raum \textbf{E023} (Hörsaal direkt am Foyer) statt. - Folge im Gebäude einfach den vielen Tutoren in den schönen, roten ESE-2018-Shirts. - - Den aktuellen Zeitplan findest du auch jederzeit unter \textbf{ese.ifsr.de}~\link{https://ese.ifsr.de/}. -\end{center} +% \small +% \vfill +% \enlargethispage{3em} +% +% Sofern nicht anders angegeben, finden alle Veranstaltungen im Fakultätsgebäude der Informatik, dem +% \textbf{Andreas Pfitzmann Bau (APB)}, im Raum \textbf{E023} (Hörsaal direkt am Foyer) statt. +% Folge im Gebäude einfach den vielen Tutoren in den schönen, roten ESE-2018-Shirts. +% +% Den aktuellen Zeitplan findest du auch jederzeit unter \textbf{ese.ifsr.de}~\link{https://ese.ifsr.de/}. +%\end{center} diff --git a/timetable/timetable.sty b/timetable/timetable.sty new file mode 100755 index 0000000..041e428 --- /dev/null +++ b/timetable/timetable.sty @@ -0,0 +1,704 @@ +% TODO major cleanup necessary! + +% timetable.sty - The LaTeX timetable stylesheet V1.4 +% http://www.planetk.de/index.php?title=Stundenplan +% +% Copyright (C) 2007-2009 Pascal Gwosdek +% Modifications (C) 2008 Daniel Bader +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 3 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, see . +% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{timetable} +\RequirePackage{ifthen, calc, color} + +% swtich case helper +\newcommand\addcase[3]{\expandafter\def\csname\string#1@case@#2\endcsname{#3}} +\newcommand\makeswitch[2][]{% + \newcommand#2[1]{% + \ifcsname\string#2@case@##1\endcsname\csname\string#2@case@##1\endcsname\else#1\fi% + }% +} +\makeswitch[nada]\dothis + + +% Preset the colors +\definecolor{ttframecol1}{rgb}{0.95,0.95,0.95} +\definecolor{ttframecol2}{rgb}{0.9,0.9,0.9} +\definecolor{ttfontcolor}{rgb}{0.25,0.25,0.25} +\definecolor{ttlinecol1}{rgb}{0.0,0.0,0.0} +\definecolor{ttlinecol2}{rgb}{0.5,0.0,0.0} + +% Simple for loop construct as proposed by N. Setzer +\newcommand{\@ttforloop}[5][1] +{ + \setcounter{#2}{#3} + \ifthenelse{#4} + { + #5 + \addtocounter{#2}{#1} + \@ttforloop[#1]{#2}{\value{#2}}{#4}{#5} + } + {} + } + +% SansSerif font +\newcommand{\timetablefont}{\sffamily} +\newcommand{\@ttfont}{\timetablefont\selectfont} + +% Dimensions +\newlength{\@rowheight} +\newlength{\@rowhght} +\newlength{\@colwidth} +\newlength{\@colwdth} +\newlength{\@offset} +\newcounter{@rowcount} +\newcounter{@colcount} +\newlength{\@textframe} +\newlength{\@bottomspace} +\newlength{\@totalheight} +\newlength{\@totalwidth} +\newlength{\@toprowheight} + +% Arbitrary stuff +\newcounter{@timemarks} +\newcounter{@daymarks} +\newcounter{@topheight} +\newcounter{@printtimestamps} +\newlength{\@cornerradius} +\newcounter{@frametype} +\newcounter{@framevalign} + +% Predefines +\setlength{\@cornerradius}{3pt} +\setcounter{@frametype}2 +\setcounter{@framevalign}2 +\setlength{\@rowheight}{1.2cm} +\setlength{\@colwidth}{2.8cm} +\setlength{\@textframe}{0.8mm} +\setlength{\@bottomspace}{8pt} +\setcounter{@rowcount}9 +\setcounter{@colcount}5 +\setcounter{@topheight}{2} +\setcounter{@printtimestamps}{0} +\newcommand{\@bottomstyle}{\scriptsize} +\newcommand{\@timestyle}{\tiny} + +% Event declarations +\newlength{\@startposx} +\newlength{\@startposy} +\newlength{\@eventheight} +\newlength{\@newcolwidth} +\newlength{\@newrowheight} +\newlength{\@newcolleft} +\newlength{\@newrowtop} + +% Helpers +\newcounter{@hourslot} +\newcounter{@durationslots} +\newcounter{@minutesperslot} +\newcounter{@timetablehelp} + +\newcounter{@day} +\newcounter{@column} +\newcounter{@row} +\newcounter{@hour} +\newcounter{@minute} +\newcounter{@minuteStep} +\newcounter{@startHour} +\newcounter{@startMinute} +\newcounter{@endHour} +\newcounter{@endMinute} +\newcounter{@hoursset} +\setcounter{@hoursset}{0} +\newcounter{@hourzero} + +\newcommand{\seteventcornerradius}[1] +{ + \setlength{\@cornerradius}{#1} + \ifthenelse{\strip@pt\@cornerradius > 7} + { + \setlength{\@cornerradius}{7pt} + } + { + \ifthenelse{\strip@pt\@cornerradius < 0} + { + \setlength{\@cornerradius}{0pt} + } + {} + } +} + +\newcommand{\settopheight}[1] +{ + \addtocounter{@rowcount}{#1-\value{@topheight}} + \setcounter{@topheight}{#1} +} + +\newcommand{\setframetype}[2][c] +{ + % Set frame type + \ifthenelse{#2 < 1} + { + % Lines + \setcounter{@frametype}{1} + } + { + \ifthenelse{#2 > 2} + { + % Checkerboard + \setcounter{@frametype}{2} + } + { + \setcounter{@frametype}{#2} + } + } + + % Caption vertical alignment + \ifthenelse{\equal{#1}{b}} + {\setcounter{@framevalign}{1}} + {\ifthenelse{\equal{#1}{t}} + {\setcounter{@framevalign}{0}} + {\setcounter{@framevalign}{2}} + } +} + +\newcommand{\setprinttimestamps}[1] +{ + \setcounter{@printtimestamps}{#1} +} + +\newcommand{\setbottomstyle}[1] +{ + \renewcommand{\@bottomstyle}{#1} +} + +\newcommand{\settimestyle}[1] +{ + \renewcommand{\@timestyle}{#1} +} + +\newcommand{\setbottomspace}[1] +{ + \setlength{\@bottomspace}{#1} +} + +\newcommand{\@fmtTime}[2] +{ + % Arguments: {hour}{minute} + \ifthenelse{\value{#1} < 10}{0}{}\arabic{#1}:\ifthenelse{\value{#2} < 10}{0}{}\arabic{#2} +} + +\newcommand{\slotevent}[9] +{ + % Arguments: {x}{y}{duration}{title}{lecturer}{place}{type}{textcolor} + \renewcommand{\baselinestretch}{0.75}\normalsize + + \setlength{\@startposx}{#1\@colwidth-0.5pt} + \setlength{\@startposy}{-#2\@rowheight-1.0pt} + \setlength{\@eventheight}{#3\@rowheight-0pt} + \addtolength{\@startposy}{-\@eventheight} + + \setlength{\@colwdth}{\@colwidth*\real{0.5}} + \addtolength{\@startposx}{-\@colwdth} + \setlength{\@offset}{-2pt} + + % \addcase\dothis{0}{\setlength{\@colwdth}{\@colwidth}} + \addcase\dothis{0}{\addtolength{\@colwdth}{\@colwidth*\real{0.5}}} + \addcase\dothis{6}{ + \addtolength{\@colwdth}{\@colwidth*\real{0.5}} + } + \addcase\dothis{1}{} + \addcase\dothis{7}{} + \addcase\dothis{2}{\addtolength{\@startposx}{\@colwdth}\addtolength{\@offset}{\@colwdth}} + \addcase\dothis{3}{ + \addtolength{\@startposx}{\@colwidth-10pt} + % \addtolength{\@offset}{60pt} + \setlength{\@colwdth}{10pt} + % \addtolength{\@offset}{-\@colwidth-0.5pt} + % \addtolength{\@offset}{\@colwdth} + } + % \addcase\dothis{4}{\addtolength{\@colwdth}{\@colwidth*\real{0.5}}} + \addcase\dothis{4}{ + % \addtolength{\@startposx}{\@colwidth-10pt} + % \addtolength{\@offset}{60pt} + \setlength{\@colwdth}{10pt} + % \addtolength{\@colwdth}{-10pt} + % \addtolength{\@offset}{-\@colwidth-0.5pt} + % \addtolength{\@offset}{\@colwdth} + } + \addcase\dothis{5}{ + \newlength{\@manuOffset} + \setlength{\@manuOffset}{7pt} + \addtolength{\@colwdth} {-\@manuOffset*\real{2}+\@colwidth*\real{0.5}} + \setlength{\@eventheight}{-\@manuOffset*\real{2}+#3\@rowheight} + \addtolength{\@startposx}{\@manuOffset} + \addtolength{\@startposy}{\@manuOffset} + % % \addtolength{\@offset}{60pt} + % \setlength{\@colwdth}{10pt} + % % \addtolength{\@offset}{-\@colwidth-0.5pt} + % % \addtolength{\@offset}{\@colwdth} + } + + \dothis{#9} + + \addtolength{\@startposx}{\@cornerradius} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block} + {\rule[-\dp\strutbox]{\@colwdth-2\@cornerradius}{\@eventheight}}} + \addtolength{\@startposx}{-\@cornerradius} + \addtolength{\@startposy}{\@cornerradius} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block} + {\rule[-\dp\strutbox]{\@colwdth}{\@eventheight-2\@cornerradius}}} + \addtolength{\@startposy}{-\@cornerradius} + + % Event borders + \addtolength{\@startposy}{-0.25pt} + % \addtolength{\@startposy}{+0.5pt} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{\@colwdth}{0.5pt}}} + % \addtolength{\@startposy}{+0.5pt} + % \addtolength{\@startposy}{+0.5pt} + \addtolength{\@startposy}{\@eventheight} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{\@colwdth+0.5pt}{0.5pt}}} + % \addtolength{\@startposy}{-0.5pt} + % \addtolength{\@eventheight}{-0.5pt} + \addtolength{\@startposy}{-\@eventheight} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{0.5pt}{\@eventheight}}} + \addtolength{\@startposx}{\@colwdth} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{0.5pt}{\@eventheight}}} + + \setlength{\@cornerradius}{2\@cornerradius} + + \ifthenelse{\strip@pt\@cornerradius > 0} + { + % Left rounded corners + \addtolength{\@startposx}{.5\@cornerradius} + \addtolength{\@startposy}{.5\@cornerradius-\dp\strutbox} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block}{\circle*{\strip@pt\@cornerradius}}} + \addtolength{\@startposy}{-.5\@cornerradius+\dp\strutbox} + \addtolength{\@startposy}{-.5\@cornerradius-\dp\strutbox+\@eventheight} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block}{\circle*{\strip@pt\@cornerradius}}} + \addtolength{\@startposy}{.5\@cornerradius+\dp\strutbox-\@eventheight} + \addtolength{\@startposx}{-.5\@cornerradius} + + % Right rounded corners + \addtolength{\@startposx}{-.5\@cornerradius+\@colwidth-1pt} + \addtolength{\@startposy}{.5\@cornerradius-\dp\strutbox} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block}{\circle*{\strip@pt\@cornerradius}}} + \addtolength{\@startposy}{-.5\@cornerradius+\dp\strutbox} + \addtolength{\@startposy}{-.5\@cornerradius-\dp\strutbox+\@eventheight} + \put(\strip@pt\@startposx,\strip@pt\@startposy){\textcolor{@timetable#8block}{\circle*{\strip@pt\@cornerradius}}} + \addtolength{\@startposy}{.5\@cornerradius+\dp\strutbox-\@eventheight} + \addtolength{\@startposx}{.5\@cornerradius-\@colwidth-1pt} + }{} + + \setlength{\@cornerradius}{0.5\@cornerradius} + + \setlength{\@newrowheight}{\@rowheight} + \addtolength{\@newrowheight}{-2\@textframe-1pt} + \setlength{\@newcolwidth}{\@colwidth} + \addtolength{\@newcolwidth}{-2\@textframe-1pt} + + \setlength{\@newrowtop}{-#2\@rowheight} + \addtolength{\@newrowtop}{-2\@textframe} + \setlength{\@newcolleft}{#1\@colwidth+.5pt} + \addtolength{\@newcolleft}{\@textframe} + \ifthenelse{#9 = 0 \OR #9 = 5 \OR #9 = 6}{ + \addtolength{\@newcolleft}{-\@colwidth*\real{0.5}} + \ifthenelse{#9 = 5}{ + \addtolength{\@newcolleft}{ \@manuOffset} + \addtolength{\@newrowtop} {-\@manuOffset} + }{} + \ifthenelse{#9 = 6}{ + \addtolength{\@newcolleft}{10pt} + }{} + }{ + \addtolength{\@newcolleft}{-\@colwdth} + } + + \ifthenelse{\value{@hoursset} = 0}{\setcounter{@printtimestamps}{0}}{} + + % Title + \ifthenelse{#9 = 7}{ + \addtolength{\@newcolleft}{10pt} + }{} + \ifthenelse{#9 = 3}{ + \addtolength{\@newcolwidth}{-\@colwidth*\real{0.5}} + \addtolength{\@newcolwidth}{11pt} + \addtolength{\@newrowtop}{-10pt} + } {} + \ifthenelse{#9 = 4}{ + % \addtolength{\@newcolwidth}{-\@colwidth*\real{0.5}} + % \setlength{\@colwdth}{\@colwidth*\real{0.5}} + \addtolength{\@newcolwidth}{11pt} + \addtolength{\@newrowtop}{-\@eventheight*\real{0.33}} + \addtolength{\@newcolleft}{-\@colwidth} + \addtolength{\@newcolleft}{9.25pt} + } {} + \ifthenelse{#9 = 5}{ + % \addtolength{\@newcolwidth}{-\@colwidth*\real{0.5}} + \addtolength{\@newcolwidth}{-\@manuOffset} + } {} + \addtolength{\@newrowtop}{-10pt} + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop) + {\begin{minipage}[t]{\@newcolwidth}% + \hspace*{\@offset} + \@ttfont\raggedright\color{@timetable#8text}% + \ifthenelse{\value{@printtimestamps} > 0}% + {{\@timestyle \@fmtTime{@startHour}{@startMinute}}% + \ifthenelse{\value{@printtimestamps} = 2}% + {{\@timestyle -- \@fmtTime{@endHour}{@endMinute}}}% + {}% + \\}% + {}% + \ifthenelse{#9 = 0 \OR #9 = 6 \OR #9 = 5}{% + \textbf{#4}% + \ifthenelse{\equal{#4}{Abschlussplenum}}{ + \\\transparent{.7}#5 % + }{ + \ifthenelse{\equal{#4}{Nach der Anreise}}{ + \\#5% + }{ + \hfill\transparent{.7}#5 \hspace*{10pt}% + \ifthenelse{#9 = 6}{ + \hspace*{10pt}% + }{} + } + } + }{}% + \ifthenelse{#9 = 1 \OR #9 = 7}{% + {\textbf{#4} \\ \transparent{.7}#5 }% + }{}% + \ifthenelse{#9 = 2}{% + {\textbf{#4} \\ \hspace*{\@offset} \transparent{.7}#5 }% + }{}% + \ifthenelse{#9 = 3 \OR #9 = 4}{% + {\centering \textbf{#4}}% + }{}% + \end{minipage}} + \addtolength{\@newrowtop}{1pt} + + \renewcommand{\baselinestretch}{0.5}\normalsize + \setlength{\@newrowtop}{-#2\@rowheight-#3\@rowheight} + \addtolength{\@newrowtop}{2\@textframe + \@bottomspace} + + \addtolength{\@newrowtop}{-13pt} + % Lecturer + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop) + {\begin{minipage}[t]{1.0\@newcolwidth}% + \hspace*{\@offset} + \@ttfont\raggedright\color{@timetable#8text}{\@bottomstyle #6% + \vphantom{A}} + \ifthenelse{\value{@printtimestamps} = 1}% + {{\@timestyle \@fmtTime{@endHour}{@endMinute}}}% + {}% + \end{minipage}} + + \setlength{\@newcolleft}{#1\@colwidth + \@colwidth} + \addtolength{\@newcolleft}{-\@textframe-0.4\@newcolwidth} + + % Location + % \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop) + % {\begin{minipage}[t]{0.4\@newcolwidth}% + % \@ttfont\raggedleft\color{@timetable#7text}{\@bottomstyle #6% + % \vphantom{A}}% + % \end{minipage}} + + \renewcommand{\baselinestretch}{1.0}\normalsize + } + +\newcommand{\event}[9] + { + % Arguments: {@day}{@start}{@end}{title}{lecturer}{place}{type} + + % Use the time format, if hours are defined, and a slot number otherwise: + \ifthenelse{\value{@hoursset} > 0} + { + \setcounter{@startHour}{#2 / 100} + \setcounter{@startMinute}{#2 - #2 / 100 * 100} + + \setcounter{@endHour}{#3 / 100} + \setcounter{@endMinute}{#3 - #3 / 100 * 100} + + \setcounter{@hourslot}{((#2 - \value{@hourzero}) / 100 * (60 / \value{@minutesperslot})) + 2 + ((#2 - #2 / 100 * 100) / \value{@minutesperslot})} + \setcounter{@durationslots}{((#3 - \value{@hourzero}) / 100 * (60 / \value{@minutesperslot})) + 2 + ((#3 - #3 / 100 * 100) / \value{@minutesperslot}) - \value{@hourslot}} + + % Compensate for 24h wrap + \ifthenelse{\value{@hourslot} < 0}{\addtocounter{@hourslot}{(24 * (60 / \value{@minutesperslot}))}}{} + + \addtocounter{@hourslot}{\value{@topheight}-2} + } + { + \setcounter{@hourslot}{#2} + \setcounter{@durationslots}{#3-#2} + } + + \slotevent{#1}{\value{@hourslot}}{\value{@durationslots}}{#4}{#5}{#6}{#7}{#8}{#9} + } + +\newcommand{\legend}[3] + { + % Arguments: + % Lets you manually set slot contents (use this really rarely and + % SEE: \daymark, \timemark ) + + \setlength{\@newrowtop}{\@rowheight*(-#2+1)-\dp\strutbox} + \setlength{\@newcolleft}{#1\@colwidth-\@colwidth} + \ifthenelse{#2 = 1}{ + \addtolength{\@newcolleft}{-\@colwidth*\real{0.5}} + } { + } + + \ifthenelse{\value{@hoursset} = 0} + {\setcounter{@minutesperslot}{60}} + {} + + % Select frame type + \ifthenelse{\value{@frametype} = 1} + { % Lines + % \ifthenelse{#1 = 1}{\put(\strip@pt\@newcolleft,\strip@pt\@newrowtop){\textcolor{black}{\rule{\@colwidth}{1pt}}}}{} + % TODO change here + \addtolength{\@newrowtop}{-\value{@topheight}\@rowheight} + + \addtolength{\@newrowtop}{-2.5pt-\@rowheight*(\value{@rowcount} -4)-\dp\strutbox} + % \addtolength{\@newrowtop}{-50pt} + + \addtolength{\@newcolleft}{-0.5pt} + % \ifthenelse{#2 = 1}{\put(\strip@pt\@newcolleft,\strip@pt\@newrowtop){\textcolor{black}{\rule{0.5pt}{\value{@topheight}\@rowheight}}}}{} + \ifthenelse{#2 = 1}{ + % \ifthenelse{\equal{#3}{Mittwoch}}{}{ + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop){\textcolor{black}{\rule{0.5pt}{\@rowheight*(\value{@rowcount})-\dp\strutbox}}} + % } + }{} + \addtolength{\@newcolleft}{+0.5pt} + \addtolength{\@newrowtop}{+2.5pt+\@rowheight*(\value{@rowcount} -4)+\dp\strutbox} + % \addtolength{\@newcolleft}{1pt} + \addtolength{\@newrowtop}{\value{@topheight}\@rowheight} + } + { % Checkerboard + % Horizontal stripe + \ifthenelse{#2 = 1} + {\setcounter{@timetablehelp}{#1 * \real{0.5} * \real{2.0}} + \ifthenelse{\value{@timetablehelp} = #1} + {\addtolength{\@newrowtop}{-\value{@topheight}\@rowheight} + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop) + {\textcolor{ttframecol2}{\rule{\@colwidth}{\value{@topheight}\@rowheight}}} + \addtolength{\@newrowtop}{\value{@topheight}\@rowheight} + } + {} + } + {} + % Vertical stripe + \ifthenelse{#1 = 1} + {\setcounter{@timetablehelp}{(((#2-\value{@topheight}-1) * \value{@minutesperslot} / 120) * 2) - ((#2-\value{@topheight}-1) * \value{@minutesperslot} / 60)} + \ifthenelse{\value{@timetablehelp} = 0} + {\setcounter{@timetablehelp}{60 / \value{@minutesperslot}} + \addtolength{\@newrowtop}{-\value{@timetablehelp}\@rowheight} + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop) + {\textcolor{ttframecol2}{\rule{\@colwidth}{\value{@timetablehelp}\@rowheight}}} + \addtolength{\@newrowtop}{\value{@timetablehelp}\@rowheight} + } + {} + } + {} + } + + % Print text + % \ifthenelse{#1 = 1}{ + % \addtolength{\@newcolleft}{\@textframe-100pt} + % }{ + % \addtolength{\@newcolleft}{\@textframe} + % } + \addtolength{\@newcolleft}{\@textframe} + \addtolength{\@newrowtop}{-\@textframe-\heightof{\large #3}} + + % Optionally move caption to middle or bottom + \ifthenelse{\value{@framevalign} > 0} + { + \addtolength{\@newrowtop}{(- \value{@topheight}\@rowheight + 2\@text frame + \heightof{\Large #3})/\value{@framevalign}} + } + + \ifthenelse{#2 = 1}{ + \setlength{\@newcolleft}{#1\@colwidth-\@colwidth} + \addtolength{\@newcolleft}{-\@colwidth*\real{0.25}} + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop){ + \makebox[\@colwidth*\real{0.5}]{\textcolor{ttfontcolor} + {\@ttfont\large \textbf{#3}}}} + } { + \put(\strip@pt\@newcolleft,\strip@pt\@newrowtop){ + \makebox[\@colwidth*\real{0.37}]{\textcolor{ttfontcolor} + {\@ttfont\large \hfill \textbf{#3}}}} + } + } + +\newcommand{\timemark}[1] + { + \stepcounter{@timemarks} + \legend 1 {\value{@timemarks}} {#1} + } + +\newcommand{\daymark}[1] + { + \stepcounter{@daymarks} + \legend {\value{@daymarks}} 1 {#1} + } + +\newcommand{\defineevent}[7] + { + \definecolor{@timetable#1block}{rgb}{#2, #3, #4} + \definecolor{@timetable#1text} {rgb}{#5, #6, #7} + } + +\newcommand{\setslotsize}[2] + { + % Arguments: + % Defines the slot size + + \setlength{\@rowheight}{#2} + \setlength{\@colwidth}{#1} + } + +\newcommand{\setslotcount}[2] + { + % Arguments: + % Defines the number of slots in both dimensions + + \setcounter{@colcount}{#1} + \setcounter{@rowcount}{#2+\value{@topheight}} + + \stepcounter{@colcount} + } + +\newcommand{\settextframe}[1] + { + % Arguments: + % Defines the width of the border of each entry (i.e. the + % distance between outer border and text) + + \setlength{\@textframe}{#1} + } + +\newcommand{\hours}[3] + { + % Arguments: + % Automatically sets the time slots to full hours, beginning with + + \setcounter{@hoursset}{1} + \setcounter{@hourzero}{(#1 * 100)} + + \setcounter{@hour}{#1} + \setcounter{@minute}{0} + \setcounter{@minuteStep}{#2} + \setcounter{@minutesperslot}{\value{@minuteStep}} + + \@ttforloop{@row}{\value{@topheight}}{\value{@row} < \value{@rowcount}} + { + \ifthenelse{\value{@minute} = 0}{ + \timemark{\@fmtTime{@hour}{@minute}\ifthenelse{#3 > 0}{-\setcounter{@hour}{\value{@hour}+1}\@fmtTime{@hour}{@minute}\setcounter{@hour}{\value{@hour}-1}}{}} + }{\stepcounter{@timemarks}} + \addtocounter{@minute}{#2} + \ifthenelse{\value{@minute} = 60}{\stepcounter{@hour}\setcounter{@minute}{0}}{} + \ifthenelse{\value{@hour} > 23}{\addtocounter{@hour}{-24}}{} + } + } + +\newcommand{\germandays}[1] + { + % Arguments: + % Macro for the english week days + + \setcounter{@day}{#1} + + \@ttforloop{@column}{1}{\value{@column} < \value{@colcount}} + { + \ifthenelse{\equal{\value{@day}}1}{\daymark{Montag}}{} + \ifthenelse{\equal{\value{@day}}2}{\daymark{Dienstag}}{} + \ifthenelse{\equal{\value{@day}}3}{\daymark{Mittwoch}}{} + \ifthenelse{\equal{\value{@day}}4}{\daymark{Donnerstag}}{} + \ifthenelse{\equal{\value{@day}}5}{\daymark{Freitag}}{} + \ifthenelse{\equal{\value{@day}}6}{\daymark{Samstag}}{} + % \ifthenelse{\equal{\value{@day}}5}{\daymark{Sonntag}}{} + + \stepcounter{@day} + \ifthenelse{\value{@day} > 7}{\addtocounter{@day}{-7}}{} + } + } + +\newenvironment{timetable}% + {\noindent% + % Arguments: None + % Starts a new timetable + % + % Set the new layout setting + \setlength{\@totalheight}{-\value{@rowcount}\@rowheight}% + \setlength{\@totalwidth}{\value{@colcount}\@colwidth}% + \addtolength{\@totalwidth}{-\@colwidth*\real{0.5}}% + % + % Reset the counters + \setcounter{@timemarks}{\value{@topheight}}% + \setcounter{@daymarks}{1}% + % + % Minipage to correct bounding box + \begin{minipage}[t][-\@totalheight]{\@totalwidth} + % + % Begin. Note the offset hack of the picture, this is to make it consistent to the old pstricks package. + \begin{picture}(\strip@pt\@totalwidth,\strip@pt\@totalheight)(0,-\strip@pt\baselineskip) + % Draw the grey frame + \put(0,\strip@pt\@totalheight){\textcolor{ttframecol1}{\rule[-\dp\strutbox]{\@totalwidth}{-\@rowheight}}} + \setlength{\@toprowheight}{\value{@topheight}\@rowheight} + \put(0,-\strip@pt\@toprowheight){\textcolor{white}{\rule[-\dp\strutbox]{\@totalwidth}{\@toprowheight}}} + + % Test + % \put(0,\strip@pt\@rowheight){\textcolor{ttframecol1}{\rule[-\dp\strutbox]{\@totalwidth}{-\@rowheight}}} + \setlength{\@toprowheight}{\value{@topheight}\@rowheight} + \setlength{\@rowhght}{\@rowheight} + \addtolength{\@rowhght}{\@rowheight} + \addtolength{\@rowhght}{\@rowheight} + \addtolength{\@rowhght}{\@rowheight} + \newcounter{@x} + \setcounter{@x} 5 + \@ttforloop{@row}{\value{@topheight}}{\value{@row} < \value{@x}} + { + \addtolength{\@toprowheight}{\@rowhght} + \put(0,-\strip@pt\@toprowheight){\textcolor{ttframecol1}{\rule[-\dp\strutbox]{\@totalwidth}{\@rowhght}}} + \addtolength{\@toprowheight}{\@rowhght} + \put(0,-\strip@pt\@toprowheight){\textcolor{ttframecol2}{\rule[-\dp\strutbox]{\@totalwidth}{\@rowhght}}} + \addtolength{\@toprowheight}{\@rowhght} + \put(0,-\strip@pt\@toprowheight){\textcolor{ttframecol1}{\rule[-\dp\strutbox]{\@totalwidth}{\@rowhght}}} + \addtolength{\@toprowheight}{\@rowhght} + \put(0,-\strip@pt\@toprowheight){\textcolor{ttframecol2}{\rule[-\dp\strutbox]{\@totalwidth}{\@rowhght}}} + } + + \addtolength{\@toprowheight}{\@rowhght} + \put(0,-\strip@pt\@toprowheight){\textcolor{ttframecol1}{\rule[-\dp\strutbox]{\@totalwidth}{\@rowhght}}} + + } + { + % % Draw the contours + % % Inner + % \addtolength{\@colwidth}{-1pt} + % \put(\strip@pt\@colwidth,-\strip@pt\@toprowheight){\textcolor{ttlinecol2}{\rule[-\dp\strutbox]{\@totalwidth-\@colwidth+1pt}{1pt}}} + % \put(\strip@pt\@colwidth,\strip@pt\@totalheight){\textcolor{ttlinecol2}{\rule[-\dp\strutbox]{1pt}{-\@totalheight-\@toprowheight}}} + % \addtolength{\@colwidth}{1pt} + + % % Outer + % \put(0,0){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{\@totalwidth}{1pt}}} + % \put(0,\strip@pt\@totalheight){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{1pt}{-\@totalheight}}} + % \put(\strip@pt\@totalwidth,\strip@pt\@totalheight){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{1pt}{-\@totalheight+1pt}}} + % \addtolength{\@totalheight}{-0.5pt} + % \put(0,\strip@pt\@totalheight){\textcolor{ttlinecol1}{\rule[-\dp\strutbox]{\@totalwidth}{1pt}}} + % \addtolength{\@totalheight}{0.5pt} + \end{picture} + \end{minipage} + } diff --git a/timetable/zeitplan.pdf b/timetable/zeitplan.pdf new file mode 100755 index 0000000..cf0770e Binary files /dev/null and b/timetable/zeitplan.pdf differ diff --git a/timetable/zeitplan.tex b/timetable/zeitplan.tex new file mode 100755 index 0000000..dda2ef1 --- /dev/null +++ b/timetable/zeitplan.tex @@ -0,0 +1,87 @@ +\documentclass[a5paper,7pt]{scrreprt} + +% \usepackage[T1]{fontenc} +\usepackage[default]{raleway} + +% Definitions +% \usepackage{lscape} +\usepackage[margin=0.55cm,landscape]{geometry} +% \usepackage[height=25cm]{geometry} +\usepackage{timetable} +\usepackage{transparent} +\usepackage{amssymb} +\usepackage{enumitem} +\usepackage{pifont} +\newcommand{\wontfix}{\rlap{$\square$}{\large\hspace{1pt}\xmark}} + +\begin{document} +\thispagestyle{empty} +% \begin{landscape} + +% Define the layout of your time tables +\setslotsize{3.00cm}{0.25cm} +\setslotcount{6}{52} +\settopheight{2} +\settextframe{0.8mm} + +% Retro +\setframetype[t]{1} +\seteventcornerradius{0pt} + +% Print timestamps into event blocks +% \setprinttimestamps{2} + +% Define event types +%background foreground +\defineevent{info}{0.69}{0.11}{0.20}{1.0}{1.0}{1.0}% rot +\defineevent{spass}{0.69}{0.88}{0.11}{0.25}{0.25}{0.25}% grün +\defineevent{abend}{0.69}{0.88}{0.11}{0.25}{0.25}{0.25}% grün +\defineevent{fs}{0.35}{0.00}{0.50}{1.0}{1.0}{1.0}% lila +\defineevent{extern}{0.09}{0.45}{0.56}{1.0}{1.0}{1.0}% petrol +\defineevent{plenum}{0.96}{0.56}{0.07}{1.0}{1.0}{1.0}% orange +\defineevent{anreise}{0.925}{0.925}{0.925}{0.25}{0.25}{0.25}% weiß +% \defineevent{gray}{0.65}{0.65}{0.65}{1.0}{1.0}{1.0}% grau +\defineevent{gray}{0.35}{0.35}{0.35}{1.0}{1.0}{1.0}% grau + +% Start the timetable +\begin{center} +\begin{timetable} + \hours{8}{15}{0} + \germandays{1} + \event 1 {0830}{1000}{Frühstück}{}{APB/E023}{}{fs}{0} + \event 1 {1000}{1230}{Einführungsveranstaltung und Tutorien}{}{TBA}{}{info}{0} + \event 1 {1230}{1330}{Mittagessen}{}{Mensa}{}{fs}{0} + \event 1 {1330}{1530}{Vorstellung der Lehrenden}{}{APB/E023}{}{info}{0} + \event 1 {1530}{1800}{Bunter Nachmittag}{}{APB Foyer}{}{spass}{0} + \event 1 {1800}{2100}{Kennenlern-spieleabend}{}{APB Foyer}{}{spass}{0} + + \event 2 {0900}{1000}{Frühstück}{}{APB/E023}{}{fs}{0} + \event 2 {1000}{1200}{Vorträge zum Studium}{}{APB/E023}{}{info}{0} + \event 2 {1200}{1300}{Mittagessen}{}{Mensa}{}{fs}{0} + \event 2 {1300}{1600}{Campusschnitzeljagd}{}{Start APB/E023}{}{spass}{0} + \event 2 {1700}{1900}{Vorglühen}{}{Countdown}{}{spass}{0} + \event 2 {1900}{2100}{Clubwanderung}{}{Countdown}{}{spass}{0} + + \event 3 {0900}{1700}{Wander-\\ung}{}{siehe Website}{}{spass}{1} + \event 3 {0900}{1300}{Frühstück}{}{APB/E023}{}{fs}{2} + \event 3 {1300}{1700}{NERD101}{}{APB/E023}{0}{spass}{2} + \event 3 {1900}{2100}{ascii Abend}{}{ascii}{}{spass}{0} + + \event 4 {0900}{1200}{Frühstück}{}{APB/E023}{}{fs}{2} + \event 4 {0900}{1200}{Einschrei-\\bung}{}{APB/E023}{}{info}{1} + \event 4 {1200}{1300}{Mittagessen}{}{Mensa}{}{fs}{0} + \event 4 {1300}{1600}{Info Markt}{}{HSZ}{}{extern}{0} + \event 4 {1600}{1800}{Feierliche Immatrikulation}{}{HSZ/AUDI}{}{extern}{0} + \event 4 {2000}{2100}{Kinoabend}{}{Kino im Kasten}{}{spass}{0} + + \event 5 {0900}{1200}{Frühstück}{}{APB/E023}{}{fs}{2} + \event 5 {0900}{1200}{Seminar-\\gruppen-\\treffen}{}{siehe Plan}{}{info}{1} + \event 5 {1200}{1300}{Mittagessen}{}{Mensa}{}{fs}{0} + \event 5 {1400}{1700}{ESE Spiel}{}{APB/E023}{}{spass}{0} + \event 5 {1900}{2100}{Neustadt Kneipentour}{}{}{}{spass}{0} + + \event 6 {1300}{1600}{Stadtführung}{}{TBA}{}{fs}{0} +\end{timetable} +\end{center} +% \end{landscape} +\end{document}