% DIN-A4 doublesided year calendar % Author: Robert Krause % License : Creative Commons attribution license % Submitted to TeXample.net on 13 July 2012 \documentclass[a4paper, french, 10pt]{scrartcl} \usepackage[utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{tikz} % Use the calendar.sty style \usepackage[french]{translator} % German Month and Day names \usepackage{fancyhdr} % header and footer \usepackage{fix-cm} % Large year in header \usepackage[headheight = 2cm, margin=.5cm, top = 3.2cm, nofoot]{geometry} \usetikzlibrary{calc} \usetikzlibrary{calendar} %%%< \usepackage{verbatim} \usepackage[tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{5pt}% %%%> \begin{comment} :Title: A calender for doublesided DIN-A4 Tags: Calendar library;Calendars :Author: Robert Krause An example how the calendar package can be used to provide an doublesided calendar for the whole year. \end{comment} \renewcommand*\familydefault{\sfdefault} % User defined \def\year{2014} % Names of Holidays are inserted by employing this macro \def\termin#1#2{ \node [anchor=north west, text width= 3.4cm] at ($(cal-#1.north west)+(3em, 0em)$) {\tiny{#2}}; } %Header \renewcommand{\headrulewidth}{0.0pt} \setlength{\headheight}{10ex} \chead{ \fontsize{60}{70}\selectfont\textbf{\year} \Large\textbf{Calendrier}\hfill } %Footer %\cfoot{\footnotesize\texttt{http://www.texample.net/}} \begin{document} \pagestyle{fancy} \begin{center} \begin{tikzpicture}[every day/.style={anchor = north}] \calendar[ dates=\year-02-01 to \year-05-30, name=cal, 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} { % normal days are white \tikzset{every day/.style={fill=white}} % Vacation (Germany, Baden-Wuerrtemberg) gray background % \ifdate{between=2012-12-24 and 2013-01-05}{% % \tikzset{every day/.style={fill=gray!30}}}{} % \ifdate{between=2013-03-25 and 2013-04-05}{% % \tikzset{every day/.style={fill=gray!30}}}{} % \ifdate{between=2013-05-21 and 2013-06-01}{% % \tikzset{every day/.style={fill=gray!30}}}{} % \ifdate{between=2013-07-25 and 2013-09-07}{% % \tikzset{every day/.style={fill=gray!30}}}{} % \ifdate{between=2013-10-28 and 2013-10-30}{% % \tikzset{every day/.style={fill=gray!30}}}{} % \ifdate{between=2013-12-23 and 2014-01-04}{% % \tikzset{every day/.style={fill=gray!30}}}{} }{} % Saturdays and half holidays (Christma's and New year's eve) \ifdate{Saturday}{\tikzset{every day/.style={fill=red!10}}}{} % \ifdate{equals=12-24}{\tikzset{every day/.style={fill=red!10}}}{} % \ifdate{equals=12-31}{\tikzset{every day/.style={fill=red!10}}}{} % Sundays and full holidays \ifdate{Sunday}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=01-01}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=01-06}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=05-01}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=10-03}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=11-01}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=12-25}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=12-26}{\tikzset{every day/.style={fill=red!20}}}{} % % Christian holidays % \ifdate{equals=2013-03-29}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=2013-04-01}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=2013-05-09}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=2013-05-20}{\tikzset{every day/.style={fill=red!20}}}{} % \ifdate{equals=2013-05-30}{\tikzset{every day/.style={fill=red!20}}}{} },% execute at begin day scope= { % each day is shifted down according to the day of month \pgftransformyshift{-.53*\pgfcalendarcurrentday cm} } ]; % % Print name of Holidays % \termin{\year-01-01}{Neujahr} % \termin{\year-01-06}{Heilige Drei Könige} % \termin{2013-03-29}{Karfreitag} % \termin{2013-03-31}{Ostersonntag} % \termin{2013-04-01}{Ostermontag} % \termin{\year-05-01}{Tag der Arbeit} % \termin{2013-05-09}{Christi Himmelfahrt} % \termin{2013-05-19}{Pfingstsonntag} % \termin{2013-05-20}{Pfingstmontag} % \termin{2013-05-30}{Fronleichnam} \end{tikzpicture} \end{center} \end{document}