|
Die erste Zahl Was muss ich einstellen, damit nur die Öffne in Overleaf
\documentclass[margin=5mm, varwidth]{standalone} \usepackage{tikz} \begin{document} \pgfmathdeclarefunction{DayNoYear}{3}{ %\begingroup % Braucht man das? \pgfmathtruncatemacro{\a}{#2<3 ? #1-1 : #1}% \pgfmathtruncatemacro{\b}{floor(\a/4)-floor(\a/100)+floor(\a/400)}% \pgfmathtruncatemacro{\c}{floor((\a-1)/4)-floor((\a-1)/100)+floor((\a-1)/400)}% \pgfmathtruncatemacro{\s}{\b-\c}% \pgfmathtruncatemacro{\e}{#2<3 ? 0 : \s+1}% \pgfmathtruncatemacro{\f}{#2<3 ? \day-1+31*(\month-1) : #3+floor((153*(#2-3)+2)/5)+58+\s}% \pgfmathtruncatemacro{\Dayno}{\f+1}\Dayno %\pgfmathreturn\f+1 %\pgfmathreturn\Dayno % \endgroup% } Test: \pgfmathparse{DayNoYear(2018,4,1)}\pgfmathresult \end{document} |
|
Eine Möglichkeit: Öffne in Overleaf
\documentclass[margin=5mm, varwidth]{standalone} \usepackage{tikz} \pgfmathdeclarefunction{DayNoYear}{3}{% <- Zeilenende auskommentiert \pgfmathtruncatemacro{\a}{#2<3 ? #1-1 : #1}% \pgfmathtruncatemacro{\b}{floor(\a/4)-floor(\a/100)+floor(\a/400)}% \pgfmathtruncatemacro{\c}{floor((\a-1)/4)-floor((\a-1)/100)+floor((\a-1)/400)}% \pgfmathtruncatemacro{\s}{\b-\c}% \pgfmathtruncatemacro{\e}{#2<3 ? 0 : \s+1}% \pgfmathtruncatemacro{\f}{#2<3 ? \day-1+31*(\month-1) : #3+floor((153*(#2-3)+2)/5)+58+\s}% \pgfmathparse{int(\f+1)}% <- geändert } \begin{document} Test: \pgfmathparse{DayNoYear(2018,4,1)}\pgfmathresult \end{document} Oh, dieses group musste weg. Dann gehts.
(01 Nov '18, 23:47)
cis
|


Die Zahl kommt von Dayno, das Datum von pgfmathresult. pgfmathreturn erwartet etwas, dass man einer Dimension zuweisen kann, also z.B.
\pgfmathreturn\Dayno pt(und ja, das sieht schrecklich aus).Alternativ geht auch
\pgfmathparse{int(\f+1)}%, um das Ergebnis an\pgfmathresultzu übergeben. Dann kannst Du die Definition von\Daynoweglassen.Du fügst übrigens ein zusätzliches Leerzeichen durch das nicht auskommentierte Zeilenende zu Beginn des Funktionscodes ein.
@esdd: Aber wenn ich das mache "
\pgfmathparse{int(\f+1)}" steht nur noch das Datum da "201841", ich will ja nur die Tagesnummer "91". Kannst Du bitte posten, wie Du das meinst?