.
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
- cgnieder
- Forum-Meister
- Beiträge: 730
- Registriert: Fr 22. Okt 2010, 18:37
- Wohnort: Herrenberg
- Kontaktdaten:
Das geht, allerdings nicht mit LaTeX-Hausmitteln, sondern man muss auf das TeX-Primitive \def zurückgreifen.
Syntax:
Nun kann man aber auch die Argumente durch beliebige Zeichenketten trennen:
Hier mein konkreter Vorschlag:
Syntax:
\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}
Clemens
Paketauthor
Paketauthor
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
- Johannes_B
- Moderator
- Beiträge: 5079
- Registriert: Do 1. Nov 2012, 14:55
- Kontaktdaten:
Jap,
schreibt dir eine null vor dein Argument, somit wird aus 05 -> 005
Wie man die Länge abfragt, kann ich dir grad nicht sagen, aber du könntest
auch abfragen, ob das Argument mit einer null anfängt?
Wenn du daran interessiert bist mehr zu erfahren, dann tipp doch in dein Terminal mal ein, das sollte dich zum Dokument Notes On Programming in TEX von Christian Feuersänger führen.
\newcommand*\leadingzero[1]{\ifnum#1<10\relax0#1\else#1\fi}
Wie man die Länge abfragt, kann ich dir grad nicht sagen, aber du könntest
auch abfragen, ob das Argument mit einer null anfängt?
Wenn du daran interessiert bist mehr zu erfahren, dann tipp doch in dein Terminal mal
texdoc programming
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
- Johannes_B
- Moderator
- Beiträge: 5079
- Registriert: Do 1. Nov 2012, 14:55
- Kontaktdaten:
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
LaTeX-Vorlagen?
Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
\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}
Ulrike Fischer
www.troubleshooting-tex.de
www.troubleshooting-tex.de
- cgnieder
- Forum-Meister
- Beiträge: 730
- Registriert: Fr 22. Okt 2010, 18:37
- Wohnort: Herrenberg
- Kontaktdaten:
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
Clemens
Paketauthor
Paketauthor
nur der Vollständigkeit halber
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}
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)