Beschreibung
\today bewirkt die Ausgabe des aktuellen Datums auf Basis der TeX-Primitiven \day, \month und \year. Die Formatierung ist abhängig von der eingestellten Sprache. Die angepasste Ausgabe des Datums erfordert also in der Regel die Verwendung des Babel-Paketes.
Syntax:
\today % ohne nachfolgendes Leerzeichen
\today{} % mit nachfolgendem Leerzeichen: leere Phrase
\today\ % mit nachfolgendem Leerzeichen: Backslash + Leerzeichen
Definition
Die Definition erfolgt gewöhnlich in der sprachspezifischen STY- oder LDF-Datei des Babel-Paketes und ist somit nicht einheitlich.
Auszug aus ngerman.sty:
\def\month@ngerman{\ifcase\month \or
Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
Juli\or August\or September\or Oktober\or November\or Dezember\fi}
\def\datengerman{\def\today{\number\day.~\month@ngerman\space\number\year}}
Format ändern
Es gibt mehrere Möglichkeiten das Datumsformat zu beeinflussen:
- Sprachanpassung mittels Babel-Paket
- Verwendung eines zusätzlichen Paketes, welches
\todayredefiniert oder zusätzliche Befehle bereitstellt - eigene Definition oder direkte Verwendung von
\day,\monthund\year
Sprachanpassung
Beispiel:
\documentclass[a4paper]{scrreprt}
\usepackage[english,ngerman]{babel}
\begin{document}
\today \\ % deutsche Ausgabe
\selectlanguage{english}
\today % englische Ausgabe
\end{document}
Zusatzpakete
Siehe LaTeX-Wörterbuch: Paket und Weblinks!
Eigene Formatierung
Die TeX-Primitiven \day, \month und \year geben jeweils Zahlenwerte zurück; die Textausgabe erfolgt durch Voranstellen von \the oder \number. Die Werte können auch editiert werden.
heutiges Datum: \the\day.\the\month.\the\year %%D.M.YYYY
\day=1 \month=11 \year=2050 %%Datum editieren
anderes Datum: \the\day.\the\month.\the\year %%D.M.YYYY
Sofern die Eindeutigkeit gewahrt bleibt, kann man z.B. die Reihenfolge der Zahlen verändern, bestimmte Trennzeichen wählen und den Monaten typische Bezeichnungen zuweisen. Letzteres geschieht nachfolgend mit dem Befehl \monthword.
\newcommand{\monthword}[1]{\ifcase#1\or Jan\or Feb\or M\"ar\or Apr\or
Mai\or Jun\or Jul\or Aug\or
Sep\or Okt\or Nov\or Dez\fi} %%wandelt Zahlen 1 bis 12 in Zeichenkette um
Ferner kann es sinnvoll sein, führende Nullen anzufügen.
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi} %%fügt bei 1 bis 9 eine führende Null an
Damit können Datumsformate beispielsweise so beschrieben werden:
\newcommand{\todayI}{\the\year"~\leadingzero{\month}"~\leadingzero{\day}} % YYYY-MM-DD
\newcommand{\todayII}{\the\year\leadingzero{\month}\leadingzero{\day}} % YYYYMMDD
\newcommand{\todayIII}{\leadingzero{\day}/\leadingzero{\month}/\the\year} % DD/MM/YYYY
\newcommand{\todayIV}{\leadingzero{\day}.\leadingzero{\month}.\the\year} % DD.MM.YYYY
\newcommand{\todayV}{\the\day.\the\month.\the\year} % D.M.YYYY
\newcommand{\todayVI}{\the\day.~\monthword{\the\month}. \the\year} % D. MMM. YYYY
\newcommand{\todayVII}{\leadingzero{\day}.~\monthword{\the\month}. \the\year}% DD. MMM. YYYY
Hinweise:
- Alternativ kann man mit
\renewcommanddas ursprüngliche Format von\todayauch überschreiben. - Es gilt zu beachten, dass Zeilenumbrüche ausschließlich in der Langform eines Datums zwischen Monat und Jahr typographisch zulässig sind. Entsprechend sollten geschützte Leerzeichen (Tilde) und geschützte Trennstriche (Anführungszeichen+Tilde) verwendet werden. Letztere werden nicht korrekt dargestellt, wenn die Definition oberhalb von
\begin{document}steht.
Spezialfall: Österreich
Möchte man z.B. Jänner anstelle von Januar ausgeben, so gibt es mehrere Möglichkeiten.
\usepackage[naustrian]{babel}\usepackage[ngerman]{babel}- [Eigene Formatierungen]
Um auch noch Feber statt Februar auszugeben, ist eine eigene Definition unumgänglich.
Siehe auch
- LaTeX-Wörterbuch: TeX Primitiven: \day
- LaTeX-Wörterbuch: TeX Primitiven: \month
- LaTeX-Wörterbuch: TeX Primitiven: \year
- LaTeX-Wörterbuch: babel