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:
Dagegen liefert yplan00b.tex
das zweite Halbjahr 2000:
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:
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 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 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:
yplan german lowercase 2017
Im Terminal erhält man dann die Ausgabe:
Öffne in Overleaf%% 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:
yplan german lowercase 2017 >yplan2017.tex
Diese kann man dann wie jede andere TeX-Datei mit LaTeX verarbeiten, also beispielsweise
pdflatex yplan2017.tex
aufrufen, um dann ein PDF mit den folgenden beiden Seiten zu erhalten:
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.
Das
perl
-Script führt man nicht in LaTeX aus, sondern in einemperl
-Interpreter. Es erzeugt dann erst eine TeX-Datei, die man direkt mit LaTeX verarbeitet, um die Kalender-Seite(n) beispielsweise als PDF zu erhalten (siehe dazuyplan.txt
).