LaTeX-Wörterbuch: today
Beschreibung
Bearbeiten\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
BearbeitenDie 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
BearbeitenEs gibt mehrere Möglichkeiten das Datumsformat zu beeinflussen:
- Sprachanpassung mittels Babel-Paket
- Verwendung eines zusätzlichen Paketes, welches
\today
redefiniert oder zusätzliche Befehle bereitstellt - eigene Definition oder direkte Verwendung von
\day
,\month
und\year
Sprachanpassung
BearbeitenBeispiel:
\documentclass[a4paper]{scrreprt}
\usepackage[english,ngerman]{babel}
\begin{document}
\today \\ % deutsche Ausgabe
\selectlanguage{english}
\today % englische Ausgabe
\end{document}
Zusatzpakete
BearbeitenSiehe LaTeX-Wörterbuch: Paket und Weblinks!
Eigene Formatierung
BearbeitenDie 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
\renewcommand
das ursprüngliche Format von\today
auch ü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
BearbeitenMö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.