LaTeX-Wörterbuch: today

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Nuvola apps bookcase.svg LaTeX-Kompendium Nuvola apps bookcase 1.svg LaTeX-Wörterbuch Gnome-mime-application-x-dvi.svg InDeX

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[Bearbeiten]

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[Bearbeiten]

Es 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[Bearbeiten]

Beispiel:

\documentclass[a4paper]{scrreprt}
 \usepackage[english,ngerman]{babel}
 
\begin{document}
\today \\                           % deutsche Ausgabe
 \selectlanguage{english}
\today                              % englische Ausgabe
\end{document}

Zusatzpakete[Bearbeiten]

Siehe LaTeX-Wörterbuch: Paket und Weblinks!

Eigene Formatierung[Bearbeiten]

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 \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[Bearbeiten]

Möchte man z.B. Jänner anstelle von Januar ausgeben, so gibt es mehrere Möglichkeiten.

  1. \usepackage[naustrian]{babel}
  2. \usepackage[ngerman]{babel}
  3. [Eigene Formatierungen]

Um auch noch Feber statt Februar auszugeben, ist eine eigene Definition unumgänglich.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]