In der folgenden Tabelle sollten der 10., 17. und 24. August 2017 auftauchen. Stattdessen stehen 21. und 28. September und 5. Oktober 2017. Das Problem tritt nur auf, wenn Öffne in Overleaf
\documentclass{article} \usepackage{tabularx} \usepackage[ngerman]{babel} \usepackage[useregional=numeric]{datetime2} \usepackage{datetime2-calc} \newcounter{Woche} \newcount\Tag \DTMsavedate{Datum}{2017-08-03} \DTMlangsetup[german]{datesep=.\,} \newcommand{\Zeile}{\hline\DTMsaveddateoffsettojulianday{Datum}{7}{\Tag}\DTMsavejulianday{Datum}{\number\Tag}\DTMmakeglobal{Datum} \stepcounter{Woche}\arabic{Woche} & \DTMusedate{Datum} & \hspace{1em} \tabularnewline} \begin{document} \noindent \begin{tabularx}{\linewidth}{ccX} \emph{Woche} & \emph{Datum} & \emph{Bemerkungen} \tabularnewline \Zeile \Zeile \Zeile \end{tabularx} \end{document} gefragt 22 Nov '17, 22:58 Cletus |
Da Öffne in Overleaf
\documentclass{article} \usepackage{tabularx} \usepackage[ngerman]{babel} \usepackage[useregional=numeric]{datetime2} \usepackage{datetime2-calc} \newcounter{Woche} \newcount\Tag \DTMsavedate{Datum}{2017-08-03} \DTMlangsetup[german]{datesep=.\,} \newcommand{\Zeile}{\hline \stepcounter{Woche}\arabic{Woche} & \DTMsavedate{Datum}{2017-08-\the\numexpr 3+\value{Woche}*7\relax}\DTMusedate{Datum} & \hspace{1em} \tabularnewline} \begin{document} \noindent \begin{tabularx}{\linewidth}{ccX} \emph{Woche} & \emph{Datum} & \emph{Bemerkungen} \tabularnewline \Zeile \Zeile \Zeile \Zeile \Zeile \Zeile \end{tabularx} \end{document} Ohne beantwortet 27 Nov '17, 10:50 gast3 |
Das kann nicht funktionieren.
tabularx
(und teilweise ebensolongtable
) müssen die Zeilen und damit die Tabellenzellen mehrfach ausführen, um sie zu balancieren (= Anpassungen der Breite der Spalten durchzuführen). Also kann man innerhalb einer Zeile keine Berechnungen durchführen, die bei mehreren Aufrufen unterschiedliche Ergebnisse produzieren.Mich wundert nur, dass die Wochennummern in der ersten Spalte trotzdem richtig sind. Bei mehrfacher Ausführung müsste der Zähler doch auch mehrfach inkrementiert werden.
tabularx enthält Code der LaTeX-Zähler wieder korrekt zurücksetzt.
Dann sollte ich die Daten in der zweiten Spalte wohl am besten als Ausgangsdatum + Wochenzähler * 7 Tage berechnen. Die Frage ist nur, ob
datetime2
das mitmacht.