diff options
author | Norbert Preining <norbert@preining.info> | 2019-12-14 03:01:43 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-12-14 03:01:43 +0000 |
commit | 2c20697e8a5301b61c59d752fd1cfa7499724eec (patch) | |
tree | d2475f5c56c14a7c38d26cfd2c5b71d4e0d824e0 /macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx | |
parent | fdd3c58e8e5b37dcf9affd49326899988992c074 (diff) |
CTAN sync 201912140301
Diffstat (limited to 'macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx')
-rw-r--r-- | macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx | 356 |
1 files changed, 356 insertions, 0 deletions
diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx new file mode 100644 index 0000000000..89b04ca3e7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-de-CH.dtx @@ -0,0 +1,356 @@ +%\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{Swiss German (de-CH): \texttt{datetime2-de-CH.ldf}} +% \changes{2.0}{2017-10-03}{Added regional variant: Swiss German (de-CH)} +% +% Identify Module. +% \begin{macrocode} +\ProvidesDateTimeModule{de-CH}[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-CH" and "de-CH-numeric" styles. +% The package wide separators such as \cs{dtm@datetimesep} are not used +% 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. +% \begin{macrocode} +\DTMdefboolkey{de-CH}{abbr}[true]{} +% \end{macrocode} +% +% The default is to show the 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 the corresponding 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}% + {% + \DTMifbool{de-CH}{abbr}% + {\DTMtwodigits{##1}}% + {\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 the 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{de-CH}}% + {\DTMsetstyle{de-CH-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{de-CH}}% + {\DTMsetstyle{de-CH-numeric}}% + }% +}% +% \end{macrocode} +% +\endinput |