texlive[43023] Master: tikz-kalender (22jan17)

commits+karl at tug.org commits+karl at tug.org
Sun Jan 22 23:38:00 CET 2017


Revision: 43023
          http://tug.org/svn/texlive?view=revision&revision=43023
Author:   karl
Date:     2017-01-22 23:38:00 +0100 (Sun, 22 Jan 2017)
Log Message:
-----------
tikz-kalender (22jan17)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/tikz-kalender/
    trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf
    trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.tex
    trunk/Master/texmf-dist/doc/latex/tikz-kalender/README.md
    trunk/Master/texmf-dist/doc/latex/tikz-kalender/events2016.tex
    trunk/Master/texmf-dist/tex/latex/tikz-kalender/
    trunk/Master/texmf-dist/tex/latex/tikz-kalender/tikz-kalender.cls
    trunk/Master/tlpkg/tlpsrc/tikz-kalender.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf	2017-01-22 22:36:45 UTC (rev 43022)
+++ trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf	2017-01-22 22:38:00 UTC (rev 43023)

Property changes on: trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-kalender/Kalender2016.tex	2017-01-22 22:38:00 UTC (rev 43023)
@@ -0,0 +1,19 @@
+\listfiles
+\documentclass[svgnames,print]{tikz-kalender}
+% "print" means printer-fiendly twoside output
+
+\begin{document}
+  \makeKalender[%
+    year=2016,            % default: current year
+    title=Termine,
+    showweeknumbers,      % default: false
+    titleColor=dark,      % default: dark 
+    eventColor=medium,    % default: medium 
+    workdayColor=none,    % default: none 
+    saturdayColor=bright, % default: bright 
+    sundayColor=medium,   % default: medium
+    monthColor=white,     % default: white  
+    monthBGcolor=dark     % default: dark  
+  ]
+\end{document} 
+

Added: trunk/Master/texmf-dist/doc/latex/tikz-kalender/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-kalender/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-kalender/README.md	2017-01-22 22:38:00 UTC (rev 43023)
@@ -0,0 +1,7 @@
+## A LaTeX based calendar using TikZ
+
+For usage see the example files »Kalender2016.tex« and »events2016.tex«. See also my [Git repository](https://github.com/rolfn/kalenderRN). The Code is inspired by this [document](http://www.texample.net/tikz/examples/a-calender-for-doublesided-din-a4/) and has the »Creative Commons attribution license (CC-BY-SA)«.
+
+The class »tikz-kalender« requires »tikz« and the tkiz libraries »calc« and »calendar«. 
+
+Rolf Niepraschk, 2017-01-22

Added: trunk/Master/texmf-dist/doc/latex/tikz-kalender/events2016.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-kalender/events2016.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/tikz-kalender/events2016.tex	2017-01-22 22:38:00 UTC (rev 43023)
@@ -0,0 +1,31 @@
+
+% Jährlich wiederkehrende Termine sollten das Makro \year enthalten.
+% Yearly events should contain the macro \year.
+
+\event*{\year-01-01}{Neujahr}
+\event{\year-03-14}{Albert Einstein (1879)}
+\event*{2016-03-25}{Karfreitag}
+\event*{2016-03-27}{Ostersonntag}
+\event*{2016-03-28}{Ostermontag}
+\event*{\year-05-01}{Tag der Arbeit}
+\event*{2016-05-05}{Himmelfahrt}
+\event{2016-05-15}{Pfingstsonntag}
+\event*{2016-05-16}{Pfingstmontag}
+\event*{\year-10-03}{Tag der dt. Einheit}
+\event{\year-10-09}{John Lennon (1940)}
+\event{\year-12-24}{Heiligabend}
+\event*{\year-12-25}{1. Weihnachtstag}
+\event*{\year-12-26}{2. Weihnachtstag}
+
+\event*{2016-07-10}{Fußball-EM: Endspiel}[color=DarkTurquoise]
+
+\period{2016-09-12}{2016-10-04}[color=red!30,name=Urlaub]
+
+\period{2016-02-01}{2016-02-06}[color=LightGreen]% Winterferien in Berlin
+\period{2016-03-21}{2016-04-02}[color=LightGreen]% Osterferien in Berlin
+\period{2016-05-17}{2016-05-18}[color=LightGreen]% Pfingstferien in Berlin
+\period{2016-07-21}{2016-09-02}[color=LightGreen]% Sommerferien in Berlin
+\period{2016-10-17}{2016-10-28}[color=LightGreen]% Herbstferien in Berlin
+\period{2016-12-23}{2017-01-03}[color=LightGreen]% Weihnachtsferien in Berlin
+
+\endinput

Added: trunk/Master/texmf-dist/tex/latex/tikz-kalender/tikz-kalender.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tikz-kalender/tikz-kalender.cls	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/tikz-kalender/tikz-kalender.cls	2017-01-22 22:38:00 UTC (rev 43023)
@@ -0,0 +1,263 @@
+%
+% Author: Rolf Niepraschk, https://github.com/rolfn/kalenderRN
+%
+% inspired by http://www.texample.net/tikz/examples/a-calender-for-doublesided-din-a4/
+% Original author: Robert Krause
+% License: Creative Commons attribution license (CC-BY-SA)
+
+\setcounter{errorcontextlines}{100}
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{kalenderRN}[2017/01/22 v0.3c Calendar class (RN)]
+
+\newif\ifRN at print \RN at printfalse
+
+\DeclareOption{print}{\RN at printtrue}
+
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}}
+\ProcessOptions\relax
+\LoadClass[a4paper,ngerman,10pt]{article}
+\ifRN at print
+  \RequirePackage{graphicx}
+  \PassOptionsToPackage{portrait}{geometry}
+\else
+  \PassOptionsToPackage{landscape}{geometry}
+\fi
+\RequirePackage[a4paper,margin={0mm,0mm}]{geometry}
+
+\newif\ifRN at XeOrLua \RN at XeOrLuafalse
+\RequirePackage{ifluatex,ifxetex}
+\ifxetex\RN at XeOrLuatrue\else\ifluatex\RN at XeOrLuatrue\fi\fi
+
+\ifRN at XeOrLua
+  \RequirePackage{fontspec}
+  \setsansfont{TeX Gyre Heros}[Ligatures=TeX]
+\else
+  \RequirePackage[T1]{fontenc}
+  \RequirePackage{textcomp}
+  \RequirePackage{lmodern}
+  \RequirePackage{tgheros}
+\fi
+
+\renewcommand*\familydefault{\sfdefault}
+
+\RequirePackage{etoolbox}
+\AtEndPreamble{% "etoolbox"
+  \ifRN at XeOrLua\else
+    \@ifpackageloaded{inputenc}{}{%
+      \RequirePackage[utf8]{inputenc}%
+    }%
+  \fi
+}
+
+\RequirePackage[main=ngerman]{babel}
+
+\RequirePackage[ngerman]{translator}
+
+\deftranslation[to=ngerman]{January}{Januar}
+\deftranslation[to=ngerman]{February}{Februar}
+\deftranslation[to=ngerman]{March}{März}
+\deftranslation[to=ngerman]{April}{April}
+\deftranslation[to=ngerman]{May}{Mai}
+\deftranslation[to=ngerman]{June}{Juni}
+\deftranslation[to=ngerman]{July}{Juli}
+\deftranslation[to=ngerman]{August}{August}
+\deftranslation[to=ngerman]{September}{September}
+\deftranslation[to=ngerman]{October}{Oktober}
+\deftranslation[to=ngerman]{November}{November}
+\deftranslation[to=ngerman]{December}{Dezember}
+\deftranslation[to=ngerman]{Mon}{Mo}
+\deftranslation[to=ngerman]{Tue}{Di}
+\deftranslation[to=ngerman]{Wed}{Mi}
+\deftranslation[to=ngerman]{Thu}{Do}
+\deftranslation[to=ngerman]{Fri}{Fr}
+\deftranslation[to=ngerman]{Sat}{Sb}
+\deftranslation[to=ngerman]{Sun}{So}
+
+\RequirePackage{tikz}
+\usetikzlibrary{calc}
+\usetikzlibrary{calendar}
+
+\RequirePackage{varwidth}
+
+\newcommand*\RN at year{}
+\edef\RN at year{\the\numexpr\year}
+
+\newsavebox\RN at pageI
+\newsavebox\RN at pageII
+\newsavebox\RN at tempbox
+\newdimen\RN at tempdima
+\newdimen\RN at tempdimb
+\newcommand*\RN at events@I{}
+\newcommand*\RN at events@II{}
+\newcommand*\RN at backgrounds{}
+\newcommand*\RN at periods{}
+\newcommand*\RN at title{}
+\newcommand*\RN at tempa{}
+\newcommand*\RN at tempb{}
+\newcounter{weeknumber}
+\newif\ifRN at showweeknumbers \RN at showweeknumbersfalse
+
+\pgfkeys{%
+  /CAL/.is family, /CAL,
+  showweeknumbers/.is if = RN at showweeknumbers,
+  title/.estore in = \RN at title,
+  year/.estore in = \RN at year,
+  default/.style={eventColor=medium,monthBGcolor=dark,monthColor=white,%
+    workdayColor=none,saturdayColor=bright,sundayColor=medium,titleColor=dark},
+  titleColor/.estore in = \RN at titleColor,
+  eventColor/.estore in = \RN at eventColor,
+  monthBGcolor/.estore in = \RN at monthBGcolor,
+  monthColor/.estore in = \RN at monthColor,
+  workdayColor/.estore in = \RN at workdayColor,
+  saturdayColor/.estore in = \RN at saturdayColor,
+  sundayColor/.estore in = \RN at sundayColor
+}
+\pgfkeys{%
+  /CAL/.is family, /CAL,
+  period/.cd,
+  default/.style={color=period,name={}},
+  color/.estore in = \RN at period@color,
+  name/.estore in = \RN at period@name
+}
+\pgfkeys{%
+  /CAL/.is family, /CAL,
+  event/.cd,
+  color/.estore in = \RN at eventColor
+}
+
+\newcommand*\period[2]{%
+  \@ifnextchar[{\period at i{#1}{#2}}{\period at i{#1}{#2}[]}
+}
+\newcommand*\period at i{}
+\def\period at i#1#2[#3]{%
+  \pgfkeys{/CAL/period/.cd, default, #3}%
+  \edef\@tempa{%
+    \noexpand\ifdate{between=#1 and #2}{%
+      \noexpand\tikzset{every day/.style={fill=\RN at period@color}}}{}%
+  }%
+  \expandafter\g at addto@macro\expandafter\RN at periods\expandafter{\@tempa}%
+  \ifx\RN at period@name\@empty\else
+    \pgfcalendar{}{#1}{#2}{%
+      \edef\RN at tempa{\pgfcalendarcurrentyear-\pgfcalendarcurrentmonth-\pgfcalendarcurrentday}%
+      \@ifundefined{event@\RN at tempa}{%
+        \event{\RN at tempa}{\RN at period@name}%
+        \edef\RN at tempb{\noexpand\expandafter\noexpand\gdef
+          \noexpand\csname event@\RN at tempa\noexpand\endcsname{\RN at period@name}}%
+        \RN at tempb
+      }{}%
+    }%
+  \fi
+}
+\newcommand*\event{%
+  \@ifstar{\@tempswatrue\RN at event@i}{\@tempswafalse\RN at event@i}%
+}
+\newcommand*\RN at event@i[2]{%
+  \@ifnextchar[{\RN at event@ii{#1}{#2}}{\RN at event@ii{#1}{#2}[]}
+}
+\newcommand*\RN at event@ii{}%
+\def\RN at event@ii#1#2[#3]{%
+  \pgfkeys{/CAL/event/.cd, #3}%
+  \@ifundefined{event@#1}{%
+    \protected at edef\@tempa{\noexpand\@ifundefined{pgf at sh@ns at cal-#1}{}{%
+      \noexpand\node[anchor=north west] at ($(cal-#1.north east)-(.6em,0em)$){%
+        \noexpand\makebox[0pt][r]{\noexpand\resizebox{!}{1.15ex}{%
+          \noexpand\varwidth{4.6cm}#2\noexpand\strut\noexpand\endvarwidth}}};}%
+    }%
+    \@namedef{event@#1}{#2}%
+    \pgfcalendarifdate{#1}{at most=06-last}% first half-year?
+    {\expandafter\g at addto@macro\expandafter\RN at events@I\expandafter{\@tempa}}%
+    {\expandafter\g at addto@macro\expandafter\RN at events@II\expandafter{\@tempa}}%
+  }{}%
+  \if at tempswa
+    \edef\@tempa{%
+      \noexpand\ifdate{equals=#1}{\noexpand\tikzset{%
+        every day/.style={fill=\RN at eventColor}}}{}
+    }%
+    \expandafter\g at addto@macro\expandafter\RN at backgrounds\expandafter{\@tempa}%
+  \fi
+}
+
+\definecolor{dark}{HTML}{A57C00}
+\colorlet{medium}{dark!35}
+\colorlet{bright}{dark!20}
+\colorlet{period}{gray!30}
+
+\newcommand\RN@@title{%
+  \raisebox{-.3\height}{\parbox[b]{\wd\RN at tempbox}{%
+    \fontsize{60}{70}\selectfont\color{\RN at titleColor}%
+    \textbf{\RN at year}~\textbf{\Huge\RN at title}\hfill
+  }}%
+}
+
+\newcommand\RN at makeKalender[2]{%
+  \sbox\RN at tempbox{%
+    \begin{tikzpicture}[every day/.style={anchor=north}]%
+      \calendar[dates=#1 to #2,name=cal,day text={\%d=},day yshift=3em,%]%
+        day code={%
+          \node[name=\pgfcalendarsuggestedname,every day,shape=rectangle,%
+            minimum height=.53cm,text width=4.4cm,draw=black]{\tikzdaytext};%
+            \draw(-1.8cm,-.1ex) node[anchor=west]{\footnotesize
+              \pgfcalendarweekdayshortname{\pgfcalendarcurrentweekday}%
+              \ifRN at showweeknumbers
+                \ifdate{Monday}{~~\stepcounter{weeknumber}\normalsize[%
+                  \mbox{\footnotesize\arabic{weeknumber}}]}{}%
+              \fi
+            };%
+        },%
+        execute before day scope={%
+          \ifdate{day of month=1}{%
+            \pgftransformxshift{4.8cm}%
+            % Print month name
+            \draw (0,0)node [shape=rectangle,minimum height=.53cm,%
+              text width=4.4cm,fill=\RN at monthBGcolor,draw=\RN at monthBGcolor,%
+                text=\RN at monthColor,text centered]{%
+              \textbf{\pgfcalendarmonthname{\pgfcalendarcurrentmonth}}};}{}%
+          \ifdate{workday}{\tikzset{every day/.style={fill=\RN at workdayColor}}}{}%
+          \RN at periods
+          \ifdate{Saturday}{\tikzset{every day/.style={fill=\RN at saturdayColor}}}{}%
+          \ifdate{Sunday}{\tikzset{every day/.style={fill=\RN at sundayColor}}}{}%
+          \RN at backgrounds
+        },%
+        execute at begin day scope={%
+          \pgftransformyshift{-.53*\pgfcalendarcurrentday cm}%
+        }%
+      ];%
+      \pgfcalendarifdate{#1}{at most=06-last}{\RN at events@I}{\RN at events@II}%
+    \end{tikzpicture}%
+  }%
+  \RN at tempdima=\ifRN at print\paperwidth\else\paperheight\fi
+  \RN at tempdimb=\ifRN at print\paperheight\else\paperwidth\fi
+  \parbox[c][\RN at tempdima]{\RN at tempdimb}{%
+    \vfill
+    \centering
+    \RN@@title\par
+    \vfill
+    \usebox\RN at tempbox\par
+    \vfill
+  }%
+}
+
+\newcommand*\makeKalender[1][]{%
+  \pgfkeys{/CAL/.cd, default, #1}%
+  \setcounter{weeknumber}{0}%
+  \begingroup
+    \let\year=\RN at year
+    \InputIfFileExists{events\RN at year.tex}{}{}%
+  \endgroup
+  \sbox{\RN at pageI}{\RN at makeKalender{\RN at year-01-01}{\RN at year-06-30}}%
+  \sbox{\RN at pageII}{\RN at makeKalender{\RN at year-07-01}{\RN at year-12-31}}%
+  \ifRN at print
+    \rotatebox[origin=c]{90}{\usebox\RN at pageI}%
+  \else
+    \usebox\RN at pageI
+  \fi
+  \newpage
+  \ifRN at print
+    \rotatebox[origin=c]{-90}{\usebox\RN at pageII}%
+  \else
+    \usebox\RN at pageII
+  \fi
+}
+\setlength\parindent{0pt}
+\pagestyle{empty}
+\endinput

Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-01-22 22:36:45 UTC (rev 43022)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-01-22 22:38:00 UTC (rev 43023)
@@ -588,7 +588,7 @@
     thumb thumbpdf thumbs thumby thuthesis
     ticket ticollege
     tikz-bayesnet tikz-cd tikz-3dplot tikz-dependency tikz-dimline
-    tikz-feynman tikz-inet
+    tikz-feynman tikz-inet tikz-kalender
     tikz-opm tikz-optics tikz-palattice tikz-qtree tikz-timing
     tikzinclude tikzmark tikzorbital
     tikzpagenodes tikzpeople tikzpfeile tikzposter tikzscale tikzsymbols

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2017-01-22 22:36:45 UTC (rev 43022)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2017-01-22 22:38:00 UTC (rev 43023)
@@ -1081,6 +1081,7 @@
  'thsmc',       "die 'skipping, requires nonfree font'",
  'ticket',      "&MAKEflatten",
  'ticollege',   "&MAKEflatten",
+ 'tikz-kalender',"&MAKEflatten",
  'time',        "die 'skipping, use piff'",
  'timeline',    "die 'skipping, LaTeX 2.09, never in TL'",
  'timescyr',    "die 'skipping, monotype font is nonfree'",

Modified: trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2017-01-22 22:36:45 UTC (rev 43022)
+++ trunk/Master/tlpkg/tlpsrc/collection-pictures.tlpsrc	2017-01-22 22:38:00 UTC (rev 43023)
@@ -120,6 +120,7 @@
 depend tikz-dimline
 depend tikz-feynman
 depend tikz-inet
+depend tikz-kalender
 depend tikz-opm
 depend tikz-optics
 depend tikz-page

Added: trunk/Master/tlpkg/tlpsrc/tikz-kalender.tlpsrc
===================================================================


More information about the tex-live-commits mailing list