Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datumseingabe für scrlttr2

858 views
Skip to first unread message

Albrecht Mehl

unread,
Aug 6, 2015, 3:42:28 AM8/6/15
to
In meiner Briefvorlage wird das Datum so verwendet:

\RequirePackage{isodate}
\setkomavar{date}
\printdate{\AM@date}
vom~\slshape\numdate[arabic]\isotwodigitdayfalse\printdate{\AM@date}

Das alles tut, wenn das Datum im ISO-Format

2015-08-06

eingegeben wird.

Nun tendiere ich aber zu Faulheit und habe daher anstelle von

\date{2015-08-06}

einfach

\date{\today}

benutzt, was mir aber als Fehler um die Ohren geschlagen wurde.

Gibt es doch noch eine Möglichkeit, die Vorlage so zu ändern, dass dort
eine feste - aber eben anders als mit \today allein - steht, damit das
konkrete Datum nicht eingegeben werden muss?

A. Mehl
--
Albrecht Mehl |eBriefe an:mehlBEIfreundePUNKTtu-darmstadtPUNKTde
Veilchenweg 7 |Tel. (06151) 37 39 92
64291 Darmstadt, Germany|sehenswert - ungefähr 'Wir einsam im All'
http://www.phrenopolis.com/perspective/solarsystem/index.html

Christian Justen

unread,
Aug 6, 2015, 7:03:15 AM8/6/15
to
Vielleicht bin ich ja nur begriffsstutzig,

At Thu, 6 Aug 2015 09:42:24 +0200,
Albrecht Mehl wrote:
>
> In meiner Briefvorlage wird das Datum so verwendet:
>
> \RequirePackage{isodate}
> \setkomavar{date}
> \printdate{\AM@date}
> vom~\slshape\numdate[arabic]\isotwodigitdayfalse\printdate{\AM@date}

aber mangels eines funktionsfähigen Minimalbeispiels habe ich keine
Ahnung, was du da eigentlich tun willst. Ich nehme an, \AM@date hast
du selbst irgendwo definiert? Und dass bei \setkomavar das zweite
Argument fehlt, hast du gesehen?

> Das alles tut, wenn das Datum im ISO-Format
>
> 2015-08-06
>
> eingegeben wird.
>
> Nun tendiere ich aber zu Faulheit und habe daher anstelle von
>
> \date{2015-08-06}
>
> einfach
>
> \date{\today}
>
> benutzt, was mir aber als Fehler um die Ohren geschlagen wurde.

Vielleicht hilft es dir, wenn du dir den Text der Fehlermeldung anschaust?

> Gibt es doch noch eine Möglichkeit, die Vorlage so zu ändern, dass
> dort eine feste - aber eben anders als mit \today allein - steht,
> damit das konkrete Datum nicht eingegeben werden muss?

Mal abgesehen von allem anderen: Ist das wirklich sinnvoll? Briefe
haben nun mal in der Regel ein festes Datum, zu dem sie versandt
werden. Wenn du in zwei Jahren oder wann auch immer LaTeX über dein
Dokument laufen lässt, hast du im Resultat niemals das Originaldatum.
Wenn du einfach nur wissen willst, welcher Tag gerade ist, wäre das
sinnvoll (auch wenn es einfacher wäre, in den Kalender zu schauen),
aber ansonsten halte ich die Verwendung für \today in einem Brief für
unsinnig.

Gruß, Christian.

Albrecht Mehl

unread,
Aug 6, 2015, 7:39:29 AM8/6/15
to
Vielen Dank für die Antwort. Aber ...

Am 06.08.2015 um 13:03 schrieb Christian Justen:
> Vielleicht bin ich ja nur begriffsstutzig,
>
> At Thu, 6 Aug 2015 09:42:24 +0200,
> Albrecht Mehl wrote:
>>
>> In meiner Briefvorlage wird das Datum so verwendet:

... Sie haben das Wort 'Vorlage' übersehen. Dies ist eine Vorlage, die
ich immer wieder aufrufe, wenn ich einen Brief schreibe. Dann brauche
ich Absender, Abs.adresse, Telefon usw. nicht eingeben. Dies ist bequem,
und dies will ich, falls möglich, auch für die Datumsangabe erreichen.

>> \RequirePackage{isodate}
>> \setkomavar{date}
>> \printdate{\AM@date}
>> vom~\slshape\numdate[arabic]\isotwodigitdayfalse\printdate{\AM@date}
>
> aber mangels eines funktionsfähigen Minimalbeispiels habe ich keine
> Ahnung, was du da eigentlich tun willst. Ich nehme an, \AM@date hast
> du selbst irgendwo definiert? Und dass bei \setkomavar das zweite
> Argument fehlt, hast du gesehen?

Da habe ich einen Fehler beim Kopieren gemacht. Es heißt

\setkomavar{date}{}

> Mal abgesehen von allem anderen: Ist das wirklich sinnvoll?
> aber ansonsten halte ich die Verwendung für \today in einem Brief für
> unsinnig.

Ich hoffe, dass der Sinn mittlerweile klar ist, und entschuldige mich
dafür, mich in meinem ersten Beitrag nicht deutlich genug ausgedrückt zu
haben.

Das Briefschreiben verwendet folgende Dateien

1. Vorlage des eigentlichen Briefes
2. Allgemeine lco-Datei, die für jedermann in der Familie verwendbar
ist
3. Spezielle lco-Datei für mich

Eigentlich geht es nur um die Verwendung von isodate im Zusammenhang mit
scrlttr2, und daher hatte ich mir erlaubt, ohne Minimalbeispiel zu
fragen. Aber da Sie es haben wollen, hier jetzt die Dateien, allerdings
ohne die Reduktion zu einem _Minimal_beispiel.

1.
-------------------------------------------

\documentclass[AlbrechtMehl%
,ngerman%
%,english%
%,french%
,headsepline]{scrlttr2}

\AMehlOptions{Dr,Tel,Int}

\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}

\textheight28cm
\nofiles
%\typearea[footinclude]{calc}
%\enlargethispage{232pt}



\date{}

\begin{document}
\ttfamily

\begin{letter}{\\
\\
\\
%\\
}

\setkomavar{subject}{\\
\noindent{}}

\opening{Sehr geehrte Damen und Herren,}

\closing{Hochachtend}
\end{letter}
\end{document}

--------------------------------------

2.

---------------


\ProvidesFile{AMdefault.lco}[%
2009/09/27 v0.1e letter class options]%

\providecommand*\LCOError[2]{%
\GenericError{%
(#1)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces
}{%
Letter class option #1 Error: #2%
}%
}

\providecommand*\LCOInfo[2]{%
\GenericInfo{%
(#1)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces
}{%
Letter class option #1 Info: #2%
}%
}

%\@ifclasslater{\KOMAClassName}{2008/11/08}{}{%
% \LCOError{AMdefault}{%
% The class `\KOMAClassName' is too old!\MessageBreak
% Please update to version 3.00 or newer.
% }{}%
%}

\LetterOptionNeedsPapersize{AMdefault.lco}{a4}

% Markus Kohm in "d.c.t.t." (16 Jul 2007 10:15:02 CEST):
\BeforePackage{babel}{\DeclareOption{fallbacklanguage}{%
\ifx\bbl@main@language\@undefined\ExecuteOptions{ngerman}\fi}%
}%

\RequirePackage[fallbacklanguage]{babel}
\RequirePackage{scrpage2}

% Schriftwahl
\RequirePackage[T1]{fontenc}
\usepackage{hyphsubst}
\HyphSubstIfExists{ngerman-x-latest}{%
\HyphSubstLet{ngerman}{ngerman-x-latest}}{}
\RequirePackage{lmodern}
\RequirePackage[sc]{mathpazo}
\RequirePackage[scaled]{helvet}
\RequirePackage[htt]{hyphenat}
%\RequirePackage{csquotes}
\RequirePackage{isodate}
\RequirePackage{eurosym}
\RequirePackage[utf8x]{inputenc}
\RequirePackage{enumitem}
\RequirePackage{hyperref}



\setlength{\hoffset}{3mm}


%

% Schreibmaschinenschrift ist Standard
\renewcommand\familydefault{\ttdefault}

% Wir definieren key=value-Optionen wie in Kapitel 10, Abschnitt 10.2 der
% KOMA-Script-Anleitung ausführlich beschrieben:
\DefineFamily{AMehl}% Das ist die "Familie", die alle Optionen eindeutig
% macht. Ich gehe dabei einfach einmal davon aus, dass
% niemand sonst auf die Idee kommt, diesen Namen zu
% verwenden und dieser damit exklusiv ist.
\DefineFamilyMember[.AMdefault.lco]{AMehl}% Ein neues Mitglied der Familie.
\FamilyBoolKey[.AMdefault.lco]{AMehl}{Int}{AM@email}% Neuer Schalter
\FamilyBoolKey[.AMdefault.lco]{AMehl}{Tel}{AM@phone}% Neuer Schalter
\FamilyBoolKey[.AMdefault.lco]{AMehl}{Dr}{AM@dr}% Neuer Schalter
% Hinweis: Alle neuen Schalter sind automatisch mit "false" voreingestellt.
% Jetzt definieren wir noch eine Abkürzung, damit die Optionen leichter
% gesetzt werden können:
\newcommand*{\AMehlOptions}{\FamilyOptions{AMehl}}% Verwendung wie
\KOMAoptions
\newcommand*{\AMehlOption}{\FamilyOption{AMehl}}% Verwendung wie \KOMAoption

\@setplength{foldmarkthickness}{.5mm}
\setheadwidth{textwithmarginpar}

% Klassenoptionen der Klasse "scrlttr2"

\KOMAoptions{%
paper=a4
,enlargefirstpage=true
,fromalign=center% Absender im Briefkopf zentrieren
,fromrule=aftername% Linie unter dem Namen ziehen
,fromphone=false
,fromfax=false
,fromemail=false
,fromurl=false
,fromlogo=false
,addrfield=true
,backaddress=true
,pagenumber=footcentered
,headsepline=true
,locfield=wide
,parskip=full-
,firsthead
}

\setkomafont{subject}{\rmfamily\bfseries}
\setkomafont{fromname}{\rmfamily\scshape}
% Name im Briefkopf in Kapitälchen
\setkomafont{fromaddress}{\rmfamily}
% Adresse im Briefkopf in roman

\AtBeginLetter{%
\ifkomavarempty{date}{}{%
% "date" retten.
\usekomavar[\protected@edef\AM@date]{date}%
% "date" leer machen, um das Setzen
% am üblichen Platz zu verhindern.
\setkomavar{date}{}%
}% ifkomavarempty
} % AtBeginLetter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% LOCATION-Feld %
%
\setkomavar{location}{% %
\raggedright\small\sffamily %
\ifAM@email %
\textbf{\emailname\usekomavar{emailseparator}}\\ %
\usekomavar{fromemail}\\[.5\baselineskip]%[2mm]
%cam...@iesy.net\\ %
\fi %ifAM@email %
\ifAM@phone %
\textbf{\phonename\usekomavar{phoneseparator}}\\ %
\usekomavar{fromphone}\\[.5\baselineskip]%
%
\fi %ifAM@phone %
%
% "place" und "date" an neuem Ort ausgeben. %
\raisebox{-0,3cm}[0pt][0pt]{% %
\makebox[0pt][l]{% %
\ifkomavarempty{place}{}{% %
}% %makebox %
\printdate{\AM@date} %
}% %ifkomavarempty{place} %
}% %raisebox %
} %setkomavar{location} %
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\AtBeginDocument{%
% Da nur das umdefiniert werden kann und muss, was bereits
% existiert, definieren wir auch nur das um:
\@ifundefined{captionsngerman}{%
\LCOInfo{AMdefault}{Setup for language `ngerman' skipped}%
}{%
\renewcaptionname{ngerman}{\ccname}{Kopie(n) an}%
\renewcaptionname{ngerman}{\emailname}{eAdresse}%
\RequirePackage{csquotes}%
}%
\@ifundefined{captionsgerman}{%
\LCOInfo{AMdefault}{Setup for language `german' skipped}%
}{%
\renewcaptionname{german}{\ccname}{Durchschrift}
\renewcaptionname{german}{\emailname}{eAdresse}
}%
}

% Kopfzeile Folgeseiten
\pagestyle{scrheadings}

% --> Hier fehlen noch Sprachanpassungen!

\chead{\large\rmfamily\textbf{\usekomavar{fromname}\hspace{1cm}%
Seite~\slshape\thepage \hspace{1cm} des Briefes
vom~\slshape\numdate[arabic]\isotwodigitdayfalse\printdate{\AM@date}
}}


% Änderung Symbol itemize
\renewcommand{\labelitemi}{-}
%\setlength{\voffset}{2cm}
\@addtoplength{tfoldmarkvpos}{-0.3cm}
\@addtoplength{bfoldmarkvpos}{-0.6cm}
\endinput


-----------------------------------

3.
-----------------------------------

\ProvidesFile{AlbrechtMehl.lco}[%
2008/08/21 v0.1a letter class options]%

\LoadLetterOption{AMdefault}

\KOMAoptions{headsepline}

\setkomavar{fromname}{\ifAM@dr Dr.~\fi Albrecht Mehl}
\setkomavar{fromemail}{me...@freunde.tu-darmstadt.de}
\setkomavar{place}{Darmstadt}
\setkomavar{signature}{}


\AfterPackage*{babel}{
\addto{\extrasgerman}{%
\setkomavar{fromaddress}{Veilchenweg 7\\ 64291 Darmstadt}%
\setkomavar{fromphone}{(06151)~37\,39\,92}%
}
\addto{\extrasngerman}{%
\setkomavar{fromaddress}{Veilchenweg 7\\ 64291 Darmstadt}%
\setkomavar{fromphone}{(06151)~37\,39\,92}%
}
\addto{\extrasenglish}{%
\setkomavar{fromaddress}{Veilchenweg 7\\ 64291 Darmstadt\\
Germany}%
\setkomavar{fromphone}{+49 (0) 6151 373992}%
}
\addto{\extrasfrench}{%
\setkomavar{fromaddress}{Veilchenweg 7\\ 64291 Darmstadt\\
Allemagne}%
\setkomavar{fromphone}{+49 (0) 6151 373992}%
}
}%

\endinput

--------------------------------------

Diese Antwort ist jetzt ein wenig lang geworden; ich bitte um Nachsicht
dafür. Die beiden lco-Dateien stammen übrigens nicht von mir, ich möchte
mich nicht mit fremden Federn schmücken. Zwei hilfreiche Menschen haben
mir das geschrieben.

Norbert Melzer

unread,
Aug 6, 2015, 9:05:14 AM8/6/15
to
Albrecht Mehl <inv...@invalid.invalid> Wrote in message:
> In meiner Briefvorlage wird das Datum so verwendet:
>
> \RequirePackage{isodate}
> \setkomavar{date}
> \printdate{\AM@date}
> vom~\slshape\numdate[arabic]\isotwodigitdayfalse\printdate{\AM@date}
>
> Das alles tut, wenn das Datum im ISO-Format
>
> 2015-08-06
>
> eingegeben wird.
>
> Nun tendiere ich aber zu Faulheit und habe daher anstelle von
>
> \date{2015-08-06}
>
> einfach
>
> \date{\today}
>
> benutzt, was mir aber als Fehler um die Ohren geschlagen wurde.
>
> Gibt es doch noch eine Möglichkeit, die Vorlage so zu ändern, dass dort
> eine feste - aber eben anders als mit \today allein - steht, damit das
> konkrete Datum nicht eingegeben werden muss?
>
> A. Mehl

Kennt das isodate Paket nicht das Makro \isotoday oder so ähnlich?
--


----Android NewsGroup Reader----
http://usenet.sinaapp.com/

Ulrike Fischer

unread,
Aug 6, 2015, 11:31:14 AM8/6/15
to
Am Thu, 6 Aug 2015 09:42:24 +0200 schrieb Albrecht Mehl:

> Gibt es doch noch eine Möglichkeit, die Vorlage so zu ändern, dass dort
> eine feste - aber eben anders als mit \today allein - steht, damit das
> konkrete Datum nicht eingegeben werden muss?

\documentclass[ngerman]{scrartcl}
\usepackage{isodate}
\begin{document}
\printdate{\the\year-\the\month-\the\day}
\end{document}

Aber wie Christian halte ich das für falsch. Ich zwinge mich immer,
das Datum in Briefen explizit einzutragen, damit ich auch nach
einigen Wochen in der Datei erkennen kann, wann ich den Brief
geschrieben habe.

--
Ulrike Fischer
http://www.troubleshooting-tex.de/

Axel Berger

unread,
Aug 6, 2015, 8:15:04 PM8/6/15
to
Albrecht Mehl wrote on Thu, 15-08-06 09:42:
>dass dort eine feste - aber eben anders als mit \today allein - steht,
>damit das konkrete Datum nicht eingegeben werden muss?

LaTeX kennt die vordefinierten Variablen \year \month\ \day, die
allerdings hier wohl noch etwas Nacharbeit brauchen:

\documentclass{minimal}
\usepackage[x-cp1252]{inputenx}
\usepackage[T1]{fontenc}

\begin{document}

\the\year~\the\month~\the\day

\end{document}

Albrecht Mehl

unread,
Aug 7, 2015, 2:10:28 AM8/7/15
to
Ohne es ausprobiert zu haben, behaupte ich mal frech, dass das
Vorgeschlagene nicht die gewünschte Wirkung hätte: mit den genannten
Befehlen werden meines Wissens das Jarh, der Monat und der Tag
_gesetzt_, nicht aber zu Variablen zugeordnet.

Dr Eberhard Lisse

unread,
Aug 7, 2015, 5:03:17 AM8/7/15
to
Ich hab das in meinem LCO :-)-O:

\usepackage{scrdate}
\setkomavar{date}{\ISOToday}

mfg, el

Dr Eberhard Lisse

unread,
Aug 7, 2015, 5:23:25 AM8/7/15
to
Ich gehe da einen Mittelweg :-)-O

Ich schreib meinen Praxiskram mit LyX, und da kann ich, wenn ich das
will, das Datum explizit in ein Feld eintragen.

Üblichwerweise habe ich da \ISOToday stehen (als ERT), was man auch
weglassen kann weil es auch im LCO steht.

Vieles speicher ich nicht, da ich sowieso einen Ausdruck in die
Patientenakte legen muss, dann reicht das, aber wenn ich da ein
festes Datum eintragen muss, sind das ein paar Mausbewegungen
weniger :-)-O

Wennman allerdings automatisieren will oder muss, zum Bleistift schreibt
SQL-Ledger Rechnungen mit LaTeX (auf Koma umgebogen), dann macht das
schon sehr viel Sinn.

el


On 2015-08-06 16:31, Ulrike Fischer wrote:
[...]
> Aber wie Christian halte ich das für falsch. Ich zwinge mich
> immer, das Datum in Briefen explizit einzutragen, damit ich auch
> nach einigen Wochen in der Datei erkennen kann, wann ich den Brief
> geschrieben habe.
[...]

Axel Berger

unread,
Aug 7, 2015, 8:15:03 AM8/7/15
to
Albrecht Mehl wrote on Thu, 15-08-06 13:39:
>Dies ist bequem, und dies will ich, falls m÷glich, auch fnr die
>Datumsangabe erreichen.

Eine Kopie des Briefes landet vermutlich als Datei im Archiv. Dazu
braucht sie einen Namen. Und der enthält zweckmäßigerweise das Datum.

Dann:

2015-08-07-Mehl.tex

\usepackage{varsfromjobname}
\renewcommand*{\day}{\getthreefromjobname}
\renewcommand*{\month}{\gettwofromjobname}
\renewcommand*{\year}{\getonefromjobname}

Varsfromjobname ist von Uwe Ziegenhagen.

Axel Berger

unread,
Aug 7, 2015, 7:15:03 PM8/7/15
to
Albrecht Mehl wrote on Fri, 15-08-07 08:10:
>mit den genannten Befehlen werden meines Wissens das Jarh, der Monat und
>der Tag _gesetzt_,

Falsch. Es sind keine Befehle es sind Variablen (genauer Makros) die
geschrieben und gelesen werden können.

0 new messages