summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrtime.dtx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/koma-script/source/scrtime.dtx
Initial commit
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrtime.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrtime.dtx785
1 files changed, 785 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrtime.dtx b/macros/latex/contrib/koma-script/source/scrtime.dtx
new file mode 100644
index 0000000000..a301769a38
--- /dev/null
+++ b/macros/latex/contrib/koma-script/source/scrtime.dtx
@@ -0,0 +1,785 @@
+% \CheckSum{311}
+% \iffalse
+% ======================================================================
+% scrtime.dtx
+% Copyright (c) Markus Kohm, 1995-2017
+%
+% 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.
+% ----------------------------------------------------------------------
+% scrtime.dtx
+% Copyright (c) Markus Kohm, 1995-2017
+%
+% 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.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: $Id: scrtime.dtx 2649 2017-05-29 09:39:43Z kohm $
+%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+%<*driver>
+\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+\begingroup
+ \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
+ \filedate$Date: 2017-05-29 11:39:43 +0200 (Mon, 29 May 2017) $
+ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
+ \filerevision$Revision: 2649 $
+\endgroup
+\ProvidesFile{scrtime.dtx}[\filedate\space\filerevision\space
+%</driver>
+%<*driver|package>
+%<identify&scrtime>\ProvidesPackage{scrtime}[%
+%<identify&scrdate>\ProvidesPackage{scrdate}[%
+%<*driver|identify>
+%!KOMAScriptVersion
+ package
+%</driver|identify>
+%<identify&scrtime> (time of LaTeX run)%
+%<identify&scrdate> (day of the week)%
+%<*driver|identify>
+]
+%</driver|identify>
+%</driver|package>
+%<*dtx>
+\ifx\documentclass\undefined
+ \input scrdocstrip.tex
+ \@@input scrkernel-version.dtx
+ \@@input scrstrip.inc
+ \KOMAdefVariable{COPYRIGHFROM}{1995}
+ \generate{\usepreamble\defaultpreamble
+ \file{scrtime.sty}{%
+ \from{scrkernel-version.dtx}{package,scrtime}%
+ \from{scrtime.dtx}{package,scrtime,identify}%
+ \from{scrkernel-basics.dtx}{load}%
+ \from{scrtime.dtx}{package,scrtime,option}%
+ \from{scrtime.dtx}{package,scrtime,body}%
+ \from{scrlogo.dtx}{logo}%
+ } %
+ \file{scrdate.sty}{%
+ \from{scrkernel-version.dtx}{package,scrdate}%
+ \from{scrtime.dtx}{package,scrdate,identify}%
+ \from{scrkernel-basics.dtx}{load}%
+ \from{scrtime.dtx}{package,scrdate,option}%
+ \from{scrtime.dtx}{package,scrdate,body}%
+ \from{scrlogo.dtx}{logo}%
+ } %
+ }
+ \@@input scrstrop.inc
+\else
+ \let\endbatchfile\relax
+\fi
+\endbatchfile
+%</dtx>
+%<*driver>
+\documentclass{scrdoc}
+\usepackage[german,english]{babel}
+\usepackage[latin1]{inputenc}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{scrtime.dtx}
+\title{The \textsf{KOMA}-timedate-bundle\thanks{This file has
+ revision number \fileversion, last revised \filedate.}}
+\author{Markus Kohm}
+\date{\filedate}
+\begin{document}
+ \maketitle
+ \begin{abstract}
+ This bundle includes a package \texttt{scrtime} defining some macros to
+ handle compilation-time. It's a very simple implementation similar to
+ \texttt{time.sty}. I've tried to use no additional register.
+
+ The second package \texttt{scrdate} defines some macros to handle the name
+ of the day!
+ \end{abstract}
+ \tableofcontents
+ \DocInput{scrtime.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% See the \KOMAScript{} guide for informations about how to use the package.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \section{Implementation}
+%
+% \subsection{Options}
+%
+% \iffalse
+%<*option>
+% \fi
+% Since version~1.2 both packages use \textsf{scrkbase} for options and
+% additional features.
+%
+%
+% \subsubsection{Options of \textsf{scrtime}}
+%
+% \iffalse
+%<*scrtime>
+% \fi
+%
+% \begin{option}{12h}
+% \changes{v1.1b}{1995/02/15}{Option \texttt{12h} added.}
+% \changes{v1.2}{2010/03/10}{Option uses \textsf{scrkbase}.}
+% \begin{option}{24h}
+% \changes{v1.1b}{1995/02/15}{Option \texttt{24h} added.}
+% \changes{v1.2}{2010/03/10}{Option is deprecated.}
+% \begin{macro}{\if@Hxii}
+% \changes{v1.1b}{1995/02/15}{new switch}
+% There are two the two Options |24h| and |12h|. We need a switch to
+% distinguish.
+% \begin{macrocode}
+\newif\if@Hxii
+% \end{macrocode}
+% \end{macro}
+%
+% So the Options are simple.
+% \begin{macrocode}
+\KOMA@ifkey{12h}{@Hxii}
+\KOMA@DeclareDeprecatedOption[scrtime]{24h}{12h=false}
+% \end{macrocode}
+% \end{option}
+% \end{option}
+%
+% Currently only \textsf{scrtime} uses options, so only \textsf{scrtime} needs
+% to process them.
+% \begin{macrocode}
+\KOMAProcessOptions\relax
+% \end{macrocode}
+%
+% \iffalse
+%</scrtime>
+%</option>
+% \fi
+%
+% \subsection{Macros}
+%
+% \iffalse
+%<*body>
+% \fi
+%
+% \subsubsection{Macros of \textsf{scrtime}}
+% \iffalse
+%<*scrtime>
+% \fi
+% We use |\@tempcnta| and |\@tempcntb| but we know, that this is not
+% a very good idea.
+%
+% \begin{macro}{\thistime}
+% \changes{v1.1b}{1995/02/15}{{\cmd\thistime*} added.}^^A
+% \changes{v1.1b}{1995/02/15}{{\cmd\thistime} works.}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}^^A
+% First we have to decide, is it a star-version ore not.
+% \begin{macrocode}
+\def\thistime{%
+ \kernel@ifstar
+ {\let\@tempif\iffalse\@thistime}
+ {\let\@tempif\iftrue\@thistime}}
+% \end{macrocode}
+% Know we have to calculate the hours and minutes. |\@tempcnta| are the
+% hours and |\@tempcntb| are the minutes.
+% \begin{macrocode}
+\newcommand*{\@thistime}[1][:]{%
+ \begingroup
+ \@tempcnta\time\divide\@tempcnta60\multiply\@tempcnta60
+ \@tempcntb\time\advance\@tempcntb-\@tempcnta
+ \divide\@tempcnta60
+% \end{macrocode}
+% If we use 12h-mode, we have to cut the houres.
+% \changes{v1.1d}{1996/01/14}{Space added at \cs{@thistime} between -12
+% and \cs{fi} (Martin Schroeder).}
+% \begin{macrocode}
+ \if@Hxii\ifnum\@tempcnta>12 \advance\@tempcnta-12 \fi\fi
+% \end{macrocode}
+% Know we have to compose the value. If the minutes are less than 10
+% maybe there has to be an additional 0.
+% \begin{macrocode}
+ \the\@tempcnta{#1}\@tempif\ifnum\@tempcntb<10 0\fi\fi\the\@tempcntb%
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\settime}
+% \changes{v1.1b}{1995/02/15}{{\cmd\settime} redefines {\cmd\@thistime}}
+% \changes{v1.1c}{1995/05/24}{missing macrocode-environment inserted}
+% We simply have to set |\thistime|.
+% \begin{macrocode}
+\newcommand*{\settime}[1]{\renewcommand*{\@thistime}[1][]{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \iffalse
+%</scrtime>
+% \fi
+%
+%
+% \subsubsection{Macros of \textsf{scrdate}}
+%
+% \iffalse
+%<*scrdate>
+% \fi
+%
+% \changes{v1.1a}{1995/02/12}{Changed simply all but the user-interface.}
+% \changes{v3.05a}{2010/03/10}{Changed simply everything.}
+% Since version~3.05a \textsf{scrdate} was rewritten. First step was to make
+% more macros full expandable to provide \cs{MakeUppercase} and
+% \cs{MakeLowercase}. Second was to extend the user interface by some new
+% functionality.
+%
+% \begin{macro}{\CenturyPart}
+% \changes{v3.05a}{2010/03/10}{New}
+% This is the century part of a year number and so only a shortcut to
+% |\XdivY{...}{100}|, that is defined at \textsf{scrbase}.
+% \begin{macrocode}
+\newcommand*{\CenturyPart}[1]{\XdivY{#1}{100}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DecadePart}
+% \changes{v3.05a}{2010/03/10}{New}
+% This is the year number withoud the century part and therefrso only a
+% shortcut to |\XmodY{...}{100}|, that is defined at \textsf{scrbase}.
+% \begin{macrocode}
+\newcommand*{\DecadePart}[1]{\XmodY{#1}{100}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@GaussYear}
+% \changes{v3.05a}{2010/03/10}{New (internal)}
+% At the Gauss calculation of the day of the week January and February relates
+% to the year before. This macro does the correction for any date.
+% \begin{macrocode}
+\newcommand*{\@GaussYear}[3]{%
+ \ifcase #2
+ \PackageError{scrdate}{month out of range}{%
+ You've asked for the Gauss year of ISO date #1-#2-#3,\MessageBreak
+ this means, that month hat invalid value '#2'.}%
+ \or
+ \numexpr #1 - 1\relax
+ \or
+ \numexpr #1 - 1\relax
+ \else
+ #1
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DayNumber}
+% \changes{v3.05a}{2010/03/10}{New}
+% Returns the numerical value of the day of week. Note, that Sunday is 0,
+% Monday is 1, \dots, Saturday is 6. We use the Gauss calculation of the day
+% of the week. First argument is the year, second the month and last the day
+% of the month.
+% \begin{macrocode}
+\newcommand*{\DayNumber}[3]{%
+ \XmodY{%
+ \numexpr #3
+ + \ifcase #2
+ \PackageError{scrdate}{month out of range}{%
+ You've asked for the dayname of ISO date #1-#2-#3,\MessageBreak
+ this means, that month hat invalid value '#2'.}%
+ \or 28 \or 31 \or 2 \or 5 \or 7 \or 10 \or 12 \or 15 \or 18
+ \or 20 \or 23 \or 25
+ \else
+ \PackageError{scrdate}{month out of range}{%
+ You've asked for the dayname of ISO date #1-#2-#3,\MessageBreak
+ this means, that month hat invalid value '#2'.}%
+ \fi
+ + \DecadePart{\@GaussYear{#1}{#2}{#3}}
+ + \XdivY{\DecadePart{\@GaussYear{#1}{#2}{#3}}}{4}
+ + \XdivY{\CenturyPart{\@GaussYear{#1}{#2}{#3}}}{4}
+ - 2 * \CenturyPart{\@GaussYear{#1}{#2}{#3}} \relax
+ }{7}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ISODayNumber}
+% \changes{v3.05a}{2010/03/10}{New}
+% Das gleiche wie \cs{DayNumber} aber mit einem ISO-Datum als Argument.
+% \begin{macrocode}
+\newcommand*{\ISODayNumber}[1]{\expandafter\@IsoDayNumber#1\@nil}
+% \end{macrocode}
+% \begin{macro}{\@IsoDayNumber}
+% \changes{v3.05a}{2010/03/10}{New (internal)}
+% \begin{macrocode}
+\newcommand*{\@IsoDayNumber}{}
+\def\@IsoDayNumber#1-#2-#3\@nil{\DayNumber{#1}{#2}{#3}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\DayName}
+% \changes{v3.05a}{2010/03/10}{New}
+% Returns the name of the day of the week. Arguments like \cs{DayNumber}.
+% \begin{macrocode}
+\newcommand*{\DayName}[3]{\@dayname{\DayNumber{#1}{#2}{#3}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ISODayName}
+% \changes{v3.05a}{2010/03/10}{New}
+% Das gleiche wie \cs{DayName} aber mit einem ISO-Datum als Argument.
+% \begin{macrocode}
+\newcommand*{\ISODayName}[1]{\@dayname{\ISODayNumber{#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DayNameByNumber}
+% \changes{v3.05a}{2010/03/10}{New}
+% Returns the name of the day of the week. The argument is a number that will
+% be transposed to the range 0..6.
+% \begin{macrocode}
+\newcommand*{\DayNameByNumber}[1]{%
+ \@dayname{\XmodY{#1}{7}}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ISOToday}
+% \changes{v3.05a}{2010/03/10}{New}
+% Returns the ISO date.
+% \begin{macrocode}
+\newcommand*{\ISOToday}{%
+ \the\year-\ifnum \month<10 0\fi\the\month-\ifnum \day<10 0\fi\the\day%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\IsoToday}
+% \changes{v3.05a}{2010/03/10}{New}
+% Returns the ISO date.
+% \begin{macrocode}
+\newcommand*{\IsoToday}{%
+ \the\year-\the\month-\the\day%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\todaysname}
+% \changes{v3.05a}{2010/03/10}{Rewritten}
+% Using \cs{DayName} this is very, very simple.
+% \begin{macrocode}
+\newcommand*{\todaysname}{\DayName{\year}{\month}{\day}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\todaysnumber}
+% \changes{v3.05a}{2010/03/11}{New}
+% Using \cs{DayNumber} this is very, very simple.
+% \begin{macrocode}
+\newcommand*{\todaysnumber}{\DayNumber{\year}{\month}{\day}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\nameday}
+% \changes{v3.05a}{2010/03/10}{Not longer \cs{long}}
+% We simply have to redefine |\todaysname|
+% \begin{macrocode}
+\newcommand\nameday[1]{\renewcommand*{\todaysname}{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\newdaylanguage}
+% \changes{v3.05a}{2010/03/10}{Sunday is 0}
+% We write a macro to define the name of the days.
+% \begin{macro}{\scrdate@languagenamewarning}
+% But before this, we have to define a once only warning.
+% \begin{macrocode}
+\newcommand*\scrdate@languagenamewarning{%
+ \PackageWarningNoLine{scrdate}
+ {\string\languagename\space not
+ defined, using \string\language.\MessageBreak
+ This may result in use of wrong language!\MessageBreak
+ You should use a compatible language
+ package\MessageBreak
+ (e.g. `babel', `german', `french', ...)}%
+ \let\scrdate@languagenamewarning\relax
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\newcommand\newdaylanguage[8]{%
+% \end{macrocode}
+% First we check, if the language is defined at the format, the user uses.
+% If it is not defined, we do not define the name of the days and warn.
+% \begin{macrocode}
+ \scr@ifundefinedorrelax{l@#1}{%
+ \PackageInfoNoLine{scrdate}{Language #1\space not defined.\MessageBreak
+ \protect\dayname@#1\space skipped}%
+% \end{macrocode}
+% \changes{v1.1c}{1995/05/24}{missing \cs{end\{macrocode\}} added.}
+% If it is defined, we define the name-selection-macro
+% |\dayname@|\emph{language}.
+% First we define the new macro |\dayname@|\emph{language}:
+% \changes{v3.05a}{2010/03/10}{Group removed.}
+% \changes{v3.15}{2014/12/11}{more robust \cs{ifcase}}
+% \begin{macrocode}
+ }{%
+ \@namedef{dayname@#1}##1{%
+ \ifcase\numexpr \XmodY{##1}{7}\relax
+ #8\or #2\or #3\or #4\or #5\or #6\or #7\fi%
+ }%
+% \end{macrocode}
+% Then we define, what to do at |\begin{document}|:
+% \begin{macrocode}
+ \AtBeginDocument{%
+% \end{macrocode}
+% There we first have to test, if |\date|\emph{language} is defined
+% (e.g. using |german.sty|). If not, we have to warn once more.
+% \begin{macrocode}
+ \scr@ifundefinedorrelax{date#1}{%
+ \PackageInfoNoLine{scrdate}
+ {\protect\date#1\space not defined.\MessageBreak
+ \protect\todaysname\space probably cannot use
+ \protect\dayname@#1}%
+% \end{macrocode}
+% But if it is defined, we can use it
+% \begin{macrocode}
+ }{%
+% \end{macrocode}
+% There we first save |\date|\emph{language} as |\D@date|\emph{language}.
+% This is a bit tricky, but I think, you'll understand it.
+% \begin{macrocode}
+ \expandafter\let\csname D@date#1\expandafter\endcsname
+ \csname date#1\endcsname
+% \end{macrocode}
+% Now we redefine |\date|\emph{language}. It first defines |\@dayname| and
+% then calls saved macro. If you've understand the definition before, you'll
+% understand this tricky one, too.
+% \begin{macrocode}
+ \@namedef{date#1}{%
+ \expandafter\let\expandafter\@dayname\csname dayname@#1\endcsname
+ \@nameuse{D@date#1}}%
+% \end{macrocode}
+% Last we have to select this new |\date|\emph{language}.
+% \changes{v1.1j}{2000/01/20}{use of \cs{languagename} if defined}
+% \changes{v3.08b}{2011/03/31}{one \% added}
+% \begin{macrocode}
+ \@ifundefined{languagename}{%
+ \scrdate@languagenamewarning
+ \ifnum\language=\@nameuse{l@#1}
+ \@nameuse{date#1}%
+ \fi
+ }{%
+ \@ifundefined{date\languagename}%
+ {}%
+ {\@nameuse{date\languagename}}%
+ }%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@dayname}
+% This should be named selecting the language. Since I changed the definitions
+% |german.sty| and equal may be loaded before or after |scrdate.sty| or not.
+%
+% First we define the usual languages using |\newdaylanguage|:
+% \begin{macro}{\dayname@german}
+% \begin{macrocode}
+\newdaylanguage{german}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@ngerman}
+% \changes{v1.1i}{1999/10/09}{new language ``ngerman''.}
+% \begin{macrocode}
+\newdaylanguage{ngerman}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@naustrian}
+% \changes{v3.08b}{2011/02/22}{new language ``naustrian''.}
+% \begin{macrocode}
+\newdaylanguage{naustrian}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@austrian}
+% \changes{v3.08b}{2011/02/22}{new language ``austrian''.}
+% \begin{macrocode}
+\newdaylanguage{austrian}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@swissgerman}
+% \changes{v3.13}{2014/01/23}{new language ``swissgerman''.}
+% \begin{macrocode}
+\newdaylanguage{swissgerman}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@nswissgerman}
+% \changes{v3.13}{2014/01/23}{new language ``nswissgerman''.}
+% \begin{macrocode}
+\newdaylanguage{nswissgerman}{Montag}{Dienstag}{Mittwoch}
+ {Donnerstag}{Freitag}{Samstag}{Sonntag}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@american}
+% \changes{v3.13}{2014/01/23}{new language ``american''.}
+% \begin{macrocode}
+\newdaylanguage{american}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@australian}
+% \changes{v3.13}{2014/01/23}{new language ``australian''.}
+% \begin{macrocode}
+\newdaylanguage{australian}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@british}
+% \changes{v3.13}{2014/01/23}{new language ``british''.}
+% \begin{macrocode}
+\newdaylanguage{british}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@canadian}
+% \changes{v3.13}{2014/01/23}{new language ``canadian''.}
+% \begin{macrocode}
+\newdaylanguage{canadian}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@english}
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
+% \begin{macrocode}
+\newdaylanguage{english}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@newzealand}
+% \changes{v3.13}{2014/01/23}{new language ``newzealand''.}
+% \begin{macrocode}
+\newdaylanguage{newzealand}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@UKenglish}
+% \changes{v3.13}{2014/01/23}{new language ``UKenglish''.}
+% \begin{macrocode}
+\newdaylanguage{UKenglish}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@ukenglish}
+% \changes{v3.24}{2017/05/29}{new language ``ukenglish''.}
+% \begin{macrocode}
+\newdaylanguage{ukenglish}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@USenglish}
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
+% \begin{macrocode}
+\newdaylanguage{USenglish}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@usenglish}
+% \changes{v3.24}{2017/05/29}{new language ``usenglish''.}
+% \begin{macrocode}
+\newdaylanguage{usenglish}{Monday}{Tuesday}{Wednesday}
+ {Thursday}{Friday}{Saturday}{Sunday}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@acadian}
+% \changes{v3.13}{2014/01/23}{new language ``acadian''.}
+% \begin{macrocode}
+\newdaylanguage{acadian}{Lundi}{Mardi}{Mercredi}
+ {Jeudi}{Vendredi}{Samedi}{Dimanche}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@canadien}
+% \changes{v3.13}{2014/01/23}{new language ``canadien''.}
+% \begin{macrocode}
+\newdaylanguage{canadien}{Lundi}{Mardi}{Mercredi}
+ {Jeudi}{Vendredi}{Samedi}{Dimanche}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@francais}
+% \changes{v3.13}{2014/01/23}{new language ``francais''.}
+% \begin{macrocode}
+\newdaylanguage{francais}{Lundi}{Mardi}{Mercredi}
+ {Jeudi}{Vendredi}{Samedi}{Dimanche}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@french}
+% \begin{macrocode}
+\newdaylanguage{french}{Lundi}{Mardi}{Mercredi}
+ {Jeudi}{Vendredi}{Samedi}{Dimanche}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@italian}
+% \changes{v1.1f}{1997/06/06}{New (thanks to Lorenzo M.\ Catucci)}
+% \begin{macrocode}
+\newdaylanguage{italian}{Luned\`\i}{Marted\`\i}{Mercoled\`\i}
+ {Gioved\`\i}{Venerd\`\i}{Sabato}{Domenica}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@spanish}
+% \changes{v1.1h}{1997/07/26}{New (thanks to Ralph J.\ Hangleiter)}
+% \begin{macrocode}
+\newdaylanguage{spanish}{Lunes}{Martes}{Mi\'ercoles}
+ {Jueves}{Viernes}{S\'abado}{Domingo}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@croatian}
+% \changes{v1.1l}{2001/10/05}{New (thanks to Branka Lon\v{c}arevi\'{c})}
+% \begin{macrocode}
+\newdaylanguage{croatian}{Ponedjeljak}{Utorak}{Srijeda}
+ {\v{C}etvrtak}{Petak}{Subota}{Nedjelja}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dayname@dutch}
+% \changes{v1.1m}{2002/02/02}{New (thanks to Henk Jongbloets)}
+% \changes{v1.1p}{2009/01/01}{fixed to upper case}
+% \begin{macrocode}
+\newdaylanguage{dutch}{Maandag}{Dinsdag}{Woensdag}
+ {Donderdag}{Vrijdag}{Zaterdag}{Zondag}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@finnish}
+% \changes{v1.1n}{2005/02/07}{New (thanks to Hannu V\"ais\"anen)}
+% \begin{macrocode}
+\newdaylanguage{finnish}{Maanantai}{Tiistai}{Keskiviikko}
+ {Torstai}{Perjantai}{Lauantai}{Sunnuntai}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@norsk}
+% \changes{v1.1p}{2009/01/01}{New (thank to Sveinung Heggen)}
+% \begin{macrocode}
+\newdaylanguage{norsk}{Mandag}{Tirsdag}{Onsdag}
+ {Torsdag}{Fredag}{L\o{}rdag}{S\o{}ndag}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@danish}
+% \changes{v3.08}{2011/01/18}{New (thanks to Benjamin Hell)}
+% \begin{macrocode}
+\newdaylanguage{danish}{Mandag}{Tirsdag}{Onsdag}
+ {Torsdag}{Fredag}{L\o{}rdag}{S\o{}ndag}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@swedish}
+% \changes{v3.08}{2011/01/18}{New (thanks to Benjamin Hell)}
+% \begin{macrocode}
+\newdaylanguage{swedish}{M\aa{}ndag}{Tisdag}{Onsdag}
+ {Torsdag}{Fredag}{L\"ordag}{S\"ondag}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@polish}
+% \changes{v3.13}{2014/01/07}{New (thanks to Blandyna Bogdol)}
+% \changes{v3.13}{2014/01/23}{Fixed (thanks to Elke Schubert)}
+% \begin{macrocode}
+\newdaylanguage{polish}{Poniedzia\l{}ek}{Wtorek}{\'Sroda}
+ {Czwartek}{Pi\aob{}tek}{Sobota}{Niedziela}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@czech}
+% \changes{v3.13}{2014/01/23}{New (thanks to Elke Schubert)}
+% \begin{macrocode}
+\newdaylanguage{czech}{Pond\v{e}l\'\i}{\'Uter\'y}{St\v{r}eda}
+ {\v{C}tvrtek}{P\'atek}{Sobota}{Ned\v{e}le}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dayname@slovak}
+% \changes{v3.13}{2014/02/26}{New (thanks to Elke Schubert)}
+% \begin{macrocode}
+\newdaylanguage{slovak}{Pondelok}{Utorok}{Streda}
+ {\v{S}tvrtok}{Piatok}{Sobota}{Nede\v{l}a}
+% \end{macrocode}
+% \end{macro}
+%
+% If there are no language-definitions, we simply want the US-english names
+% of the days.
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
+% \changes{v3.15}{2014/12/11}{default language definition fixed.}
+% \begin{macrocode}
+\let\@dayname\dayname@english
+% \end{macrocode}
+% \end{macro}
+%
+% Last but not least file \texttt{scrdate.cfg} has to be included,
+% if it exists.
+% \begin{macrocode}
+\InputIfFileExists{scrdate.cfg}
+ {\typeout{*************************************^^J%
+ * Local config file scrdate.cfg used^^J%
+ *************************************}}
+ {}
+% \end{macrocode}
+%
+% \iffalse
+%</scrdate>
+%</body>
+% \fi
+%
+% \Finale
+%
+\endinput
+%
+% Ende der Datei `scrtime.dtx'
+%%% Local Variables:
+%%% mode: doctex
+%%% TeX-master: t
+%%% End: