diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/datetime2-german/datetime2-de-DE.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/datetime2-german/datetime2-de-DE.dtx | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/datetime2-german/datetime2-de-DE.dtx b/Master/texmf-dist/source/latex/datetime2-german/datetime2-de-DE.dtx new file mode 100644 index 00000000000..e1c29938b66 --- /dev/null +++ b/Master/texmf-dist/source/latex/datetime2-german/datetime2-de-DE.dtx @@ -0,0 +1,354 @@ +%\iffalse +%<*package> +%% \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 \~} +%</package> +% +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% Copyright (C) 2017-19 Sebastian Friedl, all rights reserved. +% \fi +% +% +% +% \subsection{German (de-DE): \texttt{datetime2-de-DE.ldf}} +% \changes{2.0}{2017-10-03}{Added regional variant: German (de-DE)} +% +% Identify Module. +% \begin{macrocode} +\ProvidesDateTimeModule{de-DE}[2019/12/13 v3.0] +% \end{macrocode} +% Require the base German module. +% \begin{macrocode} +\RequireDateTimeModule{german-base} +% \end{macrocode} +% +% +% Allow the user to configure the "de-DE" and "de-DE-numeric" styles. +% The package wide separators such as \cs{dtm@datetimesep} are not used +% 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. +% \begin{macrocode} +\DTMdefboolkey{de-DE}{abbr}[true]{} +% \end{macrocode} +% +% The default is to show the full names. +% \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% + \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% + \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 the corresponding 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 the 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{de-DE}}% + {\DTMsetstyle{de-DE-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{de-DE}}% + {\DTMsetstyle{de-DE-numeric}} + }% +}% +% \end{macrocode} +% +\endinput |