Vorherigen und aktuellen Monat automatisch ausgeben

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Vorherigen und aktuellen Monat automatisch ausgeben

Beitrag von markusv »

Hallo liebe Gemeinde,

ich hoffe, mein Problem im richtigen Thread eingeordnet zu haben.
Für eine Rechnung, die ich mit scrlettr2 erstellen möchte, benötige ich eine automatische Ausgabe des letzten Monats + Jahr, bspw. in der Form 01/2017 für diesen Monat.

Die führende Null habe ich bereits umsetzen können. Allerdings weiß ich nicht, wie ich den Monat so manipulieren kann, dass er mir automatisch den vorherigen ausgibt.

Hinzu kommt das Problem im Januar, wo ja die 12 des letzten Jahres ausgegeben werden muss. Außerdem soll für die Zeile mit Ort, Datum natürlich der richtige Monat angezeigt werden.

Anbei mein Minimalbeispiel:
\documentclass[12pt,ngerman]{scrlttr2}  
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{scrdate}
\usepackage{babel}
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\begin{document}  
\setkomavar{place}{Leipzig} 
\begin{letter}{01234 Entenhausen}  
\opening{Sehr geehrte Damen und Herren,}
für den Monat \leadingzero{\month}/\the\year\ %hier soll 01/2017 stehen
\closing{Mit freundlichen Grüßen,} 
\end{letter} 
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Gast

Beitrag von Gast »

\documentclass[12pt,ngerman]{scrlttr2}  
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{scrdate}
\usepackage{babel}
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\newcommand*{\lastmonth}{%
  \ifnum \month>1 \leadingzero{\numexpr\month-1\relax}/\the\year
  \else 12/\the\numexpr\year-1\relax
  \fi
}
\newcommand*{\thismonth}{%
  \leadingzero{\month}/\the\year
}
\newcommand*{\nextmonth}{%
  \ifnum \month<12 \leadingzero{\numexpr\month+1\relax}/\the\year
  \else 01/\the\numexpr\year+1\relax
  \fi
}
\begin{document}  
\setkomavar{place}{Leipzig} 
\begin{letter}{01234 Entenhausen}  
\opening{Sehr geehrte Damen und Herren,}
für den vorherigen Monat: \lastmonth

für den aktuellen Monat: \thismonth

für den nächsten Monat: \nextmonth
\closing{Mit freundlichen Grüßen,} 
\end{letter} 
\end{document}

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Klappt super, vielen Dank!
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Antworten