TikZ calendar: Berechetes Berechnetes Datum als if-Bedingung (Ostern)
[![alt text][1]][1]
Ich habe hier einen Algorithmus, der mit pgfmath das Osterdatum berechnet. `\Easter` liefert z.B. `2018-04-01`.
Allerdings kann ich das Ergebnis scheints nicht in der Form <br>
`\calendar[] if (equals=\Easter)[red];` <br>
verwenden.
Was muss ich anders machen? <br>
Günstig wäre dieses berechnete Osterdatum als `pgfkey` zu haben, weil ich dann die von Ostern abgeleiteten Feiertage berechnen/hervorheben könnte, z.B. `Easter=39` *für Ostertag + 39 Tage = Christi Himmelfahrt*. <br>
Wie kann ich dass machen
\documentclass[margin=5mm, varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{calendar}
\pgfmathtruncatemacro{\year}{2018}
\begin{document}
% Ostersonntag
% https://www.tondering.dk/claus/cal/easter.php
\newcommand*{\Easter}[1][\year]{% \Easter[year]
\pgfmathtruncatemacro{\G}{mod(#1,19)}%
\pgfmathtruncatemacro{\C}{floor(#1/100)}%
\pgfmathtruncatemacro{\H}{mod(\C-floor(\C/4)-floor((8*\C+13)/25)+19*\G+15,30)}%
\pgfmathtruncatemacro{\I}{\H-floor(\H/28)*(1-floor(29/(\H+1))*floor((21-\G)/11))}%
\pgfmathtruncatemacro{\J}{mod(#1+floor(#1/4)+\I+2-\C+floor(\C/4),7)}
\pgfmathtruncatemacro{\L}{\I-\J}%
\pgfmathtruncatemacro{\eastermonth}{3+floor((\L+40)/44)}%
\pgfmathsetmacro{\EasterMonth}{"0\eastermonth"}%
\pgfmathtruncatemacro{\easterday}{\L+28-31*floor(\eastermonth/4)}%
\pgfmathsetmacro{\EasterDay}{\easterday < 10 ? "0\easterday" : "\easterday"}%
%
#1-\EasterMonth-\EasterDay%
}
Easterdate: \Easter,
\year-\EasterMonth-\EasterDay
\pgfkeys{/pgf/calendar/Easter/.default = 0}
\pgfkeys{/pgf/calendar/Easter/.code ={ ? ? ?
}}
\begin{tikzpicture}
\calendar[dates=\year-04-01 to \year-05-last, week list,
month label above centered, month text=\%mt \%y-
]
if (
% Easter=-3, % Maundy Thursday
% Easter=-2, % Good Friday
% Easter, % Easter Sunday
% Easter=1, % Easter Monday
% Easter=39, % Feast of the Ascension
% Easter=49, % Pentecost
% Easter=50 % Whit Monday
)[red]
if (equals=2018-4-1) [red]; % geht
if (equals=\year-\EasterMonth-\EasterDay) [red] % geht
%if (equals=\Easter) [red] % geht nicht.
;
\end{tikzpicture}
\end{document}
[1]: https://texwelt.de/wissen/upfiles/55555555_289.png