% DIN-A4 doublesided year calendar
% Author: Robert Krause
% License : Creative Commons attribution license
% Submitted to TeXample.net on July
\documentclass[landscape,a4paper, ngerman, 10pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz} % Use the calendar.sty style %\usepackage{translator} % German Month and Day names
\usepackage{fancyhdr} % header and footer
\usepackage{fix-cm} % Large year in header \usepackage[landscape, headheight = 2cm, margin=.5cm,
top = .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{}
% Names of Holidays are inserted by employing this macro
\def\termin##{
\node [anchor=north west, text width= .4cm] at
($(cal-#.north west)+(3em, 0em)$) {\tiny{#}};
} %Header
\renewcommand{\headrulewidth}{.0pt}
\setlength{\headheight}{10ex}
\chead{
\fontsize{}{}\selectfont\textbf{\year}
\Large\textbf{Calendar}\hfill
}
%Footer
\cfoot{\footnotesize\texttt{http://www.cnblogs.com/wangshixi12/}} \begin{document}
\pagestyle{fancy}
\begin{center}
\begin{tikzpicture}[every day/.style={anchor = north}]
\calendar[
dates=\year-- to \year--,
name=cal,
day yshift = 3em,
day code=
{
\node[name=\pgfcalendarsuggestedname,every day,shape=rectangle,
minimum height= .53cm, text width = .4cm, draw = black]{\tikzdaytext};
\draw (-.8cm, -.1ex) node[anchor = west]{\footnotesize%
\pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}};
},
execute before day scope=
{
\ifdate{day of month=}
{
% Shift right
\pgftransformxshift{.8cm}
% Print month name
\draw (,)node [shape=rectangle, minimum height= .53cm,
text width = .4cm, fill = white, text= black, draw = black, 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=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
}{}
% Saturdays and half holidays (Christma's and New year's eve)
\ifdate{Saturday}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
% Sundays and full holidays
\ifdate{Sunday}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
% Christian holidays
\ifdate{equals=--}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=--}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=--}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=--}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=--}{\tikzset{every day/.style={fill=white}}}{}
},
execute at begin day scope=
{
% each day is shifted down according to the day of month
\pgftransformyshift{-.*\pgfcalendarcurrentday cm}
}
];
\end{tikzpicture}
% Repeat the whole thing for the second page
\pagebreak
\begin{tikzpicture}[every day/.style={anchor = north}]
\calendar[dates=\year-- to \year--,
name=cal,
day yshift = 3em,
day code=
{
\node[name=\pgfcalendarsuggestedname,every day,shape=rectangle,
minimum height= .53cm, text width = .4cm, draw = black]{\tikzdaytext};
\draw (-.8cm, -.1ex) node[anchor = west]
{
\footnotesize\pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}
};
},
execute before day scope=
{
\ifdate{day of month=} {
% Shift right
\pgftransformxshift{.8cm}
% Print month name
\draw (,)node [shape=rectangle, minimum height= .53cm,
text width = .4cm, fill = white, text= black, draw = black, text centered]
{
\textbf{\pgfcalendarmonthname{\pgfcalendarcurrentmonth}}
};
}{}
\ifdate{workday}
{
\tikzset{every day/.style={fill=white}}
% Vacation (Germany Baden-Wuerrtemberg)
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
\ifdate{between=-- and --}{%
\tikzset{every day/.style={fill=white}}}{}
}{}
% Sundays and full holidays
\ifdate{Sunday}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
\ifdate{equals=-}{\tikzset{every day/.style={fill=white}}}{}
},
execute at begin day scope=
{
% Each day is shifted down according to the day of month
\pgftransformyshift{-.*\pgfcalendarcurrentday cm}
}
]; \end{tikzpicture}
\end{center}
\end{document}

DIN-A4 doublesided year calendar的更多相关文章

  1. Java 时间类-Calendar、Date、LocalDate/LocalTime

    1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...

  2. Js: Extensible Calendar Examples

    http://ext.ensible.comhttps://github.com/bmoeskau/Extensiblehttps://github.com/TeamupCom/extensibleh ...

  3. Calendar类

    Calendar类 注意:根据日历规则,如果想要这个月减去5天,那么则为: add(Calendar.Day,-5) 成员方法: public int get(int field):返回给定日历段的值 ...

  4. This month Calendar

    package fourth;import java.text.DateFormatSymbols;import java.util.*;public class CalendarTest { pub ...

  5. calendar的一些操作

    一.通过分析日期函数,根据日期进行一系列操作,例如:我们需要知道2个时间段中所有的日期等等. 由于Calendar 类是一个抽象类,因此我们不能通过new来获取该对象的实例.我们可以通过其类方法 ge ...

  6. java-String Date Calendar之间的转换

    1.Calendar 转化 String Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDa ...

  7. jQuery Ion.Calendar 日期/日历

    在线实例 实例演示 默认 实例演示 每周第一天 实例演示 输入框插件 实例演示 HTML data 属性 实例演示 回调函数1 实例演示 回调函数2 使用方法 <div id="cal ...

  8. [java] 可视化日历的实现(基于Calendar类 )

    写在前面 博文安排顺序如下 1.写在前面 2.源码 3.思路 4.相关知识 该小程序是对Date类及其相关类的复习 要求如下图:实现可视化日历 实现思路 1.先从键盘输入指定格式的字符串(str)2. ...

  9. WPF 点击Calendar后,需要点击两次按钮

    主面板上有一个Calendar控件,点击选择了日期后,如果点击确认按钮,需要点击两次.这个问题的解决方法如下:     private void calendar1_PreviewMouseUp(ob ...

随机推荐

  1. SMO算法(转)

    作者:[已重置]链接:https://www.zhihu.com/question/40546280/answer/88539689来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  2. IntelliJ IDEA教程

    http://www.jetbrains.com/help/idea/meet-intellij-idea.html

  3. eclispe 通过git向码云上传

    本文将介绍如何将本地的项目提交到开源中国上去,过程比较详细,实现起来很简单.由于自己也算是一个新手,所以没有做过多的解释,只是单纯的描述了该如何去做. 1.在开源中国上面新建一个空项目 到这里也就结束 ...

  4. rabbitmq web管理界面 用户管理

    安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的release文档后,得知由于账号gues ...

  5. java内存模型:Happens-Before

    有序性:Java内存模型中的程序天然有序性可以总结为一句话:如果在本线程内观察,所有操作都是有序的:如果在一个线程中观察另一个线程,所有操作都是无序的.前半句是指“线程内表现为串行语义”,后半句是指“ ...

  6. ES5之defineProperty

    一 概述 Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象. 对象里目前存在的属性描述符有两种主要形式:数据描述符和存 ...

  7. BIOS设置找不到设置U盘启动

    今天上午弄了好久,BIOS设置找不到设置U盘启动,后来改了一个选项突然就可以了,或许有时候是这个地方的问题 advanced bios features-->interrupt 19 captu ...

  8. linux 下 php 安装 libevent

    一.安装libevent库 1.到libevent官网下载安装源码 http://libevent.org/ 如:libevent-2.0.22-stable.tar.gz 2.解压源码包 > ...

  9. CSS3 @keyframes 规则以及animation介绍和各种动画样式说明

    一个好网站:http://www.jqhtml.com/ 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则. @keyframes 规则用于创建动画.在 @keyframes 中规 ...

  10. Phalcon Framework的MVC结构及启动流程分析

    目前的项目中选择了Phalcon Framework作为未来一段时间的核心框架.技术选型的原因会单开一篇Blog另说,本次优先对Phalcon的MVC架构与启动流程进行分析说明,如有遗漏还望指出. P ...