Sie sind hier

\MakeLowercase{\todaysname} liefert "unknown" statt "tuesday"

Das untenstehende Beispiel liefert mit pdfLaTeX als Ausgabe ein pdf mit dem Text: "Let's start unknown!" und leider nicht "Let's start tuesday!"
Es wird keine Fehlermeldung erzeugt. Seltsam - oder?
Zum Vergleich: Ersetzen von \todaysname durch \today liefert das heutige Datum mit kleinem Monatsnamen (wie erwartet).

\documentclass[english]{scrartcl}
\listfiles
\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
 
\usepackage{scrdate}
 
\begin{document}
Let's start \MakeLowercase{\todaysname}!
\end{document}

*File List*
scrartcl.cls 2010/02/15 v3.05 KOMA-Script document class (article)
scrkbase.sty 2010/02/15 v3.05 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2010/02/15 v3.05 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2009/03/25 v3.03 KOMA-Script package (loading files)
tocbasic.sty 2010/01/05 v3.04b KOMA-Script package (handling toc-files)
scrsize11pt.clo 2010/02/15 v3.05 KOMA-Script font size class option (11pt)
typearea.sty 2010/02/15 v3.05 KOMA-Script package (type area)
babel.sty 2008/07/06 v3.8l The Babel package
english.ldf 2005/03/30 v3.3o English support from the babel system
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
inputenc.sty 2008/03/30 v1.1d Input encoding file
latin9.def 2008/03/30 v1.1d Input encoding file
scrdate.sty 2009/01/01 v1.1p LaTeX2e KOMA-Script package
***********

forum: 
Bild von Markus Kohm

\todaysname stellt diverse Berechnungen an und verwendet u. .a. auch eine Gruppe, um die Zähler, die für die Berechnung verwendet werden, nur lokal zu ändern und damit auch keine globale Zähler zubelegen. All das führt dazu, dass dieses Makro nicht voll expandierbar ist. \MakeLowercase und \MakeUppercase kommen mit nicht voll expandierbaren Anweisungen gar nicht gut zurecht. Ich muss mal darüber nachdenken, ob sich mit Hilfe von e-TeX-Features eine bessere Lösung finden lässt.

Beim Monatsnamen verhält es sich anders. Der wird über eine einfach \ifcase-Entscheidung bestimmt. Berechnungen sind da nicht notwendig.

Danke für die umgehende Antwort, nicht das ich denke das es dringend benötigt wird. Übrigens, was die optionelle Datei scrdate.cfg betrifft: Was soll/kann da drinstehen?
Vielleicht lässt sich ja \todaysname und \Todaysname realisieren?
Der Wochentagsname nur mit kleinen Buchstaben scheint mir für andere Sprachen als Deutsch eigentlich sinnvoller.

Bild von Markus Kohm

Ist die Datei überhaupt noch offiziell dokumentiert? In den Anfängen war sie man dazu gedacht, dass man dort eigene Sprachanpassungen für noch nicht unterstützte Sprachen ablegen kann. Allerdings bevorzuge ich, wenn man mir die Anpassungen für noch nicht unterstützte Sprache schickt, damit sie direkt eingebaut werden und auch andere davon profitieren können.

Das die Namen mit einem Großbuchstaben am Anfang geliefert werden, liegt daran, dass das Paket hauptsächlich dafür gedacht war, im Datum in Briefen in der Form »Montag, 30. Februar 2024« verwendet zu werden. So war das Paket auch nachgefragt.

Bild von Markus Kohm

Ich habe gerade ein voll expandierbare Wochentagsberechnung geschrieben. Dabei habe ich auch gleich noch die Operationen mod und div für ganze Zahlen implementiert. Jetzt muss ich das nur noch in scrdate einbauen. Ich gehe deshalb davon aus, dass ab der nächsten Release \MakeUppercase und \MakeLowercase funktionieren werden. Ganz nebenbei kann man sich dann auch noch den Tagesnamen für jedes ISO-Datum im Gegorianischen Kalender ausgeben lassen.

Ich habe für das ganze tatsächlich länger gebraucht als erwartet, weil ich erst noch ein wenig mit den unterschiedlichen Wochentagsberechnungen experimentiert habe. Nachdem ich zunächst die doomsday-Methode implementiert hatte, habe ich mich dann doch für die Gauss-Methode entschieden. Man kann aber keineswegs sagen, dass die eine oder andere Methode schneller oder einfacher zu implementieren wäre.

Comments for "\MakeLowercase{\todaysname} liefert "unknown" statt "tuesday"" abonnieren