Das gesamte Paket ist schon recht alt und durch die Hände von mehreren Paketautoren gegangen. Aktueller Autor ist Harald Harders. Es gibt auch keine wirklich ausführliche Anleitung dazu und die vorhandenen folgen noch der uralten LaTeX2.09-Tradition, dass Anleitungen in Textform die Endung `.doc` erhalten. Bei dieser Endung würde man heutzutage eher eine Word-Datei (in veraltetem Format) erwarten. Um diese Verwirrung etwas zu lösen, gibt es allerdings auf CTAN auch identische Dateien mit Endung `.txt`.
Das Paket besteht aus zwei unterschiedlichen Teilen: LaTeX-Beispieldateien + Sprachpaket und `perl`-Script `yplan`.
LaTeX-Beispieldateien + Sprachpaket:
------------------------------------
Zum einen gibt es das LaTeX-Paket `yplan.sty`. Entgegen der eigentlichen Erwartung erzeugt dieses allerdings keinen kompletten Jahresplan, sondern definiert lediglich die Makros `\January`, `\February`, …, `\December` mit den Monatsnamen in der gewünschten Sprache, sowie `\Mo`, `\Tu`, …, `\Su` mit den Abkürzungen für die Tagesnamen in der gewünschten Sprache und `\leapyear` mit der Bezeichnung für ein Schaltjahr, ebenfalls in der gewünschten Sprache. Die Sprache ist dabei als Option beim Laden des Pakets anzugeben. Unterstützt werden `english`, `german`, `french`, `spanish`, `italian` und `protuguese`. Dabei ist `german` sowohl für alte als auch neue Rechtschreibung anzugeben. Es gibt zwei weitere Optionen, `uppercase` und `lowercase`, mit denen man wählen kann, ob die Monatsnamen in Versalsatz gesetzt werden sollen oder nicht, wobei der Versalsatz ohne die dafür eigentlich zwingend notwendige Sperrung (mit Ausgleich) erfolgt, also als eher mäßig beurteilt werden muss.
Die Definition der Makros erfolgt mit `\AtBeginDocument` verzögert. Dadurch werden Definition in der Dokumentpräambel ggf. durch das Paket wieder überschrieben. Genau das wird in den beiden Beispieldateien `yplan00a.tex` und `yplan00b.tex` auch genutzt. Diese beiden Beispieldateien erzeugen zwei unterschiedliche Kalender. `yplan00a.tex` erzeugt einen Kalender für das erste Halbjahr 2000:
![yplan00a.tex][1]
Dagegen liefert `yplan00b.tex` das zweite Halbjahr 2000:
![yplan00b.tex][2]
Wollte man also einen derartigen Plan für das Jahr 2000 könnte man direkt mit diesen beiden Dateien arbeiten. Um einen Kalender für eine andere Sprache, beispielsweise Deutsch, und ohne Versalsatz zu erhalten, müsste man nur die Zeile:
%\usepackage[german,lowercase]{yplan}
in den beiden Dateien aktivieren, also das `%` am Anfang der Zeile entfernen. Für einen Kalender in Spanisch, wäre in dieser Zeile zusätzlich `german` durch `spanish` zu ersetzen.
Für einen Kalender in einer anderen Sprache für ein anderes Jahr müsste man dagegen unabhängig von der Sprache erst einmal die Tabelle mit dem Kalender an das Jahr anpassen. Um sich diese Mühe sparen zu können, gibt es das
`perl`-Script `yplan`:
----------------------
`perl` ist eine Programmiersprache. Man schreibt damit sogenannte Scripten, die dann von einem `perl`-Interpreter ausgeführt wird. Dazu muss zunächst `perl` installiert werden. Auf Linux-Systemen und OS X ist das üblicherweise bereits der Fall. Windows-Anwender müssen dagegen ggf. erst einen `perl`-Interpreter installieren.
Das `perl`-Script `yplan` wird von der Kommandozeile bzw. in einem Terminal-Fenster aufgerufen. Den [generellen Umgang mit der Kommandozeile](http://texwelt.de/wissen/fragen/3461/wie-kompiliere-ich-in-der-eingabeaufforderung-im-terminal) werde ich hier nicht erklären. Das ist primär Sache des Erlernens der Bedienung des jeweiligen Betriebssystems und gehört nicht hier her.
Das `perl`-Script ist letztlich ein Computerprogramm wie andere auch. Man gibt beim Aufruf mehrere Parameter an und erhält als Ausgabe dann eine TeX-Datei. Der Aufruf erfolgt nach dem Schema:
`yplan` *Sprache* *Groß-/Kleinschreibung* *Seite* *Jahr*
Dabei ist für den Parameter *Sprache* eine der Sprachen `english`, `german`, `french`, `italian`, `spanish`, `portuguese`, `swedish` oder `latin` erlaubt. Wird keiner dieser Parameter angegeben, so ist die Sprache Englisch.
Für den Parameter *Groß-/Kleinschreibung* ist `uppercase` oder `lowercase` zulässig. Ist nichts angegeben, so wird automatisch Versalsatz verwendet.
*Seite* darf `p1` oder `p2` sein. Mit `p1` werden die ersten sechs Monate des Jahres ausgegeben, mit `p2` die letzten sechs Monate. Ist weder `p1` noch `p2` angegeben, so werden beide Seiten erzeugt.
Der Parameter *Jahr* gibt schließlich an, für welches Jahr die Kalenderseiten erzeugt werden sollen. Dieser Parameter ist zwingend. Das Jahr ist immer vierstellig anzugeben, also beispielsweise `2017` für das Jahr 2017.
Um beispielsweise beide Kalenderseiten für das Jahr 2017 ohne Versalsatz und in Deutsch zu erzeugen, ruft man das Skript wie folgt auf:
<pre>yplan german lowercase 2017</pre>
Im Terminal erhält man dann die Ausgabe:
%% Yplan
%% Vertical year-planner calendar
%%
%% ---------------------------
%% Copyright 1999 RWD Nickalls, 2000 John Palmer
%% Multlingual support based on yplan.sty,
%% copyright 1999 Harald Harders
%% This program Yplan[.pl] can be redistributed and/or modified
%% under the terms of the LaTeX Project Public License distributed
%% from CTAN archives in directory macros/latex/base/lppl.txt;
%% either version 1 of the License, or any later version.
%% --------------------------
%% Author of the original LaTeX source:
%% Dr RWD Nickalls,
%% Department of Anaesthesia,
%% City Hospital,
%% Nottingham, UK.
%%
%% dicknickalls@compuserve.com
%% TEL: +44-(0)-115-9691169 Ext:45637
%% FAX: +44-(0)-115-9627713
%%
%% Author of the original multilingual package:
%% Harald Harders,
%% harald.harders@dlr.de
%%
%% Author of the Perl program:
%% John W Palmer,
%% johnp@bcs.org.uk
%%
%% Designed for LaTeX 2e, although it can be easily adapted for
%% use with LaTeX 2.09, since it is only a big table.
%%
%% I designed this year planner as one year my
%% A4 diary had no good year planner at the end
%% The vertical size can be adjusted by changing datestrut.
%% ---enjoy! RWDN
%%
%%------------------------------------
\documentclass[a4paper]{article}
%%------------------------------------
\setlength{\topmargin}{-1cm}
\setlength{\oddsidemargin}{-13.5mm}
\setlength{\textwidth}{18.5cm}
%%
\newcommand{\monthstrut}{\rule{0pt}{12pt}}
%% \monthstrut controls the white space above the month.
%%
\newcommand{\datestrut}{\rule{0pt}{12pt}}
%% \datestrut controls the white space above the date.
%%
\newcommand{\bs}{$\backslash$}
%% Used in the footnotes.
%%--------------------------------------
\begin{document}
%---------------
%% no pagenumbering
\pagestyle{empty}
%--------------------
\begin{table}
\hspace{1cm} {\LARGE 2017}\qquad\textsc{}\\
{\ } \\
\begin{tabular}{|c||p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|}
%%
\hline
\multicolumn{1}{|c||}{\monthstrut\ }
& \multicolumn{1}{|c|}{Januar}
& \multicolumn{1}{|c|}{Februar}
& \multicolumn{1}{|c|}{M\"arz}
& \multicolumn{1}{|c|}{April}
& \multicolumn{1}{|c|}{Mai}
& \multicolumn{1}{|c|}{Juni}
\\
\hline
\hline
\datestrut So & 1 & & & & & \\
\hline\hline
\datestrut Mo & 2 & & & & 1 & \\
\cline{1-1}\cline{2-2}\cline{6-6}
\datestrut Di & 3 & & & & 2 & \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{6-6}
\datestrut Mi & 4 & 1 & 1 & & 3 & \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{6-6}\cline{7-7}
\datestrut Do & 5 & 2 & 2 & & 4 & 1 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{6-6}\cline{7-7}
\datestrut Fr & 6 & 3 & 3 & & 5 & 2 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 7 & 4 & 4 & 1 & 6 & 3 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 8 & 5 & 5 & 2 & 7 & 4 \\
\hline\hline
\datestrut Mo & 9 & 6 & 6 & 3 & 8 & 5 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 10 & 7 & 7 & 4 & 9 & 6 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 11 & 8 & 8 & 5 & 10 & 7 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 12 & 9 & 9 & 6 & 11 & 8 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 13 & 10 & 10 & 7 & 12 & 9 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 14 & 11 & 11 & 8 & 13 & 10 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 15 & 12 & 12 & 9 & 14 & 11 \\
\hline\hline
\datestrut Mo & 16 & 13 & 13 & 10 & 15 & 12 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 17 & 14 & 14 & 11 & 16 & 13 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 18 & 15 & 15 & 12 & 17 & 14 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 19 & 16 & 16 & 13 & 18 & 15 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 20 & 17 & 17 & 14 & 19 & 16 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 21 & 18 & 18 & 15 & 20 & 17 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 22 & 19 & 19 & 16 & 21 & 18 \\
\hline\hline
\datestrut Mo & 23 & 20 & 20 & 17 & 22 & 19 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 24 & 21 & 21 & 18 & 23 & 20 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 25 & 22 & 22 & 19 & 24 & 21 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 26 & 23 & 23 & 20 & 25 & 22 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 27 & 24 & 24 & 21 & 26 & 23 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 28 & 25 & 25 & 22 & 27 & 24 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 29 & 26 & 26 & 23 & 28 & 25 \\
\hline\hline
\datestrut Mo & 30 & 27 & 27 & 24 & 29 & 26 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 31 & 28 & 28 & 25 & 30 & 27 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & & & 29 & 26 & 31 & 28 \\
\cline{1-1}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & & & 30 & 27 & & 29 \\
\cline{1-1}\cline{4-4}\cline{5-5}\cline{7-7}
\datestrut Fr & & & 31 & 28 & & 30 \\
\cline{1-1}\cline{4-4}\cline{5-5}\cline{7-7}
\datestrut Sa & & & & 29 & & \\
\cline{1-1}\cline{5-5}
\datestrut So & & & & 30 & & \\
\hline\hline
\datestrut Mo & & & & & & \\
\cline{1-1}
\hline
\end{tabular}
{\ } \\
%%\newcommand{\bs}{$\backslash$}
\textsc{ctan}/macros/latex/contrib/other/yplan/yplan.pl%
\hfill\hbox{\copyright{} 1999 RWD Nickalls, H Harders, 2000 J Palmer}
\end{table}
%-----------------
\begin{table}
\hspace{1cm} {\LARGE 2017}\qquad\textsc{}\\
{\ } \\
\begin{tabular}{|c||p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|p{2.5cm}|}
%%
\hline
\multicolumn{1}{|c||}{\monthstrut\ }
& \multicolumn{1}{|c|}{Juli}
& \multicolumn{1}{|c|}{August}
& \multicolumn{1}{|c|}{September}
& \multicolumn{1}{|c|}{Oktober}
& \multicolumn{1}{|c|}{November}
& \multicolumn{1}{|c|}{Dezember}
\\
\hline
\hline
\datestrut So & & & & 1 & & \\
\hline\hline
\datestrut Mo & & & & 2 & & \\
\cline{1-1}\cline{3-3}\cline{5-5}
\datestrut Di & & 1 & & 3 & & \\
\cline{1-1}\cline{3-3}\cline{5-5}\cline{6-6}
\datestrut Mi & & 2 & & 4 & 1 & \\
\cline{1-1}\cline{3-3}\cline{5-5}\cline{6-6}
\datestrut Do & & 3 & & 5 & 2 & \\
\cline{1-1}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & & 4 & 1 & 6 & 3 & 1 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 1 & 5 & 2 & 7 & 4 & 2 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 2 & 6 & 3 & 8 & 5 & 3 \\
\hline\hline
\datestrut Mo & 3 & 7 & 4 & 9 & 6 & 4 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 4 & 8 & 5 & 10 & 7 & 5 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 5 & 9 & 6 & 11 & 8 & 6 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 6 & 10 & 7 & 12 & 9 & 7 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 7 & 11 & 8 & 13 & 10 & 8 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 8 & 12 & 9 & 14 & 11 & 9 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 9 & 13 & 10 & 15 & 12 & 10 \\
\hline\hline
\datestrut Mo & 10 & 14 & 11 & 16 & 13 & 11 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 11 & 15 & 12 & 17 & 14 & 12 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 12 & 16 & 13 & 18 & 15 & 13 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 13 & 17 & 14 & 19 & 16 & 14 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 14 & 18 & 15 & 20 & 17 & 15 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 15 & 19 & 16 & 21 & 18 & 16 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 16 & 20 & 17 & 22 & 19 & 17 \\
\hline\hline
\datestrut Mo & 17 & 21 & 18 & 23 & 20 & 18 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 18 & 22 & 19 & 24 & 21 & 19 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 19 & 23 & 20 & 25 & 22 & 20 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Do & 20 & 24 & 21 & 26 & 23 & 21 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Fr & 21 & 25 & 22 & 27 & 24 & 22 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Sa & 22 & 26 & 23 & 28 & 25 & 23 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut So & 23 & 27 & 24 & 29 & 26 & 24 \\
\hline\hline
\datestrut Mo & 24 & 28 & 25 & 30 & 27 & 25 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Di & 25 & 29 & 26 & 31 & 28 & 26 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{5-5}\cline{6-6}\cline{7-7}
\datestrut Mi & 26 & 30 & 27 & & 29 & 27 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{6-6}\cline{7-7}
\datestrut Do & 27 & 31 & 28 & & 30 & 28 \\
\cline{1-1}\cline{2-2}\cline{3-3}\cline{4-4}\cline{6-6}\cline{7-7}
\datestrut Fr & 28 & & 29 & & & 29 \\
\cline{1-1}\cline{2-2}\cline{4-4}\cline{7-7}
\datestrut Sa & 29 & & 30 & & & 30 \\
\cline{1-1}\cline{2-2}\cline{4-4}\cline{7-7}
\datestrut So & 30 & & & & & 31 \\
\hline\hline
\datestrut Mo & 31 & & & & & \\
\cline{1-1}\cline{2-2}
\hline
\end{tabular}
{\ } \\
%%\newcommand{\bs}{$\backslash$}
\textsc{ctan}/macros/latex/contrib/other/yplan/yplan.pl%
\hfill\hbox{\copyright{} 1999 RWD Nickalls, H Harders, 2000 J Palmer}
\end{table}
%-----------------
\end{document}
Wie zu sehen ist, ist dabei die Sprache bereits fest auf Deutsch eingestellt. Daher wird `yplan.sty` auch gar nicht geladen.
Um aus der Terminalausgabe eine Datei zu erhalten, leitet man diese am beste in eine Datei um:
<pre>yplan german lowercase 2017 >yplan2017.tex</pre>
Diese kann man dann wie jede andere TeX-Datei mit LaTeX verarbeiten, also beispielsweise
<pre>pdflatex yplan2017.tex</pre>
aufrufen, um dann ein PDF mit den folgenden beiden Seiten zu erhalten:
![yplan2017][3]
Natürlich kann man die Tabellen auch aus der Datei heraus kopieren, um sie anderweitig zu verwenden. Interessant in diese Zusammenhang dürfte sein, dass die mehrfache, teilweise auskommentierte Definition von `\bs` vollkommen überflüssig ist, da `\bs` überhaupt nicht verwendet wird.
[1]: http://texwelt.de/wissen/upfiles/test_20171005_082604.png
[2]: http://texwelt.de/wissen/upfiles/test_20171005_082845.png
[3]: http://texwelt.de/wissen/upfiles/test_20171005_085206.png