summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-10-05 00:41:45 +0000
committerKarl Berry <karl@freefriends.org>2017-10-05 00:41:45 +0000
commit3096a3dc265f5bfed166d88753c04db754c8bfd0 (patch)
tree3930e5a8c1cb383211ead5e94af78e9bee84a179
parentfe49338ab8a18471c6e5a2ff67e6e68109232fcd (diff)
datetime2-german (4oct17)
git-svn-id: svn://tug.org/texlive/trunk@45472 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/datetime2-german/README.md32
-rw-r--r--Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdfbin236238 -> 323351 bytes
-rw-r--r--Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx1501
-rw-r--r--Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins50
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf249
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf258
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf262
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf107
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf107
-rw-r--r--Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf16
10 files changed, 2467 insertions, 115 deletions
diff --git a/Master/texmf-dist/doc/latex/datetime2-german/README.md b/Master/texmf-dist/doc/latex/datetime2-german/README.md
index f91c035f9c1..354d3adc4b7 100644
--- a/Master/texmf-dist/doc/latex/datetime2-german/README.md
+++ b/Master/texmf-dist/doc/latex/datetime2-german/README.md
@@ -3,38 +3,16 @@ German Language Module for `datetime2` Package
Authors: Nicola L. C. Talbot (inactive), Sebastian Friedl
-Licence: LPPL
+Licence: LPPL 1.3c
Required Packages: `datetime2`, `tracklang`
This module is maintained.
-Current maintainer is Sebastian Friedl.
+Current maintainer is Sebastian Friedl.
-Example usage:
+Thanks to Jürgen Spitzmüller for his valuable advice while developing Version 2.0 of this module.
- \documentclass{article}
- \usepackage[german]{datetime2}
- \begin{document}
- \today
- \end{document}
-
- \documentclass[german]{article}
- \usepackage{babel}
- \usepackage[useregional]{datetime2}
- \begin{document}
- \today
- \end{document}
-
- \documentclass{article}
- \usepackage{polyglossia}
- \setmainlanguage{german}
- \usepackage[german]{datetime2}
- \begin{document}
- \today
- \end{document}
-
-
-## INSTALLATION
+## Installation
`latex datetime2-german.ins`
@@ -50,4 +28,4 @@ Documentation:
Move `datetime2-german.pdf` and `README` to `TEXMF/doc/latex/datetime2-contrib/datetime2-german/`
-This material is subject to the LaTeX Project Public License. See [http://www.latex-project.org/lppl.txt](http://www.latex-project.org/lppl.txt "Show the current version of the LPPL") or `LICENSE.txt` for the details of that license.
+This material is subject to the LaTeX Project Public License. See [http://www.latex-project.org/lppl.txt](http://www.latex-project.org/lppl.txt "Show the current version of the LPPL") for the details of that license.
diff --git a/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf b/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf
index 12c80d4c6f3..f37f95e3086 100644
--- a/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf
+++ b/Master/texmf-dist/doc/latex/datetime2-german/datetime2-german.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx b/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx
index 6a9eb802c2f..fa65ee87223 100644
--- a/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx
+++ b/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.dtx
@@ -26,12 +26,14 @@
%<*driver>
\documentclass{ltxdoc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+
\usepackage{alltt}
+\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{hologo}
\usepackage{multicol}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
\usepackage[bookmarks,
hyperindex=false,
pdfauthor={Nicola L.C. Talbot, Sebastian Friedl},
@@ -45,7 +47,9 @@
\usepackage[left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry}
-\CheckSum{343}
+\parindent0pt
+
+\CheckSum{1085}
\renewcommand*{\usage}[1]{\hyperpage{#1}}
\renewcommand*{\main}[1]{\hyperpage{#1}}
@@ -69,16 +73,16 @@
%
%\title{German Module for the \sty{datetime2} Package \\ {\large\url{https://github.com/SFr682k/datetime2-german}}}
%\author{\begin{tabular}{cp{.05\textwidth}c} Nicola L. C. Talbot && Sebastian Friedl \\ (inactive) && {\normalsize\href{mailto:sfr682k@t-online.de}{\texttt{sfr682k@t-online.de}}} \end{tabular}}
-%\date{2017-09-10 (v1.2)}
+%\date{2017-10-03 (v2.0)}
%\maketitle
%
%
%\begin{abstract}
-%This is the German language module for the \sty{datetime2}
-%package. If you want to use the settings in this module you must
-%install it in addition to installing \sty{datetime2}. If you use
-%\sty{babel} or \sty{polyglossia}, you will need this module to
-%prevent them from redefining \cs{today}. The \sty{datetime2}
+% This is the German language module for the \sty{datetime2}
+% package. If you want to use the settings in this module you must
+% install it in addition to installing \sty{datetime2}. If you use
+% \sty{babel} or \sty{polyglossia}, you will need this module to
+% prevent them from redefining \cs{today}. The \sty{datetime2}
% \opt{useregional} setting must be set to "text" or "numeric"
% for the language styles to be set.
% Alternatively, you can set the style in the document using
@@ -88,11 +92,15 @@
%
%
%
-% Currently there is only a regionless style. \par
-% Actually, I think that it is not necessary to define variant styles (e.~g. "de-DE"\slash"de-DE-numeric" and "de-AT"\slash"de-AT-numeric") since there are --- as far as I know --- no differences in the \emph{format} of the date.
-% \par However, I'm only capable of standard German. If there \emph{are} differences in format and/or spelling, please create a feature request on GitHub or send me an e--mail. I would be very grateful, if some examples and/or a list of the weekdays' and months' spelling is/are also provided.
+% Currently there is a regionless style as well as variant styles ("de-DE", "de-AT" and "de-CH"). \\[\smallskipamount]
+% I'm only capable of German standard German. If I messed up anything in regards to format and/or spelling, or even a variant style with differences to the existing ones is missing, please create a feature request on GitHub or send me an e--mail. \\
+% I would be very grateful, if some examples and/or a list of the weekdays' and months' spelling is/are also provided.
+%
+% \bigskip
+% Thanks to Jürgen Spitzmüller for his valuable advice while developing Version 2.0 of this module.
%
%
+% \clearpage
% \tableofcontents
% \clearpage
%
@@ -120,22 +128,33 @@
%
%
%
-% \section{Usage}
-% \textit{See the \sty{datetime2} documentation for further details} \\[\smallskipamount]
-% Loading the German module by passing the \texttt{german} option to the \sty{datetime2} package: \\[\smallskipamount]
+% \clearpage
+% \part{The Documentation}
+% \section{Setting up \sty{datetime2} with a language module}
+% \subsection{Loading a language module}
+% \textit{There are three different ways to load the required language module. See the \sty{datetime2} documentation for further details}
+%
+% \medskip
+%
+% \textbf{Variant 1:} \\
+% Request the desired language module explicitly by passing the "german", "de-DE", "de-AT" or "de-CH" option to the \sty{datetime2} package: \\[\smallskipamount]
%\verb|\documentclass{article}| \\
%\verb|\usepackage[german]{datetime2}| \\
%\verb|\begin{document}| \\
%\verb|\today| \\
%\verb|\end{document}| \\[\medskipamount]
-% Loading the German module via \sty{babel} and passing the \texttt{german} option to the \verb|\documentclass| command (or to \sty{babel} directly): \\[\smallskipamount]
+%
+% \textbf{Variant 2:} \\
+% Load \sty{babel} and pass the "german", "austrian" or "swissgerman" option to the \verb|\documentclass| command (or to \sty{babel} directly). If you now pass the \opt{useregional} option to \sty{datetime2}, the language module suitable to the one specified with \sty{babel} is loaded: \\[\smallskipamount]
%\verb|\documentclass[german]{article}| \\
%\verb|\usepackage{babel}| \\
%\verb|\usepackage[useregional]{datetime2}| \\
%\verb|\begin{document}| \\
%\verb|\today| \\
%\verb|\end{document}| \\[\medskipamount]
-% Loading the German module when using \sty{polyglossia} by passing the \texttt{german} option to the \sty{datetime2} package: \\[\smallskipamount]
+%
+% \textbf{Variant 3:} \\
+% When using \sty{polyglossia}, you should request the desired language module by passing the "german", "de-DE", "de-AT" or "de-CH" option to the \sty{datetime2} package: \\[\smallskipamount]
%\verb|\documentclass{article}| \\
%\verb|\usepackage{polyglossia}| \\
%\verb|\setmainlanguage{german}| \\
@@ -144,29 +163,126 @@
%\verb|\today| \\
%\verb|\end{document}|
%
-% \paragraph{\opt{showdow}--option} Pass the \opt{showdow} option to the \sty{datetime2} package to show the weekday
%
-% \paragraph{Abbreviated weekday and month names} Use the \verb|\DTMlangsetup[german]{abbr}| command to switch to abbreviated weekday and month names. \\
-% Switch back to the non--abbreviated version with \verb|\DTMlangsetup[german]{abbr=false}|
+% \subsection{Other features}
+% \subsubsection{Showing the weekday}
+% All language modules shipped with \sty{datetime2-german} support showing the weekday. \\
+% To enable this feature, pass the \opt{showdow} option to the \sty{datetime2} package. \\
+% Please note, that this has no effect when using the "numeric" style of the "de-AT" variant.
%
+% \subsubsection{Using abbreviated weekday and month names}
+% To enable abbreviated weekday and month names, use \verb|\DTMlangsetup[german]{abbr}|. \\
+% To disable them, use \verb|\DTMlangsetup[german]{abbr=false}|.
+%
+% \medskip
+% In both cases, replace "german" with the used variant style ("de-DE", "de-AT" or "de-CH"). \\
+% Please note, that this has no effect when using the "numeric" style of the "de-AT" variant.
%
%
% \section{Style examples}
+% \subsection{Regionless style}
+% \begin{itemize}
+% \item Non--numeric style: \\
+% 3. Oktober 2017, 12:51:04 MESZ \\
+% 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% %
+% \item Numeric style: \\
+% 03.10.2017, 12:51:04 MESZ \\
+% 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 03.10.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% \end{itemize}
+%
+%
+% \subsection{German style (\texttt{de-DE})}
% \begin{itemize}
% \item Non--numeric style: \\
-% 5. September 2017, 12:51:04 MESZ \\
-% 5. Sep. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
-% Dienstag, 5. September 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
-% Di., 5. Sep. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% 3. Oktober 2017, 12:51:04 MESZ \\
+% 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 3. Okt. '17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
% %
% \item Numeric style: \\
-% 05.09.2017, 12:51:04 MESZ \\
-% 05.09.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
-% Dienstag, 05.09.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
-% Di., 05.09.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% 03.10.2017, 12:51:04 MESZ \\
+% 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 03.10.2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 03.10.17, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
% \end{itemize}
%
%
+% \subsection{Austrian style (\texttt{de-AT})}
+% \begin{itemize}
+% \item Non--numeric style: \\
+% 3. Oktober 2017, 12:51:04 MESZ \\
+% 3. Okt. 2017, 12:51:04 MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 3. Oktober 2017, 12:51:04 MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 3. Okt. 2017, 12:51:04 MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% %
+% \item Numeric style: \\
+% 2017-10-03, 12:51:04 MESZ
+% \end{itemize}
+%
+%
+% \subsection{Swiss style (\texttt{de-CH})}
+% \begin{itemize}
+% \item Non--numeric style: \\
+% 3. Oktober 2017, 12.51.04 Uhr MESZ \\
+% 3. Okt. 2017, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 3. Oktober 2017, 12.51.04 Uhr MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 3. Okt. 2017, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% %
+% \item Numeric style: \\
+% 03.10.2017, 12.51.04 Uhr MESZ \\
+% 03.10.17, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version} \\
+% Dienstag, 03.10.2017, 12.51.04 Uhr MESZ \hfill \textit{with \opt{showdow} option} \\
+% Di, 03.10.17, 12.51.04 Uhr MESZ \hfill \textit{abbreviated version with \opt{showdow} option}
+% \end{itemize}
+%
+%
+%
+% \section{Further customization of styles}
+% There are a number of settings provided that can be used in \verb|\DTMlangsetup| to modify the date-time style. These are:
+% \begin{description}
+% \item["dowdaysep"]%
+% The separator between the day of week name and the day of month number.
+%
+% \item["daymonthsep"]%
+% The separator between the day and the month name
+%
+% \item["monthyearsep"]%
+% The separator between the month name and year
+%
+% \item["datesep"]%
+% The separator between the date numbers in the "numeric style"s
+%
+% \item["timesep"]%
+% The separator between hours, minutes and seconds
+%
+% \item["datetimesep"]%
+% The separator between the date and time for the full date-time format
+%
+% \item["timezonesep"]%
+% The separator between the time and zone for the full date-time format
+%
+% \item["abbr"]%
+% This is a boolean key. If "true", the month (and weekday name, if shown) is abbreviated.
+%
+% \item["mapzone"]%
+% This is a boolean key. If "true", the time zone mappings are applied.
+%
+% \item["showdayofmonth"]%
+% A boolean key that determines whether or not to show the day of the month
+%
+% \item["showyear"]%
+% A boolean key that determines whether or not to show the year
+%\end{description}
+%
+%
+% Although the keys listed here are \textit{defined} for all variant styles, it depends on \sty{datetime2}'s setup and the requested styles whether they're \textit{used}. \\
+% For more information about the \verb|\DTMlangsetup| command see the documentation of the main \sty{datetime2} package.
+%
%
% \section{License}
% This material is subject to the \LaTeX\ Project Public License, Version 1.3c or later. \\
@@ -181,13 +297,18 @@
%\PrintChanges
%\addcontentsline{toc}{section}{\indexname}%
%\PrintIndex}
-%\section{The Code}
+%\clearpage
+%\part{The Code}
%\iffalse
% \begin{macrocode}
%<*datetime2-german-utf8.ldf>
% \end{macrocode}
%\fi
-%\subsection{UTF-8}
+%\section{Basic German module}
+% This module defines the \enquote{basic} German style, which contains the necessary vocab for all German localizations. \\
+% The date and time format is based on the "de-DE" variant.
+%
+%\subsection{Weekday and month names (UTF-8)}
%This file contains the settings that use UTF-8 characters. This
%file is loaded if \hologo{XeLaTeX} or \hologo{LuaLaTeX} are used. Please make sure
%your text editor is set to UTF-8 if you want to view this code.
@@ -195,7 +316,7 @@
%
% Identify module
% \begin{macrocode}
-\ProvidesDateTimeModule{german-utf8}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-utf8}[2017/10/03 v2.0]
% \end{macrocode}
%\begin{macro}{\DTMgermanordinal}
% \begin{macrocode}
@@ -239,9 +360,45 @@
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\DTMdeATmonthname}
+%\changes{2.0}{2017-10-03}{Austrian month names implemented}
+% Austrian German month names. Spot the difference :D
+% \begin{macrocode}
+\newcommand*{\DTMdeATmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jänner%
+ \or
+ Februar%
+ \or
+ März%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ August%
+ \or
+ September%
+ \or
+ Oktober%
+ \or
+ November%
+ \or
+ Dezember%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\DTMgermanshortmonthname}
% Abbreviated German month names.
%\changes{1.2}{2017-09-10}{Short month names implemented}
+%\changes{2.0}{2017-10-03}{Short month names fixed}
% \begin{macrocode}
\newcommand*{\DTMgermanshortmonthname}[1]{%
\ifcase#1
@@ -262,7 +419,77 @@
\or
Aug.%
\or
- Sep.%
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATshortmonthname}
+%\changes{2.0}{2017-10-03}{Austrian short month names implemented}
+% Abbreviated Austrian German month names.
+% \begin{macrocode}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jän.%
+ \or
+ Feb.%
+ \or
+ März%
+ \or
+ Apr.%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHshortmonthname}
+% Abbreviated Swiss German month names.
+%\changes{2.0}{2017-10-03}{Swiss German short month names implemented}
+% \begin{macrocode}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jan.%
+ \or
+ Febr.%
+ \or
+ März%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
\or
Okt.%
\or
@@ -275,7 +502,7 @@
%\end{macro}
%
%\begin{macro}{\DTMgermanweekdayname}
-%Provides weekday names
+% Provides weekday names
% \begin{macrocode}
\newcommand*{\DTMgermanweekdayname}[1]{%
\ifcase#1
@@ -300,22 +527,23 @@
%\begin{macro}{\DTMgermanshortweekdayname}
%Provides abbreviated weekday names
%\changes{1.2}{2017-09-10}{Short weekday names implemented}
+%\changes{2.0}{2017-10-03}{Short weekday names fixed}
% \begin{macrocode}
\newcommand*{\DTMgermanshortweekdayname}[1]{%
\ifcase#1
- Mo.%
+ Mo%
\or
- Di.%
+ Di%
\or
- Mi.%
+ Mi%
\or
- Do.%
+ Do%
\or
- Fr.%
+ Fr%
\or
- Sa.%
+ Sa%
\or
- So.%
+ So%
\fi
}
% \end{macrocode}
@@ -331,7 +559,7 @@
%<*datetime2-german-ascii.ldf>
% \end{macrocode}
%\fi
-%\subsection{ASCII}
+%\subsection{Weekday and month names (ASCII)}
%This file contains the settings that use \LaTeX\ commands for
%non-ASCII characters. This should be input if neither \hologo{XeLaTeX} nor
%\hologo{LuaLaTeX} are used. Even if the user has loaded \sty{inputenc} with
@@ -343,7 +571,7 @@
%
% Identify module
% \begin{macrocode}
-\ProvidesDateTimeModule{german-ascii}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-ascii}[2017/10/03 v2.0]
% \end{macrocode}
%
%\begin{macro}{\DTMgermanordinal}
@@ -388,9 +616,45 @@
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\DTMdeATmonthname}
+%\changes{2.0}{2017-10-03}{Austrian month names implemented}
+% Austrian German month names.
+% \begin{macrocode}
+\newcommand*{\DTMdeATmonthname}[1]{%
+ \ifcase#1
+ \or
+ J\protect\"anner%
+ \or
+ Februar%
+ \or
+ M\protect\"arz%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ August%
+ \or
+ September%
+ \or
+ Oktober%
+ \or
+ November%
+ \or
+ Dezember%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\DTMgermanshortmonthname}
% Abbreviated German month names.
%\changes{1.2}{2017-09-10}{Short month names implemented}
+%\changes{2.0}{2017-10-03}{Short month names fixed}
% \begin{macrocode}
\newcommand*{\DTMgermanshortmonthname}[1]{%
\ifcase#1
@@ -411,7 +675,42 @@
\or
Aug.%
\or
- Sep.%
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATshortmonthname}
+%\changes{2.0}{2017-10-03}{Austrian short month names implemented}
+% Abbreviated Austrian German month names.
+% \begin{macrocode}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ J\protect\"an.%
+ \or
+ Feb.%
+ \or
+ M\protect\"arz%
+ \or
+ Apr.%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
\or
Okt.%
\or
@@ -423,6 +722,41 @@
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\DTMdeCHshortmonthname}
+% Abbreviated Swiss German month names.
+%\changes{2.0}{2017-10-03}{Swiss German short month names implemented}
+% \begin{macrocode}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jan.%
+ \or
+ Febr.%
+ \or
+ M\protect\"arz%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\DTMgermanweekdayname}
%Provides weekday names
% \begin{macrocode}
@@ -449,22 +783,23 @@
%\begin{macro}{\DTMgermanshortweekdayname}
%Provides abbreviated weekday names
%\changes{1.2}{2017-09-10}{Short weekday names implemented}
+%\changes{2.0}{2017-10-03}{Short weekday names fixed}
% \begin{macrocode}
\newcommand*{\DTMgermanshortweekdayname}[1]{%
\ifcase#1
- Mo.%
+ Mo%
\or
- Di.%
+ Di%
\or
- Mi.%
+ Mi%
\or
- Do.%
+ Do%
\or
- Fr.%
+ Fr%
\or
- Sa.%
+ Sa%
\or
- So.%
+ So%
\fi
}
% \end{macrocode}
@@ -476,7 +811,7 @@
% \end{macrocode}
%\fi
%
-%\subsection{Main German Module (\texttt{datetime2-german.ldf})}
+%\subsection{Basic German Module (\texttt{datetime2-german.ldf})}
%\changes{1.0}{2015-03-27}{Initial release}
%
%\iffalse
@@ -487,7 +822,7 @@
%
% Identify Module
% \begin{macrocode}
-\ProvidesDateTimeModule{german}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german}[2017/10/03 v2.0]
% \end{macrocode}
% Need to find out if \hologo{XeTeX} or \hologo{LuaTeX} are being used.
% \begin{macrocode}
@@ -569,6 +904,7 @@
%Provide keys that can be used in \cs{DTMlangsetup} to set these
%separators.
% \begin{macrocode}
+\DTMdefkey{german}{dowdaysep}{\renewcommand*{\DTMgermandowdaysep}{#1}}
\DTMdefkey{german}{daymonthsep}{\renewcommand*{\DTMgermandaymonthsep}{#1}}
\DTMdefkey{german}{monthyearsep}{\renewcommand*{\DTMgermanmonthyearsep}{#1}}
\DTMdefkey{german}{datetimesep}{\renewcommand*{\DTMgermandatetimesep}{#1}}
@@ -730,6 +1066,7 @@
%
% Define numeric style.
%\changes{1.2}{2017-09-10}{Day of week implemented}
+%\changes{2.0}{2017-10-03}{Bugfix: month-year-separator}
% \begin{macrocode}
\DTMnewstyle
{german-numeric}% label
@@ -751,12 +1088,12 @@
}%
{}%
\DTMtwodigits{##2}%
+ \DTMgermandatesep%
\DTMifbool{german}{showyear}%
{%
- \DTMgermandatesep%
- \DTMifbool{german}{abbr}%
- {\DTMtwodigits{##1}}%
- {\number##1 }% space intended
+ \DTMifbool{german}{abbr}%
+ {\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
}%
{}%
}%
@@ -850,5 +1187,1055 @@
%</datetime2-german.ldf>
% \end{macrocode}
%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{German localization (\texttt{de-DE}, \texttt{datetime2-de-DE.ldf})}
+%\changes{2.0}{2017-10-03}{German localization added}
+%\iffalse
+% \begin{macrocode}
+%<*datetime2-de-DE.ldf>
+% \end{macrocode}
+%\fi
+% Identify Module
+% \begin{macrocode}
+\ProvidesDateTimeModule{de-DE}[2017/10/03 v2.0]
+% \end{macrocode}
+% Require the basic German module
+% \begin{macrocode}
+\RequireDateTimeModule{german}
+% \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-DE" and
+% "de-DE-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm@datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeDEdowdaysep}
+% The separator between weekday and day
+% \begin{macrocode}
+\newcommand*{\DTMdeDEdowdaysep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdaymonthsep}
+% The separator between the day and month for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeDEdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEmonthyearsep}
+% The separator between the month and year for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeDEmonthyearsep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeDEdatetimesep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeDEtimezonesep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEdatesep}
+% The separator for the numeric date format.
+% \begin{macrocode}
+\newcommand*{\DTMdeDEdatesep}{.}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeDEtimesep}
+% The separator for the numeric time format.
+% \begin{macrocode}
+\newcommand*{\DTMdeDEtimesep}{:}
+% \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+% \begin{macrocode}
+\DTMdefkey{de-DE}{dowdaysep}{\renewcommand*{\DTMdeDEdowdaysep}{#1}}
+\DTMdefkey{de-DE}{daymonthsep}{\renewcommand*{\DTMdeDEdaymonthsep}{#1}}
+\DTMdefkey{de-DE}{monthyearsep}{\renewcommand*{\DTMdeDEmonthyearsep}{#1}}
+\DTMdefkey{de-DE}{datetimesep}{\renewcommand*{\DTMdeDEdatetimesep}{#1}}
+\DTMdefkey{de-DE}{timezonesep}{\renewcommand*{\DTMdeDEtimezonesep}{#1}}
+\DTMdefkey{de-DE}{datesep}{\renewcommand*{\DTMdeDEdatesep}{#1}}
+\DTMdefkey{de-DE}{timesep}{\renewcommand*{\DTMdeDEtimesep}{#1}}
+% \end{macrocode}
+%
+%
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+% \begin{macrocode}
+\DTMdefboolkey{de-DE}{abbr}[true]{}
+% \end{macrocode}
+%
+% The default is full name
+% \begin{macrocode}
+\DTMsetbool{de-DE}{abbr}{false}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+% \begin{macrocode}
+\DTMdefboolkey{de-DE}{mapzone}[true]{}
+% \end{macrocode}
+% The default is to use mappings.
+% \begin{macrocode}
+\DTMsetbool{de-DE}{mapzone}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-DE}{showdayofmonth}[true]{}
+% \end{macrocode}
+% The default is to show the day of month.
+% \begin{macrocode}
+\DTMsetbool{de-DE}{showdayofmonth}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-DE}{showyear}[true]{}
+% \end{macrocode}
+% The default is to show the year.
+% \begin{macrocode}
+\DTMsetbool{de-DE}{showyear}{true}
+% \end{macrocode}
+%
+%
+% Define the "de-DE" style
+% \begin{macrocode}
+\DTMnewstyle
+{de-DE}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMdeDEmonthyearsep%
+ \DTMifbool{de-DE}{abbr}%
+ {'\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMdeDEmonthyearsep%
+ \DTMifbool{de-DE}{abbr}%
+ {'\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeDEtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-DE}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeDEtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+% \end{macrocode}
+%
+% Define numeric style.
+% \begin{macrocode}
+\DTMnewstyle
+{de-DE-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {%
+ \DTMtwodigits{##3}%
+ \DTMdeDEdatesep
+ }%
+ {}%
+ \DTMtwodigits{##2}%
+ \DTMdeDEdatesep%
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeDEtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-DE}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+% \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+% \begin{macrocode}
+\DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-DE}}
+ {\DTMsetstyle{de-DE-numeric}}
+% \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+% \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-DE}}%
+ {\DTMsetstyle{de-DE-numeric}}
+ }%
+}%
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</datetime2-de-DE.ldf>
+% \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{Austrian German localization (\texttt{de-AT}, \texttt{datetime2-de-AT.ldf})}
+%\changes{2.0}{2017-10-03}{Austrian German localization added}
+%
+%\iffalse
+% \begin{macrocode}
+%<*datetime2-de-AT.ldf>
+% \end{macrocode}
+%\fi
+% Identify Module
+% \begin{macrocode}
+\ProvidesDateTimeModule{de-AT}[2017/10/03 v2.0]
+% \end{macrocode}
+% Require the basic German module
+% \begin{macrocode}
+\RequireDateTimeModule{german}
+% \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-AT" and
+% "de-AT-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm@datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeATdowdaysep}
+% The separator between weekday and day
+% \begin{macrocode}
+\newcommand*{\DTMdeATdowdaysep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdaymonthsep}
+% The separator between the day and month for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeATdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATmonthyearsep}
+% The separator between the month and year for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeATmonthyearsep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeATdatetimesep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeATtimezonesep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATdatesep}
+% The separator for the numeric date format.
+% \begin{macrocode}
+\newcommand*{\DTMdeATdatesep}{-}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeATtimesep}
+% The separator for the numeric time format.
+% \begin{macrocode}
+\newcommand*{\DTMdeATtimesep}{:}
+% \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+% \begin{macrocode}
+\DTMdefkey{de-AT}{dowdaysep}{\renewcommand*{\DTMdeATdowdaysep}{#1}}
+\DTMdefkey{de-AT}{daymonthsep}{\renewcommand*{\DTMdeATdaymonthsep}{#1}}
+\DTMdefkey{de-AT}{monthyearsep}{\renewcommand*{\DTMdeATmonthyearsep}{#1}}
+\DTMdefkey{de-AT}{datetimesep}{\renewcommand*{\DTMdeATdatetimesep}{#1}}
+\DTMdefkey{de-AT}{timezonesep}{\renewcommand*{\DTMdeATtimezonesep}{#1}}
+\DTMdefkey{de-AT}{datesep}{\renewcommand*{\DTMdeATdatesep}{#1}}
+\DTMdefkey{de-AT}{timesep}{\renewcommand*{\DTMdeATtimesep}{#1}}
+% \end{macrocode}
+%
+%
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+% \begin{macrocode}
+\DTMdefboolkey{de-AT}{abbr}[true]{}
+% \end{macrocode}
+%
+% The default is full name
+% \begin{macrocode}
+\DTMsetbool{de-AT}{abbr}{false}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+% \begin{macrocode}
+\DTMdefboolkey{de-AT}{mapzone}[true]{}
+% \end{macrocode}
+% The default is to use mappings.
+% \begin{macrocode}
+\DTMsetbool{de-AT}{mapzone}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-AT}{showdayofmonth}[true]{}
+% \end{macrocode}
+% The default is to show the day of month.
+% \begin{macrocode}
+\DTMsetbool{de-AT}{showdayofmonth}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-AT}{showyear}[true]{}
+% \end{macrocode}
+% The default is to show the year.
+% \begin{macrocode}
+\DTMsetbool{de-AT}{showyear}{true}
+% \end{macrocode}
+%
+%
+% Define the "de-AT" style
+% \begin{macrocode}
+\DTMnewstyle
+{de-AT}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeATdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMdeATshortmonthname{##2}}%
+ {\DTMdeATmonthname{##2}}%
+ %
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \DTMdeATmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeATdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMdeATshortmonthname{##2}}%
+ {\DTMdeATmonthname{##2}}%
+ %
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \DTMdeATmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeATtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-AT}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeATtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+% \end{macrocode}
+%
+% Define numeric style.
+% \begin{macrocode}
+\DTMnewstyle
+{de-AT-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \number##1 % space intended
+ \DTMdeATdatesep%
+ }%
+ {}%
+ %
+ \DTMtwodigits{##2}%
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {%
+ \DTMdeATdatesep%
+ \DTMtwodigits{##3}%
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeATtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-AT}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+% \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+% \begin{macrocode}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-AT}}
+{\DTMsetstyle{de-AT-numeric}}
+% \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+% \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-AT}}%
+ {\DTMsetstyle{de-AT-numeric}}
+ }%
+}%
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</datetime2-de-AT.ldf>
+% \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{Swiss German localization (\texttt{de-CH}, \texttt{datetime2-de-CH.ldf})}
+%\changes{2.0}{2017-10-03}{Swiss German localization added}
+%\iffalse
+% \begin{macrocode}
+%<*datetime2-de-CH.ldf>
+% \end{macrocode}
+%\fi
+% Identify Module
+% \begin{macrocode}
+\ProvidesDateTimeModule{de-CH}[2017/10/03 v2.0]
+% \end{macrocode}
+% Require the basic German module
+% \begin{macrocode}
+\RequireDateTimeModule{german}
+% \end{macrocode}
+%
+%
+% Allow the user a way of configuring the "de-CH" and
+% "de-CH-numeric" styles. This doesn't use the package wide
+% separators such as
+% \cs{dtm@datetimesep} in case other date formats are also required.
+%
+%\begin{macro}{\DTMdeCHdowdaysep}
+% The separator between weekday and day
+% \begin{macrocode}
+\newcommand*{\DTMdeCHdowdaysep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdaymonthsep}
+% The separator between the day and month for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeCHdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHmonthyearsep}
+% The separator between the month and year for the text format.
+% \begin{macrocode}
+\newcommand*{\DTMdeCHmonthyearsep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdatetimesep}
+% The separator between the date and time blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeCHdatetimesep}{,\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHtimezonesep}
+% The separator between the time and zone blocks in the full format
+% (either text or numeric).
+% \begin{macrocode}
+\newcommand*{\DTMdeCHtimezonesep}{\space}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHdatesep}
+% The separator for the numeric date format.
+% \begin{macrocode}
+\newcommand*{\DTMdeCHdatesep}{.}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\DTMdeCHtimesep}
+% The separator for the numeric time format.
+% \begin{macrocode}
+\newcommand*{\DTMdeCHtimesep}{.}
+% \end{macrocode}
+%\end{macro}
+%
+% Provide keys that can be used in \cs{DTMlangsetup} to set these
+% separators.
+% \begin{macrocode}
+\DTMdefkey{de-CH}{dowdaysep}{\renewcommand*{\DTMdeCHdowdaysep}{#1}}
+\DTMdefkey{de-CH}{daymonthsep}{\renewcommand*{\DTMdeCHdaymonthsep}{#1}}
+\DTMdefkey{de-CH}{monthyearsep}{\renewcommand*{\DTMdeCHmonthyearsep}{#1}}
+\DTMdefkey{de-CH}{datetimesep}{\renewcommand*{\DTMdeCHdatetimesep}{#1}}
+\DTMdefkey{de-CH}{timezonesep}{\renewcommand*{\DTMdeCHtimezonesep}{#1}}
+\DTMdefkey{de-CH}{datesep}{\renewcommand*{\DTMdeCHdatesep}{#1}}
+\DTMdefkey{de-CH}{timesep}{\renewcommand*{\DTMdeCHtimesep}{#1}}
+% \end{macrocode}
+%
+%
+% Define a boolean key that can switch between full and abbreviated formats for
+% the month and day of week names in the text format.
+% \begin{macrocode}
+\DTMdefboolkey{de-CH}{abbr}[true]{}
+% \end{macrocode}
+%
+% The default is full name
+% \begin{macrocode}
+\DTMsetbool{de-CH}{abbr}{false}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the time zone mappings
+% should be used.
+% \begin{macrocode}
+\DTMdefboolkey{de-CH}{mapzone}[true]{}
+% \end{macrocode}
+% The default is to use mappings.
+% \begin{macrocode}
+\DTMsetbool{de-CH}{mapzone}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the day of month should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-CH}{showdayofmonth}[true]{}
+% \end{macrocode}
+% The default is to show the day of month.
+% \begin{macrocode}
+\DTMsetbool{de-CH}{showdayofmonth}{true}
+% \end{macrocode}
+%
+% Define a boolean key that determines if the year should be
+% displayed.
+% \begin{macrocode}
+\DTMdefboolkey{de-CH}{showyear}[true]{}
+% \end{macrocode}
+% The default is to show the year.
+% \begin{macrocode}
+\DTMsetbool{de-CH}{showyear}{true}
+% \end{macrocode}
+%
+%
+% Define the "de-CH" style
+% \begin{macrocode}
+\DTMnewstyle
+{de-CH}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMdeCHshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \DTMdeCHmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMdeCHshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \DTMdeCHmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeCHtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+ Uhr%
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-CH}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeCHtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+% \end{macrocode}
+%
+% Define numeric style.
+% \begin{macrocode}
+\DTMnewstyle
+{de-CH-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {%
+ \DTMtwodigits{##3}%
+ \DTMdeCHdatesep
+ }%
+ {}%
+ \DTMtwodigits{##2}%
+ \DTMdeCHdatesep%
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeCHtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+ Uhr%
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-CH}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+% \end{macrocode}
+%
+% Switch style according to the \opt{useregional} setting.
+% \begin{macrocode}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-CH}}
+{\DTMsetstyle{de-CH-numeric}}
+% \end{macrocode}
+%
+% Redefine \cs{dategerman} (or \cs{date}\meta{dialect}) to prevent
+% \sty{babel} from resetting \cs{today}. (For this to work,
+% \sty{babel} must already have been loaded if it's required.)
+% \begin{macrocode}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-CH}}%
+ {\DTMsetstyle{de-CH-numeric}}
+ }%
+}%
+% \end{macrocode}
+%
+%\iffalse
+% \begin{macrocode}
+%</datetime2-de-CH.ldf>
+% \end{macrocode}
+%\fi
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
%\Finale
-\endinput
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins b/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins
index d824906548c..585dc37c7c4 100644
--- a/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins
+++ b/Master/texmf-dist/source/latex/datetime2-german/datetime2-german.ins
@@ -19,13 +19,17 @@
This work consists of the files datetime2-german.dtx and
datetime2-german.ins and the derived files
- datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
- datetime2-german.ldf.
+ datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+ datetime2-german.ldf, datetime2-de-DE.ldf,
+ datetime2-de-AT.ldf and datetime2-de-CH.ldf
\endpreamble
\askforoverwritefalse
+
+
+
\generate
{%
\file
@@ -59,5 +63,47 @@
}%
}
+
+
+
+\generate
+{%
+ \file
+ {datetime2-de-DE.ldf}%
+ {%
+ \usepreamble\defaultpreamble
+ \usepostamble\defaultpostamble
+ \from{datetime2-german.dtx}{datetime2-de-DE.ldf,package}%
+ }%
+}
+
+
+
+\generate
+{%
+ \file
+ {datetime2-de-AT.ldf}%
+ {%
+ \usepreamble\defaultpreamble
+ \usepostamble\defaultpostamble
+ \from{datetime2-german.dtx}{datetime2-de-AT.ldf,package}%
+ }%
+}
+
+
+
+\generate
+{%
+ \file
+ {datetime2-de-CH.ldf}%
+ {%
+ \usepreamble\defaultpreamble
+ \usepostamble\defaultpostamble
+ \from{datetime2-german.dtx}{datetime2-de-CH.ldf,package}%
+ }%
+}
+
+
+
\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf
new file mode 100644
index 00000000000..70cf6723fc2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-AT.ldf
@@ -0,0 +1,249 @@
+%%
+%% This is file `datetime2-de-AT.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx (with options: `datetime2-de-AT.ldf,package')
+%%
+%% datetime2-german.dtx
+%% Copyright 2015 Nicola Talbot
+%% Copyright 2017 Sebastian Friedl
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license of (at your option) any later version.
+%% 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 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%% Current maintainer of the work is Sebastian Friedl
+%%
+%% This work consists of the files datetime2-german.dtx and
+%% datetime2-german.ins and the derived files
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%%
+%% \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 \~}
+\ProvidesDateTimeModule{de-AT}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeATdowdaysep}{,\space}
+\newcommand*{\DTMdeATdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeATmonthyearsep}{\space}
+\newcommand*{\DTMdeATdatetimesep}{,\space}
+\newcommand*{\DTMdeATtimezonesep}{\space}
+\newcommand*{\DTMdeATdatesep}{-}
+\newcommand*{\DTMdeATtimesep}{:}
+\DTMdefkey{de-AT}{dowdaysep}{\renewcommand*{\DTMdeATdowdaysep}{#1}}
+\DTMdefkey{de-AT}{daymonthsep}{\renewcommand*{\DTMdeATdaymonthsep}{#1}}
+\DTMdefkey{de-AT}{monthyearsep}{\renewcommand*{\DTMdeATmonthyearsep}{#1}}
+\DTMdefkey{de-AT}{datetimesep}{\renewcommand*{\DTMdeATdatetimesep}{#1}}
+\DTMdefkey{de-AT}{timezonesep}{\renewcommand*{\DTMdeATtimezonesep}{#1}}
+\DTMdefkey{de-AT}{datesep}{\renewcommand*{\DTMdeATdatesep}{#1}}
+\DTMdefkey{de-AT}{timesep}{\renewcommand*{\DTMdeATtimesep}{#1}}
+\DTMdefboolkey{de-AT}{abbr}[true]{}
+\DTMsetbool{de-AT}{abbr}{false}
+\DTMdefboolkey{de-AT}{mapzone}[true]{}
+\DTMsetbool{de-AT}{mapzone}{true}
+\DTMdefboolkey{de-AT}{showdayofmonth}[true]{}
+\DTMsetbool{de-AT}{showdayofmonth}{true}
+\DTMdefboolkey{de-AT}{showyear}[true]{}
+\DTMsetbool{de-AT}{showyear}{true}
+\DTMnewstyle
+{de-AT}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeATdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMdeATshortmonthname{##2}}%
+ {\DTMdeATmonthname{##2}}%
+ %
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \DTMdeATmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeATdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeATdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-AT}{abbr}%
+ {\DTMdeATshortmonthname{##2}}%
+ {\DTMdeATmonthname{##2}}%
+ %
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \DTMdeATmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeATtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-AT}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeATtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+\DTMnewstyle
+{de-AT-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \DTMifbool{de-AT}{showyear}%
+ {%
+ \number##1 % space intended
+ \DTMdeATdatesep%
+ }%
+ {}%
+ %
+ \DTMtwodigits{##2}%
+ %
+ \DTMifbool{de-AT}{showdayofmonth}%
+ {%
+ \DTMdeATdatesep%
+ \DTMtwodigits{##3}%
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeATtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeATtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-AT}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeATdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeATtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-AT}}
+{\DTMsetstyle{de-AT-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-AT}}%
+ {\DTMsetstyle{de-AT-numeric}}
+ }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-AT.ldf'.
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf
new file mode 100644
index 00000000000..8573780a8ac
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-CH.ldf
@@ -0,0 +1,258 @@
+%%
+%% This is file `datetime2-de-CH.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx (with options: `datetime2-de-CH.ldf,package')
+%%
+%% datetime2-german.dtx
+%% Copyright 2015 Nicola Talbot
+%% Copyright 2017 Sebastian Friedl
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license of (at your option) any later version.
+%% 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 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%% Current maintainer of the work is Sebastian Friedl
+%%
+%% This work consists of the files datetime2-german.dtx and
+%% datetime2-german.ins and the derived files
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%%
+%% \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 \~}
+\ProvidesDateTimeModule{de-CH}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeCHdowdaysep}{,\space}
+\newcommand*{\DTMdeCHdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeCHmonthyearsep}{\space}
+\newcommand*{\DTMdeCHdatetimesep}{,\space}
+\newcommand*{\DTMdeCHtimezonesep}{\space}
+\newcommand*{\DTMdeCHdatesep}{.}
+\newcommand*{\DTMdeCHtimesep}{.}
+\DTMdefkey{de-CH}{dowdaysep}{\renewcommand*{\DTMdeCHdowdaysep}{#1}}
+\DTMdefkey{de-CH}{daymonthsep}{\renewcommand*{\DTMdeCHdaymonthsep}{#1}}
+\DTMdefkey{de-CH}{monthyearsep}{\renewcommand*{\DTMdeCHmonthyearsep}{#1}}
+\DTMdefkey{de-CH}{datetimesep}{\renewcommand*{\DTMdeCHdatetimesep}{#1}}
+\DTMdefkey{de-CH}{timezonesep}{\renewcommand*{\DTMdeCHtimezonesep}{#1}}
+\DTMdefkey{de-CH}{datesep}{\renewcommand*{\DTMdeCHdatesep}{#1}}
+\DTMdefkey{de-CH}{timesep}{\renewcommand*{\DTMdeCHtimesep}{#1}}
+\DTMdefboolkey{de-CH}{abbr}[true]{}
+\DTMsetbool{de-CH}{abbr}{false}
+\DTMdefboolkey{de-CH}{mapzone}[true]{}
+\DTMsetbool{de-CH}{mapzone}{true}
+\DTMdefboolkey{de-CH}{showdayofmonth}[true]{}
+\DTMsetbool{de-CH}{showdayofmonth}{true}
+\DTMdefboolkey{de-CH}{showyear}[true]{}
+\DTMsetbool{de-CH}{showyear}{true}
+\DTMnewstyle
+{de-CH}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMdeCHshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \DTMdeCHmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeCHdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMdeCHshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \DTMdeCHmonthyearsep%
+ \number##1 % space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeCHtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+ Uhr%
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-CH}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeCHtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+\DTMnewstyle
+{de-CH-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-CH}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+\DTMdeCHdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-CH}{showdayofmonth}%
+ {%
+ \DTMtwodigits{##3}%
+ \DTMdeCHdatesep
+ }%
+ {}%
+ \DTMtwodigits{##2}%
+ \DTMdeCHdatesep%
+ \DTMifbool{de-CH}{showyear}%
+ {%
+ \number##1 % space intended
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeCHtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeCHtimesep\DTMtwodigits{##3}\fi\space%
+ Uhr%
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-CH}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeCHdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeCHtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+{}% do nothing
+{\DTMsetstyle{de-CH}}
+{\DTMsetstyle{de-CH-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-CH}}%
+ {\DTMsetstyle{de-CH-numeric}}
+ }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-CH.ldf'.
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf
new file mode 100644
index 00000000000..626f215ce01
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-de-DE.ldf
@@ -0,0 +1,262 @@
+%%
+%% This is file `datetime2-de-DE.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% datetime2-german.dtx (with options: `datetime2-de-DE.ldf,package')
+%%
+%% datetime2-german.dtx
+%% Copyright 2015 Nicola Talbot
+%% Copyright 2017 Sebastian Friedl
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license of (at your option) any later version.
+%% 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 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%% Current maintainer of the work is Sebastian Friedl
+%%
+%% This work consists of the files datetime2-german.dtx and
+%% datetime2-german.ins and the derived files
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
+%%
+%% \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 \~}
+\ProvidesDateTimeModule{de-DE}[2017/10/03 v2.0]
+\RequireDateTimeModule{german}
+\newcommand*{\DTMdeDEdowdaysep}{,\space}
+\newcommand*{\DTMdeDEdaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}}
+\newcommand*{\DTMdeDEmonthyearsep}{\space}
+\newcommand*{\DTMdeDEdatetimesep}{,\space}
+\newcommand*{\DTMdeDEtimezonesep}{\space}
+\newcommand*{\DTMdeDEdatesep}{.}
+\newcommand*{\DTMdeDEtimesep}{:}
+\DTMdefkey{de-DE}{dowdaysep}{\renewcommand*{\DTMdeDEdowdaysep}{#1}}
+\DTMdefkey{de-DE}{daymonthsep}{\renewcommand*{\DTMdeDEdaymonthsep}{#1}}
+\DTMdefkey{de-DE}{monthyearsep}{\renewcommand*{\DTMdeDEmonthyearsep}{#1}}
+\DTMdefkey{de-DE}{datetimesep}{\renewcommand*{\DTMdeDEdatetimesep}{#1}}
+\DTMdefkey{de-DE}{timezonesep}{\renewcommand*{\DTMdeDEtimezonesep}{#1}}
+\DTMdefkey{de-DE}{datesep}{\renewcommand*{\DTMdeDEdatesep}{#1}}
+\DTMdefkey{de-DE}{timesep}{\renewcommand*{\DTMdeDEtimesep}{#1}}
+\DTMdefboolkey{de-DE}{abbr}[true]{}
+\DTMsetbool{de-DE}{abbr}{false}
+\DTMdefboolkey{de-DE}{mapzone}[true]{}
+\DTMsetbool{de-DE}{mapzone}{true}
+\DTMdefboolkey{de-DE}{showdayofmonth}[true]{}
+\DTMsetbool{de-DE}{showdayofmonth}{true}
+\DTMdefboolkey{de-DE}{showyear}[true]{}
+\DTMsetbool{de-DE}{showyear}{true}
+\DTMnewstyle
+{de-DE}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMdeDEmonthyearsep%
+ \DTMifbool{de-DE}{abbr}%
+ {'\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }%
+ \renewcommand*\DTMDisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {\DTMgermanordinal{##3}\DTMdeDEdaymonthsep}%
+ {}%
+ %
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortmonthname{##2}}%
+ {\DTMgermanmonthname{##2}}%
+ %
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMdeDEmonthyearsep%
+ \DTMifbool{de-DE}{abbr}%
+ {'\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }
+}%
+{% time style (use default)
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeDEtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-DE}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMdeDEtimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}[9]{%
+ \ifDTMshowdate
+ \DTMDisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+}%
+\DTMnewstyle
+{de-DE-numeric}% label
+{% date style
+ \renewcommand*\DTMdisplaydate[4]{%
+ \ifDTMshowdow
+ \ifnum##4>-1
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMgermanshortweekdayname{##4}}%
+ {\DTMgermanweekdayname{##4}}%
+ \DTMdeDEdowdaysep
+ \fi
+ \fi
+ %
+ \DTMifbool{de-DE}{showdayofmonth}%
+ {%
+ \DTMtwodigits{##3}%
+ \DTMdeDEdatesep
+ }%
+ {}%
+ \DTMtwodigits{##2}%
+ \DTMdeDEdatesep%
+ \DTMifbool{de-DE}{showyear}%
+ {%
+ \DTMifbool{de-DE}{abbr}%
+ {\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
+ }%
+ {}%
+ }%
+ \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}%
+}%
+{% time style
+ \renewcommand*\DTMdisplaytime[3]{%
+ \DTMtwodigits{##1}%
+ \DTMdeDEtimesep\DTMtwodigits{##2}%
+ \ifDTMshowseconds\DTMdeDEtimesep\DTMtwodigits{##3}\fi
+ }%
+}%
+{% zone style
+ \DTMresetzones
+ \DTMgermanzonemaps
+ \renewcommand*{\DTMdisplayzone}[2]{%
+ \DTMifbool{de-DE}{mapzone}%
+ {\DTMusezonemapordefault{##1}{##2}}%
+ {%
+ \ifnum##1<0\else+\fi\DTMtwodigits{##1}%
+ \ifDTMshowzoneminutes\DTMgermantimesep\DTMtwodigits{##2}\fi
+ }%
+ }%
+}%
+{% full style
+ \renewcommand*{\DTMdisplay}[9]{%
+ \ifDTMshowdate
+ \DTMdisplaydate{##1}{##2}{##3}{##4}%
+ \DTMdeDEdatetimesep
+ \fi
+ \DTMdisplaytime{##5}{##6}{##7}%
+ \ifDTMshowzone
+ \DTMdeDEtimezonesep
+ \DTMdisplayzone{##8}{##9}%
+ \fi
+ }%
+ \renewcommand*{\DTMDisplay}{\DTMdisplay}%
+}
+\DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-DE}}
+ {\DTMsetstyle{de-DE-numeric}}
+\ifcsundef{date\CurrentTrackedDialect}
+{%
+ \ifundef\dategerman
+ {% do nothing
+ }%
+ {%
+ \def\dategerman{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{german}}%
+ {\DTMsetstyle{german-numeric}}%
+ }%
+ }%
+}%
+{%
+ \csdef{date\CurrentTrackedDialect}{%
+ \DTMifcaseregional
+ {}% do nothing
+ {\DTMsetstyle{de-DE}}%
+ {\DTMsetstyle{de-DE-numeric}}
+ }%
+}%
+\endinput
+%%
+%% End of file `datetime2-de-DE.ldf'.
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf
index 3dc5798ec6d..4dab25ebe67 100644
--- a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-ascii.ldf
@@ -23,8 +23,9 @@
%%
%% This work consists of the files datetime2-german.dtx and
%% datetime2-german.ins and the derived files
-%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%% datetime2-german.ldf.
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
%%
%% \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
@@ -41,7 +42,7 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesDateTimeModule{german-ascii}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-ascii}[2017/10/03 v2.0]
\newcommand*{\DTMgermanordinal}[1]{%
\number#1
}
@@ -73,6 +74,34 @@
Dezember%
\fi
}
+\newcommand*{\DTMdeATmonthname}[1]{%
+ \ifcase#1
+ \or
+ J\protect\"anner%
+ \or
+ Februar%
+ \or
+ M\protect\"arz%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ August%
+ \or
+ September%
+ \or
+ Oktober%
+ \or
+ November%
+ \or
+ Dezember%
+ \fi
+}
\newcommand*{\DTMgermanshortmonthname}[1]{%
\ifcase#1
\or
@@ -92,7 +121,7 @@
\or
Aug.%
\or
- Sep.%
+ Sept.%
\or
Okt.%
\or
@@ -101,6 +130,62 @@
Dez.%
\fi
}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ J\protect\"an.%
+ \or
+ Feb.%
+ \or
+ M\protect\"arz%
+ \or
+ Apr.%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+\ifcase#1
+\or
+Jan.%
+\or
+Febr.%
+\or
+M\protect\"arz%
+\or
+April%
+\or
+Mai%
+\or
+Juni%
+\or
+Juli%
+\or
+Aug.%
+\or
+Sept.%
+\or
+Okt.%
+\or
+Nov.%
+\or
+Dez.%
+\fi
+}
\newcommand*{\DTMgermanweekdayname}[1]{%
\ifcase#1
Montag%
@@ -120,19 +205,19 @@
}
\newcommand*{\DTMgermanshortweekdayname}[1]{%
\ifcase#1
- Mo.%
+ Mo%
\or
- Di.%
+ Di%
\or
- Mi.%
+ Mi%
\or
- Do.%
+ Do%
\or
- Fr.%
+ Fr%
\or
- Sa.%
+ Sa%
\or
- So.%
+ So%
\fi
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf
index 0c0f22f3ffc..27876381024 100644
--- a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german-utf8.ldf
@@ -23,8 +23,9 @@
%%
%% This work consists of the files datetime2-german.dtx and
%% datetime2-german.ins and the derived files
-%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%% datetime2-german.ldf.
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
%%
%% \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
@@ -41,7 +42,7 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesDateTimeModule{german-utf8}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german-utf8}[2017/10/03 v2.0]
\newcommand*{\DTMgermanordinal}[1]{%
\number#1
}
@@ -73,6 +74,34 @@
Dezember%
\fi
}
+\newcommand*{\DTMdeATmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jänner%
+ \or
+ Februar%
+ \or
+ März%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ August%
+ \or
+ September%
+ \or
+ Oktober%
+ \or
+ November%
+ \or
+ Dezember%
+ \fi
+}
\newcommand*{\DTMgermanshortmonthname}[1]{%
\ifcase#1
\or
@@ -92,7 +121,63 @@
\or
Aug.%
\or
- Sep.%
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+\newcommand*{\DTMdeATshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jän.%
+ \or
+ Feb.%
+ \or
+ März%
+ \or
+ Apr.%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
+ \or
+ Okt.%
+ \or
+ Nov.%
+ \or
+ Dez.%
+ \fi
+}
+\newcommand*{\DTMdeCHshortmonthname}[1]{%
+ \ifcase#1
+ \or
+ Jan.%
+ \or
+ Febr.%
+ \or
+ März%
+ \or
+ April%
+ \or
+ Mai%
+ \or
+ Juni%
+ \or
+ Juli%
+ \or
+ Aug.%
+ \or
+ Sept.%
\or
Okt.%
\or
@@ -120,19 +205,19 @@
}
\newcommand*{\DTMgermanshortweekdayname}[1]{%
\ifcase#1
- Mo.%
+ Mo%
\or
- Di.%
+ Di%
\or
- Mi.%
+ Mi%
\or
- Do.%
+ Do%
\or
- Fr.%
+ Fr%
\or
- Sa.%
+ Sa%
\or
- So.%
+ So%
\fi
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf
index c44dcad0764..e00474dff49 100644
--- a/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf
+++ b/Master/texmf-dist/tex/latex/datetime2-german/datetime2-german.ldf
@@ -23,8 +23,9 @@
%%
%% This work consists of the files datetime2-german.dtx and
%% datetime2-german.ins and the derived files
-%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf and
-%% datetime2-german.ldf.
+%% datetime2-german-utf8.ldf, datetime2-german-ascii.ldf,
+%% datetime2-german.ldf, datetime2-de-DE.ldf,
+%% datetime2-de-AT.ldf and datetime2-de-CH.ldf
%%
%% \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
@@ -41,7 +42,7 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesDateTimeModule{german}[2017/09/10 v1.2]
+\ProvidesDateTimeModule{german}[2017/10/03 v2.0]
\RequirePackage{ifxetex,ifluatex}
\ifxetex
\RequireDateTimeModule{german-utf8}
@@ -59,6 +60,7 @@
\newcommand*{\DTMgermantimezonesep}{\space}
\newcommand*{\DTMgermandatesep}{.}
\newcommand*{\DTMgermantimesep}{:}
+\DTMdefkey{german}{dowdaysep}{\renewcommand*{\DTMgermandowdaysep}{#1}}
\DTMdefkey{german}{daymonthsep}{\renewcommand*{\DTMgermandaymonthsep}{#1}}
\DTMdefkey{german}{monthyearsep}{\renewcommand*{\DTMgermanmonthyearsep}{#1}}
\DTMdefkey{german}{datetimesep}{\renewcommand*{\DTMgermandatetimesep}{#1}}
@@ -194,12 +196,12 @@
}%
{}%
\DTMtwodigits{##2}%
+ \DTMgermandatesep%
\DTMifbool{german}{showyear}%
{%
- \DTMgermandatesep%
- \DTMifbool{german}{abbr}%
- {\DTMtwodigits{##1}}%
- {\number##1 }% space intended
+ \DTMifbool{german}{abbr}%
+ {\DTMtwodigits{##1}}%
+ {\number##1 }% space intended
}%
{}%
}%