.
Verfasst: Sa 1. Dez 2012, 21:51
.
\def\macro#1{was cooles mit #1}
% Verwendung:
\macro{arg}
\def\macro#1#2{was colloes mit #1 und #2}
% Verwendung
\macro{arg1}{arg2}\def\macro ABC#1D#2EF#3{was cooles mit #1, #2 und #3}
% Verwendung:
\macro ABCarg1Darg2EF{arg3}\documentclass{article}
\usepackage[ngerman, num]{isodate}
\daymonthsepgerman{\thinspace}{}
\monthyearsepgerman{\thinspace}{}
\usepackage{etoolbox}
\makeatletter
\newcommand*\leadingzero[1]{\ifnum#1<10\relax0#1\else#1\fi} % führende Null
\def\date@format#1.#2.#3\q@stop{\leadingzero{#1}.\thinspace\leadingzero{#2}.\thinspace#3}
\renewcommand*\date[1]{%
\ifblank{#1}
{\date@format\the\day.\the\month.\the\year\q@stop}
{\date@format#1\q@stop}}
\makeatother
\begin{document}
\date{}% heute
oder \date{1.3.1979}% irgendwann
\end{document}\newcommand*\leadingzero[1]{\ifnum#1<10\relax0#1\else#1\fi}texdoc programming
\date dient dazu, das gewünschte Datum zu speichern, nicht um es zu drucken. Da du isodate benutzt, solltest du die Dokumentation lesen. Auf Seite 4 steht, wie man ein beliebiges Datum druckt.Dies sollte man doch mit dem Kommando "date" realisieren können, oder?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman, num]{isodate}
\begin{document}
\daymonthsepgerman{\thinspace}{}
\monthyearsepgerman{\thinspace}{}
\printdate{1.12.2012}
\end{document}
Daran merkt man, dass es spät war gestern Abend: \two@digits hätte mir auch einfallen müssen...ChristophW hat geschrieben:Ich hab jetzt aber eine andere Lösung gefunden:\two@digits
das ginge mit \settowidth, etwaChristophW hat geschrieben: leadingzero prüft, ob 05 < 10 ist. Das stimmt ja auch. Aber hier wäre wohl eine Prüfung auf die Länge der Zeichenkette sinnvoller, oder? Wie macht man das?
\documentclass{article}
\newlength\lena
\newlength\lenb
\newcommand*\leadingzero[1]{%
\settowidth\lena{#1}%
\settowidth\lenb{12}%
\ifdim \lena<\lenb 0\fi#1%
}% führende Null
\begin{document}
\leadingzero{5}, \leadingzero{05}
\end{document}