You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
5.5 KiB
176 lines
5.5 KiB
\documentclass[tikz]{standalone}% Does not support leap years.
|
|
|
|
%% Load needed packages
|
|
\usepackage{lmodern}
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{positioning}
|
|
\usepackage{ifthen}
|
|
\usepackage{xifthen}% provides \isempty test
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\tikzset{year/.style={minimum height = 2em}}
|
|
\tikzset{dayname/.style={node font=\large}}
|
|
\tikzset{daynumber/.style={node font=\large\bfseries}}
|
|
\tikzset{dayspecialname/.style={node font=\small\bfseries,anchor=west, align=left, text width=5.5cm }}
|
|
\tikzset{dayspecial/.style={color=blue!50!green}}
|
|
\tikzset{month/.style={node font=\large}}
|
|
\tikzset{kw/.style={node font=\large}}
|
|
|
|
\newcommand{\monday}[0]{Montag}
|
|
\newcommand{\tuesday}[0]{Dienstag}
|
|
\newcommand{\wednesday}[0]{Mittwoch}
|
|
\newcommand{\thursday}[0]{Donnerstag}
|
|
\newcommand{\friday}[0]{Freitag}
|
|
\newcommand{\saturday}[0]{Samstag}
|
|
\newcommand{\sunday}[0]{Sonntag}
|
|
|
|
|
|
\newcommand{\daylines}[5]{
|
|
\foreach \i in {#1, #2, ..., #3}{%
|
|
\draw [black!30!white, thin] (#4,\i) -- (#5,\i);
|
|
}
|
|
|
|
}
|
|
|
|
\newcommand{\taskbox}[5]{
|
|
\foreach \i in {#1, #2, ..., #3}{%
|
|
\draw [black!30!white, thin,dotted] (#4,\i) -- (#5,\i);
|
|
}
|
|
|
|
\draw [gray, thin,dotted] (#5, #1) -- (#5,#3);
|
|
\foreach \i in {0, 0.3, ..., 1}{%
|
|
|
|
\draw [black!30!white, thin,dotted] (#4+\i, #1) -- (#4+\i,#3);
|
|
}
|
|
|
|
}
|
|
|
|
\newcommand{\printweek}[7]{
|
|
% KW
|
|
%monday date of month
|
|
%monday special text
|
|
%tuesday date of month
|
|
%tuesday special text
|
|
%Wednesday date of month
|
|
%Wednesday special text
|
|
|
|
\begin{tikzpicture}[inner sep=3 pt,
|
|
xscale = 3,
|
|
yscale=-1.5,% CAUTION: axis direction reversed!
|
|
]
|
|
|
|
\node at (0,0) [year] {\year}; %prints year number
|
|
\node at (0.5,0) [month] {\month}; %prints month name
|
|
\node at (1.25,0) [kw] {#1}; %prints month name
|
|
|
|
|
|
\ifthenelse{\isempty{#3}} {
|
|
\node at (0, 0.3) [daynumber] {#2};
|
|
\node at (0.5,0.3) [dayname] {\monday};
|
|
} {
|
|
\node at (0, 0.3) [dayspecial,daynumber] {#2};
|
|
\node at (0, 0.7) [dayspecial,dayspecialname] {#3};
|
|
\node at (0.5,0.3) [dayspecial,dayname] {\monday};
|
|
}
|
|
\daylines{1}{1.5}{6.5}{0}{1.9}
|
|
|
|
\ifthenelse{\isempty{#5}} {
|
|
\node at (2, 0.3) [daynumber] {#4};
|
|
\node at (2.5,0.3) [dayname] {\tuesday};
|
|
} {
|
|
\node at (2, 0.3) [dayspecial,daynumber] {#4};
|
|
\node at (2, 0.7) [dayspecial,dayspecialname] {#5};
|
|
\node at (2.5,0.3) [dayspecial,dayname] {\tuesday};
|
|
}
|
|
\daylines{1}{1.5}{6.5}{2}{3.9}
|
|
|
|
\ifthenelse{\isempty{#7}} {
|
|
\node at (4, 0.3) [daynumber] {#6};
|
|
\node at (4.5,0.3) [dayname] {\wednesday};
|
|
} {
|
|
\node at (4, 0.3) [dayspecial,daynumber] {#6};
|
|
\node at (4, 0.7) [dayspecial,dayspecialname] {#7};
|
|
\node at (4.5,0.3) [dayspecial,dayname] {\wednesday};
|
|
}
|
|
\daylines{1}{1.5}{6.5}{4}{5.9}
|
|
|
|
\taskbox{7}{7.4}{15}{0}{5.9}
|
|
|
|
|
|
\node at (6, 15.25) [daynumber] {};
|
|
|
|
\end{tikzpicture}%
|
|
}
|
|
|
|
|
|
\newcommand{\printweekend}[9]{
|
|
% KW
|
|
%thursday date of month
|
|
%thursday special text
|
|
%Friday date of month
|
|
%Friday special text
|
|
%Saturday date of month
|
|
%Saturday special text
|
|
%Sunday date of month
|
|
%Sunday special text
|
|
%
|
|
|
|
\begin{tikzpicture}[inner sep=3 pt,
|
|
xscale = 3,
|
|
yscale=-1.5,% CAUTION: axis direction reversed!
|
|
]
|
|
|
|
\node at (5.0,0) [year] {\year}; %prints year number
|
|
\node at (5.5,0) [month] {\month}; %prints month name
|
|
\node at (4.5,0) [month] {#1}; %prints month name
|
|
|
|
\ifthenelse{\isempty{#3}} {
|
|
\node at (0, 0.3) [daynumber] {#2};
|
|
\node at (0.5,0.3) [dayname] {\thursday};
|
|
} {
|
|
\node at (0, 0.3) [dayspecial,daynumber] {#2};
|
|
\node at (0, 0.7) [dayspecial,dayspecialname] {#3};
|
|
\node at (0.5,0.3) [dayspecial,dayname] {\thursday};
|
|
}
|
|
\daylines{1}{1.5}{6.5}{0}{1.9}
|
|
|
|
|
|
\ifthenelse{\isempty{#5}} {
|
|
\node at (2, 0.3) [daynumber] {#4};
|
|
\node at (2.5,0.3) [dayname] {\friday};
|
|
} {%
|
|
\node at (2, 0.3) [dayspecial,daynumber] {#4};
|
|
\node at (2, 0.7) [dayspecial,dayspecialname] {#5};
|
|
\node at (2.5,0.3) [dayspecial,dayname] {\friday};
|
|
}%
|
|
\daylines{1}{1.5}{6.5}{2}{3.9}
|
|
|
|
\ifthenelse{\isempty{#7}} {
|
|
\node at (4, 0.3) [daynumber,color=orange] {#6};
|
|
\node at (4.5,0.3) [dayname,color=orange] {\saturday};
|
|
} {%
|
|
\node at (4, 0.3) [dayspecial,daynumber] {#6};
|
|
\node at (4, 0.7) [dayspecial,dayspecialname] {#7};
|
|
\node at (4.5,0.3) [dayspecial,dayname] {\saturday};
|
|
}%
|
|
\daylines{1}{1.5}{6.5}{4}{5.9}
|
|
|
|
\ifthenelse{\isempty{#9}} {
|
|
\node at (4, 6.8) [daynumber,color=red] {#8};
|
|
\node at (4.5,6.8) [dayname,color=red] {\sunday};
|
|
} {%
|
|
\node at (4, 6.8) [dayspecial,daynumber] {#8};
|
|
\node at (4, 7.2) [dayspecial,dayspecialname] {#9};
|
|
\node at (4.5,6.8) [dayspecial,dayname] {\sunday};
|
|
}%
|
|
\daylines{7.5}{8}{15}{4}{5.9}
|
|
|
|
\taskbox{7}{7.4}{15}{0}{3.9}
|
|
|
|
|
|
\node at (6, 15.25) [daynumber] {};
|
|
\end{tikzpicture}%
|
|
}
|
|
|