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} gefragt 01 Nov '18, 19:07 cis |
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} beantwortet 01 Nov '18, 22:47 esdd 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\pgfmathresult
zu übergeben. Dann kannst Du die Definition von\Dayno
weglassen.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?