Moin,
ich wuerde gerne "in drei Wochen" in LaTeX errechnen.
Also sowas wie
Ich bitte sie, die verlangte Auskunft bis spätestens zum
%% Zwei bis Dreiwochenfrist
{\today+\weeks{3}}
%
zu erteilen.
haette ich gerne.
Hat jemand eine Loesung parat oder Lust das in LaTeX zu implementieren? ;-)
Die einfache Antwort ist: Nimm einen ordentlichen Präprozessor, zum Beispiel Perl, Python, JavaScript, egal was; Hauptsache, es gibt eine Klasse/ein Paket namens Date, das die Rechnung für Dich ausführt.
Das ganze in LaTeX nachzuprogrammieren, ist aufwendig. Ich bin jetzt fast soweit, dass ich ein Datum (d,m,y) in eine fortlaufende Zahl umwandeln kann, aber diese Richtung ist noch die einfache. Die ganze Idee dahinter ist formatDate(numberToDate(dateToNumber(today() + 21))).
Roland
Na schön, ich konnte es doch nicht lassen.
Na schön, ich konnte es doch nicht lassen.
auf roland ist verlass. aber mit kommentaren warst du
sehr sparsam.
auf roland ist verlass. aber mit kommentaren warst du sehr sparsam.
Ich bin halt nicht davon ausgegangen, dass das
irgendwer lesen und verstehen will. Außerdem ist der Code so einfach, dass er sich selbst erklärt, wenn man ein bisschen TeX
programmieren kann. Naja, bis auf die \IllegalArgumentException, die hab ich mir selbst ausgedacht.
Ich habe mir halt einen Namensraum \datetime reserviert, deshalb heißen alle Variablen und Befehle \datetime@…. Ansonsten gibt es ein paar Hilfsfunktionen (isleapyear, daysofmonth, ddmmyyyy), deren Namen schon Kommentar genug sind.
Der Programmierstil ist in etwa der gleiche wie in anderen Programmiersprachen, außer dass TeX den Befehl \Variable = \Funktionsaufruf{Arg1}{Arg2} nicht unterstützt. Daher die "Prolog"-artige Aufrufkonvention von daysofmonth.
Roland
OncleOwen hat noch einen Fehler gefunden: Der Code funktioniert nicht für \todayplus{32}, wenn heute der 30. April ist, da dann zwei Monatswechsel im Intervall [heute, heute+32] liegen.