diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex |
Initial commit
Diffstat (limited to 'macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex')
-rw-r--r-- | macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex | 459 |
1 files changed, 459 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex new file mode 100644 index 0000000000..0a39c2767b --- /dev/null +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex @@ -0,0 +1,459 @@ +% ====================================================================== +% scrdatetime.tex +% Copyright (c) Markus Kohm, 2001-2018 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% scrdatetime.tex +% Copyright (c) Markus Kohm, 2001-2018 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Chapter about scrpage2 of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Kapitel über scrpage2 in der KOMA-Script-Anleitung +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\KOMAProvidesFile{scrdatetime.tex} + [$Date: 2018-02-05 09:57:42 +0100 (Mon, 05 Feb 2018) $ + KOMA-Script guide (chapter: scrdate, scrtime)] + +\chapter{Der Wochentag mit \Package{scrdate}} +\labelbase{scrdate} +\BeginIndexGroup +\BeginIndex{Package}{scrdate} + +Ursprünglich sollte das Paket \Package{scrdate} lediglich den Wochentag zum +aktuellen Datum liefern. Inzwischen bietet es dies und etwas mehr für jedes +beliebige Datum im Gregorianischen Kalender. + +\begin{Declaration} + \Macro{CenturyPart}\Parameter{Jahr} + \Macro{DecadePart}\Parameter{Jahr} +\end{Declaration}% +Die\ChangedAt{v3.05a}{\Package{scrdate}} Anweisung \Macro{CenturyPart} ergibt +den Wert der Jahrhundert-Stellen eines Jahres. Die Anweisung +\Macro{DecadePart} ergibt hingegen den Wert der übrigen Stellen, also der +Einer und Zehner. Dabei darf die Jahreszahl beliebig viele Stellen aufweisen. +Der Wert kann direkt zur Zuweisung an einen Zähler oder für Berechnungen mit +Hilfe von \Macro{numexpr}\IndexCmd{numexpr} verwendet werden. Für die +Ausgabe\textnote{Achtung!} als arabische Zahl ist \Macro{the}\IndexCmd{the} +voran zu stellen. + +\begin{Example} + Sie wollen berechnen, in welchem Jahrhundert das aktuelle Jahr liegt und + dies ausgeben. +\begin{lstcode} + Das Jahr \the\year\ ist das Jahr + \the\DecadePart{\year} des + \the\numexpr \CenturyPart{\year}+1\relax. + Jahrhunderts. +\end{lstcode} + Als Ergebnis erhalten Sie: + \begin{quote} + Das Jahr \the\year\ ist das Jahr \the\DecadePart{\year} des \the\numexpr + \CenturyPart{\year}+1\relax. Jahrhunderts. + \end{quote} +\end{Example}% + +Bitte\textnote{Achtung!} beachten Sie, dass hier die Zählweise verwendet +wird, bei der das Jahr 2000 das Jahr~0 -- also das erste Jahr -- des +21.~Jahrhunderts ist. Bei Bedarf kann aber, wie im Beispiel für die +Ordnungszahl gezeigt, mit \Macro{numexpr} eine Korrektur herbeigeführt +werden.% +\EndIndexGroup + + +\begin{Declaration} + \Macro{DayNumber}\Parameter{Jahr}\Parameter{Monat}\Parameter{Tag} + \Macro{ISODayNumber}\Parameter{ISO-Datum} +\end{Declaration}% +Diese\ChangedAt{v3.05a}{\Package{scrdate}} beiden Anweisungen geben den Wert +der Nummer des Wochentags\Index{Wochentag} zu einem Datum zurück. Sie +unterscheiden sich nur in der Art der Angabe des Datums. Während bei +\Macro{DayNumber} Jahr, Monat und Tag des gewünschten Datums eigene Parameter +sind, wird bei \Macro{ISODayNumber} das Datum in ISO-Schreibweise, +\PName{Jahr}\texttt{-}\PName{Monat}\texttt{-}\PName{Tag} angegeben. Dabei +spielt es keine Rolle, ob Monat und Tag ein- oder zweistellig angegeben +werden. Der Wert kann direkt zur Zuweisung an einen Zähler oder für +Berechnungen mit Hilfe von \Macro{numexpr}\IndexCmd{numexpr} verwendet +werden. Für die Ausgabe\textnote{Achtung!} als arabische Zahl ist +\Macro{the}\IndexCmd{the} voran zu stellen. + +\begin{Example} + Sie wollen die Nummer des Wochentags des 1.~Mai~2027 wissen. +\begin{lstcode} + Der 1.~Mai~2027 hat die Wochentagsnummer + \the\ISODayNumber{2027-5-1}. +\end{lstcode} + Als Ergebnis erhalten Sie: + \begin{quote} + Der 1.~Mai~2027 hat die Wochentagsnummer + \the\ISODayNumber{2027-5-1}. + \end{quote} +\end{Example} + +Als Besonderheit ist es sogar möglich, von einem vorgegebenen Datum eine +gewünschte Anzahl an Tagen in die Zukunft oder Vergangenheit zu gehen. +\begin{Example} + Sie wollen die Nummer des Wochentags wissen, den wir in 12~Tagen haben und + den wir 24~Tage vor dem 24.~Dezember~2027 gehabt haben werden. +\begin{lstcode} + In 12~Tagen haben wir die Wochentagsnummer + \the\DayNumber{\year}{\month}{\day+12} und + 24~Tage vor dem 24.~Dezember~2027 wird es + die Nummer \the\ISODayNumber{2027-12-24-24} + gewesen sein. +\end{lstcode} + Als Ergebnis erhalten Sie beispielsweise: + \begin{quote} + In 12~Tagen haben wir die Wochentagsnummer + \the\DayNumber{\year}{\month}{\day+12} und + 24~Tage vor dem 24.~Dezember~2027 wird es + die Nummer \the\ISODayNumber{2027-12-24-24} + gewesen sein. + \end{quote} +\end{Example} + +Die Wochentage werden dabei wie folgt nummeriert: Sonntag\,=\,0, Montag\,=\,1, +Dienstag\,=\,2, Mittwoch\,=\,3, Donnerstag\,=\,4, Freitag\,=\,5 und +Samstag\,=\,6.% +% +\EndIndexGroup + + +\begin{Declaration} + \Macro{DayNameByNumber}\Parameter{Wochentagsnummer} + \Macro{DayName}\Parameter{Jahr}\Parameter{Monat}\Parameter{Tag} + \Macro{ISODayName}\Parameter{ISO-Datum} +\end{Declaration}% +Üblicherweise\ChangedAt{v3.05a}{\Package{scrdate}} ist man weniger an der +Nummer eines Wochentags als dem Namen des Wochentags interessiert. Daher +liefert die Anweisung \Macro{DayNameByNumber} den Namen des Wochentags zu +einer Wochentagsnummer zurück, die man beispielsweise mit einer der beiden +zuvor erklärten Anweisungen \DescRef{\LabelBase.cmd.DayNumber} oder +\DescRef{\LabelBase.cmd.ISODayNumber} bestimmt hat. Die beiden Anweisungen +\Macro{DayName} und \Macro{ISODayName} liefern entsprechend den Wochentag zu +einem bestimmten Datum. + +\begin{Example} + Sie wollen den Wochentag des 24.~Dezembers~2027 wissen. +\begin{lstcode} + Bitte zahlen Sie bis zum \ISODayName{2027-12-24}, + den 24.\,12.~2027, die Summe von \dots +\end{lstcode} + Als Ergebnis erhalten Sie: + \begin{quote} + Bitte zahlen Sie bis zum + \ISODayName{2027-12-24}, den + 24.\,12.~2027, die Summe von \dots + \end{quote} +\end{Example} + +Als Besonderheit ist es auch hier möglich, in gewissem Umfang Berechnungen +anzustellen: +\begin{Example} + Sie wollen den Wochentag wissen, den wir in 12~Tagen haben und + den wir 24~Tage vor dem 24.~Dezember~2027 hatten. +\begin{lstcode} + In 12~Tagen haben wir einen + \DayName{\year}{\month}{\day+12} und + 24~Tage vor dem 24.~Dezember~2027 ist ein + \ISODayName{2027-12-24-24}, während zwei Wochen + und drei Tage nach einem Mittwoch ein + \DayNameByNumber{3+2*7+3} folgt. +\end{lstcode} + Als Ergebnis erhalten Sie beispielsweise: + \begin{quote} + In 12~Tagen haben wir einen + \DayName{\year}{\month}{\day+12} und + 24~Tage vor dem 24.~Dezember~2027 ist ein + \ISODayName{2027-12-24-24}, während + zwei Wochen und drei Tage nach + einem Mittwoch ein \DayNameByNumber{3+2*7+3} + folgt. + \end{quote} +\end{Example}% +% +\EndIndexGroup + + +\begin{Declaration} + \Macro{ISOToday} + \Macro{IsoToday} + \Macro{todaysname} + \Macro{todaysnumber} +\end{Declaration}% +In den bisherigen Beispielen dieses Abschnitts wurde das aktuelle Datum immer +recht umständlich über die \TeX-Register \Macro{year}\IndexCmd{year}, +\Macro{month}\IndexCmd{month}, \Macro{day}\IndexCmd{day} bestimmt. Die +Anweisungen \Macro{ISOToday}\ChangedAt{v3.05a}{\Package{scrdate}} und +\Macro{IsoToday} liefern direkt das aktuelle Datum in ISO-Schreibweise. Sie +unterscheiden sich lediglich darin, dass \Macro{ISOToday} Monat und Tag immer +zweistellig ausgibt, während \Macro{IsoToday} Monat und Tag bei Werten kleiner +10 einstellig ausgibt. Die Anweisung \Macro{todaysname} bietet direkt den +aktuellen Wochentag, während \Macro{todaysnumber} den Wert des aktuellen +Wochentags liefert. Näheres zur Verwendung dieses Wertes ist den obigen +Erklärungen zu den Anweisungen \DescRef{scrdate.cmd.DayNumber} und \DescRef{scrdate.cmd.ISODayNumber} zu +entnehmen. + +\begin{Example} + Ich will Ihnen zeigen, an was für einem Wochentag dieses Dokument gesetzt + wurde. Dazu schreibe ich: +\begin{lstcode} + Dieses Dokument entstand an einem \todaysname. +\end{lstcode} + Das Ergebnis lautet: + \begin{quote} + Dieses Dokument entstand an einem \todaysname. + \end{quote} +\end{Example} + +\begin{Explain} + Wenn\textnote{Tipp!} Sie den Namen des Tages in Kleinbuchstaben benötigen, + weil das in der entsprechenden Sprache innerhalb des Satzes so üblich ist, + können Sie das erreichen, obwohl die Namen der Wochentage in + \Package{scrdate} alle groß geschrieben sind. Greifen Sie mit + % Umbruchkorrektur: listings +\begin{lstcode} + \MakeLowercase{\todaysname} +\end{lstcode} + einfach auf die \LaTeX-Anweisung + \Macro{MakeLowercase}\IndexCmd{MakeLowercase}% + \important{\Macro{MakeLowercase}} zurück. Diese wandelt ihr Argument + komplett in Kleinbuchstaben. Natürlich funktioniert dieser Tipp auch für + obige Anweisungen \DescRef{scrdate.cmd.DayNameByNumber}\IndexCmd{DayNameByNumber}, + \DescRef{scrdate.cmd.DayName}\IndexCmd{DayName} und + \DescRef{scrdate.cmd.ISODayName}\IndexCmd{ISODayName}.% +\end{Explain}% +\EndIndexGroup + + +\begin{Declaration} + \Macro{nameday}\Parameter{Name} +\end{Declaration}% +So wie mit \DescRef{maincls.cmd.date}\IndexCmd{date} die Ausgabe von +\Macro{today} direkt geändert werden kann, setzt \Macro{nameday} die Ausgabe +von \DescRef{scrdate.cmd.todaysname} auf den Wert \PName{Name}. +\begin{Example} + Sie setzen mit \DescRef{maincls.cmd.date} das aktuelle Datum auf einen + festen Wert. Für die Ausgabe des zugehörigen Wochentags interessiert es nur, + dass dieser Tag ein Werktag war. Daher schreiben Sie +\begin{lstcode} + \nameday{Werktag} +\end{lstcode} + und erhalten so mit dem Satz aus dem vorherigen Beispiel zu + \DescRef{scrdate.cmd.todaysname}: + \begin{quote}\nameday{Werktag} + Dieses Dokument entstand an einem {\todaysname}. + \end{quote} +\end{Example} +Für \DescRef{scrdate.cmd.ISOToday}\IndexCmd{ISOToday} und +\DescRef{scrdate.cmd.IsoToday}\IndexCmd{IsoToday} existieren keine entsprechenden +Anweisungen.% +\EndIndexGroup + + +\begin{Declaration} + \Macro{newdaylanguage}\Parameter{Sprache} + \Parameter{Montag}\Parameter{Dienstag} + \Parameter{Mittwoch}\Parameter{Donnerstag} + \Parameter{Freitag}\Parameter{Samstag} + \Parameter{Sonntag} +\end{Declaration} +Das \Package{scrdate}-Paket beherrscht derzeit die folgenden Sprachen: +\begin{itemize}\raggedright\setlength{\itemsep}{.5\itemsep} +\item Dänisch (\PValue{danish}), +\item Deutsch (\PValue{austrian}\ChangedAt{v3.08b}{\Package{scrdate}}, + \PValue{german}, \PValue{naustrian}, \PValue{ngerman}, \PValue{nswissgerman}, + \PValue{swissgerman}\ChangedAt{v3.13}{\Package{scrdate}}), +\item Englisch (\PValue{american}\ChangedAt{v3.13}{\Package{scrdate}}, + \PValue{australian}, \PValue{british}, \PValue{canadian}, \PValue{english}, + \PValue{newzealand}, \PValue{UKenglish}, \PValue{ukenglish}, + \PValue{USenglish}, \PValue{usenglish}), +\item Finnisch (\PValue{finnish}), +\item Französisch (\PValue{acadian}, \PValue{canadien}, + \PValue{francais}\ChangedAt{v3.13}{\Package{scrdate}}, \PValue{french}), +\item Italienisch (\PValue{italian}), +\item Kroatisch (\PValue{croatian}), +\item Niederländisch (\PValue{dutch}), +\item Norwegisch (\PValue{norsk}), +\item Polnisch (\PValue{polish}\ChangedAt{v3.13}{\Package{scrdate}}), +\item Schwedisch (\PValue{swedish}), +\item Slowakisch (\PValue{slovak}), +\item Spanisch (\PValue{spanish}), +\item Tschechisch (\PValue{czech}\ChangedAt{v3.13}{\Package{scrdate}}). +\end{itemize} +Es kann aber auch für andere Sprachen konfiguriert werden. Dazu gibt man als +erstes Argument von \Macro{newdaylanguage} den Namen der Sprache an und als +weitere Parameter die Namen der entsprechenden Wochentage. + +Bei der aktuellen Version ist es auch egal, ob \Package{scrdate} vor oder nach +\Package{ngerman}\IndexPackage{ngerman}, \Package{babel}\IndexPackage{babel} +oder ähnlichen Paketen geladen wird, in jedem Falle wird die korrekte Sprache +gewählt, vorausgesetzt diese wird unterstützt. + +\begin{Explain} + Etwas genauer ausgedrückt: Solange die Sprachauswahl in einer zu + \Package{babel}\IndexPackage{babel} kompatiblen Form erfolgt und die Sprache + \Package{scrdate} bekannt ist, wird die Sprache korrekt gewählt. Ist dies + nicht der Fall, werden (US-)englische Ausdrücke verwendet. +\end{Explain} + +Natürlich ist es sinnvoll Definitionen für bisher nicht unterstützte Sprachen +an den \KOMAScript-Autor zu melden. In diesem Fall stehen die Chancen gut, +dass künftige \KOMAScript-Versionen die Sprache ebenfalls unterstützen +werden.% +\EndIndexGroup +% +\EndIndexGroup + + +\chapter{Die aktuelle Zeit mit \Package{scrtime}} +\labelbase{scrtime} +\BeginIndexGroup +\BeginIndex{Package}{scrtime} + +Mit Hilfe dieses Pakets kann die Frage nach der aktuellen Zeit beantwortet +werden. Seit Version~3.05 unterstützt das Paket auch die von den +\KOMAScript-Klassen und diversen anderen \KOMAScript-Paketen bekannten +Möglichkeiten zur Angabe von Optionen. Siehe dazu beispielsweise +\autoref{sec:typearea.options}. + +\begin{Declaration}% + \Macro{thistime}\OParameter{Trennung} + \Macro{thistime*}\OParameter{Trennung} +\end{Declaration}% +\Macro{thistime} liefert die aktuelle Zeit\Index{Zeit} in Stunden und +Minuten. In der Ausgabe wird zwischen den Stunden und Minuten das optionale +Argument \PName{Trennung} gesetzt. Voreingestellt ist das Zeichen +»\PValue{:}«. + +\Macro{thistime*} funktioniert fast genau wie \Macro{thistime}. Der +einzige Unterschied besteht darin, dass im Gegensatz zu +\Macro{thistime} bei \Macro{thistime*} die Minutenangaben bei Werten +kleiner 10 nicht durch eine vorangestellte Null auf zwei Stellen +erweitert wird. +\begin{Example} + Die Zeile +\begin{lstcode} + Ihr Zug geht um \thistime\ Uhr. +\end{lstcode} + liefert als Ergebnis beispielsweise eine Zeile wie + \begin{quote} + Ihr Zug geht um \thistime\ Uhr. + \end{quote} + oder + \begin{quote} + Ihr Zug geht um 23:09 Uhr. + \end{quote} + \bigskip + Demgegenüber liefert die Zeile +\begin{lstcode} + Beim nächsten Ton ist es \thistime*[\ Uhr,\ ] + Minuten und 42 Sekunden. +\end{lstcode} + als mögliches Ergebnis etwas wie + \begin{quote} + Beim nächsten Ton ist es 8\ Uhr,\ 41 Minuten und 42 Sekunden. + \end{quote} + oder + \begin{quote} + Beim nächsten Ton ist es 23\ Uhr,\ 9 Minuten und 42 Sekunden. + \end{quote} +\end{Example} +\EndIndexGroup + + +\begin{Declaration}% + \Macro{settime}\Parameter{Wert} +\end{Declaration}% +\DescRef{scrtime.cmd.settime} setzt die Ausgabe von \DescRef{scrtime.cmd.thistime} und +\DescRef{scrtime.cmd.thistime*} auf einen festen \PName{Wert}% +%\footnote{Allerdings darf man nicht erwarten, dass nun die Zeit +% stillsteht!} +. % +Anschließend wird das optionale Argument von \DescRef{scrtime.cmd.thistime} bzw. +\DescRef{scrtime.cmd.thistime*} ignoriert, da ja die komplette Zeichenkette, die +\DescRef{scrtime.cmd.thistime} bzw. \DescRef{scrtime.cmd.thistime*} nun liefert, hiermit explizit +festgelegt wurde.% +\EndIndexGroup + + +\begin{Declaration} + \OptionVName{12h}{Ein-Aus-Wert} +\end{Declaration}% +\BeginIndex{Option}{24h}% +Mit der Option \Option{12h}\ChangedAt{v3.05a}{\Package{scrtime}} kann gewählt +werden, ob die Zeit bei \DescRef{scrtime.cmd.thistime} und \DescRef{scrtime.cmd.thistime*} im 12-Stunden- +oder 24-Stunden-Format ausgegeben werden soll. Als \PName{Ein-Aus-Wert} kann +dabei einer der Standardwerte für einfache Schalter aus +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet +werden. Wird die Option ohne Wert-Angabe verwendet, so wird der Wert +\PValue{true} angenommen, also auf das 12-Stunden-Format geschaltet. +Voreingestellt\textnote{Voreinstellung} ist hingegen das 24-Stunden-Format.% +%\footnote{Leider beherrscht das \Package{scrtime}-Paket noch nicht die +% Sternzeit nach \textsc{StarTrek}\Index{StarTrek}, ein echter +% Mangel!} + +Die Option kann wahlweise als Klassenoption bei +\DescRef{typearea.cmd.documentclass}, als Paketoption bei +\DescRef{typearea.cmd.usepackage} oder auch nach dem Laden von +\Package{scrtime} per \DescRef{typearea.cmd.KOMAoptions} oder +\DescRef{typearea.cmd.KOMAoption} (siehe beispielsweise +\autoref{sec:typearea.options}, \DescPageRef{typearea.cmd.KOMAoptions}) +gesetzt werden. Sie verliert jedoch bei einem Aufruf von +\DescRef{scrtime.cmd.settime} ihre Gültigkeit. Die Uhrzeit wird nach +Verwendung dieser Anweisung nur noch mit dem dort angegebenen Wert im dort +verwendeten Format ausgegeben. + +Rein\textnote{Achtung!} aus Gründen der Kompatibilität zu früheren Versionen +von \Package{scrtime} wird bei \DescRef{typearea.cmd.documentclass} und +\DescRef{typearea.cmd.usepackage} auch noch die Option \Option{24h} zur +Umschaltung auf das 24-Stunden-Format unterstützt. Deren Verwendung wird +jedoch nicht mehr empfohlen.% +\EndIndexGroup +% +\EndIndexGroup + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% End: + +% LocalWords: Gregorianischen Zählweise Ordnungszahl |