Schulkalendar generiert

This commit is contained in:
André Hilbig 2016-10-27 18:59:50 +02:00
parent c9b90c0dbe
commit f3537b469d
8 changed files with 385 additions and 4 deletions

View file

@ -61,3 +61,84 @@
\addcontentsline{toc}{chapter}{Wochenübersichten}
\input{#2}
}
% User defined
\providecommand{\ferien}{}
\providecommand{\feiertage}{}
\providecommand{\termine}{}
\newenvironment{schulkalendar}[2][top=0.5cm,bottom=0.5cm,outer=1.5cm]{%
\newgeometry{#1}
\pagestyle{empty}
\addcontentsline{toc}{chapter}{#2}
\newboolean{schulkalendarSeiteOne}
\setboolean{schulkalendarSeiteOne}{true}
\newcommand{\calName}{}
}{%
\restoregeometry
\pagestyle{scrheadings}
}
\providecommand{\schulkal}[3][0.96]{%
\rotatebox{90}{%
\scalebox{#1}{%
\begin{tikzpicture}[every day/.style={anchor = north}]
\ifthenelse{\boolean{schulkalendarSeiteOne}}{%
\renewcommand{\calName}{first}
}{%
\renewcommand{\calName}{scnd}
}
\calendar[%
dates=#2,
name=\calName,
day yshift = 3em,
day code=
{
\node[name=\pgfcalendarsuggestedname,every day,shape=rectangle,
minimum height= .53cm, text width = 4.4cm, draw = gray]{\tikzdaytext};
\draw (-1.8cm, -.1ex) node[anchor = west]{\footnotesize%
\pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}};
},
execute before day scope=
{
\ifdate{day of month=1}
{
% Shift right
\pgftransformxshift{4.8cm}
% Print month name
\draw (0,0)node [shape=rectangle, minimum height= .53cm,
text width = 4.4cm, fill = red, text= white, draw = red, text centered]
{\textbf{\pgfcalendarmonthname{\pgfcalendarcurrentmonth}}};
}{}
\ifdate{workday}
{
\ferien
}{}
\ifdate{Saturday}{\tikzset{every day/.style={fill=red!10}}}{}
\ifdate{Sunday}{\tikzset{every day/.style={fill=red!20}}}{}
\feiertage
},
execute at begin day scope=
{
% each day is shifted down according to the day of month
\pgftransformyshift{-.53*\pgfcalendarcurrentday cm}
}
];
\termine
\end{tikzpicture}
}
}
\setboolean{schulkalendarSeiteOne}{false}
\clearpage
}
% Names of Holidays are inserted by employing this macro
\providecommand{\termin}[3][]{
\ifthenelse{\boolean{schulkalendarSeiteOne}}{%
\node [anchor=north west, text width= 3.4cm] at
($(first-#2.north west)+(3em, 0em)$) {\tiny{#3}};
}{%
\node [anchor=north west, text width= 3.4cm] at
($(scnd-#2.north west)+(3em, 0em)$) {\tiny{#3}};
}
}

View file

@ -9,7 +9,13 @@
% SPEZIFISCHE OPTIONEN
\providecommand{\Schuljahr}{--}
\providecommand{\schuljahr}[1]{\renewcommand{\Schuljahr}{#1}}
\providecommand{\jahrEins}{2015}
\providecommand{\jahrZwei}{2016}
\providecommand{\schuljahr}[2]{%
\renewcommand{\Schuljahr}{#1/#2}
\renewcommand{\jahrEins}{#1}
\renewcommand{\jahrZwei}{#2}
}
\providecommand{\LogoFront}{ABB/logoFront.pdf}
\providecommand{\logoFront}[1]{\renewcommand{\LogoFront}{#1}}

View file

@ -1,8 +1,14 @@
\RequirePackage{tcolorbox}
\tcbuselibrary{skins,breakable}
\RequirePackage{translator} % German Month and Day names
\usetikzlibrary{calc}
\usetikzlibrary{calendar}
\RequirePackage[nolinks]{qrcode}
\RequirePackage{eurosym}
\RequirePackage{pdflscape}
% wegen listings
\RequirePackage{scrhack}