Jahres-Kalender mit Tikz-Kalender unter Linux erstellen

Büro-Software
Benutzeravatar
robertgoedl
Administrator
Beiträge: 904
Registriert: Sa 10. Jul 2021, 01:47
Wohnort: Graz
Has thanked: 37 times
Been thanked: 452 times
Kontaktdaten:

Jahres-Kalender mit Tikz-Kalender unter Linux erstellen

Beitrag von robertgoedl »

Unter Pcal - Einfache Kalender mit Linux erstellen haben wir gelesen wie wir einfache Kalender unter Linux erstellen. In diesem Beitrag gehen wir etwas weiter. Für dieses Beispiel benötigen wir Latex, Sie sollten sich also den verlinkten Beitrag etwas näher ansehen.

Zusätzlich zu den Standard-Latex-Paketen installieren Sie sich unter auf Debian basierenden Linux-Distributionen über die Paket-Verwaltung das Paket "texlive-pictures".

Zusätzlich brauchen Sie noch von CTAN.org das Paket "tikz-kalender". Sie laden dieses herunter und entpacken das komprimierte Archiv. Um dieses Paket zu installieren, öffnen Sie das Terminal im entpackten Verzeichnis und verschieben die beiden darin enthaltenen Dateien "tikz-kalender.cls tikz-kalender-translation.clo" als Administrator in das Systemverzeichnis "/usr/share/texmf/tex/latex/tipa/":

Code: Alles auswählen

mv tikz-kalender-translation.clo /usr/share/texmf/tex/latex/tipa/
mv tikz-kalender.cls /usr/share/texmf/tex/latex/tipa/
Nun aktualisieren Sie die Liste der Latex-Pakete mit dem Befehl:

Code: Alles auswählen

mktexlsr
Kalender erstellen

Beginnen wir zunächst mit einem ganz einfachen Kalender ohne jegliche weitere Zuckerl. Wir erstellen die Steuerdatei für Latex, im Beispiel nenne ich diese jetzt "kalender.tex" mit folgendem Inhalt:

Code: Alles auswählen

\documentclass{tikz-kalender}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\setup{
  paper=a4,
  year=2022,
  title={Linux Bibel 2022},
  showweeknumbers,
  titleColor=black,
  monthBGcolor=black,
  saturdayColor=red!20,
  sundayColor=red,
  eventColor=red,
  periodColor=gray!20,
  lang=german
}
\begin{document}
\makeKalender
\end{document}
Jetzt übersetzen wir den Kalender mit.

Code: Alles auswählen

latex kalender.tex
dvipdf kalender.dvi
Das Ergebnis:
tikz-kalender.jpg
Jetzt wollen wir natürlich auch Feiertage in den Kalender kleben, hierfür erstellen wir eine weitere Datei - im Beispiel nenne ich diese "tikz-2022_feiertage.events":

Kleines Beispiel (werden vielleicht nicht alle passen, ich habe einfach die Daten vom letzten Jahr genommen):

Code: Alles auswählen

\event*{\year-01-01}{Neujahr}
\event*{\year-01-06}{Heilige Drei Könige}
\event*{\year-05-01}{Tag der Arbeit}
\event*{\year-08-15}{Mariä Himmelfahrt}
\event*{\year-10-03}{Tag der deutschen Einheit}
\event*{\year-11-01}{Allerheiligen}
\event{\year-12-24}{Heiligabend}
\event*{\year-12-25}{1. Weihnachtstag}
\event*{\year-12-26}{2. Weihnachtstag}
\event{2021-02-17}{Aschermittwoch}
\event{2021-04-01}{Gründonnerstag}
\event*{2021-04-02}{Karfreitag}
\event*{2021-04-04}{Ostern}
\event*{2021-04-05}{Ostermontag}
\event*{2021-05-13}{Christi Himmelfahrt}
\event*{2021-05-23}{Pfingsten}
\event*{2021-05-24}{Pfingstmontag}
\event*{2021-06-03}{Fronleichnam}
\event{2021-11-28}{1. Advent}
\event{2021-12-05}{2. Advent}
\event{2021-12-12}{3. Advent}
\event{2021-12-19}{4. Advent}
\endinput
Hier lassen sich natürlich auch Geburtstage und ähnliches eintragen - solange es sich um eintägige Ereignisse handelt. Für mehrtägige Ereignisse nutzt man nun eine weitere Datei mit "period", die Datei nenne ich jetzt einmal schnell "tikz-2022_ferien.events":

Code: Alles auswählen

\period{2020-12-23}{2021-01-09}
\period{2021-02-15}{2021-02-19}
\period{2021-03-29}{2021-04-10}
\period{2021-05-25}{2021-06-04}
\period{2021-07-30}{2021-09-13}
\period{2021-11-02}{2021-11-05}
\period{2021-12-24}{2022-01-08}
\endinput
Diese beiden Dateien müssen nun in die Latex-Steuerdatei eingetragen werden:

Code: Alles auswählen

\documentclass{tikz-kalender}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\setup{
  paper=a4,
  year=2022,
  title={Linux Bibel 2022},
  showweeknumbers,
  titleColor=black,
  monthBGcolor=black,
  saturdayColor=red!20,
  sundayColor=red,
  eventColor=red,
  periodColor=gray!20,
  lang=german,
  events={tikz-kalender_2022_feiertage,tikz-kalender_2022_ferien}
}
\begin{document}
\makeKalender
\end{document}
Das Ergebnis:
tikz-kalender-1.jpg
Wichtig: Die Dateien mit den zusätzlichen Daten müssen die Endung ".events" haben, die Endungen dürfen in der Latex-Steuerdatei jedoch nicht erwähnt werden.
Windows lässt sich mit einem U-Boot vergleichen - mach ein Fenster auf und die Probleme beginnen ...