diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/datetime2-contrib |
Initial commit
Diffstat (limited to 'macros/latex/contrib/datetime2-contrib')
221 files changed, 43550 insertions, 0 deletions
diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/README b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/README new file mode 100644 index 0000000000..743548b669 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/README @@ -0,0 +1,57 @@ +Bahasai Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[bahasai]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[bahasai]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{bahasai} +\usepackage[bahasai]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-bahasai.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-bahasai/ + +Documentation: + +pdflatex datetime2-bahasai.dtx +makeindex -s gind.ist datetime2-bahasai.idx +makeindex -s gglo.ist -o datetime2-bahasai.gls datetime2-bahasai.glo +pdflatex datetime2-bahasai.dtx +pdflatex datetime2-bahasai.dtx + +Move datetime2-bahasai.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-bahasai/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.dtx new file mode 100644 index 0000000000..f2163f5f74 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.dtx @@ -0,0 +1,429 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Bahasai Module}]{hyperref} + + +\CheckSum{173} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-bahasai.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Bahasai Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-01-10 (v1.01)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintenance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Bahasai 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-bahasai}'s \cs{today}. +% +%I don't know if these settings are correct. +%In particular, I don't know if the "bahasai" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-bahasai.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%At the moment there is only the one ".ldf" file. +% +%\subsection{Main Bahasai Module (\texttt{datetime2-bahasai.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-bahasai.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{bahasai}[2018/01/10 v1.01] +% \end{macrocode} +%\begin{macro}{\DTMbahasaiordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMbahasaiordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaimonthname} +% Bahasai month names. +% \begin{macrocode} +\newcommand*{\DTMbahasaimonthname}[1]{% + \ifcase#1 + \or + Januari% + \or + Pebruari% + \or + Maret% + \or + April% + \or + Mei% + \or + Juni% + \or + Juli% + \or + Agustus% + \or + September% + \or + Oktober% + \or + Nopember% + \or + Desember% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +% Define the \texttt{bahasai} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "bahasai" and +% "bahasai-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}{\DTMbahasaidaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMbahasaidaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaimonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMbahasaimonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaidatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbahasaidatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaitimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbahasaitimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaidatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMbahasaidatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbahasaitimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMbahasaitimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{bahasai}{daymonthsep}{\renewcommand*{\DTMbahasaidaymonthsep}{#1}} +\DTMdefkey{bahasai}{monthyearsep}{\renewcommand*{\DTMbahasaimonthyearsep}{#1}} +\DTMdefkey{bahasai}{datetimesep}{\renewcommand*{\DTMbahasaidatetimesep}{#1}} +\DTMdefkey{bahasai}{timezonesep}{\renewcommand*{\DTMbahasaitimezonesep}{#1}} +\DTMdefkey{bahasai}{datesep}{\renewcommand*{\DTMbahasaidatesep}{#1}} +\DTMdefkey{bahasai}{timesep}{\renewcommand*{\DTMbahasaitimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{bahasai}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{bahasai}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{bahasai}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{bahasai}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{bahasai}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{bahasai}{showyear}{true} +% \end{macrocode} +% +% Define the "bahasai" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {bahasai}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{bahasai}{showdayofmonth} + {\DTMbahasaiordinal{##3}\DTMbahasaidaymonthsep}% + {}% + \DTMbahasaimonthname{##2}% + \DTMifbool{bahasai}{showyear}% + {% + \DTMbahasaimonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMbahasaizonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{bahasai}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbahasaitimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbahasaidatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbahasaitimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {bahasai-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{bahasai}{showdayofmonth}% + {% + \number##3 % space intended + \DTMbahasaidatesep + }% + {}% + \number##2 % space intended + \DTMifbool{bahasai}{showyear}% + {% + \DTMbahasaidatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMbahasaitimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMbahasaitimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMbahasaizonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{bahasai}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbahasaitimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbahasaidatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbahasaitimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMbahasaizonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. This currently has no mappings. +% \begin{macrocode} +\newcommand*{\DTMbahasaizonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{bahasai}} +{\DTMsetstyle{bahasai-numeric}} +% \end{macrocode} +% +% Redefine \cs{datebahasai} (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.) +%\changes{1.01}{2018-01-10}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datebahasai + {% do nothing + }% + {% + \def\datebahasai{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{bahasai}}% + {\DTMsetstyle{bahasai-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{bahasai}}% + {\DTMsetstyle{bahasai-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-bahasai.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.ins b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.ins new file mode 100644 index 0000000000..171720abf0 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.ins @@ -0,0 +1,38 @@ +\input docstrip + +\preamble + + datetime2-bahasai.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-bahasai.dtx and + datetime2-bahasai.ins and the derived file + datetime2-bahasai.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-bahasai.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-bahasai.dtx}{datetime2-bahasai.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.pdf Binary files differnew file mode 100644 index 0000000000..4f9ed194f6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bahasai/datetime2-bahasai.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/CHANGES b/macros/latex/contrib/datetime2-contrib/datetime2-basque/CHANGES new file mode 100644 index 0000000000..377402ea1f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/CHANGES @@ -0,0 +1,10 @@ +1.2a (2018-03-20) + * Suppress spurious space. + +1.2 (2015-09-03): + * Add inessive date form + * Change numeric date separator to / + * Fix: numeric date order to year/month/day + +1.0 (2015-03-24): + * Initial Release
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/Makefile b/macros/latex/contrib/datetime2-contrib/datetime2-basque/Makefile new file mode 100644 index 0000000000..d2207ace90 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/Makefile @@ -0,0 +1,24 @@ +smalltest: datetime2-basque-small-test.pdf +longtest: datetime2-basque-test.pdf +test: smalltest longtest +doc: datetime2-basque.pdf +archive: datetime2-basque.zip + +datetime2-basque-test.pdf: datetime2-basque.ldf datetime2-basque-test.tex + pdflatex datetime2-basque-test.tex + +datetime2-basque-small-test.pdf: datetime2-basque.ldf datetime2-basque-small-test.tex + pdflatex datetime2-basque-small-test.tex + +datetime2-basque.ldf: datetime2-basque.dtx datetime2-basque.ins + pdflatex datetime2-basque.ins + +datetime2-basque.pdf: datetime2-basque.dtx + pdflatex datetime2-basque.dtx + makeindex -s gind.ist datetime2-basque.idx + makeindex -s gglo.ist -o datetime2-basque.gls datetime2-basque.glo + pdflatex datetime2-basque.dtx + pdflatex datetime2-basque.dtx + +datetime2-basque.zip: datetime2-basque.dtx datetime2-basque.ins + git archive --format=zip --prefix=datetime2-basque/ -o datetime2-basque.zip master diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/README.txt b/macros/latex/contrib/datetime2-contrib/datetime2-basque/README.txt new file mode 100644 index 0000000000..98fbe3e687 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/README.txt @@ -0,0 +1,59 @@ +Basque Language Module for datetime2 Package +Version: 1.2a + +Authors: Nicola L. C. Talbot (inactive) + Zunbeltz Izaola + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is maintained by Zunbeltz Izaola. +If you find any bug or you have any suggestion contact to zunbeltz@gmail.com + +Example usage: + +\documentclass{article} +\usepackage[basque]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[basque]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{basque} +\usepackage[basque]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-basque.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-basque/ + +Documentation: + +pdflatex datetime2-basque.dtx +makeindex -s gind.ist datetime2-basque.idx +makeindex -s gglo.ist -o datetime2-basque.gls datetime2-basque.glo +pdflatex datetime2-basque.dtx +pdflatex datetime2-basque.dtx + +Move datetime2-basque.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-basque/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-small-test.tex b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-small-test.tex new file mode 100644 index 0000000000..8b93e0bd56 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-small-test.tex @@ -0,0 +1,50 @@ +\documentclass{article} +\usepackage[basque]{babel} +\usepackage[]{datetime2} +\usepackage{pgffor} + + +\newcommand{\test}{% +\noindent This PDF was created on \today. + +\noindent This PDF was created on \DTMnow. + \texttt{\\DTMdisplaydate} \DTMdisplaydate{2015}{4}{23}{3} + \texttt{\\DTMDisplaydate} \DTMDisplaydate{2015}{4}{23}{3} + \texttt{\\today} \today + \texttt{\\Today} \Today + \texttt{\\DTMdate} \DTMdate{2015-04-23} + \texttt{\\DTMDate} \DTMDate{2015-04-23} + \texttt{\\DTMdisplaytime} \DTMdisplaytime{10}{30}{23} + \texttt{\\DTMdisplayzone} \DTMdisplayzone{2}{00} + \texttt{\\DTMcurrenttime} \DTMcurrenttime + \texttt{\\DTMcurrentzone} \DTMcurrentzone + \texttt{\\DTMtime} \DTMtime{10:30:23} + \texttt{\\DTMdisplay} \DTMdisplay{2015}{04}{23}{3}{10}{30}{23}{2}{00} + \texttt{\\DTMDisplay} \DTMDisplay{2015}{04}{23}{3}{10}{30}{23}{2}{00} + \texttt{\\DTMnow} \DTMnow + \texttt{\\DTMNow} \DTMNow + +\vspace*{\baselineskip} +} + +\begin{document} +\foreach \style in {basque, basque-numeric}{ +%\style +%} +\noindent\texttt{DTMsetstyle\{\style\}} \DTMsetstyle{\style} + +\test +} + +\DTMlangsetup[basque]{inessive=true} +\DTMsetstyle{basque} + +\test + + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-test.tex b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-test.tex new file mode 100644 index 0000000000..f3c54e10de --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque-test.tex @@ -0,0 +1,45 @@ +\documentclass[basque, twocolumn]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\usepackage{pgffor} + +\makeatletter +\newcommand{\changeyear}[1]{% +\def\@dtm@currentyear{#1} +} +\newcommand{\changemonth}[1]{% +\def\@dtm@currentmonth{#1} +} +\newcommand{\changeday}[1]{% +\def\@dtm@currentday{#1} +} +\makeatother + +\begin{document} +\DTMlangsetup[basque]{inessive=true} +\foreach \myyear in {2000,...,2005}{ + \changeyear{\myyear} + \foreach \mymonth in {1,...,12}{ + \changemonth{\mymonth} + \foreach \myday in {1,...,31}{ + \changeday{\myday} + \today\par + } + \newpage + } +} + + +% \changemonth{2} +% \changeday{13} +% This PDF was created on \today. + +% \changeyear{2001} +% This PDF was created on \today. +\end{document} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.dtx new file mode 100644 index 0000000000..50dc35c5a2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.dtx @@ -0,0 +1,537 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot +% Copyright (C) 2015-2018 Zunbeltz Izaola, all rights reserved. +% Maintainer Zunbeltz Izaola. Based on the basque-date package by Edorta Ibarra. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Basque Module}]{hyperref} + + +\CheckSum{377} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-basque.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Basque Module for datetime2 Package} +%\author{Zunbeltz Izaola \and Nicola L. C. Talbot (inactive)} +%\date{2018-03-20 (v1.2a)} +%\maketitle +% +% +%\begin{abstract} +%This is the Basque 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +% Currently there is only a regionless style. +%\end{abstract} +% +% \section{Introduction} +% +% According to The Basque Language Academy (\textit{Euskaltzaindia}), there +% are various correct forms to display the date in Basque.\footnote{\textit{37. +% araua. Data nola adierazi}: \url{http://euskaltzaindia.net/dok/arauak/Araua\_0037.pdf}} +% The most used form, which includes the name of the location where the document or +% text has been written, is the following: +% +% \begin{center} +% \textit{Durango(n), 1983ko martxoaren 7a(n)}, +% \end{center} +% where the inessive case \textit{``n''} is optional. It must be taken into account +% that the declination of numbers in Basque is not straightforward. +% The inessive case is deactivated by default. To activate it, set the +% \sty{inessive} boolean option to \sty{true} with \cs{DTMlangsetup}: +% \begin{verbatim} +% \DTMlangsetup[basque]{inessive=true} +% \end{verbatim} + +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +% +%\section{The Code} +%At the moment there is only the one ".ldf" file. +% +%\subsection{Main Basque Module (\texttt{datetime2-basque.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-basque.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{basque}[2018/03/20 v1.2a] +% \end{macrocode} +% +% Define a boolean to use the inessive case. It is not used by default. +% +% \begin{macrocode} +\DTMdefboolkey{basque}{inessive}[false]{} +% \end{macrocode} + +%\begin{macro}{\DTMbasqueordinal} +% Numbers are declined according to to the case. +% \begin{macrocode} +\newcommand*{\DTMbasqueordinal}[1]{% + \number#1% + \DTMifbool{basque}{inessive}{% + \ifcase\number#1 %declination for the day (inessive case) + \or ean\or an\or an\or an\or ean\or an\or an\or an\or an\or ean\or + n\or an\or an\or an\or ean\or an\or an\or an\or an\or an\or ean\or + an\or an\or an\or ean\or an\or an\or an\or an\or ean\or n\fi% + }{% + \ifcase\number#1 %declination for the day (absolutive case) + \or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or \or + a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or a\or + a\or a\or a\or a\or a\or a\or a\or\fi% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasquemonthname} +% Basque declined month names. +% \begin{macrocode} +\newcommand*{\DTMbasquemonthname}[1]{% + \ifcase#1 + \or + urtarrilaren% + \or + otsailaren% + \or + martxoaren% + \or + apirilaren% + \or + maiatzaren% + \or + ekainaren% + \or + uztailaren% + \or + abuztuaren% + \or + irailaren% + \or + urriaren% + \or + azaroaren% + \or + abenduaren% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasqueMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMbasqueMonthname}[1]{% + \ifcase#1 + \or + Urtarrilaren% + \or + Otsailaren% + \or + Martxoaren% + \or + Apirilaren% + \or + Maiatzaren% + \or + Ekainaren% + \or + Uztailaren% + \or + Abuztuaren% + \or + Irailaren% + \or + Urriaren% + \or + Azaroaren% + \or + Abenduaren% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Define the \texttt{basque} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "basque" and +% "basque-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}{\DTMbasquemonthdaysep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMbasquemonthdaysep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasqueyearmonthsep} +% The separator between the month and year for the text format. +% According to the Basque declination rules for year +% \begin{macrocode} +\newcommand*{\DTMbasqueyearmonthsep}{\ifcase\DTMtwodigits{\@dtm@currentyear} + %Declination for the year + %00-20 + ko \or eko \or ko \or ko \or ko \or eko \or ko + \or ko \or ko \or ko \or eko \or ko \or ko + \or ko \or ko \or eko \or ko \or ko \or ko + \or ko \or ko \or + %21-40 + eko \or ko \or ko \or ko \or eko \or ko + \or ko \or ko \or ko \or eko \or ko \or ko + \or ko \or ko \or eko \or ko \or ko \or ko + \or ko \or ko \or + %41-60 + eko \or ko \or ko \or ko \or eko \or ko + \or ko \or ko \or ko \or eko \or ko \or ko + \or ko \or ko \or eko \or ko \or ko \or ko + \or ko \or ko \or + %61-80 + eko \or ko \or ko \or ko \or eko \or ko + \or ko \or ko \or ko \or eko \or ko \or ko + \or ko \or ko \or eko \or ko \or ko \or ko + \or ko \or ko \or + %81-100 + eko \or ko \or ko \or ko \or eko \or ko + \or ko \or ko \or ko \or eko \or ko \or ko + \or ko \or ko \or eko \or ko \or ko \or ko + \or ko \or eko + \fi% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasquedatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbasquedatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasquetimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbasquetimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasquedatesep} +% The separator for the numeric date format. +% +% There is no clear tradition for the puctuation mark to separe the numbers. +% Spanish tradition will use either slash (/) or en-dash (-). I couldn't find typographic guidelines on the french tradition. +% I choose the slash over the en-dash because I found that more compact dates are nicer. +% +% \begin{macrocode} +\newcommand*{\DTMbasquedatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbasquetimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMbasquetimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{basque}{monthdaysep}{\renewcommand*{\DTMbasquemonthdaysep}{#1}} +\DTMdefkey{basque}{yearmonthsep}{\renewcommand*{\DTMbasqueyearmonthsep}{#1}} +\DTMdefkey{basque}{datetimesep}{\renewcommand*{\DTMbasquedatetimesep}{#1}} +\DTMdefkey{basque}{timezonesep}{\renewcommand*{\DTMbasquetimezonesep}{#1}} +\DTMdefkey{basque}{datesep}{\renewcommand*{\DTMbasquedatesep}{#1}} +\DTMdefkey{basque}{timesep}{\renewcommand*{\DTMbasquetimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{basque}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{basque}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{basque}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{basque}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{basque}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{basque}{showyear}{true} +% \end{macrocode} +% +% Define the "basque" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {basque}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{basque}{showyear}% + {% + \number##1% + \DTMbasqueyearmonthsep + }% + {}% + \DTMbasquemonthname{##2}% + \DTMifbool{basque}{showdayofmonth} + {\DTMbasquemonthdaysep\DTMbasqueordinal{##3}}% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{basque}{showyear}% + {% + \number##1% + \DTMbasqueyearmonthsep + \DTMbasquemonthname{##2}% + }% + {% + \DTMbasqueMonthname{##2}% + }% + \DTMifbool{basque}{showdayofmonth} + {\DTMbasquemonthdaysep\DTMbasqueordinal{##3}}% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMbasquezonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{basque}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbasquetimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbasquedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbasquetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMbasquedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbasquetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {basque-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{basque}{showyear}% + {% + \number##1% + \DTMbasquedatesep + }% + {}% + \number##2% + \DTMifbool{basque}{showdayofmonth}% + {% + \DTMbasquedatesep + \number##3 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMbasquetimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMbasquetimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMbasquezonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{basque}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbasquetimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbasquedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbasquetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMbasquezonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. This currently has no mappings. +% \begin{macrocode} +\newcommand*{\DTMbasquezonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{basque}} +{\DTMsetstyle{basque-numeric}} +% \end{macrocode} +% +% Redefine \cs{datebasque} (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.) +% \changes{v1.2a}{2018/03/20}{Suppress spurious space.} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datebasque + {% do nothing + }% + {% + \def\datebasque{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{basque}}% + {\DTMsetstyle{basque-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{basque}}% + {\DTMsetstyle{basque-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-basque.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.ins b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.ins new file mode 100644 index 0000000000..22142c5eff --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-basque/datetime2-basque.ins @@ -0,0 +1,41 @@ +\input docstrip + +\preamble + + datetime2-basque.dtx + Copyright (C) 2015 Nicola Talbot + Copyright (C) 2015-2018 Zunbeltz Izaola + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Zunbeltz Izaola. + + This work consists of the files datetime2-basque.dtx and + datetime2-basque.ins and the derived file + datetime2-basque.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-basque.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-basque.dtx}{datetime2-basque.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-breton/README b/macros/latex/contrib/datetime2-contrib/datetime2-breton/README new file mode 100644 index 0000000000..f488940b76 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-breton/README @@ -0,0 +1,57 @@ +Breton Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[breton]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[breton]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{breton} +\usepackage[breton]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-breton.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-breton/ + +Documentation: + +pdflatex datetime2-breton.dtx +makeindex -s gind.ist datetime2-breton.idx +makeindex -s gglo.ist -o datetime2-breton.gls datetime2-breton.glo +pdflatex datetime2-breton.dtx +pdflatex datetime2-breton.dtx + +Move datetime2-breton.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-breton/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.dtx new file mode 100644 index 0000000000..5af0e7b515 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.dtx @@ -0,0 +1,574 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Breton Module}]{hyperref} + + +\CheckSum{252} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-breton.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Breton Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-03-19 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Breton 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-breton}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Breton. +%In particular, I don't know if the "breton" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-breton.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-breton-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{breton-utf8}[2018/03/19 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMbretonordinal} +% \begin{macrocode} +\newcommand*{\DTMbretonordinal}[1]{% + \number#1 + \ifnum#1=1 + \DTMbretonfmtordinal{aƱ}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretonfmtordinal} +% \begin{macrocode} +\newcommand*{\DTMbretonfmtordinal}[1]{% + \DTMtexorpdfstring{\protect\/\protect\textsuperscript{#1}}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretonmonthname} +% Breton month names. +% \begin{macrocode} +\newcommand*{\DTMbretonmonthname}[1]{% + \ifcase#1 + \or + Genver% + \or + C'hwevrer% + \or + Meurzh% + \or + Ebrel% + \or + Mae% + \or + Mezheven% + \or + Gouere% + \or + Eost% + \or + Gwengolo% + \or + Here% + \or + Du% + \or + Kerzu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-breton-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-breton-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-breton-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{breton-ascii}[2018/03/19 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMbretonordinal} +% \begin{macrocode} +\newcommand*{\DTMbretonordinal}[1]{% + \number#1 + \ifnum#1=1 + \DTMbretonfmtordsuffix{a\protect\~{n}}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretonfmtordsuffix} +% \begin{macrocode} +\newcommand*{\DTMbretonfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\/\protect\textsuperscript{#1}}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretonmonthname} +% Breton month names. +% \begin{macrocode} +\newcommand*{\DTMbretonmonthname}[1]{% + \ifcase#1 + \or + Genver% + \or + C'hwevrer% + \or + Meurzh% + \or + Ebrel% + \or + Mae% + \or + Mezheven% + \or + Gouere% + \or + Eost% + \or + Gwengolo% + \or + Here% + \or + Du% + \or + Kerzu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-breton-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Breton Module (\texttt{datetime2-breton.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-breton.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{breton}[2018/03/19 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{breton-utf8} if either of those engines are used +% otherwise load \texttt{breton-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{breton-utf8} +\else + \ifluatex + \RequireDateTimeModule{breton-utf8} + \else + \RequireDateTimeModule{breton-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{breton} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "breton" and +% "breton-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}{\DTMbretondaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMbretondaymonthsep}{\space a\space viz\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretonmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMbretonmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretondatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbretondatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretontimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbretontimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretondatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMbretondatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbretontimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMbretontimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{breton}{daymonthsep}{\renewcommand*{\DTMbretondaymonthsep}{#1}} +\DTMdefkey{breton}{monthyearsep}{\renewcommand*{\DTMbretonmonthyearsep}{#1}} +\DTMdefkey{breton}{datetimesep}{\renewcommand*{\DTMbretondatetimesep}{#1}} +\DTMdefkey{breton}{timezonesep}{\renewcommand*{\DTMbretontimezonesep}{#1}} +\DTMdefkey{breton}{datesep}{\renewcommand*{\DTMbretondatesep}{#1}} +\DTMdefkey{breton}{timesep}{\renewcommand*{\DTMbretontimesep}{#1}} +% \end{macrocode} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{breton}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMbretonfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMbretonfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMbretonfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMbretonfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{breton}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{breton}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{breton}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{breton}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{breton}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{breton}{showyear}{true} +% \end{macrocode} +% +% Define the "breton" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {breton}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{breton}{showdayofmonth} + {\DTMbretonordinal{##3}\DTMbretondaymonthsep}% + {}% + \DTMbretonmonthname{##2}% + \DTMifbool{breton}{showyear}% + {% + \DTMbretonmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMbretonzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{breton}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbretontimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbretondatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbretontimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {breton-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{breton}{showdayofmonth}% + {% + \number##3 % space intended + \DTMbretondatesep + }% + {}% + \number##2 % space intended + \DTMifbool{breton}{showyear}% + {% + \DTMbretondatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMbretontimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMbretontimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMbretonzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{breton}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbretontimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbretondatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbretontimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMbretonzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMbretonzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{breton}} +{\DTMsetstyle{breton-numeric}} +% \end{macrocode} +% +% Redefine \cs{datebreton} (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.) +%\changes{1.1}{2018-03-19}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datebreton + {% do nothing + }% + {% + \def\datebreton{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{breton}}% + {\DTMsetstyle{breton-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{breton}}% + {\DTMsetstyle{breton-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-breton.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.ins b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.ins new file mode 100644 index 0000000000..93da959d28 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-breton.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-breton.dtx and + datetime2-breton.ins and the derived files + datetime2-breton-utf8.ldf, datetime2-breton-ascii.ldf and + datetime2-breton.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-breton-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-breton.dtx}{datetime2-breton-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-breton-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-breton.dtx}{datetime2-breton-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-breton.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-breton.dtx}{datetime2-breton.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.pdf Binary files differnew file mode 100644 index 0000000000..55340962c1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-breton/datetime2-breton.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/README b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/README new file mode 100644 index 0000000000..705206adf7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/README @@ -0,0 +1,57 @@ +Bulgarian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[bulgarian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[bulgarian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{bulgarian} +\usepackage[bulgarian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-bulgarian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-bulgarian/ + +Documentation: + +xelatex datetime2-bulgarian.dtx +makeindex -s gind.ist datetime2-bulgarian.idx +makeindex -s gglo.ist -o datetime2-bulgarian.gls datetime2-bulgarian.glo +xelatex datetime2-bulgarian.dtx +xelatex datetime2-bulgarian.dtx + +Move datetime2-bulgarian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-bulgarian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.dtx new file mode 100644 index 0000000000..8ce03f5d6d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.dtx @@ -0,0 +1,662 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Bulgarian Module}]{hyperref} + +\newfontfamily\cyrillicfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{545} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-bulgarian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Bulgarian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-03-19 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Bulgarian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-bulgarian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Bulgarian. +%In particular, I don't know if the "bulgarian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-bulgarian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-bulgarian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{bulgarian-utf8}[2018/03/19 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMbulgarianordinal} +% \begin{macrocode} +\newcommand*{\DTMbulgarianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianyear} +% \begin{macrocode} +\newcommand*{\DTMbulgarianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}Š³.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMbulgarianmonthname} +% Bulgarian month names. +% \begin{macrocode} +\newcommand*{\DTMbulgarianmonthname}[1]{% + \ifcase#1 + \or + ŃŠ½ŃŠ°ŃŠø% + \or + ŃŠµŠ²ŃŃŠ°ŃŠø% + \or + Š¼Š°ŃŃ% + \or + Š°ŠæŃŠøŠ»% + \or + Š¼Š°Š¹% + \or + ŃŠ½Šø% + \or + ŃŠ»Šø% + \or + Š°Š²Š³ŃŃŃ% + \or + ŃŠµŠæŃŠµŠ¼Š²ŃŠø% + \or + Š¾ŠŗŃŠ¾Š¼Š²ŃŠø% + \or + Š½Š¾ŠµŠ¼Š²ŃŠø% + \or + Š“ŠµŠŗŠµŠ¼Š²ŃŠø% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMbulgarianMonthname}[1]{% + \ifcase#1 + \or + ŠÆŠ½ŃŠ°ŃŠø% + \or + Š¤ŠµŠ²ŃŃŠ°ŃŠø% + \or + ŠŠ°ŃŃ% + \or + ŠŠæŃŠøŠ»% + \or + ŠŠ°Š¹% + \or + Š®Š½Šø% + \or + Š®Š»Šø% + \or + ŠŠ²Š³ŃŃŃ% + \or + Š”ŠµŠæŃŠµŠ¼Š²ŃŠø% + \or + ŠŠŗŃŠ¾Š¼Š²ŃŠø% + \or + ŠŠ¾ŠµŠ¼Š²ŃŠø% + \or + ŠŠµŠŗŠµŠ¼Š²ŃŠø% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-bulgarian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-bulgarian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-bulgarian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{bulgarian-ascii}[2018/03/19 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMbulgarianordinal} +% \begin{macrocode} +\newcommand*{\DTMbulgarianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianyear} +% \begin{macrocode} +\newcommand*{\DTMbulgarianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}\protect\cyrg.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianmonthname} +% Bulgarian month names. +% \begin{macrocode} +\newcommand*{\DTMbulgarianmonthname}[1]{% + \ifcase#1 + \or + \protect\cyrya\protect\cyrn\protect\cyru\protect\cyra\protect\cyrr + \protect\cyri + \or + \protect\cyrf\protect\cyre\protect\cyrv\protect\cyrr\protect\cyru + \protect\cyra\protect\cyrr\protect\cyri + \or + \protect\cyrm\protect\cyra\protect\cyrr\protect\cyrt + \or + \protect\cyra\protect\cyrp\protect\cyrr\protect\cyri\protect\cyrl + \or + \protect\cyrm\protect\cyra\protect\cyrishrt + \or + \protect\cyryu\protect\cyrn\protect\cyri + \or + \protect\cyryu\protect\cyrl\protect\cyri + \or + \protect\cyra\protect\cyrv\protect\cyrg\protect\cyru\protect\cyrs + \protect\cyrt + \or + \protect\cyrs\protect\cyre\protect\cyrp\protect\cyrt\protect\cyre + \protect\cyrm\protect\cyrv\protect\cyrr\protect\cyri + \or + \protect\cyro\protect\cyrk\protect\cyrt\protect\cyro\protect\cyrm + \protect\cyrv\protect\cyrr\protect\cyri + \or + \protect\cyrn\protect\cyro\protect\cyre\protect\cyrm\protect\cyrv + \protect\cyrr\protect\cyri + \or + \protect\cyrd\protect\cyre\protect\cyrk\protect\cyre\protect\cyrm + \protect\cyrv\protect\cyrr\protect\cyri + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMbulgarianMonthname}[1]{% + \ifcase#1 + \or + \protect\CYRYA\protect\cyrn\protect\cyru\protect\cyra\protect\cyrr + \protect\cyri + \or + \protect\CYRF\protect\cyre\protect\cyrv\protect\cyrr\protect\cyru + \protect\cyra\protect\cyrr\protect\cyri + \or + \protect\CYRM\protect\cyra\protect\cyrr\protect\cyrt + \or + \protect\CYRA\protect\cyrp\protect\cyrr\protect\cyri\protect\cyrl + \or + \protect\CYRM\protect\cyra\protect\cyrishrt + \or + \protect\CYRYU\protect\cyrn\protect\cyri + \or + \protect\CYRYU\protect\cyrl\protect\cyri + \or + \protect\CYRA\protect\cyrv\protect\cyrg\protect\cyru\protect\cyrs + \protect\cyrt + \or + \protect\CYRS\protect\cyre\protect\cyrp\protect\cyrt\protect\cyre + \protect\cyrm\protect\cyrv\protect\cyrr\protect\cyri + \or + \protect\CYRO\protect\cyrk\protect\cyrt\protect\cyro\protect\cyrm + \protect\cyrv\protect\cyrr\protect\cyri + \or + \protect\CYRN\protect\cyro\protect\cyre\protect\cyrm\protect\cyrv + \protect\cyrr\protect\cyri + \or + \protect\CYRD\protect\cyre\protect\cyrk\protect\cyre\protect\cyrm + \protect\cyrv\protect\cyrr\protect\cyri + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-bulgarian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Bulgarian Module (\texttt{datetime2-bulgarian.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-bulgarian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{bulgarian}[2018/03/19 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{bulgarian-utf8} if either of those engines are used +% otherwise load \texttt{bulgarian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{bulgarian-utf8} +\else + \ifluatex + \RequireDateTimeModule{bulgarian-utf8} + \else + \RequireDateTimeModule{bulgarian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{bulgarian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "bulgarian" and +% "bulgarian-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}{\DTMbulgariandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMbulgariandaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgarianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMbulgarianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgariandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbulgariandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgariantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMbulgariantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgariandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMbulgariandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMbulgariantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMbulgariantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{bulgarian}{daymonthsep}{\renewcommand*{\DTMbulgariandaymonthsep}{#1}} +\DTMdefkey{bulgarian}{monthyearsep}{\renewcommand*{\DTMbulgarianmonthyearsep}{#1}} +\DTMdefkey{bulgarian}{datetimesep}{\renewcommand*{\DTMbulgariandatetimesep}{#1}} +\DTMdefkey{bulgarian}{timezonesep}{\renewcommand*{\DTMbulgariantimezonesep}{#1}} +\DTMdefkey{bulgarian}{datesep}{\renewcommand*{\DTMbulgariandatesep}{#1}} +\DTMdefkey{bulgarian}{timesep}{\renewcommand*{\DTMbulgariantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{bulgarian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{bulgarian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{bulgarian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{bulgarian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{bulgarian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{bulgarian}{showyear}{true} +% \end{macrocode} +% +% Define the "bulgarian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {bulgarian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{bulgarian}{showdayofmonth} + {\DTMbulgarianordinal{##3}\DTMbulgariandaymonthsep}% + {}% + \DTMbulgarianmonthname{##2}% + \DTMifbool{bulgarian}{showyear}% + {% + \DTMbulgarianmonthyearsep + \DTMbulgarianyear{##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{bulgarian}{showdayofmonth} + {% + \DTMbulgarianordinal{##3}\DTMbulgariandaymonthsep + \DTMbulgarianmonthname{##2}% + }% + {% + \DTMbulgarianMonthname{##2}% + }% + \DTMifbool{bulgarian}{showyear}% + {% + \DTMbulgarianmonthyearsep + \DTMbulgarianyear{##1}% + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMbulgarianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{bulgarian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbulgariantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbulgariandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbulgariantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMbulgariandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbulgariantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {bulgarian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{bulgarian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMbulgariandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{bulgarian}{showyear}% + {% + \DTMbulgariandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMbulgariantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMbulgariantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMbulgarianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{bulgarian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMbulgariantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMbulgariandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMbulgariantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMbulgarianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMbulgarianzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{bulgarian}} +{\DTMsetstyle{bulgarian-numeric}} +% \end{macrocode} +% +% Redefine \cs{datebulgarian} (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.) +%\changes{1.1}{2018-03-19}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datebulgarian + {% do nothing + }% + {% + \def\datebulgarian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{bulgarian}}% + {\DTMsetstyle{bulgarian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{bulgarian}}% + {\DTMsetstyle{bulgarian-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-bulgarian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.ins new file mode 100644 index 0000000000..1077a2dc83 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-bulgarian.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-bulgarian.dtx and + datetime2-bulgarian.ins and the derived files + datetime2-bulgarian-utf8.ldf, datetime2-bulgarian-ascii.ldf and + datetime2-bulgarian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-bulgarian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-bulgarian.dtx}{datetime2-bulgarian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-bulgarian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-bulgarian.dtx}{datetime2-bulgarian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-bulgarian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-bulgarian.dtx}{datetime2-bulgarian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.pdf Binary files differnew file mode 100644 index 0000000000..2b252d944c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-bulgarian/datetime2-bulgarian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-catalan/README b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/README new file mode 100644 index 0000000000..ebd2936c69 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/README @@ -0,0 +1,57 @@ +Catalan Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[catalan]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[catalan]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{catalan} +\usepackage[catalan]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-catalan.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-catalan/ + +Documentation: + +pdflatex datetime2-catalan.dtx +makeindex -s gind.ist datetime2-catalan.idx +makeindex -s gglo.ist -o datetime2-catalan.gls datetime2-catalan.glo +pdflatex datetime2-catalan.dtx +pdflatex datetime2-catalan.dtx + +Move datetime2-catalan.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-catalan/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.dtx new file mode 100644 index 0000000000..e3ef920459 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.dtx @@ -0,0 +1,628 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Catalan Module}]{hyperref} + + +\CheckSum{258} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-catalan.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Catalan Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-03-19 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Catalan 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-catalan}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Catalan. +%In particular, I don't know if the "catalan" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-catalan.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-catalan-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{catalan-utf8}[2018/03/19 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMcatalanordinal} +% \begin{macrocode} +\newcommand*{\DTMcatalanordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalanmonthname} +% Catalan month names. +% \begin{macrocode} +\newcommand*{\DTMcatalanmonthname}[1]{% + \ifcase#1 + \or + de gener% + \or + de febrer% + \or + de marƧ% + \or + d'abril% + \or + de maig% + \or + de juny% + \or + de juliol% + \or + d'agost% + \or + de setembre% + \or + d'octubre% + \or + de novembre% + \or + de desembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalanMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcatalanMonthname}[1]{% + \ifcase#1 + \or + De gener% + \or + De febrer% + \or + De marƧ% + \or + D'abril% + \or + De maig% + \or + De juny% + \or + De juliol% + \or + D'agost% + \or + De setembre% + \or + D'octubre% + \or + De novembre% + \or + De desembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-catalan-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-catalan-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-catalan-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-29}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{catalan-ascii}[2018/03/19 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMcatalanordinal} +% \begin{macrocode} +\newcommand*{\DTMcatalanordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalanmonthname} +% Catalan month names. +% \begin{macrocode} +\newcommand*{\DTMcatalanmonthname}[1]{% + \ifcase#1 + \or + de gener% + \or + de febrer% + \or + de mar\protect\c{c}% + \or + d'abril% + \or + de maig% + \or + de juny% + \or + de juliol% + \or + d'agost% + \or + de setembre% + \or + d'octubre% + \or + de novembre% + \or + de desembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalanMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcatalanMonthname}[1]{% + \ifcase#1 + \or + De gener% + \or + De febrer% + \or + De mar\protect\c{c}% + \or + D'abril% + \or + De maig% + \or + De juny% + \or + De juliol% + \or + D'agost% + \or + De setembre% + \or + D'octubre% + \or + De novembre% + \or + De desembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-catalan-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Catalan Module (\texttt{datetime2-catalan.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-catalan.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{catalan}[2018/03/19 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{catalan-utf8} if either of those engines are used +% otherwise load \texttt{catalan-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{catalan-utf8} +\else + \ifluatex + \RequireDateTimeModule{catalan-utf8} + \else + \RequireDateTimeModule{catalan-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{catalan} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "catalan" and +% "catalan-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}{\DTMcatalandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMcatalandaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalanmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMcatalanmonthyearsep}{% + \space de\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMcatalandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMcatalantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMcatalandatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcatalantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMcatalantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{catalan}{daymonthsep}{\renewcommand*{\DTMcatalandaymonthsep}{#1}} +\DTMdefkey{catalan}{monthyearsep}{\renewcommand*{\DTMcatalanmonthyearsep}{#1}} +\DTMdefkey{catalan}{datetimesep}{\renewcommand*{\DTMcatalandatetimesep}{#1}} +\DTMdefkey{catalan}{timezonesep}{\renewcommand*{\DTMcatalantimezonesep}{#1}} +\DTMdefkey{catalan}{datesep}{\renewcommand*{\DTMcatalandatesep}{#1}} +\DTMdefkey{catalan}{timesep}{\renewcommand*{\DTMcatalantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{catalan}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{catalan}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{catalan}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{catalan}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{catalan}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{catalan}{showyear}{true} +% \end{macrocode} +% +% Define the "catalan" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {catalan}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{catalan}{showdayofmonth} + {\DTMcatalanordinal{##3}\DTMcatalandaymonthsep}% + {}% + \DTMcatalanmonthname{##2}% + \DTMifbool{catalan}{showyear}% + {% + \DTMcatalanmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{catalan}{showdayofmonth} + {% + \DTMcatalanordinal{##3}\DTMcatalandaymonthsep + \DTMcatalanmonthname{##2}% + }% + {\DTMcatalanMonthname{##2}}% + \DTMifbool{catalan}{showyear}% + {% + \DTMcatalanmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMcatalanzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{catalan}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMcatalantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMcatalandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcatalantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMcatalandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcatalantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {catalan-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{catalan}{showdayofmonth}% + {% + \number##3 % space intended + \DTMcatalandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{catalan}{showyear}% + {% + \DTMcatalandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMcatalantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMcatalantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMcatalanzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{catalan}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMcatalantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMcatalandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcatalantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMcatalanzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMcatalanzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{catalan}} +{\DTMsetstyle{catalan-numeric}} +% \end{macrocode} +% +% Redefine \cs{datecatalan} (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.) +%\changes{1.1}{2018-03-19}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datecatalan + {% do nothing + }% + {% + \def\datecatalan{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{catalan}}% + {\DTMsetstyle{catalan-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{catalan}}% + {\DTMsetstyle{catalan-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-catalan.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.ins b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.ins new file mode 100644 index 0000000000..379682e5b3 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-catalan.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-catalan.dtx and + datetime2-catalan.ins and the derived files + datetime2-catalan-utf8.ldf, datetime2-catalan-ascii.ldf and + datetime2-catalan.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-catalan-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-catalan.dtx}{datetime2-catalan-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-catalan-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-catalan.dtx}{datetime2-catalan-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-catalan.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-catalan.dtx}{datetime2-catalan.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.pdf Binary files differnew file mode 100644 index 0000000000..bded077c14 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-catalan/datetime2-catalan.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-croatian/README b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/README new file mode 100644 index 0000000000..458bd172b3 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/README @@ -0,0 +1,57 @@ +Croatian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[croatian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[croatian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{croatian} +\usepackage[croatian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-croatian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-croatian/ + +Documentation: + +xelatex datetime2-croatian.dtx +makeindex -s gind.ist datetime2-croatian.idx +makeindex -s gglo.ist -o datetime2-croatian.gls datetime2-croatian.glo +xelatex datetime2-croatian.dtx +xelatex datetime2-croatian.dtx + +Move datetime2-croatian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-croatian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.dtx new file mode 100644 index 0000000000..7aba69614c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.dtx @@ -0,0 +1,830 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Croatian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{359} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-croatian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Croatian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-03-30 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Croatian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-croatian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Croatian. +%In particular, I don't know if the "croatian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-croatian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-croatian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{croatian-utf8}[2015/03/30 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMcroatianordinal} +% \begin{macrocode} +\newcommand*{\DTMcroatianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianyear} +% \begin{macrocode} +\newcommand*{\DTMcroatianyear}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMcroatianmonthname} +% Croatian month names. +% \begin{macrocode} +\newcommand*{\DTMcroatianmonthname}[1]{% + \ifcase#1 + \or + sijeÄnja% + \or + veljaÄe% + \or + ožujka% + \or + travnja% + \or + svibnja% + \or + lipnja% + \or + srpnja% + \or + kolovoza% + \or + rujna% + \or + listopada% + \or + studenoga% + \or + prosinca% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMcroatianMonthname}[1]{% + \ifcase#1 + \or + SijeÄnja% + \or + VeljaÄe% + \or + Ožujka% + \or + Travnja% + \or + Svibnja% + \or + Lipnja% + \or + Srpnja% + \or + Kolovoza% + \or + Rujna% + \or + Listopada% + \or + Studenoga% + \or + Prosinca% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMcroatianweekdayname} +% Croatian day of week names. +% \begin{macrocode} +\newcommand*{\DTMcroatianweekdayname}[1]{% + \ifcase#1 + nedjelja% + \or + ponedjeljak% + \or + utorak% + \or + srijeda% + \or + Äetvrtak% + \or + petak% + \or + subota% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcroatianWeekdayname}[1]{% + \ifcase#1 + Nedjelja% + \or + Ponedjeljak% + \or + Utorak% + \or + Srijeda% + \or + Äetvrtak% + \or + Petak% + \or + Subota% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianshortweekdayname} +%Abbreviated Croatian day of week names. +% \begin{macrocode} +\newcommand*{\DTMcroatianshortweekdayname}[1]{% + \ifcase#1 + ned% + \or + pon% + \or + uto% + \or + sri% + \or + Äet% + \or + pet% + \or + sub% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianshortWeekdayname} +%As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcroatianshortWeekdayname}[1]{% + \ifcase#1 + Ned% + \or + Pon% + \or + Uto% + \or + Sri% + \or + Äet% + \or + Pet% + \or + Sub% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-croatian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-croatian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-croatian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{croatian-ascii}[2015/03/30 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMcroatianordinal} +% \begin{macrocode} +\newcommand*{\DTMcroatianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianyear} +% \begin{macrocode} +\newcommand*{\DTMcroatianyear}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianmonthname} +% Croatian month names. +% \begin{macrocode} +\newcommand*{\DTMcroatianmonthname}[1]{% + \ifcase#1 + \or + sije\protect\v{c}nja% + \or + velja\protect\v{c}e% + \or + o\protect\v{z}ujka% + \or + travnja% + \or + svibnja% + \or + lipnja% + \or + srpnja% + \or + kolovoza% + \or + rujna% + \or + listopada% + \or + studenoga% + \or + prosinca% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcroatianMonthname}[1]{% + \ifcase#1 + \or + Sije\protect\v{c}nja% + \or + Velja\protect\v{c}e% + \or + O\protect\v{z}ujka% + \or + Travnja% + \or + Svibnja% + \or + Lipnja% + \or + Srpnja% + \or + Kolovoza% + \or + Rujna% + \or + Listopada% + \or + Studenoga% + \or + Prosinca% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianweekdayname} +% Croatian day of week names. +% \begin{macrocode} +\newcommand*{\DTMcroatianweekdayname}[1]{% + \ifcase#1 + nedjelja% + \or + ponedjeljak% + \or + utorak% + \or + srijeda% + \or + \protect\v{c}etvrtak% + \or + petak% + \or + subota% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcroatianWeekdayname}[1]{% + \ifcase#1 + Nedjelja% + \or + Ponedjeljak% + \or + Utorak% + \or + Srijeda% + \or + \protect\v{C}etvrtak% + \or + Petak% + \or + Subota% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianshortweekdayname} +% Abbreviated Croatian day of week names. +% \begin{macrocode} +\newcommand*{\DTMcroatianshortweekdayname}[1]{% + \ifcase#1 + ned% + \or + pon% + \or + uto% + \or + sri% + \or + \protect\v{c}et% + \or + pet% + \or + sub% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMcroatianshortWeekdayname}[1]{% + \ifcase#1 + Ned% + \or + Pon% + \or + Uto% + \or + Sri% + \or + \protect\v{C}et% + \or + Pet% + \or + Sub% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-croatian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Croatian Module (\texttt{datetime2-croatian.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-croatian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{croatian}[2015/03/30 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{croatian-utf8} if either of those engines are used +% otherwise load \texttt{croatian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{croatian-utf8} +\else + \ifluatex + \RequireDateTimeModule{croatian-utf8} + \else + \RequireDateTimeModule{croatian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{croatian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "croatian" and +% "croatian-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}{\DTMcroatiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMcroatiandaymonthsep}{\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMcroatianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMcroatiandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMcroatiantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMcroatiandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMcroatiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMcroatiantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{croatian}{daymonthsep}{\renewcommand*{\DTMcroatiandaymonthsep}{#1}} +\DTMdefkey{croatian}{monthyearsep}{\renewcommand*{\DTMcroatianmonthyearsep}{#1}} +\DTMdefkey{croatian}{datetimesep}{\renewcommand*{\DTMcroatiandatetimesep}{#1}} +\DTMdefkey{croatian}{timezonesep}{\renewcommand*{\DTMcroatiantimezonesep}{#1}} +\DTMdefkey{croatian}{datesep}{\renewcommand*{\DTMcroatiandatesep}{#1}} +\DTMdefkey{croatian}{timesep}{\renewcommand*{\DTMcroatiantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{croatian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{croatian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{croatian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{croatian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{croatian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{croatian}{showyear}{true} +% \end{macrocode} +% +% Define the "croatian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {croatian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{croatian}{showdayofmonth} + {\DTMcroatianordinal{##3}\DTMcroatiandaymonthsep}% + {}% + \DTMcroatianmonthname{##2}% + \DTMifbool{croatian}{showyear}% + {% + \DTMcroatianmonthyearsep + \DTMcroatianyear{##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{croatian}{showdayofmonth} + {% + \DTMcroatianordinal{##3}\DTMcroatiandaymonthsep + \DTMcroatianmonthname{##2}% + }% + {% + \DTMcroatianMonthname{##2}% + }% + \DTMifbool{croatian}{showyear}% + {% + \DTMcroatianmonthyearsep + \DTMcroatianyear{##1}% + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMcroatianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{croatian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMcroatiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMcroatiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcroatiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMcroatiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcroatiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {croatian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{croatian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMcroatiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{croatian}{showyear}% + {% + \DTMcroatiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMcroatiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMcroatiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMcroatianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{croatian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMcroatiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMcroatiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMcroatiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMcroatianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMcroatianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{croatian}} +{\DTMsetstyle{croatian-numeric}} +% \end{macrocode} +% +% Redefine \cs{datecroatian} (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\datecroatian + {% do nothing + }% + {% + \def\datecroatian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{croatian}}% + {\DTMsetstyle{croatian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{croatian}}% + {\DTMsetstyle{croatian-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-croatian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.ins new file mode 100644 index 0000000000..078c709a20 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-croatian.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-croatian.dtx and + datetime2-croatian.ins and the derived files + datetime2-croatian-utf8.ldf, datetime2-croatian-ascii.ldf and + datetime2-croatian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-croatian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-croatian.dtx}{datetime2-croatian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-croatian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-croatian.dtx}{datetime2-croatian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-croatian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-croatian.dtx}{datetime2-croatian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.pdf Binary files differnew file mode 100644 index 0000000000..2da114369d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-croatian/datetime2-croatian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-czech/README b/macros/latex/contrib/datetime2-contrib/datetime2-czech/README new file mode 100644 index 0000000000..7f8e8a7c2c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-czech/README @@ -0,0 +1,57 @@ +Czech Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[czech]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[czech]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{czech} +\usepackage[czech]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-czech.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-czech/ + +Documentation: + +xelatex datetime2-czech.dtx +makeindex -s gind.ist datetime2-czech.idx +makeindex -s gglo.ist -o datetime2-czech.gls datetime2-czech.glo +xelatex datetime2-czech.dtx +xelatex datetime2-czech.dtx + +Move datetime2-czech.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-czech/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.dtx new file mode 100644 index 0000000000..cb9018754e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.dtx @@ -0,0 +1,631 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Czech Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{301} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-czech.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Czech Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-03-19 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Czech 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-czech}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Czech. +%In particular, I don't know if the "czech" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-czech.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-czech-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{czech-utf8}[2018/03/19 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMczechordinal} +% \begin{macrocode} +\newcommand*{\DTMczechordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMczechmonthname} +% Czech month names. +% \begin{macrocode} +\newcommand*{\DTMczechmonthname}[1]{% + \ifcase#1 + \or + ledna% + \or + Ćŗnora% + \or + bÅezna% + \or + dubna% + \or + kvÄtna% + \or + Äervna% + \or + Äervence% + \or + srpna% + \or + zĆ”ÅĆ% + \or + ÅĆjna% + \or + listopadu% + \or + prosince% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMczechMonthname}[1]{% + \ifcase#1 + \or + Ledna% + \or + Ćnora% + \or + BÅezna% + \or + Dubna% + \or + KvÄtna% + \or + Äervna% + \or + Äervence% + \or + Srpna% + \or + ZĆ”ÅĆ% + \or + ÅĆjna% + \or + Listopadu% + \or + Prosince% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-czech-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-czech-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-czech-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{czech-ascii}[2018/03/19 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMczechordinal} +% \begin{macrocode} +\newcommand*{\DTMczechordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechmonthname} +% Czech month names. +% \begin{macrocode} +\newcommand*{\DTMczechmonthname}[1]{% + \ifcase#1 + \or + ledna% + \or + \protect\'unora% + \or + b\protect\v{r}ezna% + \or + dubna% + \or + kv\protect\v{e}tna% + \or + \protect\v{c}ervna% + \or + \protect\v{c}ervence% + \or + srpna% + \or + z\protect\'a\protect\v{r}\protect\'{\protect\i}% + \or + \protect\v{r}\protect\'{\protect\i}jna% + \or + listopadu% + \or + prosince% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMczechMonthname}[1]{% + \ifcase#1 + \or + Ledna% + \or + \protect\'Unora% + \or + B\protect\v{r}ezna% + \or + Dubna% + \or + Kv\protect\v{e}tna% + \or + \protect\v{C}ervna% + \or + \protect\v{C}ervence% + \or + Srpna% + \or + Z\protect\'a\protect\v{r}\protect\'{\protect\i}% + \or + \protect\v{R}\protect\'{\protect\i}jna% + \or + Listopadu% + \or + Prosince% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-czech-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Czech Module (\texttt{datetime2-czech.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-czech.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{czech}[2018/03/19 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{czech-utf8} if either of those engines are used +% otherwise load \texttt{czech-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{czech-utf8} +\else + \ifluatex + \RequireDateTimeModule{czech-utf8} + \else + \RequireDateTimeModule{czech-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{czech} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "czech" and +% "czech-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}{\DTMczechdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMczechdaymonthsep}{\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMczechmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMczechdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMczechtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMczechdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMczechtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMczechtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{czech}{daymonthsep}{\renewcommand*{\DTMczechdaymonthsep}{#1}} +\DTMdefkey{czech}{monthyearsep}{\renewcommand*{\DTMczechmonthyearsep}{#1}} +\DTMdefkey{czech}{datetimesep}{\renewcommand*{\DTMczechdatetimesep}{#1}} +\DTMdefkey{czech}{timezonesep}{\renewcommand*{\DTMczechtimezonesep}{#1}} +\DTMdefkey{czech}{datesep}{\renewcommand*{\DTMczechdatesep}{#1}} +\DTMdefkey{czech}{timesep}{\renewcommand*{\DTMczechtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{czech}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{czech}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{czech}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{czech}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{czech}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{czech}{showyear}{true} +% \end{macrocode} +% +% Define the "czech" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {czech}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{czech}{showdayofmonth} + {\DTMczechordinal{##3}\DTMczechdaymonthsep}% + {}% + \DTMczechmonthname{##2}% + \DTMifbool{czech}{showyear}% + {% + \DTMczechmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{czech}{showdayofmonth} + {% + \DTMczechordinal{##3}\DTMczechdaymonthsep + \DTMczechmonthname{##2}% + }% + {% + \DTMczechMonthname{##2}% + }% + \DTMifbool{czech}{showyear}% + {% + \DTMczechmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMczechzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{czech}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMczechtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMczechdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMczechtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMczechdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMczechtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {czech-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{czech}{showdayofmonth}% + {% + \number##3 % space intended + \DTMczechdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{czech}{showyear}% + {% + \DTMczechdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMczechtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMczechtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMczechzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{czech}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMczechtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMczechdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMczechtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMczechzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMczechzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{czech}} +{\DTMsetstyle{czech-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateczech} (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.) +%\changes{1.1}{2018-03-19}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateczech + {% do nothing + }% + {% + \def\dateczech{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{czech}}% + {\DTMsetstyle{czech-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{czech}}% + {\DTMsetstyle{czech-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-czech.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.ins b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.ins new file mode 100644 index 0000000000..6997179488 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-czech.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-czech.dtx and + datetime2-czech.ins and the derived files + datetime2-czech-utf8.ldf, datetime2-czech-ascii.ldf and + datetime2-czech.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-czech-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-czech.dtx}{datetime2-czech-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-czech-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-czech.dtx}{datetime2-czech-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-czech.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-czech.dtx}{datetime2-czech.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.pdf Binary files differnew file mode 100644 index 0000000000..e83c82ea71 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-czech/datetime2-czech.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-danish/README b/macros/latex/contrib/datetime2-contrib/datetime2-danish/README new file mode 100644 index 0000000000..2fb682a883 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-danish/README @@ -0,0 +1,57 @@ +Danish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[danish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[danish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{danish} +\usepackage[danish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-danish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-danish/ + +Documentation: + +xelatex datetime2-danish.dtx +makeindex -s gind.ist datetime2-danish.idx +makeindex -s gglo.ist -o datetime2-danish.gls datetime2-danish.glo +xelatex datetime2-danish.dtx +xelatex datetime2-danish.dtx + +Move datetime2-danish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-danish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.dtx new file mode 100644 index 0000000000..a8936a48e1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.dtx @@ -0,0 +1,723 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Danish Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{301} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-danish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Danish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-03-19 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Danish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-danish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Danish. +%In particular, I don't know if the "danish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-danish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-danish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{danish-utf8}[2018/03/19 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMdanishordinal} +% \begin{macrocode} +\newcommand*{\DTMdanishordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMdanishmonthname} +% Danish month names. +% \begin{macrocode} +\newcommand*{\DTMdanishmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + marts% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + august% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMdanishMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Marts% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + August% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMdanishweekdayname} +% Danish day of week names. +% \begin{macrocode} +\newcommand*{\DTMdanishweekdayname}[1]{% + \ifcase#1 + mandag% + \or + tirsdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + lĆørdag% + \or + sĆøndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMdanishWeekdayname}[1]{% + \ifcase#1 + Mandag% + \or + Tirsdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + LĆørdag% + \or + SĆøndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-danish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-danish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-danish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{danish-ascii}[2018/03/19 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMdanishordinal} +% \begin{macrocode} +\newcommand*{\DTMdanishordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishmonthname} +% Danish month names. +% \begin{macrocode} +\newcommand*{\DTMdanishmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + marts% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + august% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMdanishMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Marts% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + August% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishweekdayname} +% Danish day of week names. +% \begin{macrocode} +\newcommand*{\DTMdanishweekdayname}[1]{% + \ifcase#1 + mandag% + \or + tirsdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + l\protect\o rdag% + \or + s\protect\o ndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMdanishWeekdayname}[1]{% + \ifcase#1 + Mandag% + \or + Tirsdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + L\protect\o rdag% + \or + S\protect\o ndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-danish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Danish Module (\texttt{datetime2-danish.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-danish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{danish}[2018/03/19 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{danish-utf8} if either of those engines are used +% otherwise load \texttt{danish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{danish-utf8} +\else + \ifluatex + \RequireDateTimeModule{danish-utf8} + \else + \RequireDateTimeModule{danish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{danish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "danish" and +% "danish-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}{\DTMdanishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMdanishdaymonthsep}{\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMdanishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMdanishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMdanishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMdanishdatesep}{-} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdanishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMdanishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{danish}{daymonthsep}{\renewcommand*{\DTMdanishdaymonthsep}{#1}} +\DTMdefkey{danish}{monthyearsep}{\renewcommand*{\DTMdanishmonthyearsep}{#1}} +\DTMdefkey{danish}{datetimesep}{\renewcommand*{\DTMdanishdatetimesep}{#1}} +\DTMdefkey{danish}{timezonesep}{\renewcommand*{\DTMdanishtimezonesep}{#1}} +\DTMdefkey{danish}{datesep}{\renewcommand*{\DTMdanishdatesep}{#1}} +\DTMdefkey{danish}{timesep}{\renewcommand*{\DTMdanishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{danish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{danish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{danish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{danish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{danish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{danish}{showyear}{true} +% \end{macrocode} +% +% Define the "danish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {danish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{danish}{showdayofmonth} + {\DTMdanishordinal{##3}\DTMdanishdaymonthsep}% + {}% + \DTMdanishmonthname{##2}% + \DTMifbool{danish}{showyear}% + {% + \DTMdanishmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{danish}{showdayofmonth} + {% + \DTMdanishordinal{##3}\DTMdanishdaymonthsep + \DTMdanishmonthname{##2}% + }% + {% + \DTMdanishMonthname{##2}% + }% + \DTMifbool{danish}{showyear}% + {% + \DTMdanishmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMdanishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{danish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMdanishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMdanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMdanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {danish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{danish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMdanishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{danish}{showyear}% + {% + \DTMdanishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMdanishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMdanishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMdanishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{danish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMdanishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMdanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMdanishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMdanishzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{danish}} +{\DTMsetstyle{danish-numeric}} +% \end{macrocode} +% +% Redefine \cs{datedanish} (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.) +%\changes{1.1}{2018-03-19}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datedanish + {% do nothing + }% + {% + \def\datedanish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{danish}}% + {\DTMsetstyle{danish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{danish}}% + {\DTMsetstyle{danish-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-danish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.ins new file mode 100644 index 0000000000..4e6b9ddfef --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-danish.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-danish.dtx and + datetime2-danish.ins and the derived files + datetime2-danish-utf8.ldf, datetime2-danish-ascii.ldf and + datetime2-danish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-danish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-danish.dtx}{datetime2-danish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-danish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-danish.dtx}{datetime2-danish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-danish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-danish.dtx}{datetime2-danish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.pdf Binary files differnew file mode 100644 index 0000000000..96445b2415 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-danish/datetime2-danish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-dutch/README b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/README new file mode 100644 index 0000000000..7b78ccf61c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/README @@ -0,0 +1,57 @@ +Dutch Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[dutch]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[dutch]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{dutch} +\usepackage[dutch]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-dutch.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-dutch/ + +Documentation: + +pdflatex datetime2-dutch.dtx +makeindex -s gind.ist datetime2-dutch.idx +makeindex -s gglo.ist -o datetime2-dutch.gls datetime2-dutch.glo +pdflatex datetime2-dutch.dtx +pdflatex datetime2-dutch.dtx + +Move datetime2-dutch.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-dutch/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.dtx new file mode 100644 index 0000000000..2ba2a1ef15 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.dtx @@ -0,0 +1,583 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Dutch Module}]{hyperref} + + +\CheckSum{246} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-dutch.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Dutch Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-06 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Dutch 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-dutch}'s \cs{today}. +% +%I don't know if these settings are correct. +%In particular, I don't know if the "dutch" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-dutch.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%At the moment there is only the one ".ldf" file. +% +%\subsection{Main Dutch Module (\texttt{datetime2-dutch.ldf})} +%\changes{1.0}{2015-03-29}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-dutch.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{dutch}[2018/04/06 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMdutchordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMdutchordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchmonthname} +% Dutch month names. +% \begin{macrocode} +\newcommand*{\DTMdutchmonthname}[1]{% + \ifcase#1 + \or + januari% + \or + februari% + \or + maart% + \or + april% + \or + mei% + \or + juni% + \or + juli% + \or + augustus% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMdutchMonthname}[1]{% + \ifcase#1 + \or + Januari% + \or + Februari% + \or + Maart% + \or + April% + \or + Mei% + \or + Juni% + \or + Juli% + \or + Augustus% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Week day names are provided but currently not used in the date style. +% +%\begin{macro}{\DTMdutchweekdayname} +% Dutch day of week names. +% \begin{macrocode} +\newcommand*{\DTMdutchweekdayname}[1]{% + \ifcase#1 + maandag% + \or + dinsdag% + \or + woensdag% + \or + donderdag% + \or + vrijdag% + \or + zaterdag% + \or + zondag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMdutchWeekdayname}[1]{% + \ifcase#1 + Maandag% + \or + Dinsdag% + \or + Woensdag% + \or + Donderdag% + \or + Vrijdag% + \or + Zaterdag% + \or + Zondag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchshortweekdayname} +% Abbreviated day of week names. +% \begin{macrocode} +\newcommand*{\DTMdutchshortweekdayname}[1]{% + \ifcase#1 + ma% + \or + di% + \or + wo% + \or + do% + \or + vr% + \or + za% + \or + zo% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMdutchshortWeekdayname}[1]{% + \ifcase#1 + Ma% + \or + Di% + \or + Wo% + \or + Do% + \or + Vr% + \or + Za% + \or + Zo% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Define the \texttt{dutch} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "dutch" and +% "dutch-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}{\DTMdutchdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMdutchdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMdutchmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMdutchdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMdutchtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMdutchdatesep}{-} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMdutchtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMdutchtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{dutch}{daymonthsep}{\renewcommand*{\DTMdutchdaymonthsep}{#1}} +\DTMdefkey{dutch}{monthyearsep}{\renewcommand*{\DTMdutchmonthyearsep}{#1}} +\DTMdefkey{dutch}{datetimesep}{\renewcommand*{\DTMdutchdatetimesep}{#1}} +\DTMdefkey{dutch}{timezonesep}{\renewcommand*{\DTMdutchtimezonesep}{#1}} +\DTMdefkey{dutch}{datesep}{\renewcommand*{\DTMdutchdatesep}{#1}} +\DTMdefkey{dutch}{timesep}{\renewcommand*{\DTMdutchtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{dutch}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{dutch}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{dutch}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{dutch}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{dutch}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{dutch}{showyear}{true} +% \end{macrocode} +% +% Define the "dutch" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {dutch}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{dutch}{showdayofmonth} + {\DTMdutchordinal{##3}\DTMdutchdaymonthsep}% + {}% + \DTMdutchmonthname{##2}% + \DTMifbool{dutch}{showyear}% + {% + \DTMdutchmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{dutch}{showdayofmonth} + {% + \DTMdutchordinal{##3}\DTMdutchdaymonthsep + \DTMdutchmonthname{##2}% + }% + {% + \DTMdutchMonthname{##2}% + }% + \DTMifbool{dutch}{showyear}% + {% + \DTMdutchmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMdutchzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{dutch}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMdutchtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMdutchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdutchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMdutchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdutchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {dutch-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{dutch}{showdayofmonth}% + {% + \number##3 % space intended + \DTMdutchdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{dutch}{showyear}% + {% + \DTMdutchdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMdutchtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMdutchtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMdutchzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{dutch}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMdutchtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMdutchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMdutchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMdutchzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMdutchzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{dutch}} +{\DTMsetstyle{dutch-numeric}} +% \end{macrocode} +% +% Redefine \cs{datedutch} (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.) +%\changes{1.1}{2018-04-06}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datedutch + {% do nothing + }% + {% + \def\datedutch{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{dutch}}% + {\DTMsetstyle{dutch-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{dutch}}% + {\DTMsetstyle{dutch-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-dutch.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.ins b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.ins new file mode 100644 index 0000000000..c1fbd4bd35 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.ins @@ -0,0 +1,38 @@ +\input docstrip + +\preamble + + datetime2-dutch.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-dutch.dtx and + datetime2-dutch.ins and the derived file + datetime2-dutch.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-dutch.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-dutch.dtx}{datetime2-dutch.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.pdf Binary files differnew file mode 100644 index 0000000000..ff9c68be42 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-dutch/datetime2-dutch.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/README b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/README new file mode 100644 index 0000000000..97586a91b7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/README @@ -0,0 +1,50 @@ +English Full Text Styles for datetime2 Package + +Author: Nicola L. C. Talbot + www.dickimaw-books.com + +Licence: LPPL + +Required Packages: datetime2, fmtcount + +This package provides the following the date and time +styles "en-fulltext", "en-FullText", "en-FULLTEXT" and the +additional time style "en-Fulltext". (The date equivalent can be +obtained through commands like \Today.) + +Example usage: + +\documentclass{article} +\usepackage[showdow]{datetime2-en-fulltext} +\begin{document} +Date: \today. Time: \DTMcurrenttime. +\end{document} + +Unlike the base styles provided by datetime2.sty, these styles +aren't expandable styles. This means that you can't use the +date or time in PDF bookmarks or in the argument of certain +commands, such as \MakeUppercase, while these styles are in use. + +INSTALLATION +============ + +latex datetime2-fulltext.ins + +Move *.sty file to +TEXMF/tex/latex/datetime2-contrib/datetime2-en-fulltext/ + +Documentation: + +pdflatex datetime2-fulltext.dtx +makeindex -s gind.ist datetime2-fulltext.idx +makeindex -s gglo.ist -o datetime2-fulltext.gls datetime2-fulltext.glo +pdflatex datetime2-fulltext.dtx +pdflatex datetime2-fulltext.dtx + +Move datetime2-fulltext.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-fulltext/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.dtx new file mode 100644 index 0000000000..e3958a3a38 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.dtx @@ -0,0 +1,901 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{datetime2-en-fulltext} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2-en-fulltext.sty: English Full Text +Date and Time Styles}]{hyperref} + + +\CheckSum{649} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-en-fulltext.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{datetime2-en-fulltext.sty: English Full Text Date and Time +%Styles} +%\author{Nicola L. C. Talbot} +%\date{2014-04-01 (v1.0)} +%\maketitle +% +%\begin{abstract} +%This is a supplementary package that provides English full text date and +%time styles for the datetime2.sty package. These styles are +%analogous to the styles provided by the old \sty{datetime}'s +%\cs{textdate} and \cs{oclock}. \textbf{These styles are not +%expandable styles.} This means that you can't use them in PDF +%bookmarks nor can you use them in case-changing commands such as +%\cs{MakeUppercase}. +%\end{abstract} +% +%\section{Introduction} +% +%This package loads the \sty{datetime2} package and the +%"english-base" language module, if not already loaded, and provides the +%date styles: +%\begin{description} +%\item[en-fulltext] Produces the date in the style: +%\DTMsetdatestyle{en-fulltext}\today. (Lower case ordinal and number +%words.) Commands such as \cs{Today} will start with a capital. For +%example: \Today. +%\item[en-FullText] Produces the date in the style: +%\DTMsetdatestyle{en-FullText}\today. (Title Case.) +%\item[en-FULLTEXT] Produces the date in the style: +%\DTMsetdatestyle{en-FULLTEXT}\today. (All caps.) +%\end{description} +%These styles honour the \opt{showdow} setting. Example: +%\begin{verbatim} +%\documentclass{article} +%\usepackage[showdow]{datetime2-en-fulltext} +%\begin{document} +%Date: \today. +%\end{document} +%\end{verbatim} +%The separator between the month and year is given by +%\cs{DTMenfulltextmonthyearsep} which may be redefined using +%\cs{renewcommand}. +% +%The \sty{datetime2-en-fulltext} package automatically switches on +%the "en-fulltext" date style. You can switch the style using +%\cs{DTMsetdatestyle}. For example: +%\begin{verbatim} +%\DTMsetdatestyle{en-FullText} +%\end{verbatim} +% +%This package also provides the time styles: +%\begin{description} +%\item[en-fulltext] Produces the time in the style: +%\DTMsettimestyle{en-fulltext}\DTMcurrenttime. (Lower case.) +% +%\item[en-Fulltext] Produces the time in the style: +%\DTMsettimestyle{en-Fulltext}\DTMcurrenttime. (Initial capital.) +% +%\item[en-FullText] Produces the time in the style: +%\DTMsettimestyle{en-FullText}\DTMcurrenttime. (Title Case.) +% +%\item[en-FULLTEXT] Produces the time in the style: +%\DTMsettimestyle{en-FULLTEXT}\DTMcurrenttime. (All caps.) +% +%\end{description} +% +%The \sty{datetime2-en-fulltext} package automatically switches on +%the "en-fulltext" time style. You can switch the style using +%\cs{DTMsettimestyle}. For example: +%\begin{verbatim} +%\DTMsettimestyle{en-FullText} +%\end{verbatim} +% +%Note that if you use \sty{polyglossia} or \sty{babel} and you don't +%have \sty{datetime2}'s \opt{useregional} setting set to "false", +%then the regional styles will override the styles provided here. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +% +%\changes{1.0}{2015-04-01}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-fulltext.sty> +% \end{macrocode} +%\fi +%Identify package +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{datetime2-en-fulltext}[2015/04/01 v1.0] +% \end{macrocode} +% Pass all options to \sty{datetime2}: +% \begin{macrocode} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime2}} +\ProcessOptions +% \end{macrocode} +% Requires \sty{datetime2}: +% \begin{macrocode} +\RequirePackage{datetime2} +% \end{macrocode} +% Also requries \sty{fmtcount}: +% \begin{macrocode} +\RequirePackage{fmtcount} +% \end{macrocode} +% If the "english-base" language module hasn't been loaded, load it now. +% \begin{macrocode} +\def\CurrentTrackedDialect{english} +\RequireDateTimeModule{english-base} +\undef\CurrentTrackedDialect +% \end{macrocode} +% Define the "en-fulltext" date style: +% \begin{macrocode} +\DTMnewdatestyle{en-fulltext}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMenglishweekdayname{##4} the\space + \fi + \fi + \protect\ordinalstringnum{##3} of \DTMenglishmonthname{##2}% + \DTMenfulltextmonthyearsep + \protect\numberstringnum{##1}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMenglishweekdayname{##4} the\space + \else + \protect\Ordinalstringnum{##3} + \fi + \else + \protect\Ordinalstringnum{##3} + \fi + of \DTMenglishmonthname{##2}% + \DTMenfulltextmonthyearsep + \protect\numberstringnum{##1}% + }% +} +% \end{macrocode} +% +% Define the "en-FullText" date style: +% \begin{macrocode} +\DTMnewdatestyle{en-FullText}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMenglishweekdayname{##4} the\space + \fi + \fi + \protect\Ordinalstringnum{##3} of \DTMenglishmonthname{##2}% + \DTMenfulltextmonthyearsep + \protect\Numberstringnum{##1}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% +} +% \end{macrocode} +% +% Define the "en-FULLTEXT" date style: +% \begin{macrocode} +\DTMnewdatestyle{en-FULLTEXT}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \MakeUppercase{\DTMenglishweekdayname{##4}} THE\space + \fi + \fi + \protect\ORDINALstringnum{##3} OF + \MakeUppercase{\DTMenglishmonthname{##2}% + \DTMenfulltextmonthyearsep}% + \protect\NUMBERstringnum{##1}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% +} +% \end{macrocode} +% +%\begin{macro}{\DTMenfulltextmonthyearsep} +% Separator between month and year. +% \begin{macrocode} +\newcommand*\DTMenfulltextmonthyearsep{,\space} +% \end{macrocode} +%\end{macro} +% Set the "en-fulltext" date style: +% \begin{macrocode} +\DTMsetdatestyle{en-fulltext} +% \end{macrocode} +% +%Define the "en-fulltext" time style. Seconds are ignored. +% \begin{macrocode} +\DTMnewtimestyle{en-fulltext}{% + \renewcommand*\DTMdisplaytime[3]{% + \ifboolexpr + { test {\ifnumequal{##2}{0}} and + ( + test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} + ) + }% + {% +% \end{macrocode} +% Either midnight or midday. +% \begin{macrocode} + \ifnum##1=12 + \DTMenglishnoon + \else + \DTMenglishmidnight + \fi + }% + {% +% \end{macrocode} +% Neither midnight nor midday. +% \begin{macrocode} + \ifnum##2=0 +% \end{macrocode} +% On the hour. +% \begin{macrocode} + \protect\numberstringnum{##1} \DTMoclockstring + \else +% \end{macrocode} +% Not on the hour. +% \begin{macrocode} + \ifnum##2<31 +% \end{macrocode} +% Past the hour. +% \begin{macrocode} + \ifnum##2=15 +% \end{macrocode} +% Quarter past the hour. +% \begin{macrocode} + \DTMquarterpaststring\space + \else + \ifnum##2=30 +% \end{macrocode} +% Half past the hour. +% \begin{macrocode} + \DTMhalfpaststring\space + \else + \protect\numberstringnum{##2} + \ifnum##2=1 \DTMminutepaststring\else \DTMminutespaststring\fi + \space + \fi + \fi + \ifnum##1>12 + \ifnum##1=24 + \DTMenglishmidnight + \else + \protect\numberstringnum{\numexpr##1-12}% + \fi + \else + \ifnum##1=0 + \DTMenglishmidnight + \else + \protect\numberstringnum{##1}% + \fi + \fi + \else +% \end{macrocode} +% To the hour. +% \begin{macrocode} + \ifnum##2=45 + \DTMquartertostring\space + \else + \protect\numberstringnum{\numexpr60-##2} + \ifnum##2=59 \DTMminutetostring\else \DTMminutestostring\fi + \space + \fi + \ifnum##1>12 + \ifnum##1=24 + \protect\numberstringnum{1}% + \else + \ifnum##1=23 + \DTMenglishmidnight + \else + \protect\numberstringnum{\numexpr##1-11}% + \fi + \fi + \else + \ifnum##1=12 + \protect\numberstringnum{1}% + \else + \protect\numberstringnum{\numexpr##1+1}% + \fi + \fi + \fi + \fi + \ifnum##1>11 + \ifnum##1=23 + \ifnum##2<31 + \space\DTMafternoonstring + \fi + \else + \ifnum##1=24 + \ifnum##2>30 + \space\DTMmorningstring + \fi + \else + \space\DTMafternoonstring + \fi + \fi + \else + \ifnum##1>0 + \space\DTMmorningstring + \else + \ifnum##2>30 + \space\DTMmorningstring + \fi + \fi + \fi + }% + }% +} +% \end{macrocode} +% +%Define the "en-Fulltext" time style. Seconds are ignored. +% \begin{macrocode} +\DTMnewtimestyle{en-Fulltext}{% + \renewcommand*\DTMdisplaytime[3]{% + \ifboolexpr + { test {\ifnumequal{##2}{0}} and + ( + test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} + ) + }% + {% +% \end{macrocode} +% Either midnight or midday. +% \begin{macrocode} + \ifnum##1=12 + \expandafter\MakeUppercase\DTMenglishnoon + \else + \expandafter\MakeUppercase\DTMenglishmidnight + \fi + }% + {% +% \end{macrocode} +% Neither midnight nor midday. +% \begin{macrocode} + \ifnum##2=0 +% \end{macrocode} +% On the hour. +% \begin{macrocode} + \protect\Numberstringnum{##1} \DTMoclockstring + \else +% \end{macrocode} +% Not on the hour. +% \begin{macrocode} + \ifnum##2<31 +% \end{macrocode} +% Past the hour. +% \begin{macrocode} + \ifnum##2=15 +% \end{macrocode} +% Quarter past the hour. +% \begin{macrocode} + \expandafter\MakeUppercase\DTMquarterpaststring\space + \else + \ifnum##2=30 +% \end{macrocode} +% Half past the hour. +% \begin{macrocode} + \expandafter\MakeUppercase\DTMhalfpaststring\space + \else + \protect\Numberstringnum{##2} + \ifnum##2=1 \DTMminutepaststring\else \DTMminutespaststring\fi + \space + \fi + \fi + \ifnum##1>12 + \ifnum##1=24 + \DTMenglishmidnight + \else + \protect\numberstringnum{\numexpr##1-12}% + \fi + \else + \ifnum##1=0 + \DTMenglishmidnight + \else + \protect\numberstringnum{##1}% + \fi + \fi + \else +% \end{macrocode} +% To the hour. +% \begin{macrocode} + \ifnum##2=45 + \expandafter\MakeUppercase\DTMquartertostring\space + \else + \protect\Numberstringnum{\numexpr60-##2} + \ifnum##2=59 \DTMminutetostring\else \DTMminutestostring\fi + \space + \fi + \ifnum##1>12 + \ifnum##1=24 + \protect\numberstringnum{1}% + \else + \ifnum##1=23 + \DTMenglishmidnight + \else + \protect\numberstringnum{\numexpr##1-11}% + \fi + \fi + \else + \ifnum##1=12 + \protect\numberstringnum{1}% + \else + \protect\numberstringnum{\numexpr##1+1}% + \fi + \fi + \fi + \fi + \ifnum##1>11 + \ifnum##1=23 + \ifnum##2<31 + \space\DTMafternoonstring + \fi + \else + \ifnum##1=24 + \ifnum##2>30 + \space\DTMmorningstring + \fi + \else + \space\DTMafternoonstring + \fi + \fi + \else + \ifnum##1>0 + \space\DTMmorningstring + \else + \ifnum##2>30 + \space\DTMmorningstring + \fi + \fi + \fi + }% + }% +} +% \end{macrocode} +% +%Define the "en-FULLTEXT" time style. Seconds are ignored. +% \begin{macrocode} +\DTMnewtimestyle{en-FULLTEXT}{% + \renewcommand*\DTMdisplaytime[3]{% + \ifboolexpr + { test {\ifnumequal{##2}{0}} and + ( + test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} + ) + }% + {% +% \end{macrocode} +% Either midnight or midday. +% \begin{macrocode} + \ifnum##1=12 + \MakeUppercase\DTMenglishnoon + \else + \MakeUppercase\DTMenglishmidnight + \fi + }% + {% +% \end{macrocode} +% Neither midnight nor midday. +% \begin{macrocode} + \ifnum##2=0 +% \end{macrocode} +% On the hour. +% \begin{macrocode} + \protect\NUMBERstringnum{##1} \MakeUppercase\DTMoclockstring + \else +% \end{macrocode} +% Not on the hour. +% \begin{macrocode} + \ifnum##2<31 +% \end{macrocode} +% Past the hour. +% \begin{macrocode} + \ifnum##2=15 +% \end{macrocode} +% Quarter past the hour. +% \begin{macrocode} + \MakeUppercase\DTMquarterpaststring\space + \else + \ifnum##2=30 +% \end{macrocode} +% Half past the hour. +% \begin{macrocode} + \MakeUppercase\DTMhalfpaststring\space + \else + \protect\NUMBERstringnum{##2} + \MakeUppercase + {% + \ifnum##2=1 \DTMminutepaststring\else \DTMminutespaststring\fi + }% + \space + \fi + \fi + \ifnum##1>12 + \ifnum##1=24 + \MakeUppercase\DTMenglishmidnight + \else + \protect\NUMBERstringnum{\numexpr##1-12}% + \fi + \else + \ifnum##1=0 + \MakeUppercase\DTMenglishmidnight + \else + \protect\NUMBERstringnum{##1}% + \fi + \fi + \else +% \end{macrocode} +% To the hour. +% \begin{macrocode} + \ifnum##2=45 + \MakeUppercase\DTMquartertostring\space + \else + \protect\NUMBERstringnum{\numexpr60-##2} + \MakeUppercase + {% + \ifnum##2=59 \DTMminutetostring\else \DTMminutestostring\fi + }% + \space + \fi + \ifnum##1>12 + \ifnum##1=24 + \protect\NUMBERstringnum{1}% + \else + \ifnum##1=23 + \MakeUppercase\DTMenglishmidnight + \else + \protect\NUMBERstringnum{\numexpr##1-11}% + \fi + \fi + \else + \ifnum##1=12 + \protect\NUMBERstringnum{1}% + \else + \protect\NUMBERstringnum{\numexpr##1+1}% + \fi + \fi + \fi + \fi + \ifnum##1>11 + \ifnum##1=23 + \ifnum##2<31 + \space\MakeUppercase\DTMafternoonstring + \fi + \else + \ifnum##1=24 + \ifnum##2>30 + \space\MakeUppercase\DTMmorningstring + \fi + \else + \space\MakeUppercase\DTMafternoonstring + \fi + \fi + \else + \ifnum##1>0 + \space\MakeUppercase\DTMmorningstring + \else + \ifnum##2>30 + \space\MakeUppercase\DTMmorningstring + \fi + \fi + \fi + }% + }% +} +% \end{macrocode} +% +%Define the "en-FullText" time style. Seconds are ignored. +% \begin{macrocode} +\DTMnewtimestyle{en-FullText}{% + \renewcommand*\DTMdisplaytime[3]{% + \ifboolexpr + { test {\ifnumequal{##2}{0}} and + ( + test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} + ) + }% + {% +% \end{macrocode} +% Either midnight or midday. +% \begin{macrocode} + \ifnum##1=12 + \expandafter\MakeUppercase\DTMenglishnoon + \else + \expandafter\MakeUppercase\DTMenglishmidnight + \fi + }% + {% +% \end{macrocode} +% Neither midnight nor midday. +% \begin{macrocode} + \ifnum##2=0 +% \end{macrocode} +% On the hour. +% \begin{macrocode} + \protect\Numberstringnum{##1} \DTMOClockstring + \else +% \end{macrocode} +% Not on the hour. +% \begin{macrocode} + \ifnum##2<31 +% \end{macrocode} +% Past the hour. +% \begin{macrocode} + \ifnum##2=15 +% \end{macrocode} +% Quarter past the hour. +% \begin{macrocode} + \DTMQuarterPaststring\space + \else + \ifnum##2=30 +% \end{macrocode} +% Half past the hour. +% \begin{macrocode} + \DTMHalfPaststring\space + \else + \protect\Numberstringnum{##2} + \ifnum##2=1 \DTMMinutePaststring\else \DTMMinutesPaststring\fi + \space + \fi + \fi + \ifnum##1>12 + \ifnum##1=24 + \expandafter\MakeUppercase\DTMenglishmidnight + \else + \protect\Numberstringnum{\numexpr##1-12}% + \fi + \else + \ifnum##1=0 + \expandafter\MakeUppercase\DTMenglishmidnight + \else + \protect\Numberstringnum{##1}% + \fi + \fi + \else +% \end{macrocode} +% To the hour. +% \begin{macrocode} + \ifnum##2=45 + \DTMQuarterTostring\space + \else + \protect\Numberstringnum{\numexpr60-##2} + \ifnum##2=59 \DTMMinuteTostring\else \DTMMinutesTostring\fi + \space + \fi + \ifnum##1>12 + \ifnum##1=24 + \protect\Numberstringnum{1}% + \else + \ifnum##1=23 + \expandafter\MakeUppercase\DTMenglishmidnight + \else + \protect\Numberstringnum{\numexpr##1-11}% + \fi + \fi + \else + \ifnum##1=12 + \protect\Numberstringnum{1}% + \else + \protect\Numberstringnum{\numexpr##1+1}% + \fi + \fi + \fi + \fi + \ifnum##1>11 + \ifnum##1=23 + \ifnum##2<31 + \space\DTMAfterNoonstring + \fi + \else + \ifnum##1=24 + \ifnum##2>30 + \space\DTMMorningstring + \fi + \else + \space\DTMAfterNoonstring + \fi + \fi + \else + \ifnum##1>0 + \space\DTMMorningstring + \else + \ifnum##2>30 + \space\DTMMorningstring + \fi + \fi + \fi + }% + }% +} +% \end{macrocode} +% +%\begin{macro}{\DTMoclockstring} +% \begin{macrocode} +\newcommand*{\DTMoclockstring}{o'clock} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMOClockstring} +% \begin{macrocode} +\newcommand*{\DTMOClockstring}{O'Clock} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMquarterpaststring} +% \begin{macrocode} +\newcommand*{\DTMquarterpaststring}{quarter past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMQuarterPaststring} +% \begin{macrocode} +\newcommand*{\DTMQuarterPaststring}{Quarter Past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMminutepaststring} +% \begin{macrocode} +\newcommand*{\DTMminutepaststring}{minute past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMminutespaststring} +% \begin{macrocode} +\newcommand*{\DTMminutespaststring}{minutes past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMMinutePaststring} +% \begin{macrocode} +\newcommand*{\DTMMinutePaststring}{Minute Past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMMinutesPaststring} +% \begin{macrocode} +\newcommand*{\DTMMinutesPaststring}{Minutes Past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMhalfpaststring} +% \begin{macrocode} +\newcommand*{\DTMhalfpaststring}{half past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMHalfPaststring} +% \begin{macrocode} +\newcommand*{\DTMHalfPaststring}{Half Past} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMquartertostring} +% \begin{macrocode} +\newcommand*{\DTMquartertostring}{quarter to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMQuarterTostring} +% \begin{macrocode} +\newcommand*{\DTMQuarterTostring}{Quarter to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMminutetostring} +% \begin{macrocode} +\newcommand*{\DTMminutetostring}{minute to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMMinuteTostring} +% \begin{macrocode} +\newcommand*{\DTMMinuteTostring}{Minute to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMminutestostring} +% \begin{macrocode} +\newcommand*{\DTMminutestostring}{minutes to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMMinutesTostring} +% \begin{macrocode} +\newcommand*{\DTMMinutesTostring}{Minutes to} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmorningstring} +% \begin{macrocode} +\newcommand*{\DTMmorningstring}{in the morning} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMMorningstring} +% \begin{macrocode} +\newcommand*{\DTMMorningstring}{in the Morning} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMafternoonstring} +% \begin{macrocode} +\newcommand*{\DTMafternoonstring}{in the afternoon} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMAfterNoonstring} +% \begin{macrocode} +\newcommand*{\DTMAfterNoonstring}{in the Afternoon} +% \end{macrocode} +%\end{macro} +% +% +%Set the "en-fulltext" time style: +% \begin{macrocode} +\DTMsettimestyle{en-fulltext} +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-fulltext.sty> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.ins b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.ins new file mode 100644 index 0000000000..761fe12867 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.ins @@ -0,0 +1,40 @@ +\input docstrip + +\preamble + + datetime2-en-fulltext.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Nicola Talbot. + + This work consists of the files datetime2-en-fulltext.dtx and + datetime2-en-fulltext.ins and the derived file + datetime2-en-fulltext.sty. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-en-fulltext.sty}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-en-fulltext.dtx}{datetime2-en-fulltext.sty,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.pdf Binary files differnew file mode 100644 index 0000000000..2f5a6a05e6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/datetime2-en-fulltext.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.pdf Binary files differnew file mode 100644 index 0000000000..b672ba4120 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.tex b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.tex new file mode 100644 index 0000000000..ee2bee11f7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-en-fulltext/sample-en-fulltext.tex @@ -0,0 +1,164 @@ +% This file is public domain. +\documentclass{article} + +\usepackage[showdow]{datetime2-en-fulltext} + +\begin{document} +\section{Date} + +\begin{description} +\item[en-fulltext:] +\DTMsetdatestyle{en-fulltext} +\today. + +\item[en-FullText:] +\DTMsetdatestyle{en-FullText} +\today. + +\item[en-FULLTEXT:] +\DTMsetdatestyle{en-FULLTEXT} +\today. +\end{description} + +\section{Time} +\subsection{Default (en-fulltext)} + +Time: \DTMcurrenttime. + +12.00: \DTMdisplaytime{12}{00}{00}. + +0.00: \DTMdisplaytime{0}{0}{0}. + +24.00: \DTMdisplaytime{24}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. + +0.45: \DTMdisplaytime{0}{45}{0}. + +8.01: \DTMdisplaytime{8}{01}{0}. + +8.59: \DTMdisplaytime{8}{59}{0}. + +6.30: \DTMdisplaytime{6}{30}{0}. + +11.45: \DTMdisplaytime{11}{45}{0}. + +12.15: \DTMdisplaytime{12}{15}{0}. + +12.55: \DTMdisplaytime{12}{55}{0}. + +23.58: \DTMdisplaytime{23}{58}{0}. + +24.03: \DTMdisplaytime{24}{03}{0}. + +24.48: \DTMdisplaytime{24}{48}{0}. + +\subsection{en-Fulltext} +\DTMsettimestyle{en-Fulltext} + +Time: \DTMcurrenttime. + +12.00: \DTMdisplaytime{12}{00}{00}. + +0.00: \DTMdisplaytime{0}{0}{0}. + +24.00: \DTMdisplaytime{24}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. + +0.45: \DTMdisplaytime{0}{45}{0}. + +8.01: \DTMdisplaytime{8}{01}{0}. + +8.59: \DTMdisplaytime{8}{59}{0}. + +6.30: \DTMdisplaytime{6}{30}{0}. + +11.45: \DTMdisplaytime{11}{45}{0}. + +12.15: \DTMdisplaytime{12}{15}{0}. + +12.55: \DTMdisplaytime{12}{55}{0}. + +23.58: \DTMdisplaytime{23}{58}{0}. + +24.03: \DTMdisplaytime{24}{03}{0}. + +24.48: \DTMdisplaytime{24}{48}{0}. + +\subsection{en-FULLTEXT} +\DTMsettimestyle{en-FULLTEXT} + +Time: \DTMcurrenttime. + +12.00: \DTMdisplaytime{12}{00}{00}. + +0.00: \DTMdisplaytime{0}{0}{0}. + +24.00: \DTMdisplaytime{24}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. + +0.45: \DTMdisplaytime{0}{45}{0}. + +8.01: \DTMdisplaytime{8}{01}{0}. + +8.59: \DTMdisplaytime{8}{59}{0}. + +6.30: \DTMdisplaytime{6}{30}{0}. + +11.45: \DTMdisplaytime{11}{45}{0}. + +12.15: \DTMdisplaytime{12}{15}{0}. + +12.55: \DTMdisplaytime{12}{55}{0}. + +23.58: \DTMdisplaytime{23}{58}{0}. + +24.03: \DTMdisplaytime{24}{03}{0}. + +24.48: \DTMdisplaytime{24}{48}{0}. + +\subsection{en-FullText} +\DTMsettimestyle{en-FullText} + +Time: \DTMcurrenttime. + +12.00: \DTMdisplaytime{12}{00}{00}. + +0.00: \DTMdisplaytime{0}{0}{0}. + +24.00: \DTMdisplaytime{24}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. + +0.45: \DTMdisplaytime{0}{45}{0}. + +8.01: \DTMdisplaytime{8}{01}{0}. + +8.59: \DTMdisplaytime{8}{59}{0}. + +6.30: \DTMdisplaytime{6}{30}{0}. + +11.45: \DTMdisplaytime{11}{45}{0}. + +12.15: \DTMdisplaytime{12}{15}{0}. + +12.55: \DTMdisplaytime{12}{55}{0}. + +23.58: \DTMdisplaytime{23}{58}{0}. + +24.03: \DTMdisplaytime{24}{03}{0}. + +24.48: \DTMdisplaytime{24}{48}{0}. + +\end{document} + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/CHANGES b/macros/latex/contrib/datetime2-contrib/datetime2-english/CHANGES new file mode 100644 index 0000000000..f754b79612 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/CHANGES @@ -0,0 +1,22 @@ +v1.04 (2016-03-09): + + * Added "dowdaysep" option to en-GB, en-AU, en-NZ, en-GG, + en-JE, en-IM, en-MT and en-IE modules. + +v1.03 (2016-01-23): + + * Added "zone" option to en-US, en-CA and en-AU modules. + + * Bug fix in englishampm time style + +v1.02 (2016-01-18): + + * Added support for "showdow" to the en-US and en-CA styles. + +v1.01 (2015-04-09): + + * Fixed bug where en-GB-numeric was mistyped as en-GB-regional + +v1.0 (2015-03-24): + + * Initial release diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/README b/macros/latex/contrib/datetime2-contrib/datetime2-english/README new file mode 100644 index 0000000000..17eef77f2a --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/README @@ -0,0 +1,69 @@ +English Language Module for datetime2 Package + +Author: Nicola L. C. Talbot + www.dickimaw-books.com + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module provides the following styles: + +english (English - no region) +en-GB (English - United Kingdom of Great Britain and Northern Ireland) +en-US (English - United States of America) +en-CA (English - Canada) +en-AU (English - Commonwealth of Australia) +en-NZ (English - New Zealand) +en-GG (English - Bailiwick of Guernsey) +en-JE (English - Bailiwick of Jersey) +en-IM (English - Isle of Man) +en-MT (English - Republic of Malta) +en-IE (English - Republic of Ireland) + +Example usage: + +\documentclass{article} +\usepackage[en-GB]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[british]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage[variant=uk]{english} +\usepackage[en-GB]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-english.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-english/ + +Documentation: + +pdflatex datetime2-english.dtx +makeindex -s gind.ist datetime2-english.idx +makeindex -s gglo.ist -o datetime2-english.gls datetime2-english.glo +pdflatex datetime2-english.dtx +pdflatex datetime2-english.dtx + +Move datetime2-english.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-english/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.pdf Binary files differnew file mode 100644 index 0000000000..f51efa41f5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.tex b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.tex new file mode 100644 index 0000000000..685bf9a7f1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english-sample.tex @@ -0,0 +1,89 @@ +% This file is public domain +% arara: pdflatex +% arara: pdflatex +\documentclass[british,american,australian,canadian,newzealand,en-GG,en-JE,en-IM,en-MT,en-IE]{article} + +\usepackage{babel} +\usepackage[useregional,% use regional style instead of default ISO format + showzoneminutes=false,% don't show time zone minutes + showdow% show the day of week name if supported + ]{datetime2} +\usepackage[colorlinks]{hyperref} + +% Use standard mappings for the time zones (if supported) +\DTMlangsetup*{mapzone,zone=standard} + +% Save some date and times for later use +\DTMsavetimestamp{mydate}{2014-06-03T12:45:02+01:00} +\DTMsavetimestamp{mydate2}{2015-03-20T08:05:09+00:00} +\DTMsavetimestamp{mydate3}{2012-12-28T13:35:28-04:00} +\DTMsavetimestamp{mydate3}{2014-12-15T23:55:49-06:00} +\DTMsavetimestamp{mydate4}{2014-01-27T12:05:00+09:30} +\DTMsavetimestamp{mydate5}{2013-11-28T02:05:00+11:00} + +% Define command to test each region for this sample document +\newcommand{\testregion}[1]{% + \ifcsdef{date#1}{\selectlanguage{#1}}{\DTMsetstyle{#1}}% + + \section{#1} + + Today: \today. + + Now: \DTMnow. + + \subsection{\DTMuse{mydate}} + Saved Date (\texttt{mydate}): \DTMusedate{mydate} + Saved time (\texttt{mydate}): \DTMusetime{mydate}. + \typeout{Date (#1): \DTMusedate{mydate}} + + \subsection{\DTMuse{mydate2}} + Saved Date (\texttt{mydate2}): \DTMusedate{mydate2} + Saved time (\texttt{mydate2}): \DTMusetime{mydate2}. + \typeout{Date (#1): \DTMusedate{mydate2}} + + \subsection{\DTMuse{mydate3}} + Saved Date (\texttt{mydate3}): \DTMusedate{mydate3} + Saved time (\texttt{mydate3}): \DTMusetime{mydate3}. + \typeout{Date (#1): \DTMusedate{mydate3}} + + \subsection{\DTMuse{mydate4}} + Saved Date (\texttt{mydate4}): \DTMusedate{mydate4} + Saved time (\texttt{mydate4}): \DTMusetime{mydate4}. + \typeout{Date (#1): \DTMusedate{mydate4}} + + \subsection{\DTMuse{mydate5}} + Saved Date (\texttt{mydate5}): \DTMusedate{mydate5} + Saved time (\texttt{mydate5}): \DTMusetime{mydate5}. + \typeout{Date (#1): \DTMusedate{mydate5}} +} + +\title{Sample Document Illustrating datetime2-english} +\author{Nicola Talbot} + +\begin{document} +\maketitle + +\tableofcontents + +\testregion{british} + +\testregion{american} + +\testregion{australian} + +\testregion{canadian} + +\testregion{newzealand} + +% no official babel language for these regions as far as I can tell: +\testregion{en-GG} + +\testregion{en-JE} + +\testregion{en-IM} + +\testregion{en-MT} + +\testregion{en-IE} + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.dtx new file mode 100644 index 0000000000..0b1376ca17 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.dtx @@ -0,0 +1,4905 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty English Module}]{hyperref} + + +\CheckSum{2727} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} +\newcommand*{\utc}[2]{\textsc{utc}\ifnum#1<0 $-$\number-#1\else $+$\number#1\fi + \ifnum#2>0 :\number#2 \fi\relax} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-english.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{English Module for datetime2 Package} +%\author{Nicola L. C. Talbot} +%\date{2016-03-09 (v1.04)} +%\maketitle +% +%\begin{abstract} +%This is the English 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 on (\texttt{text} or +% \texttt{numeric}) for the language styles to be set. +% Alternatively, you can set them in the document using +% \cs{DTMsetstyle}, but without the \opt{useregional} setting on the +% style will be changed by \cs{date}\meta{language}. +%\end{abstract} +% +%\tableofcontents +%\clearpage +% +%\section{Introduction} +%\label{sec:intro} +% This bundle provides the English modules for \sty{datetime2}. +% The basic "english" module is used when "english" has been +% detected as one of the document's language settings but no +% regional variant has been detected. Note that the \sty{tracklang} +% package can't detect the variant passed to \sty{polyglossia} unless it's been +% passed as a document class option or passed to \sty{tracklang}. +% See the \sty{tracklang} documentation for further details. +% +% Here are some examples for British English with +% \sty{polyglossia}: +% +%\begin{enumerate} +%\item Pass "british" in the document class option list: +%\begin{verbatim} +%\documentclass[british]{article} +% +%\usepackage{fontspec} +%\usepackage{polyglossia} +%\setmainlanguage[variant=uk]{english} +%\usepackage{datetime2} +%\end{verbatim} +%(You need to set the \opt{useregional} option to either +%\texttt{text} or \texttt{numeric} to enable the "en-GB" or +%"en-GB-numeric" styles.) +% +%\item Pass "en-GB" in the document class option list: +%\begin{verbatim} +%\documentclass[en-GB]{article} +% +%\usepackage{fontspec} +%\usepackage{polyglossia} +%\setdefaultlanguage[variant=uk]{english} +% +%\usepackage{datetime2} +%\end{verbatim} +%(You need to set the \opt{useregional} option to either +%\texttt{text} or \texttt{numeric} to enable the "en-GB" or +%"en-GB-numeric" styles.) +% +%\item Pass "en-GB" to \sty{datetime2}: +%\begin{verbatim} +%\documentclass{article} +% +%\usepackage{fontspec} +%\usepackage{polyglossia} +%\setdefaultlanguage[variant=uk]{english} +% +%\usepackage[en-GB]{datetime2} +%\end{verbatim} +% In this last example, the style is automatically switched to +% "en-GB". +%\end{enumerate} +% +%Note that if you pass the language setting through the +%\sty{datetime2} package option list (as in the above example) +%this will also set the \opt{useregional} option to \texttt{text}. +% +%If you're not using \sty{babel} or \sty{polyglossia} but still +% want to use the English modules, you can similarly use the language or +% regional setting in the document class or \sty{datetime2} package +% options. Note that since \sty{datetime2} loads \sty{tracklang}, +% this setting will be remembered by any subsequently loaded +% packages that use \sty{tracklang} to determine the document +% language settings. +% +% For example, to use the "en-GB" date style without loading +% \sty{babel} or \sty{polyglossia}: +%\begin{verbatim} +%\documentclass{article} +%\usepackage[en-GB]{datetime2} +%\begin{document} +%\today +%\end{document} +%\end{verbatim} +% +% If you want to change the settings for a particular module, you +% must use the module's name (such as "en-GB") rather than a +% \sty{babel} or \sty{polyglossia} synonym (such as "british" or "uk"). +% For example: +%\begin{verbatim} +%\DTMlangsetup[en-GB]{ord=raise} +%\end{verbatim} +% +%\section{Base module} +%\label{sec:base} +%The "english-base" module is loaded by all the English modules. It +%provides the commands that produce text, such as the month names. +%It also provides a 12 hour time style called \texttt{englishampm}. +% +%\section{English (no region)} +%\label{sec:english} +% The default "english" module is used when English has been set as +% one of the document languages, but no regional variant has been +% detected or there is no support for the given region. +% +% This basic module provides the date-time style "english" which +% uses the same style as \LaTeX's default \cs{today}. (That is, the +% middle-endian date style.) This style ignores most of the settings, including +% \opt{showdow} and the date separators. The time style uses the +% "englishampm" style defined in the base module which uses the +% package-wide \opt{hourminsep} setting. The zone style is the +% same as that provided by the "default" style. (That is, numerical +% ISO or just ``Z''.) The full date, time and zone style (used by \cs{DTMdisplay}) +% have spaces between each block. The \opt{showdate}, \opt{showzone}, \opt{showseconds}, +% \opt{showzoneminutes} and \opt{showisoZ} \sty{datetime2} settings are honoured. +% +%This module checks for the existence of \cs{dateenglish} or +%\cs{date}\meta{dialect} (in the case of an unknown English +%variant that doesn't match any of the supplied English dialect modules). +%If it exists, the command will be redefined so that it +%sets the date, time and zone styles to "english" if the +%\opt{useregional} setting is set to \texttt{text}. If the setting +%is \texttt{numeric} the "default" numeric style will be used as the +%lack of region makes it ambiguous. +% +%\section{English (GB)} +%\label{sec:en-GB} +% +%The "en-GB" module is loaded if British English has been specified. +%This may be specified through options such as "british", "en-GB" or +%"UKenglish". (See the note on \sty{polyglossia} in \S\ref{sec:intro}.) +% +% This module defines the text style "en-GB" and the +% numeric style "en-GB-numeric" style. The "en-GB" style will +% automatically be set if the \opt{useregional} option is +% set to \texttt{text}. The "en-GB-numeric" style will automatically +% be set if the \opt{useregional} option is set to \texttt{numeric}. +% +% The "en-GB" time style uses the base "englishampm" style. +% +% There are a number of settings provided that can be used in +% \cs{DTMlangsetup} to modify the date-time style. These are: +% +%\begin{description} +%\item[\opt{dowdaysep}] The separator between the day of week name and the +%day of month number. This defaults to \cs{space}. Ignored if the +%\opt{showdow} option is \opt{false}. +% +%\item[\opt{daymonthsep}] The separator between the day and the month +%name in the \texttt{en-GB} style. This defaults to \cs{space}. +% +%\item[\opt{monthyearsep}] The separator between the month name and year +% in the \texttt{en-GB} style. This defaults to \cs{space}. +% +%\item[\opt{datesep}] The separator between the date numbers in the +%"en-GB-numeric" style. This defaults to "/" (slash). +% +%\item[\opt{timesep}] The separator between the hours and minutes in the +%"en-GB-numeric" style. This defaults to ":" (colon). +% +%\item[\opt{datetimesep}] The separator between the date and time for the +%full date-time format (as used by \cs{DTMdisplay}) for both the +%"en-GB" and "en-GB-numeric" styles. This defaults +%to \cs{space}. +% +%\item[\opt{timezonesep}] The separator between the time and zone for the +%full date-time format (as used by \cs{DTMdisplay}) for both the +%"en-GB" and "en-GB-numeric" styles. This defaults +%to \cs{space}. +% +%\item[\opt{abbr}] This is a~boolean key. If "true", the month (and week +%day name if shown) is abbreviated for the "en-GB" style. The default is "false". +% +%\item[\opt{mapzone}] This is a~boolean key. If "true" the time zone +%mappings are applied. (The default is \texttt{true}.) The "en-GB" +% and "en-GB-numeric" styles set the mappings GMT +%(\utc{00}{00}) and BST (\utc{01}{00}). +%Other time zone mappings that have previously been set +%(for example, by another regional style) will remain unchanged +%unless you redefine \cs{DTMresetzones} to reset or unset them. +% +%\item[\opt{ord}] This may take one of the following values: "level" +%(ordinal suffix level with the number), "raise" (ordinal suffix as +%a superscript\footnote{Just in case you plan to send me an irate +%email on this issue, the superscript is a regional handwriting +%style not an invention of word processors although they have +%adopted the style. I was using this style in school in the 1970s +%before I'd ever heard of a word processor so please don't tell me +%I've picked up the habit from Word. I'm not a time-traveller, nor +%were my primary school teachers\,---\,that I know of! If, conversely, +%you want to know why the default is \texttt{level} rather than +%\texttt{raise}, it's because the main purpose of the +%\sty{datetime2} package is to provide an \emph{expandable} text +%format and \cs{textsuperscript} isn't expandable.}), +% "omit" (omit the ordinal suffix) and "sc" (small +%caps ordinal suffix). If you want a different style you can +%redefine \cs{DTMenGBfmtordsuffix} which takes one argument (the +%suffix). Take care if \cs{DTMenGBfmtordsuffix} contains fragile +%commands, as they will need to be protected against expansion. +% +%\item[\opt{showdayofmonth}] A boolean key that determines whether +%or not to show the day of the month. The default value is "true". +%If "false" the day-month separator is also omitted. +% +%\item[\opt{showyear}] A boolean key that determines whether +%or not to show the year. The default value is "true". If "false" +%the month-year separator is also omitted. +%\end{description} +% +%The above settings are specific to this module. In addition, the +%\opt{showdow} boolean option provided by the \sty{datetime2} package is +%also checked to determine whether or not to show the day of the +%week in the "en-GB" style. +% +%The time zone checks the \opt{mapzone} +%setting (described above). If it's set, then +%\cs{DTMusezonemapordefault} is used otherwise a numeric +%\meta{TZH}\meta{sep}\meta{TZM} is displayed. (The minute part will be +%omitted if the \sty{datetime2} package option \opt{showzoneminutes} is +%set to "false". The zone style ignores the \opt{showisoZ} option. +% +% +%\section{English (US)} +%\label{sec:en-US} +% +%The "en-US" module is loaded if US English has been specified. This +%may be done through options such as "american", "en-US" or +%"USenglish". (See the note on \sty{polyglossia} in \S\ref{sec:intro}.) +% +%This module defines the styles "en-US" and +%"en-US-numeric". There a number of settings that can be used in +% \cs{DTMlangsetup} to modify these styles. They are: +%\begin{description} +%\item[\opt{monthdaysep}] The separator between the month name and +%the day in the "en-US" style. The default is \cs{space} +% +%\item[\opt{dayyearsep}] The separator between the day and the year +%in the "en-US" style. The default is ",\space" +% +%\item[\opt{dowmonthsep}] The separator between the day-of-week +%name and the month name in the "en-US" style. The default is +%\cs{space}. This is new to version 1.02, which now supports the +%\opt{showdow} package option. +% +%\item[\opt{datesep}] The separator between the date numbers in the +%"en-US-numeric" format. +% +%\item[\opt{timesep}] The separator between the hour and minutes in the +%"en-US-numeric" format. +% +%\item[\opt{datetimesep}] The separator between the date and the +%time for the full style used by \cs{DTMdisplay} for the "en-US" +%and "en-US-numeric". The default is \cs{space} +% +%\item[\opt{timezonesep}] The separator between the times and +%zone for the full style used by \cs{DTMdisplay}. The default is +%\cs{space} +% +%\item[\opt{abbr}] This is a~boolean key. If "true", the month +%is abbreviated. The default is "false". +% +%\item[\opt{ord}] The same as the "en-GB" style except that the default +%value is "omit". +% +%\item[\opt{showdayofmonth}] A boolean key that determines whether +%or not to show the day of the month. The default value is "true". +%If "false" the day-year separator is also omitted. +% +%\item[\opt{showyear}] A boolean key that determines whether +%or not to show the year. The default value is "true". If "false" +%the day-year separator is also omitted if the day of the month is +%shown otherwise both the day-year and month-day separators are omitted. +% +%\item[\opt{mapzone}] This is a~boolean key. If "true" the time zone +%mappings are applied. (The default is \texttt{false}.) The "en-US" style sets the mappings ADT +%(\utc{-03}{00}), AST (\utc{-04}{00}), EST (\utc{-05}{00}), CST +%(\utc{-06}{00}), +%MST (\utc{-07}{00}) and PST (\utc{-08}{00}). If your want to use different +%mappings, you can redefine \cs{DTMenUSzonemaps}. +%Other time zone mappings that have previously been set +%(for example, by another regional style) will remain unchanged +%unless you redefine \cs{DTMresetzones} to reset or unset them. +% +%\item[\opt{zone}] (new to v1.03) As mentioned above, if the \opt{mapzone} +% option is set, the time zone mappings are set using \cs{DTMenUSzonemaps}. +% This option can be used to both append to \cs{DTMenUSzonemaps} and +% set the new mappings. The \opt{zone} option may take one of the +% following values: +% \begin{itemize} +% \item \opt{std} or \opt{standard}: set the standard time zone +% mappings AST (\utc{-4}{00}), EST (\utc{-5}{00}), CST (\utc{-6}{00}), MST +% (\utc{-7}{00}), PST (\utc{-8}{00}), AKST (\utc{-9}{00}), HAST (\utc{-10}{00}), SST +% (\utc{-10}{00}), ChST (\utc{10}{00}). +% \item \opt{dst} or \opt{daylight}: set the daylight savings time +% zone mappings ADT (\utc{-3}{00}), EDT (\utc{-4}{00}), CDT (\utc{-6}{00}), MDT +% (\utc{-6}{00}), PDT (\utc{-7}{00}), AKDT (\utc{-8}{00}), HADT (\utc{-9}{00}). +% \item \opt{atlantic}: set the Atlantic standard and daylight +% saving mappings AST (\utc{-4}{00}) and ADT (\utc{-3}{00}). +% \item \opt{eastern}: set the Eastern standard and daylight +% saving mappings EST (\utc{-5}{00}) and EDT (\utc{-4}{00}). +% \item \opt{central}: set the Central standard and daylight +% saving mappings CST (\utc{-6}{00}) and CDT (\utc{-5}{00}). +% \item \opt{mountain}: set the Mountain standard and daylight +% saving mappings MST (\utc{-7}{00}) and MDT (\utc{-6}{00}). +% \item \opt{pacific}: set the Pacific standard and daylight +% saving mappings PST (\utc{-8}{00}) and PDT (\utc{-7}{00}). +% \item \opt{alaska}: set the Alaska standard and daylight +% saving mappings AKST (\utc{-9}{00}) and AKDT (\utc{-8}{00}). +% \item \opt{hawaii-aleutian} or \opt{hawaii} or \opt{aleutian}: +% set the Hawaii-Aleutian standard and daylight +% saving mappings HAST (\utc{-10}{00}) and HADT (\utc{-9}{00}). +% \item \opt{samoa}: set the Samoa Standard Time mapping SST (\utc{-11}{00}). +% \item \opt{chamorro}: set the Chamorro Standard Time mapping ChST (\utc{-10}{00}). +% \item \opt{clear}: redefines \cs{DTMenUSzonemaps} to empty and +% clears the mappings (using \cs{DTMclearmap}) for \utc{-3}{00}, \utc{-4}{00}, +% \utc{-5}{00}, \utc{-6}{00}, \utc{-7}{00}, \utc{-8}{00}, \utc{-9}{00}, \utc{-10}{00}, +% \utc{-11}{00} and \utc{10}{00}. +% \end{itemize} +% Other existing mappings are unchanged. For example, +%\begin{verbatim} +%\DTMlangsetup[en-US]{zone=atlantic,zone=pacific} +%\end{verbatim} +% will set the mappings AST (\utc{-4}{00}), ADT (\utc{-3}{00}), PST (\utc{-8}{00}) +% and PDT (\utc{-7}{00}). Any other time zone offset mappings that were +% previously set will remain the same. However: +%\begin{verbatim} +%\DTMlangsetup[en-US]{zone=atlantic,zone=eastern} +%\end{verbatim} +% will result in the mappings ADT (\utc{-3}{00}), EST (\utc{-5}{00}) and EDT +% (\utc{-4}{00}), since the EDT mapping will overwrite the AST mapping. +% Again, any other time zone offset mappings that were previously +% set remain the same. +% +% Another example: +%\begin{verbatim} +%\DTMlangsetup[en-US]{zone=dst,zone=atlantic,zone=pacific} +%\end{verbatim} +% This will first set the daylight saving mappings and then set the +% Atlantic mappings, which means that \utc{-4}{00} will now be mapped to +% AST instead of EDT, and then it will set the Pacific mappings, +% which means that \utc{-8}{00} will now be mapped to PST instead of +% AKDT. +%\end{description} +% +%The "en-US" time style uses the "englishampm" style. The "en-US-numeric" +%uses a 24 hour style. The time zone checks the \opt{mapzone} +%setting (described above). If it's set, then +%\cs{DTMusezonemapordefault} is used otherwise a numeric +%\meta{TZH}:\meta{TZM} is displayed. (The minute part will be +%omitted if the \sty{datetime2} package option \opt{showzoneminutes} is +%set to "false". The zone style ignores the \opt{showisoZ} option. +% +%\section{English (CA)} +%\label{sec:en-CA} +% +%The "en-CA" module is loaded if Canadian English has been specified. This +%may be done through options such as "en-CA" or +%"canadian". (See the note on \sty{polyglossia} in \S\ref{sec:intro}.) +% +% This module provides the "en-CA" and "en-CA-numeric" styles +% that are virtually identical to the "en-US" and "en-US-numeric" style. +% These have the same options as for the US styles but the zone maps +% are provided by \cs{DTMenCAzonemaps}, which can be redefined as required. +% As from v1.03, there's also a \opt{zone} setting that works in a +% similar manner to the \opt{zone} setting for the "en-US" module +% described above. For "en-CA", the +% available values are: +% \begin{itemize} +% \item \opt{std} or \opt{standard}: set the standard time zone +% mappings NST (\utc{-3}{30}), AST (\utc{-4}{00}), EST (\utc{-5}{00}), CST (\utc{-6}{00}), MST +% (\utc{-7}{00}), PST (\utc{-8}{00}). +% \item \opt{dst} or \opt{daylight}: set the daylight savings time +% zone mappings NDT (\utc{-2}{30}), ADT (\utc{-3}{00}), EDT (\utc{-4}{00}), CDT (\utc{-6}{00}), +% MDT (\utc{-6}{00}), PDT (\utc{-7}{00}). +% \item \opt{newfoundland}: set the Newfoundland standard and daylight +% saving mappings NST (\utc{-3}{30}) and NDT (\utc{-2}{30}). +% \item \opt{atlantic}: set the Atlantic standard and daylight +% saving mappings AST (\utc{-4}{00}) and ADT (\utc{-3}{00}). +% \item \opt{eastern}: set the Eastern standard and daylight +% saving mappings EST (\utc{-5}{00}) and EDT (\utc{-4}{00}). +% \item \opt{central}: set the Central standard and daylight +% saving mappings CST (\utc{-6}{00}) and CDT (\utc{-5}{00}). +% \item \opt{mountain}: set the Mountain standard and daylight +% saving mappings MST (\utc{-7}{00}) and MDT (\utc{-6}{00}). +% \item \opt{pacific}: set the Pacific standard and daylight +% saving mappings PST (\utc{-8}{00}) and PDT (\utc{-7}{00}). +% \item \opt{clear}: redefines \cs{DTMenCAzonemaps} to empty and +% clears the mappings (using \cs{DTMclearmap}) for \utc{-2}{30}, +% \utc{-3}{30}, \utc{-3}{00}, \utc{-4}{00}, \utc{-5}{00}, \utc{-6}{00}, \utc{-7}{00} and \utc{-8}{00}. +% \end{itemize} +% For example, if you live in a region that doesn't implement +% daylight saving: +%\begin{verbatim} +%\DTMlangsetup[en-CA]{zone=std} +%\end{verbatim} +% +%\section{English (AU)} +%\label{sec:en-AU} +% +%The "en-AU" module is loaded if Australian English has been specified. This +%may be done through options such as "en-AU" or +%"australian". (See the note on \sty{polyglossia} in \S\ref{sec:intro}.) +% +% This module provides the "en-AU" and "en-AU-numeric" styles that +% are virtually identical to the "en-GB" and "en-GB-numeric" styles. +% These have the same options as the GB styles (except that the default value of +% \opt{ord} is "omit" rather than "level" and the default value of +% "mapzone" is false) but the zone maps are provided by +%\cs{DTMenAUzonemaps}, which can be redefined as required. This +%doesn't take all zones into account, but as from v1.03, there is +%now the \opt{zone} option, which modifies \cs{DTMenAUzonemaps}. +%This works in much the same way as for the "en-US" and "en-CA" +%options of the same name, described above. Available values for the "en-AU" module: +% \begin{itemize} +% \item \opt{std} or \opt{standard}: set the standard time zone +% mappings CCT (\utc{6}{30}), CXT (\utc{7}{00}), AWST (\utc{8}{00}), ACWST (\utc{8}{45}), +% ACST (\utc{9}{30}), AEST (\utc{10}{00}), LHST (\utc{10}{30}), +% NFT (\utc{11}{00}). +% \item \opt{dst} or \opt{daylight}: set the daylight savings time +% zone mappings AWDT (\utc{9}{00}), ACDT (\utc{10}{30}), AEDT (\utc{11}{00}). +% Note that conflicting zones are missing, such as LHDT (\utc{11}{00}) +% which coincides with AEDT. +% \item \opt{central}: set the Australian Central standard and daylight +% saving mappings ACST (\utc{9}{30}) and ACDT (\utc{10}{30}). +% \item \opt{central-western}: set the Australian Central Western +% Standard Time mapping ACWST (\utc{8}{45}). +% \item \opt{western}: set the Australian Western standard and daylight +% saving mappings AWST (\utc{8}{0}) and AWDT (\utc{9}{0}). +% \item \opt{eastern}: set the Australian Eastern standard and daylight +% saving mappings AEST (\utc{10}{0}) and AEDT (\utc{11}{0}). +% \item \opt{christmas}: set the Christmas Island Time mapping CXT +% (\utc{7}{0}). +% \item \opt{lord-howe}: set the Lord Howe Island standard and daylight +% saving mappings LHST (\utc{10}{30}) and LHDT (\utc{11}{0}). +% \item \opt{norfolk}: set the Norfolk Island +% time mapping NFT (\utc{11}{0}). +% \item \opt{cocos} or \opt{keeling}: set the Cocos (Keeling) island +% time mapping CCT (\utc{6}{30}). +% \item \opt{clear}: redefines \cs{DTMenAUzonemaps} to empty and +% clears the mappings (using \cs{DTMclearmap}) for \utc{6}{30}, +% \utc{7}{00}, \utc{8}{00}, \utc{8}{45}, \utc{9}{00}, \utc{9}{30}, \utc{10}{00}, +% \utc{10}{30}, \utc{11}{00}. +% \end{itemize} +%Example: +%\begin{verbatim} +%\DTMlangsetup[en-AU]{zone=cocos,zone=christmas} +%\end{verbatim} +% +%\section{English (NZ)} +%\label{sec:en-NZ} +% +%The "en-NZ" module is loaded if New Zealand English has been specified. This +%may be done through options such as "en-NZ" or +%"newzealand". (See the note on \sty{polyglossia} in \S\ref{sec:intro}.) +% +% This module provides the "en-NZ" and "en-NZ-numeric" styles that +% are virtually identical to the "AU" styles but the zone maps are provided by +%\cs{DTMenNZzonemaps}, which can be redefined as required. +% The default NZ mappings are NZST (\utc{12}{00}), CHAST (\utc{12}{45}), +% NZDT (\utc{13}{00}), CHADT (\utc{13}{45}). +% +%\section{English (GG)} +%\label{sec:en-GG} +% +% The Guernsey English "en-GG" and "en-GG-numeric" styles are like the +% British English "en-GB" and "en-GB-numeric" styles, but replace \texttt{enGB} +% with \texttt{enGG} in the command names. This style can be loaded +% by using \texttt{en-GG} as a document class option or as a +% package option for either \sty{tracklang} or \sty{datetime2}. +% +%\section{English (JE)} +%\label{sec:en-JE} +% The Jersey English "en-JE" and "en-JE-numeric" styles are like the +% British English "en-GB" and "en-GB-numeric" styles, but replace \texttt{enGB} +% with \texttt{enJE} in the command names. This style can be loaded +% by using \texttt{en-JE} as a document class option or as a +% package option for either \sty{tracklang} or \sty{datetime2}. +% +%\section{English (IM)} +%\label{sec:en-IM} +% The Isle of Man "en-IM" and "en-IM-numeric" styles are like the +% British English "en-GB" and "en-GB-numeric" styles, but replace \texttt{enGB} +% with \texttt{enIM} in the command names. This style can be loaded +% by using \texttt{en-IM} as a document class option or as a +% package option for either \sty{tracklang} or \sty{datetime2}. +% +%\section{English (MT)} +%\label{sec:en-MT} +% The Malta English "en-MT" and "en-MT-numeric" styles are like the +% British English "en-GB" and "en-GB-numeric" styles, but replace \texttt{enGB} +% with \texttt{enMT} in the command names. This style can be loaded +% by using \texttt{en-MT} as a document class option or as a +% package option for either \sty{tracklang} or \sty{datetime2}. +% +% There are two main differences in the +% \texttt{en-GB}\slash\texttt{en-GB-numeric} and +% \texttt{en-MT}\slash\texttt{en-MT-numeric} styles: the \opt{ord} option +% (for the text styles) defaults to +% \texttt{omit} and the CET (\utc{1}{0}) and CEST (\utc{2}{0}) time zone +% mappings are added (for both the text and numeric styles). +% +%\section{English (IE)} +%\label{sec:en-IE} +% The Republic of Ireland English "en-IE" and "en-IE-numeric" styles are like the +% British English "en-GB" and "en-GB-numeric" styles, but replace \texttt{enGB} +% with \texttt{enIE} in the command names. This style can be loaded +% by using \texttt{en-IE} as a document class option or as a +% package option for either \sty{tracklang} or \sty{datetime2}. +% You will need at least version 1.2 of the \sty{tracklang} package +% installed. +% +% The only difference in the +% \texttt{en-GB}\slash\texttt{en-GB-numeric} and +% \texttt{en-IE}\slash\texttt{en-IE-numeric} styles is that +% the \utc{1}{0} time zone is mapped to IST instead of +% BST. If you prefer WET/WEST time zones, you can do: +%\begin{verbatim} +%\renewcommand*{\DTMenIEzonemaps}{% +% \DTMdefzonemap{00}{00}{WET}% +% \DTMdefzonemap{01}{00}{WEST}% +%} +%\end{verbatim} +% +%For Irish Gaelic you need the "irish" module instead. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-english-base.ldf> +% \end{macrocode} +%\fi +%\subsection{Base Code (\texttt{datetime2-english-base.ldf})} +%This file contains the code common to all the English regional +%variations. +%\changes{1.0}{2015-03-24}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{english-base}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Since the main emphasize of the \sty{datetime2} package is to +% provide expandable dates where possible, the commands here need to +% be expandable. (Anything that wasn't expandable would need to be +% protected.) Therefore the default ordinal format is a simple +% expandable format (which is why \sty{fmtcount} isn't being used). +%\begin{macro}{\DTMenglishordinal} +% \begin{macrocode} +\newcommand*{\DTMenglishordinal}[1]{% + \number#1 % space intended + \DTMenglishfmtordsuffix{% + \ifcase#1 + \or \DTMenglishst + \or \DTMenglishnd + \or \DTMenglishrd + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishst + \or \DTMenglishnd + \or \DTMenglishrd + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishth + \or \DTMenglishst + \fi + }% +} +% \end{macrocode} +%\end{macro} +% +%Just in case a~user has some need to change the ordinal suffixes, +%these are provided as commands. +%\begin{macro}{\DTMenglishst} +% \begin{macrocode} +\newcommand*{\DTMenglishst}{st} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMenglishnd} +% \begin{macrocode} +\newcommand*{\DTMenglishnd}{nd} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMenglishrd} +% \begin{macrocode} +\newcommand*{\DTMenglishrd}{rd} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMenglishth} +% \begin{macrocode} +\newcommand*{\DTMenglishth}{th} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishfmtordsuffix} +%The suffix can have a format applied to it (for example, made a +%superscript or converted to small caps). The default ignores +%the argument, which makes it consistent with \TeX's default date +%format. This can be changed by regional modules. +% \begin{macrocode} +\newcommand*{\DTMenglishfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishmonthname} +% English month names. +% \begin{macrocode} +\newcommand*{\DTMenglishmonthname}[1]{% + \ifcase#1 + \or + January% + \or + February% + \or + March% + \or + April% + \or + May% + \or + June% + \or + July% + \or + August% + \or + September% + \or + October% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishshortmonthname} +% Abbreviated English month names. +% \begin{macrocode} +\newcommand*{\DTMenglishshortmonthname}[1]{% + \ifcase#1 + \or + Jan% + \or + Feb% + \or + Mar% + \or + Apr% + \or + May% + \or + Jun% + \or + Jul% + \or + Aug% + \or + Sep% + \or + Oct% + \or + Nov% + \or + Dec% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishweekdayname} +% English day of week names. +% \begin{macrocode} +\newcommand*{\DTMenglishweekdayname}[1]{% + \ifcase#1 + Monday% + \or + Tuesday% + \or + Wednesday% + \or + Thursday% + \or + Friday% + \or + Saturday% + \or + Sunday% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishweekdayname} +% English abbreviated day of week names. +% \begin{macrocode} +\newcommand*{\DTMenglishshortweekdayname}[1]{% + \ifcase#1 + Mon% + \or + Tue% + \or + Wed% + \or + Thu% + \or + Fri% + \or + Sat% + \or + Sun% + \fi +} +% \end{macrocode} +%\end{macro} +% +% 12 hour time tags. +%\begin{macro}{\DTMenglisham} +% \begin{macrocode} +\newcommand*\DTMenglisham{am}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishpm} +% \begin{macrocode} +\newcommand*\DTMenglishpm{pm}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishmidnight} +% \begin{macrocode} +\newcommand*\DTMenglishmidnight{midnight}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishnoon} +% \begin{macrocode} +\newcommand*\DTMenglishnoon{noon}% +% \end{macrocode} +%\end{macro} +% +% am/pm time style. +%\begin{macro}{\DTMenglishampmfmt} +% \begin{macrocode} +\newcommand*{\DTMenglishampmfmt}[1]{#1} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenglishtimesep} +% \begin{macrocode} +\newcommand*{\DTMenglishtimesep}{\DTMsep{hourmin}} +% \end{macrocode} +%\end{macro} +% +% This style ignores seconds. +% \begin{macrocode} +\DTMnewtimestyle + {englishampm}% label + {% + \renewcommand*\DTMdisplaytime[3]{% + \ifnum##2=0 + \ifnum##1=12 + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishnoon}}% + {\DTMenglishnoon}% + \else + \ifnum##1=0 + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishmidnight}}% + {\DTMenglishmidnight}% + \else + \ifnum##1=24 + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishmidnight}}% + {\DTMenglishmidnight}% + \else + \ifnum##1<12 + \number##1 + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglisham}}% + {\DTMenglisham}% + \else + \number\numexpr##1-12\relax + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishpm}}% + {\DTMenglishpm}% + \fi + \fi + \fi + \fi + \else + \ifnum##1<13 + \ifnum##1=0 + 12% + \else + \number##1 + \fi + \DTMenglishtimesep\DTMtwodigits{##2}% + \ifnum##1=12 +% \end{macrocode} +% v1.03 bug fixed replaced \cs{DTMenglisham} with \cs{DTMenglishpm} +%\changes{1.03}{2016-01-23}{fixed bug that displayed am instead of pm} +% \begin{macrocode} + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishpm}}% + {\DTMenglishpm}% + \else + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglisham}}% + {\DTMenglisham}% + \fi + \else + \number\numexpr##1-12\relax + \DTMenglishtimesep\DTMtwodigits{##2}% + \ifnum##1=24 +% \end{macrocode} +% v1.03 bug fixed replaced \cs{DTMenglishpm} with \cs{DTMenglisham} +%\changes{1.03}{2016-01-23}{fixed bug that displayed am instead of pm} +% \begin{macrocode} + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglisham}}% + {\DTMenglisham}% + \else + \DTMtexorpdfstring + {\DTMenglishampmfmt{\DTMenglishpm}}% + {\DTMenglishpm}% + \fi + \fi + \fi + }% + }% +% \end{macrocode} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-english-base.ldf> +% \end{macrocode} +%\fi +%\subsection{Default English Code (\texttt{datetime2-english.ldf})} +% This file contains the style used if English is requested without +% a~known region. It uses \TeX's default date style. +% This style ignores the \opt{showdow} (show day of week) setting. +%\changes{1.0}{2015-03-24}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-english.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{english}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load the base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Define default English text style (TeX's default) labelled "english". +% The time zone is just the "default" style (no mappings applied) +% but "showisoZ" setting checked. The full style places a space +% between each block (date, time and zone). The numeric setting is +% ambiguous without a region so it will use the "default" style. +% \begin{macrocode} +\DTMnewstyle + {english}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}[1]{}% + \renewcommand*\DTMdisplaydate[4]{% + \DTMenglishmonthname{##2}\space\number##3, \number##1 + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*{\DTMenglishtimesep}{\DTMsep{hourmin}}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMsetzonestyle{default}% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \space + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \space + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% Switch the style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{english}}% +{\DTMsetstyle{default}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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\dateenglish + {% do nothing + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{english}}% + {\DTMsetstyle{default}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{english}}% + {\DTMsetstyle{default}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-english.ldf> +% \end{macrocode} +%\fi +% +%\subsection{English (GB) Code (\texttt{datetime2-en-GB.ldf})} +%This file contains the British English style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-GB.ldf> +% \end{macrocode} +%\fi +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-GB}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-GB" and +% "en-GB-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}{\DTMenGBdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGBdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGBdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGBmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenGBdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenGBtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenGBdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGBtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenGBtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-GB}{dowdaysep}{\renewcommand*{\DTMenGBdowdaysep}{#1}} +\DTMdefkey{en-GB}{daymonthsep}{\renewcommand*{\DTMenGBdaymonthsep}{#1}} +\DTMdefkey{en-GB}{monthyearsep}{\renewcommand*{\DTMenGBmonthyearsep}{#1}} +\DTMdefkey{en-GB}{datetimesep}{\renewcommand*{\DTMenGBdatetimesep}{#1}} +\DTMdefkey{en-GB}{timezonesep}{\renewcommand*{\DTMenGBtimezonesep}{#1}} +\DTMdefkey{en-GB}{datesep}{\renewcommand*{\DTMenGBdatesep}{#1}} +\DTMdefkey{en-GB}{timesep}{\renewcommand*{\DTMenGBtimesep}{#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{en-GB}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-GB}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-GB}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-GB}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-GB}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-GB}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-GB}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-GB}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenGBfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenGBfmtordsuffix}[1]{#1} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-GB}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenGBfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenGBfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenGBfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenGBfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-GB" style. +% \begin{macrocode} +\DTMnewstyle + {en-GB}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenGBfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{en-GB}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenGBdowdaysep + \fi + \fi + \DTMifbool{en-GB}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenGBdaymonthsep + }% + {}% + \DTMifbool{en-GB}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-GB}{showyear}% + {% + \DTMenGBmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenGBtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenGBzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-GB}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenGBtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenGBdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenGBtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +%\changes{1.01}{2015-04-09}{fixed mispelt style name} +% \begin{macrocode} +\DTMnewstyle + {en-GB-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-GB}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenGBdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-GB}{showyear}% + {% + \DTMenGBdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenGBtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenGBtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenGBzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-GB}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenGBtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenGBdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenGBtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenGBzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenGBzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-GB}}% +{\DTMsetstyle{en-GB-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-GB}}% + {\DTMsetstyle{en-GB-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-GB}}% + {\DTMsetstyle{en-GB-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-GB.ldf> +% \end{macrocode} +%\fi +%\subsection{English (US) Code (\texttt{datetime2-en-US.ldf})} +%This file contains the US English style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-US.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-US}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-US" date format. +% This doesn't use the package wide separators such as +% \cs{dtm@datetimesep} in case other date formats are also required. +%\begin{macro}{\DTMenUSmonthdaysep} +% The separator between the month and day for the text format. +% \begin{macrocode} +\newcommand*{\DTMenUSmonthdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSdowmonthsep} +% The separator between the day of week name and the month for the text format. +% (New to version 1.02.) +%\changes{1.02}{2016-01-18}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSdowmonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSdayyearsep} +% The separator between the day and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenUSdayyearsep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenUSdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUStimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenUStimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenUSdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUStimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenUStimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-US}{monthdaysep}{\renewcommand*{\DTMenUSmonthdaysep}{#1}} +\DTMdefkey{en-US}{dowmonthsep}{\renewcommand*{\DTMenUSdowmonthsep}{#1}} +\DTMdefkey{en-US}{dayyearsep}{\renewcommand*{\DTMenUSdayyearsep}{#1}} +\DTMdefkey{en-US}{datetimesep}{\renewcommand*{\DTMenUSdatetimesep}{#1}} +\DTMdefkey{en-US}{timezonesep}{\renewcommand*{\DTMenUStimezonesep}{#1}} +\DTMdefkey{en-US}{datesep}{\renewcommand*{\DTMenUSdatesep}{#1}} +\DTMdefkey{en-US}{timesep}{\renewcommand*{\DTMenUStimesep}{#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{en-US}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-US}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-US}{mapzone}[true]{} +% \end{macrocode} +% The default is no mappings. +% \begin{macrocode} +\DTMsetbool{en-US}{mapzone}{false} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-US}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-US}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-US}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-US}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenUSfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenUSfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-US}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenUSfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenUSfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenUSfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenUSfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define a setting to change zone mappings. +%\changes{1.03}{2016-01-23}{added zone option to en-US} +% \begin{macrocode} +\DTMdefchoicekey{en-US}{zone}[\val\nr]% + {std,standard,dst,daylight,atlantic,eastern,central,mountain,% + pacific,alaska,hawaii-aleutian,hawaii,aleutian,samoa,charmorro,clear}% +{% + \ifcase\nr\relax + % std + \appto\DTMenUSzonemaps{\DTMenUSstdzonemaps}% + \DTMenUSstdzonemaps + \or + % standard + \appto\DTMenUSzonemaps{\DTMenUSstdzonemaps}% + \DTMenUSstdzonemaps + \or + % dst + \appto\DTMenUSzonemaps{\DTMenUSdstzonemaps}% + \DTMenUSdstzonemaps + \or + % daylight + \appto\DTMenUSzonemaps{\DTMenUSdstzonemaps}% + \DTMenUSdstzonemaps + \or + % atlantic + \appto\DTMenUSzonemaps{\DTMenUSatlanticzonemaps}% + \DTMenUSatlanticzonemaps + \or + % eastern + \appto\DTMenUSzonemaps{\DTMenUSeasternzonemaps}% + \DTMenUSeasternzonemaps + \or + % central + \appto\DTMenUSzonemaps{\DTMenUScentralzonemaps}% + \DTMenUScentralzonemaps + \or + % mountain + \appto\DTMenUSzonemaps{\DTMenUSmountainzonemaps}% + \DTMenUSmountainzonemaps + \or + % pacific + \appto\DTMenUSzonemaps{\DTMenUSpacificzonemaps}% + \DTMenUSpacificzonemaps + \or + % alaska + \appto\DTMenUSzonemaps{\DTMenUSalaskazonemaps}% + \DTMenUSalaskazonemaps + \or + % hawaii-aleutian + \appto\DTMenUSzonemaps{\DTMenUShawaiialeutianzonemaps}% + \DTMenUShawaiialeutianzonemaps + \or + % hawaii + \appto\DTMenUSzonemaps{\DTMenUShawaiialeutianzonemaps}% + \DTMenUShawaiialeutianzonemaps + \or + % aleutian + \appto\DTMenUSzonemaps{\DTMenUShawaiialeutianzonemaps}% + \DTMenUShawaiialeutianzonemaps + \or + % samoa + \appto\DTMenUSzonemaps{\DTMenUSsamoazonemaps}% + \DTMenUSsamoazonemaps + \or + % chamorro + \appto\DTMenUSzonemaps{\DTMenUSchamorrozonemaps}% + \DTMenUSchamorrozonemaps + \or + % clear + \renewcommand*{\DTMenUSzonemaps}{}% + \DTMclearmap{-3}{0}% + \DTMclearmap{-4}{0}% + \DTMclearmap{-5}{0}% + \DTMclearmap{-6}{0}% + \DTMclearmap{-7}{0}% + \DTMclearmap{-8}{0}% + \DTMclearmap{-9}{0}% + \DTMclearmap{-10}{0}% + \DTMclearmap{-11}{0}% + \DTMclearmap{10}{0}% + \fi +} +% \end{macrocode} +% +% +% Define the "en-US" style. Hiding the day of month is a bit awkward +% as the default day-year separator has a comma that should +% disappear if the day number is missing so the month-day separator +% is used as the month-year separator if the day is missing. +%\changes{1.02}{2016-01-18}{added support for showdow option} +% \begin{macrocode} +\DTMnewstyle + {en-US}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenUSfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% +% \end{macrocode} +% Support for \opt{showdow} added in v1.02 (thanks to Alan Munn). +% \begin{macrocode} + \ifDTMshowdow + \ifnum##4>-1 % space intended + \DTMifbool{en-US}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenUSdowmonthsep + \fi + \fi + \DTMifbool{en-US}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-US}{showdayofmonth}% + {% + \DTMenUSmonthdaysep + \DTMenglishordinal{##3}% + \DTMifbool{en-US}{showyear}% + {% + \DTMenUSdayyearsep + \number##1 % space intended + }% + {}% + }% + {% + \DTMifbool{en-US}{showyear}% + {% + \DTMenUSmonthdaysep + \number##1 % space intended + }% + {}% + }% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenUStimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenUSzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-US}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenUStimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenUSdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenUStimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-US-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \number##2 % space intended + \DTMifbool{en-US}{showdayofmonth}% + {% + \DTMenUSdatesep + \number##3 % space intended + }% + {}% + \DTMifbool{en-US}{showyear}% + {% + \DTMenUSdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenUStimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenUStimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenUSzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-US}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenUStimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenUSdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenUStimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenUSzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. (These don't take daylight saving into account.) +% \begin{macrocode} +\newcommand*{\DTMenUSzonemaps}{% + \DTMdefzonemap{-3}{00}{ADT}% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-8}{00}{PST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSstdzonemaps} +% Just the standard time zone mappings. +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSstdzonemaps}{% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-8}{00}{PST}% + \DTMdefzonemap{-9}{00}{AKST}% + \DTMdefzonemap{-10}{00}{HAST}% + \DTMdefzonemap{-11}{00}{SST}% + \DTMdefzonemap{10}{00}{ChST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSdstzonemaps} +% Just daylight saving mappings. +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSdstzonemaps}{% + \DTMdefzonemap{-3}{00}{ADT}% + \DTMdefzonemap{-4}{00}{EDT}% + \DTMdefzonemap{-5}{00}{CDT}% + \DTMdefzonemap{-6}{00}{MDT}% + \DTMdefzonemap{-7}{00}{PDT}% + \DTMdefzonemap{-8}{00}{AKDT}% + \DTMdefzonemap{-9}{00}{HADT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSatlanticzonemaps} +% Just the Atlantic zone mappings (AST and ADT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSatlanticzonemaps}{% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-3}{00}{ADT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSeasternzonemaps} +% Just the Eastern zone mappings (EST and EDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSeasternzonemaps}{% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-4}{00}{EDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUScentralzonemaps} +% Just the Central zone mappings (CST and CDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUScentralzonemaps}{% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-5}{00}{CDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSmountainzonemaps} +% Just the Mountain zone mappings (MST and MDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSmountainzonemaps}{% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-6}{00}{MDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSpacificzonemaps} +% Just the Pacific zone mappings (PST and PDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSpacificzonemaps}{% + \DTMdefzonemap{-8}{00}{PST}% + \DTMdefzonemap{-7}{00}{PDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSalaskazonemaps} +% Just the Alaska zone mappings (AKST and AKDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSalaskazonemaps}{% + \DTMdefzonemap{-9}{00}{AKST}% + \DTMdefzonemap{-8}{00}{AKDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUShawaiialeutianzonemaps} +% Just the Hawaii-Aleutian zone mappings (HAST and HADT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUShawaiialeutianzonemaps}{% + \DTMdefzonemap{-10}{00}{HAST}% + \DTMdefzonemap{-9}{00}{HADT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSsamoazonemaps} +% Just the Samoa standard time (SST). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSsamoazonemaps}{% + \DTMdefzonemap{-11}{00}{SST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenUSchamorrozonemaps} +% Just the Chamorro standard time (ChST). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenUSchamorrozonemaps}{% + \DTMdefzonemap{10}{00}{ChST}% +} +% \end{macrocode} +%\end{macro} +% +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-US}}% +{\DTMsetstyle{en-US-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-US}}% + {\DTMsetstyle{en-US-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-US}}% + {\DTMsetstyle{en-US-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-US.ldf> +% \end{macrocode} +%\fi +%\subsection{English (Canada) Code (\texttt{datetime2-en-CA.ldf})} +%This file contains the Canadian English style. This is very similar +%to the US style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-CA.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-CA}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-CA" and +% "en-CA-numeric" formats. This doesn't use the package wide separators such as +% \cs{dtm@datetimesep} in case other date formats are also required. +%\begin{macro}{\DTMenCAmonthdaysep} +% The separator between the month and day for the text format. +% \begin{macrocode} +\newcommand*{\DTMenCAmonthdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAdowmonthsep} +% The separator between the day of week name and the month for the text format. +% (New to version 1.02.) +%\changes{1.02}{2016-01-18}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAdowmonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAdayyearsep} +% The separator between the day and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenCAdayyearsep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenCAdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenCAtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenCAdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenCAtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-CA}{monthdaysep}{\renewcommand*{\DTMenCAmonthdaysep}{#1}} +\DTMdefkey{en-CA}{dowmonthsep}{\renewcommand*{\DTMenCAdowmonthsep}{#1}} +\DTMdefkey{en-CA}{dayyearsep}{\renewcommand*{\DTMenCAdayyearsep}{#1}} +\DTMdefkey{en-CA}{datetimesep}{\renewcommand*{\DTMenCAdatetimesep}{#1}} +\DTMdefkey{en-CA}{timezonesep}{\renewcommand*{\DTMenCAtimezonesep}{#1}} +\DTMdefkey{en-CA}{datesep}{\renewcommand*{\DTMenCAdatesep}{#1}} +\DTMdefkey{en-CA}{timesep}{\renewcommand*{\DTMenCAtimesep}{#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{en-CA}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-CA}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-CA}{mapzone}[true]{} +% \end{macrocode} +% The default is no mappings. +% \begin{macrocode} +\DTMsetbool{en-CA}{mapzone}{false} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-CA}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-CA}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-CA}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-CA}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenCAfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenCAfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-CA}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenCAfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenCAfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenCAfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenCAfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define a setting to change zone mappings. +%\changes{1.03}{2016-01-23}{added zone option to en-CA} +% \begin{macrocode} +\DTMdefchoicekey{en-CA}{zone}[\val\nr]% + {std,standard,dst,daylight,newfoundland,atlantic,eastern,central,mountain,% + pacific,clear}% +{% + \ifcase\nr\relax + % std + \appto\DTMenCAzonemaps{\DTMenCAstdzonemaps}% + \DTMenCAstdzonemaps + \or + % standard + \appto\DTMenCAzonemaps{\DTMenCAstdzonemaps}% + \DTMenCAstdzonemaps + \or + % dst + \appto\DTMenCAzonemaps{\DTMenCAdstzonemaps}% + \DTMenCAdstzonemaps + \or + % daylight + \appto\DTMenCAzonemaps{\DTMenCAdstzonemaps}% + \DTMenCAdstzonemaps + \or + % newfoundland + \appto\DTMenCAzonemaps{\DTMenCAnewfoundlandzonemaps}% + \DTMenCAnewfoundlandzonemaps + \or + % atlantic + \appto\DTMenCAzonemaps{\DTMenCAatlanticzonemaps}% + \DTMenCAatlanticzonemaps + \or + % eastern + \appto\DTMenCAzonemaps{\DTMenCAeasternzonemaps}% + \DTMenCAeasternzonemaps + \or + % central + \appto\DTMenCAzonemaps{\DTMenCAcentralzonemaps}% + \DTMenCAcentralzonemaps + \or + % mountain + \appto\DTMenCAzonemaps{\DTMenCAmountainzonemaps}% + \DTMenCAmountainzonemaps + \or + % pacific + \appto\DTMenCAzonemaps{\DTMenCApacificzonemaps}% + \DTMenCApacificzonemaps + \or + % clear + \renewcommand*{\DTMenCAzonemaps}{}% + \DTMclearmap{-2}{30}% + \DTMclearmap{-3}{30}% + \DTMclearmap{-3}{0}% + \DTMclearmap{-4}{0}% + \DTMclearmap{-5}{0}% + \DTMclearmap{-6}{0}% + \DTMclearmap{-7}{0}% + \DTMclearmap{-8}{0}% + \fi +} +% \end{macrocode} +% +% Define the "en-CA" style (similar to "en-US"). +% \begin{macrocode} +\DTMnewstyle + {en-CA}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenCAfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% +% \end{macrocode} +% Support for \opt{showdow} added in v1.02 (thanks to Alan Munn). +% \begin{macrocode} + \ifDTMshowdow + \ifnum##4>-1 % space intended + \DTMifbool{en-CA}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenCAdowmonthsep + \fi + \fi + \DTMifbool{en-CA}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-CA}{showdayofmonth}% + {% + \DTMenCAmonthdaysep + \DTMenglishordinal{##3}% + \DTMifbool{en-CA}{showyear}% + {% + \DTMenCAdayyearsep + \number##1 % intended + }% + {}% + }% + {% + \DTMifbool{en-CA}{showyear}% + {% + \DTMenCAmonthdaysep + \number##1 % intended + }% + {}% + }% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenCAtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenCAzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-CA}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenCAtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenCAdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenCAtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-CA-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \number##2 % space intended + \DTMifbool{en-CA}{showdayofmonth}% + {% + \DTMenCAdatesep + \number##3 % space intended + }% + {}% + \DTMifbool{en-CA}{showyear}% + {% + \DTMenCAdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenCAtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenCAtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenCAzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-CA}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenCAtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenCAdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenCAtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenCAzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. (These don't take daylight saving into account, except +% for NDT.) +% \begin{macrocode} +\newcommand*{\DTMenCAzonemaps}{% + \DTMdefzonemap{-2}{30}{NDT}% + \DTMdefzonemap{-3}{30}{NST}% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-8}{00}{PST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAstdzonemaps} +% Just the standard time zone mappings. +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAstdzonemaps}{% + \DTMdefzonemap{-3}{30}{NST}% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-8}{00}{PST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAdstzonemaps} +% Just daylight saving mappings. +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAdstzonemaps}{% + \DTMdefzonemap{-2}{30}{NDT}% + \DTMdefzonemap{-3}{00}{ADT}% + \DTMdefzonemap{-4}{00}{EDT}% + \DTMdefzonemap{-5}{00}{CDT}% + \DTMdefzonemap{-6}{00}{MDT}% + \DTMdefzonemap{-7}{00}{PDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAnewfoundlandzonemaps} +% Just the Newfoundland zone mappings (NST and NDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAnewfoundlandzonemaps}{% + \DTMdefzonemap{-3}{30}{NST}% + \DTMdefzonemap{-2}{30}{NDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAatlanticzonemaps} +% Just the Atlantic zone mappings (AST and ADT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAatlanticzonemaps}{% + \DTMdefzonemap{-4}{00}{AST}% + \DTMdefzonemap{-3}{00}{ADT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAeasternzonemaps} +% Just the Eastern zone mappings (EST and EDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAeasternzonemaps}{% + \DTMdefzonemap{-5}{00}{EST}% + \DTMdefzonemap{-4}{00}{EDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAcentralzonemaps} +% Just the Central zone mappings (CST and CDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAcentralzonemaps}{% + \DTMdefzonemap{-6}{00}{CST}% + \DTMdefzonemap{-5}{00}{CDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCAmountainzonemaps} +% Just the Mountain zone mappings (MST and MDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCAmountainzonemaps}{% + \DTMdefzonemap{-7}{00}{MST}% + \DTMdefzonemap{-6}{00}{MDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenCApacificzonemaps} +% Just the Pacific zone mappings (PST and PDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenCApacificzonemaps}{% + \DTMdefzonemap{-8}{00}{PST}% + \DTMdefzonemap{-7}{00}{PDT}% +} +% \end{macrocode} +%\end{macro} +% +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-CA}}% +{\DTMsetstyle{en-CA-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-CA}}% + {\DTMsetstyle{en-CA-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-CA}}% + {\DTMsetstyle{en-CA-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-CA.ldf> +% \end{macrocode} +%\fi +%\subsection{English (Australia) Code (\texttt{datetime2-en-AU.ldf})} +%This file contains the Australian English style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-AU.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-AU}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-AU" and +% "en-AU-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}{\DTMenAUdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month number for the +% text format. +% \begin{macrocode} +\newcommand*{\DTMenAUdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenAUdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenAUmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenAUdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenAUtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenAUdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenAUtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-AU}{dowdaysep}{\renewcommand*{\DTMenAUdowdaysep}{#1}} +\DTMdefkey{en-AU}{daymonthsep}{\renewcommand*{\DTMenAUdaymonthsep}{#1}} +\DTMdefkey{en-AU}{monthyearsep}{\renewcommand*{\DTMenAUmonthyearsep}{#1}} +\DTMdefkey{en-AU}{datetimesep}{\renewcommand*{\DTMenAUdatetimesep}{#1}} +\DTMdefkey{en-AU}{timezonesep}{\renewcommand*{\DTMenAUtimezonesep}{#1}} +\DTMdefkey{en-AU}{datesep}{\renewcommand*{\DTMenAUdatesep}{#1}} +\DTMdefkey{en-AU}{timesep}{\renewcommand*{\DTMenAUtimesep}{#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{en-AU}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-AU}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-AU}{mapzone}[true]{} +% \end{macrocode} +% The default is no mappings. +% \begin{macrocode} +\DTMsetbool{en-AU}{mapzone}{false} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-AU}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-AU}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-AU}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-AU}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenAUfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenAUfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-AU}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenAUfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenAUfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenAUfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenAUfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define a setting to change zone mappings. +%\changes{1.03}{2016-01-23}{added zone option to en-AU} +% \begin{macrocode} +\DTMdefchoicekey{en-AU}{zone}[\val\nr]% + {std,standard,dst,daylight,central,central-western,western% + eastern,christmas,lord-howe,cocos,keeling,clear}% +{% + \ifcase\nr\relax + % std + \appto\DTMenAUzonemaps{\DTMenAUstdzonemaps}% + \DTMenAUstdzonemaps + \or + % standard + \appto\DTMenAUzonemaps{\DTMenAUstdzonemaps}% + \DTMenAUstdzonemaps + \or + % dst + \appto\DTMenAUzonemaps{\DTMenAUdstzonemaps}% + \DTMenAUdstzonemaps + \or + % daylight + \appto\DTMenAUzonemaps{\DTMenAUdstzonemaps}% + \DTMenAUdstzonemaps + \or + % central + \appto\DTMenAUzonemaps{\DTMenAUcentralzonemaps}% + \DTMenAUcentralzonemaps + \or + % central-western + \appto\DTMenAUzonemaps{\DTMenAUcentralwesternzonemaps}% + \DTMenAUcentralwesternzonemaps + \or + % western + \appto\DTMenAUzonemaps{\DTMenAUwesternzonemaps}% + \DTMenAUwesternzonemaps + \or + % eastern + \appto\DTMenAUzonemaps{\DTMenAUeasternzonemaps}% + \DTMenAUeasternzonemaps + \or + % christmas + \appto\DTMenAUzonemaps{\DTMenAUchristmaszonemaps}% + \DTMenAUchristmaszonemaps + \or + % lord-howe + \appto\DTMenAUzonemaps{\DTMenAUlordhowezonemaps}% + \DTMenAUlordhowezonemaps + \or + % norfolk + \appto\DTMenAUzonemaps{\DTMenAUnorfolkzonemaps}% + \DTMenAUnorfolkzonemaps + \or + % cocos + \appto\DTMenAUzonemaps{\DTMenAUcocoszonemaps}% + \DTMenAUcocoszonemaps + \or + % keeling + \appto\DTMenAUzonemaps{\DTMenAUcocoszonemaps}% + \DTMenAUcocoszonemaps + \or + % clear + \renewcommand*{\DTMenAUzonemaps}{}% + \DTMclearmap{6}{30}% + \DTMclearmap{7}{00}% + \DTMclearmap{8}{00}% + \DTMclearmap{8}{45}% + \DTMclearmap{9}{00}% + \DTMclearmap{9}{30}% + \DTMclearmap{10}{00}% + \DTMclearmap{10}{30}% + \DTMclearmap{11}{00}% + \fi +} +% \end{macrocode} +% Define the "en-AU" style. +% \begin{macrocode} +\DTMnewstyle + {en-AU}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenAUfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-AU}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenAUdowdaysep + \fi + \fi + \DTMifbool{en-AU}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenAUdaymonthsep + }% + {}% + \DTMifbool{en-AU}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-AU}{showyear}% + {% + \DTMenAUmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenAUtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenAUzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-AU}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenAUtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenAUdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenAUtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-AU-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-AU}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenAUdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-AU}{showyear}% + {% + \DTMenAUdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenAUtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenAUtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenAUzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-AU}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenAUtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenAUdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenAUtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenAUzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenAUzonemaps}{% + \DTMdefzonemap{10}{30}{ACDT}% Australian Central Daylight Time + \DTMdefzonemap{11}{00}{AEDT}% Australian Eastern Daylight Time + \DTMdefzonemap{9}{30}{ACST}% Australian Central Standard Time + \DTMdefzonemap{8}{45}{ACWST}% Australian Central Western Standard Time + \DTMdefzonemap{9}{00}{ACWDT}% Australian Central Western Daylight Time + \DTMdefzonemap{10}{00}{AEDT}% Australian Eastern Standard Time + \DTMdefzonemap{8}{00}{AWDT}% Australian Western Standard Time + \DTMdefzonemap{7}{00}{CXT}% Christmas Island Time + \DTMdefzonemap{11}{30}{NFT}% Norfolk Island Time +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUstdzonemaps} +% Just the standard time zone mappings. +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUstdzonemaps}{% + \DTMdefzonemap{6}{30}{CCT}% + \DTMdefzonemap{7}{00}{CXT}% + \DTMdefzonemap{9}{30}{ACST}% + \DTMdefzonemap{8}{00}{AWST}% + \DTMdefzonemap{8}{45}{ACWST}% + \DTMdefzonemap{10}{00}{AEST}% + \DTMdefzonemap{10}{30}{LHST}% + \DTMdefzonemap{11}{00}{NFT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUdstzonemaps} +% Just daylight saving mappings. (Conflicts omitted.) +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUdstzonemaps}{% + \DTMdefzonemap{9}{00}{AWDT}% + \DTMdefzonemap{10}{30}{ACDT}% + \DTMdefzonemap{11}{00}{AEDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUcentralzonemaps} +% Just the Australian Central zone mappings (ACST and ACDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUcentralzonemaps}{% + \DTMdefzonemap{9}{30}{ACST}% + \DTMdefzonemap{10}{30}{ACDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUcentralwesternzonemaps} +% Just the Australian Central Western zone mapping (ACWST). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUcentralwesternzonemaps}{% + \DTMdefzonemap{8}{45}{ACWST}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUwesternzonemaps} +% Just the Australian Western zone mappings (AWST and AWDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUwesternzonemaps}{% + \DTMdefzonemap{8}{00}{AWST}% + \DTMdefzonemap{9}{00}{AWDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUeasternzonemaps} +% Just the Australian Eastern zone mappings (AEST and AEDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUeasternzonemaps}{% + \DTMdefzonemap{10}{00}{AEST}% + \DTMdefzonemap{11}{00}{AEDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUchrismaszonemaps} +% Just the Christmas Island zone mapping (CXT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUchristmaszonemaps}{% + \DTMdefzonemap{7}{00}{CXT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUlordhowezonemaps} +% Just the Lord Howe Island zone mappings (LHST and LHDT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUlordhowezonemaps}{% + \DTMdefzonemap{10}{30}{LHST}% + \DTMdefzonemap{11}{00}{LHDT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUnorfolkzonemaps} +% Just the Norfolk Island zone mapping (NFT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUnorfolkzonemaps}{% + \DTMdefzonemap{11}{00}{NFT}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenAUcocoszonemaps} +% Just the Cocos (Keeling) Island zone mapping (CCT). +%\changes{1.03}{2016-01-23}{new} +% \begin{macrocode} +\newcommand*{\DTMenAUcocoszonemaps}{% + \DTMdefzonemap{6}{30}{CCT}% +} +% \end{macrocode} +%\end{macro} +% +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-AU}}% +{\DTMsetstyle{en-AU-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-AU}}% + {\DTMsetstyle{en-AU-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-AU}}% + {\DTMsetstyle{en-AU-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-AU.ldf> +% \end{macrocode} +%\fi +%\subsection{English (New Zealand) Code (\texttt{datetime2-en-NZ.ldf})} +%This file contains the New Zealand English style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-NZ.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-NZ}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-NZ" and +% "en-NZ-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}{\DTMenNZdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenNZdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenNZdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenNZmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenNZdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenNZtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenNZdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenNZtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenNZtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-NZ}{dowdaysep}{\renewcommand*{\DTMenNZdowdaysep}{#1}} +\DTMdefkey{en-NZ}{daymonthsep}{\renewcommand*{\DTMenNZdaymonthsep}{#1}} +\DTMdefkey{en-NZ}{monthyearsep}{\renewcommand*{\DTMenNZmonthyearsep}{#1}} +\DTMdefkey{en-NZ}{datetimesep}{\renewcommand*{\DTMenNZdatetimesep}{#1}} +\DTMdefkey{en-NZ}{timezonesep}{\renewcommand*{\DTMenNZtimezonesep}{#1}} +\DTMdefkey{en-NZ}{datesep}{\renewcommand*{\DTMenNZdatesep}{#1}} +\DTMdefkey{en-NZ}{timesep}{\renewcommand*{\DTMenNZtimesep}{#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{en-NZ}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-NZ}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-NZ}{mapzone}[true]{} +% \end{macrocode} +% The default is no mappings. +% \begin{macrocode} +\DTMsetbool{en-NZ}{mapzone}{false} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-NZ}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-NZ}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-NZ}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-NZ}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenNZfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenNZfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-NZ}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenNZfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenNZfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenNZfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenNZfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-NZ" style. +% \begin{macrocode} +\DTMnewstyle + {en-NZ}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenNZfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-NZ}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenNZdowdaysep + \fi + \fi + \DTMifbool{en-NZ}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenNZdaymonthsep + }% + {}% + \DTMifbool{en-NZ}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-NZ}{showyear}% + {% + \DTMenNZmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenNZtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenNZzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-NZ}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenNZtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenNZdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenNZtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-NZ-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-NZ}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenNZdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-NZ}{showyear}% + {% + \DTMenNZdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenNZtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenNZtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenNZzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-NZ}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenNZtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenNZdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenNZtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenNZzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenNZzonemaps}{% + \DTMdefzonemap{12}{00}{NZST}% + \DTMdefzonemap{12}{45}{CHAST}% + \DTMdefzonemap{13}{00}{NZDT}% + \DTMdefzonemap{13}{45}{CHADT}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-NZ}}% +{\DTMsetstyle{en-NZ-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-NZ}}% + {\DTMsetstyle{en-NZ-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-NZ}}% + {\DTMsetstyle{en-NZ-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-NZ.ldf> +% \end{macrocode} +%\fi +%\subsection{English (GG) Code (\texttt{datetime2-en-GG.ldf})} +%This file contains the \texttt{en-GG} style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-GG.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-GG}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-GG" and +% "en-GG-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}{\DTMenGGdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGGdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGGdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenGGmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenGGdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenGGtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenGGdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenGGtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenGGtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-GG}{dowdaysep}{\renewcommand*{\DTMenGGdowdaysep}{#1}} +\DTMdefkey{en-GG}{daymonthsep}{\renewcommand*{\DTMenGGdaymonthsep}{#1}} +\DTMdefkey{en-GG}{monthyearsep}{\renewcommand*{\DTMenGGmonthyearsep}{#1}} +\DTMdefkey{en-GG}{datetimesep}{\renewcommand*{\DTMenGGdatetimesep}{#1}} +\DTMdefkey{en-GG}{timezonesep}{\renewcommand*{\DTMenGGtimezonesep}{#1}} +\DTMdefkey{en-GG}{datesep}{\renewcommand*{\DTMenGGdatesep}{#1}} +\DTMdefkey{en-GG}{timesep}{\renewcommand*{\DTMenGGtimesep}{#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{en-GG}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-GG}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-GG}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-GG}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-GG}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-GG}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-GG}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-GG}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenGGfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenGGfmtordsuffix}[1]{#1} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-GG}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenGGfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenGGfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenGGfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenGGfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-GG" style. +% \begin{macrocode} +\DTMnewstyle + {en-GG}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenGGfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-GG}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenGGdowdaysep + \fi + \fi + \DTMifbool{en-GG}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenGGdaymonthsep + }% + {}% + \DTMifbool{en-GG}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-GG}{showyear}% + {% + \DTMenGGmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenGGtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenGGzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-GG}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenGGtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenGGdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenGGtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-GG-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-GG}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenGGdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-GG}{showyear}% + {% + \DTMenGGdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenGGtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenGGtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenGGzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-GG}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenGGtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenGGdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenGGtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenGGzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenGGzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-GG}}% +{\DTMsetstyle{en-GG-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-GG}}% + {\DTMsetstyle{en-GG-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-GG}}% + {\DTMsetstyle{en-GG-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-en-GG.ldf> +% \end{macrocode} +%\fi +%\subsection{English (JE) Code (\texttt{datetime2-en-JE.ldf})} +%This file contains the \texttt{en-JE} style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-JE.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-JE}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-JE" and +% "en-JE-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}{\DTMenJEdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenJEdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenJEdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenJEmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenJEdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenJEtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenJEdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenJEtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenJEtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-JE}{dowdaysep}{\renewcommand*{\DTMenJEdowdaysep}{#1}} +\DTMdefkey{en-JE}{daymonthsep}{\renewcommand*{\DTMenJEdaymonthsep}{#1}} +\DTMdefkey{en-JE}{monthyearsep}{\renewcommand*{\DTMenJEmonthyearsep}{#1}} +\DTMdefkey{en-JE}{datetimesep}{\renewcommand*{\DTMenJEdatetimesep}{#1}} +\DTMdefkey{en-JE}{timezonesep}{\renewcommand*{\DTMenJEtimezonesep}{#1}} +\DTMdefkey{en-JE}{datesep}{\renewcommand*{\DTMenJEdatesep}{#1}} +\DTMdefkey{en-JE}{timesep}{\renewcommand*{\DTMenJEtimesep}{#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{en-JE}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-JE}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-JE}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-JE}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-JE}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-JE}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-JE}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-JE}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenJEfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenJEfmtordsuffix}[1]{#1} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-JE}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenJEfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenJEfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenJEfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenJEfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-JE" style. +% \begin{macrocode} +\DTMnewstyle + {en-JE}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenJEfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-JE}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenJEdowdaysep + \fi + \fi + \DTMifbool{en-JE}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenJEdaymonthsep + }% + {}% + \DTMifbool{en-JE}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-JE}{showyear}% + {% + \DTMenJEmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenJEtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenJEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-JE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenJEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenJEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenJEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-JE-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-JE}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenJEdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-JE}{showyear}% + {% + \DTMenJEdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenJEtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenJEtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenJEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-JE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenJEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenJEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenJEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenJEzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenJEzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-JE}}% +{\DTMsetstyle{en-JE-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-JE}}% + {\DTMsetstyle{en-JE-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-JE}}% + {\DTMsetstyle{en-JE-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-en-JE.ldf> +% \end{macrocode} +%\fi +%\subsection{English (IM) Code (\texttt{datetime2-en-IM.ldf})} +%This file contains the \texttt{en-IM} style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-IM.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-IM}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-IM" and +% "en-IM-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}{\DTMenIMdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIMdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIMdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIMmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenIMdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenIMtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenIMdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIMtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenIMtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-IM}{dowdaysep}{\renewcommand*{\DTMenIMdowdaysep}{#1}} +\DTMdefkey{en-IM}{daymonthsep}{\renewcommand*{\DTMenIMdaymonthsep}{#1}} +\DTMdefkey{en-IM}{monthyearsep}{\renewcommand*{\DTMenIMmonthyearsep}{#1}} +\DTMdefkey{en-IM}{datetimesep}{\renewcommand*{\DTMenIMdatetimesep}{#1}} +\DTMdefkey{en-IM}{timezonesep}{\renewcommand*{\DTMenIMtimezonesep}{#1}} +\DTMdefkey{en-IM}{datesep}{\renewcommand*{\DTMenIMdatesep}{#1}} +\DTMdefkey{en-IM}{timesep}{\renewcommand*{\DTMenIMtimesep}{#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{en-IM}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-IM}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-IM}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-IM}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-IM}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-IM}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-IM}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-IM}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenIMfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenIMfmtordsuffix}[1]{#1} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-IM}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenIMfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenIMfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenIMfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenIMfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-IM" style. +% \begin{macrocode} +\DTMnewstyle + {en-IM}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenIMfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-IM}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenIMdowdaysep + \fi + \fi + \DTMifbool{en-IM}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenIMdaymonthsep + }% + {}% + \DTMifbool{en-IM}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-IM}{showyear}% + {% + \DTMenIMmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenIMtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenIMzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-IM}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenIMtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenIMdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenIMtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-IM-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-IM}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenIMdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-IM}{showyear}% + {% + \DTMenIMdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenIMtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenIMtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenIMzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-IM}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenIMtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenIMdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenIMtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenIMzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenIMzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-IM}}% +{\DTMsetstyle{en-IM-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-IM}}% + {\DTMsetstyle{en-IM-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-IM}}% + {\DTMsetstyle{en-IM-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-en-IM.ldf> +% \end{macrocode} +%\fi +%\subsection{English (MT) Code (\texttt{datetime2-en-MT.ldf})} +%This file contains the \texttt{en-MT} style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-MT.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-MT}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-MT" and +% "en-MT-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}{\DTMenMTdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day of week name and the day of month +% number for the text format. +% \begin{macrocode} +\newcommand*{\DTMenMTdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenMTdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenMTmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenMTdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenMTtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenMTdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenMTtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenMTtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-MT}{dowdaysep}{\renewcommand*{\DTMenMTdowdaysep}{#1}} +\DTMdefkey{en-MT}{daymonthsep}{\renewcommand*{\DTMenMTdaymonthsep}{#1}} +\DTMdefkey{en-MT}{monthyearsep}{\renewcommand*{\DTMenMTmonthyearsep}{#1}} +\DTMdefkey{en-MT}{datetimesep}{\renewcommand*{\DTMenMTdatetimesep}{#1}} +\DTMdefkey{en-MT}{timezonesep}{\renewcommand*{\DTMenMTtimezonesep}{#1}} +\DTMdefkey{en-MT}{datesep}{\renewcommand*{\DTMenMTdatesep}{#1}} +\DTMdefkey{en-MT}{timesep}{\renewcommand*{\DTMenMTtimesep}{#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{en-MT}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-MT}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-MT}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-MT}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-MT}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-MT}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-MT}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-MT}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenMTfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenMTfmtordsuffix}[1]{} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-MT}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenMTfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenMTfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenMTfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenMTfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-MT" style. +% \begin{macrocode} +\DTMnewstyle + {en-MT}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenMTfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-MT}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenMTdowdaysep + \fi + \fi + \DTMifbool{en-MT}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenMTdaymonthsep + }% + {}% + \DTMifbool{en-MT}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-MT}{showyear}% + {% + \DTMenMTmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenMTtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenMTzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-MT}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenMTtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenMTdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenMTtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-MT-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-MT}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenMTdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-MT}{showyear}% + {% + \DTMenMTdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenMTtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenMTtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenMTzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-MT}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenMTtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenMTdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenMTtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenMTzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenMTzonemaps}{% + \DTMdefzonemap{02}{00}{CEST}% + \DTMdefzonemap{01}{00}{CET}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-MT}}% +{\DTMsetstyle{en-MT-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-MT}}% + {\DTMsetstyle{en-MT-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-MT}}% + {\DTMsetstyle{en-MT-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-MT.ldf> +% \end{macrocode} +%\fi +%\subsection{English (IE) Code (\texttt{datetime2-en-IE.ldf})} +%This file contains the \texttt{en-IE} style. +%\changes{1.0}{2015-03-24}{Initial release} +%\iffalse +% \begin{macrocode} +%<*datetime2-en-IE.ldf> +% \end{macrocode} +%\fi +% +% Identify this module. +% \begin{macrocode} +\ProvidesDateTimeModule{en-IE}[2016/03/09 v1.04 (NLCT)] +% \end{macrocode} +% Load base English module. +% \begin{macrocode} +\RequireDateTimeModule{english-base} +% \end{macrocode} +% +% Allow the user a way of configuring the "en-IE" and +% "en-IE-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}{\DTMenIEdowdaysep} +%\changes{1.04}{2016-03-09}{new} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIEdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIEdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMenIEmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenIEdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMenIEtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMenIEdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMenIEtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMenIEtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{en-IE}{dowdaysep}{\renewcommand*{\DTMenIEdowdaysep}{#1}} +\DTMdefkey{en-IE}{daymonthsep}{\renewcommand*{\DTMenIEdaymonthsep}{#1}} +\DTMdefkey{en-IE}{monthyearsep}{\renewcommand*{\DTMenIEmonthyearsep}{#1}} +\DTMdefkey{en-IE}{datetimesep}{\renewcommand*{\DTMenIEdatetimesep}{#1}} +\DTMdefkey{en-IE}{timezonesep}{\renewcommand*{\DTMenIEtimezonesep}{#1}} +\DTMdefkey{en-IE}{datesep}{\renewcommand*{\DTMenIEdatesep}{#1}} +\DTMdefkey{en-IE}{timesep}{\renewcommand*{\DTMenIEtimesep}{#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{en-IE}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{en-IE}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{en-IE}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{en-IE}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% day of the month. (Called "showdayofmonth" instead of "showday" to +% avoid confusion with the day of the week.) +% \begin{macrocode} +\DTMdefboolkey{en-IE}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of the month. +% \begin{macrocode} +\DTMsetbool{en-IE}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines whether to show or hide the +% year. +% \begin{macrocode} +\DTMdefboolkey{en-IE}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{en-IE}{showyear}{true} +% \end{macrocode} +% +%\begin{macro}{\DTMenIEfmtordsuffix} +% Define the ordinal suffix to be used by this style. +% \begin{macrocode} +\newcommand*{\DTMenIEfmtordsuffix}[1]{#1} +% \end{macrocode} +%\end{macro} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{en-IE}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMenIEfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMenIEfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMenIEfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMenIEfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% Define the "en-IE" style. +% \begin{macrocode} +\DTMnewstyle + {en-IE}% label + {% date style + \renewcommand*{\DTMenglishfmtordsuffix}{\DTMenIEfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{en-IE}{abbr}% + {\DTMenglishshortweekdayname{##4}}% + {\DTMenglishweekdayname{##4}}% + \DTMenIEdowdaysep + \fi + \fi + \DTMifbool{en-IE}{showdayofmonth}% + {% + \DTMenglishordinal{##3}% + \DTMenIEdaymonthsep + }% + {}% + \DTMifbool{en-IE}{abbr}% + {\DTMenglishshortmonthname{##2}}% + {\DTMenglishmonthname{##2}}% + \DTMifbool{en-IE}{showyear}% + {% + \DTMenIEmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMenglishtimesep{\DTMenIEtimesep}% + \DTMsettimestyle{englishampm}% + }% + {% zone style + \DTMresetzones + \DTMenIEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-IE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenIEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenIEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenIEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {en-IE-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{en-IE}{showdayofmonth}% + {% + \number##3 % space intended + \DTMenIEdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{en-IE}{showyear}% + {% + \DTMenIEdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMenIEtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMenIEtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMenIEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{en-IE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMenIEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMenIEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMenIEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMenIEzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMenIEzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{IST}% +} +% \end{macrocode} +%\end{macro} +% +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{en-IE}}% +{\DTMsetstyle{en-IE-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateenglish} (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} +{% do nothing + \ifundef\dateenglish + {% + }% + {% + \def\dateenglish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-IE}}% + {\DTMsetstyle{en-IE-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{en-IE}}% + {\DTMsetstyle{en-IE-numeric}}% + }% +}% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-en-IE.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.ins b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.ins new file mode 100644 index 0000000000..6767459acc --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.ins @@ -0,0 +1,164 @@ +\input docstrip + +\preamble + + datetime2-english.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Nicola Talbot. + + This work consists of the files datetime2-english.dtx and + datetime2-english.ins and the derived files + datetime2-english-base.ldf, datetime2-english.ldf, + datetime2-en-GB.ldf, datetime2-en-US.ldf, datetime2-en-CA.ldf, + datetime2-en-AU.ldf, datetime2-en-NZ.ldf, datetime2-en-GG.ldf, + datetime2-en-JE.ldf, datetime2-en-IM.ldf, datetime2-en-MT.ldf, + datetime2-en-IE.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-english-base.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-english-base.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-english.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-english.ldf,package}% + }% +} + +\generate +{% + \file{datetime2-en-GB.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-GB.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-US.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-US.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-CA.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-CA.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-AU.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-AU.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-NZ.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-NZ.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-GG.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-GG.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-JE.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-JE.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-IM.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-IM.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-MT.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-MT.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-en-IE.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-english.dtx}{datetime2-en-IE.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.pdf Binary files differnew file mode 100644 index 0000000000..189c2989a3 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-english/datetime2-english.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/README b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/README new file mode 100644 index 0000000000..204c0647b2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/README @@ -0,0 +1,57 @@ +Esperanto Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[esperanto]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[esperanto]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{esperanto} +\usepackage[esperanto]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-esperanto.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-esperanto/ + +Documentation: + +xelatex datetime2-esperanto.dtx +makeindex -s gind.ist datetime2-esperanto.idx +makeindex -s gglo.ist -o datetime2-esperanto.gls datetime2-esperanto.glo +xelatex datetime2-esperanto.dtx +xelatex datetime2-esperanto.dtx + +Move datetime2-esperanto.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-esperanto/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.dtx new file mode 100644 index 0000000000..82c64704f7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.dtx @@ -0,0 +1,633 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Esperanto Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{258} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-esperanto.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Esperanto Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-06 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Esperanto 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-esperanto}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Esperanto. +%In particular, I don't know if the "esperanto" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-esperanto.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-esperanto-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{esperanto-utf8}[2018/04/06 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMesperantoordinal} +% \begin{macrocode} +\newcommand*{\DTMesperantoordinal}[1]{% + \number#1āa% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMesperantomonthname} +% Esperanto month names. +% \begin{macrocode} +\newcommand*{\DTMesperantomonthname}[1]{% + \ifcase#1 + \or + januaro% + \or + februaro% + \or + marto% + \or + aprilo% + \or + majo% + \or + junio% + \or + julio% + \or + aÅgusto% + \or + septembro% + \or + oktobro% + \or + novembro% + \or + decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantoMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMesperantoMonthname}[1]{% + \ifcase#1 + \or + Januaro% + \or + Februaro% + \or + Marto% + \or + Aprilo% + \or + Majo% + \or + Junio% + \or + Julio% + \or + AÅgusto% + \or + Septembro% + \or + Oktobro% + \or + Novembro% + \or + Decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-esperanto-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-esperanto-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-esperanto-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{esperanto-ascii}[2018/04/06 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMesperantoordinal} +% \begin{macrocode} +\newcommand*{\DTMesperantoordinal}[1]{% + \number#1--a% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantomonthname} +% Esperanto month names. +% \begin{macrocode} +\newcommand*{\DTMesperantomonthname}[1]{% + \ifcase#1 + \or + januaro% + \or + februaro% + \or + marto% + \or + aprilo% + \or + majo% + \or + junio% + \or + julio% + \or + a\protect\u{u}gusto% + \or + septembro% + \or + oktobro% + \or + novembro% + \or + decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantoMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMesperantoMonthname}[1]{% + \ifcase#1 + \or + Januaro% + \or + Februaro% + \or + Marto% + \or + Aprilo% + \or + Majo% + \or + Junio% + \or + Julio% + \or + A\protect\u{u}gusto% + \or + Septembro% + \or + Oktobro% + \or + Novembro% + \or + Decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-esperanto-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Esperanto Module (\texttt{datetime2-esperanto.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-esperanto.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{esperanto}[2018/04/06 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{esperanto-utf8} if either of those engines are used +% otherwise load \texttt{esperanto-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{esperanto-utf8} +\else + \ifluatex + \RequireDateTimeModule{esperanto-utf8} + \else + \RequireDateTimeModule{esperanto-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{esperanto} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "esperanto" and +% "esperanto-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}{\DTMesperantodaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMesperantodaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% + de% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantomonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMesperantomonthyearsep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantodatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMesperantodatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantotimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMesperantotimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantodatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMesperantodatesep}{-} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMesperantotimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMesperantotimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{esperanto}{daymonthsep}{\renewcommand*{\DTMesperantodaymonthsep}{#1}} +\DTMdefkey{esperanto}{monthyearsep}{\renewcommand*{\DTMesperantomonthyearsep}{#1}} +\DTMdefkey{esperanto}{datetimesep}{\renewcommand*{\DTMesperantodatetimesep}{#1}} +\DTMdefkey{esperanto}{timezonesep}{\renewcommand*{\DTMesperantotimezonesep}{#1}} +\DTMdefkey{esperanto}{datesep}{\renewcommand*{\DTMesperantodatesep}{#1}} +\DTMdefkey{esperanto}{timesep}{\renewcommand*{\DTMesperantotimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{esperanto}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{esperanto}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{esperanto}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{esperanto}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{esperanto}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{esperanto}{showyear}{true} +% \end{macrocode} +% +% Define the "esperanto" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {esperanto}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{esperanto}{showdayofmonth} + {\DTMesperantoordinal{##3}\DTMesperantodaymonthsep}% + {}% + \DTMesperantomonthname{##2}% + \DTMifbool{esperanto}{showyear}% + {% + \DTMesperantomonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{esperanto}{showdayofmonth} + {% + \DTMesperantoordinal{##3}\DTMesperantodaymonthsep + \DTMesperantomonthname{##2}% + }% + {% + \DTMesperantoMonthname{##2}% + }% + \DTMifbool{esperanto}{showyear}% + {% + \DTMesperantomonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMesperantozonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{esperanto}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMesperantotimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMesperantodatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMesperantotimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMesperantodatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMesperantotimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {esperanto-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{esperanto}{showdayofmonth}% + {% + \number##3 % space intended + \DTMesperantodatesep + }% + {}% + \number##2 % space intended + \DTMifbool{esperanto}{showyear}% + {% + \DTMesperantodatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMesperantotimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMesperantotimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMesperantozonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{esperanto}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMesperantotimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMesperantodatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMesperantotimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMesperantozonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. No default mappings are provided at the moment. +% \begin{macrocode} +\newcommand*{\DTMesperantozonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{esperanto}} +{\DTMsetstyle{esperanto-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateesperanto} (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.) +%\changes{1.1}{2018-04-06}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateesperanto + {% do nothing + }% + {% + \def\dateesperanto{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{esperanto}}% + {\DTMsetstyle{esperanto-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{esperanto}}% + {\DTMsetstyle{esperanto-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-esperanto.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.ins b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.ins new file mode 100644 index 0000000000..9cbd70f2a2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-esperanto.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-esperanto.dtx and + datetime2-esperanto.ins and the derived files + datetime2-esperanto-utf8.ldf, datetime2-esperanto-ascii.ldf and + datetime2-esperanto.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-esperanto-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-esperanto.dtx}{datetime2-esperanto-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-esperanto-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-esperanto.dtx}{datetime2-esperanto-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-esperanto.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-esperanto.dtx}{datetime2-esperanto.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.pdf Binary files differnew file mode 100644 index 0000000000..4ac097b783 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-esperanto/datetime2-esperanto.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-estonian/README b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/README new file mode 100644 index 0000000000..e671f924ee --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/README @@ -0,0 +1,57 @@ +Estonian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[estonian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[estonian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{estonian} +\usepackage[estonian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-estonian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-estonian/ + +Documentation: + +xelatex datetime2-estonian.dtx +makeindex -s gind.ist datetime2-estonian.idx +makeindex -s gglo.ist -o datetime2-estonian.gls datetime2-estonian.glo +xelatex datetime2-estonian.dtx +xelatex datetime2-estonian.dtx + +Move datetime2-estonian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-estonian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.dtx new file mode 100644 index 0000000000..797a33a1a1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.dtx @@ -0,0 +1,646 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Estonian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{265} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-estonian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Estonian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-13 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Estonian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-estonian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Estonian. +%In particular, I don't know if the "estonian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-estonian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-estonian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{estonian-utf8}[2018/04/13 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMestonianordinal} +% \begin{macrocode} +\newcommand*{\DTMestonianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianyear} +% \begin{macrocode} +\newcommand*{\DTMestonianyear}[1]{% + \number#1.\space a.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMestonianmonthname} +% Estonian month names. +% \begin{macrocode} +\newcommand*{\DTMestonianmonthname}[1]{% + \ifcase#1 + \or + jaanuar% + \or + veebruar% + \or + mƤarts% + \or + aprill% + \or + mai% + \or + juuni% + \or + juuli% + \or + august% + \or + september% + \or + oktoober% + \or + november% + \or + detsember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMestonianMonthname}[1]{% + \ifcase#1 + \or + Jaanuar% + \or + Veebruar% + \or + MƤarts% + \or + Aprill% + \or + Mai% + \or + Juuni% + \or + Juuli% + \or + August% + \or + September% + \or + Oktoober% + \or + November% + \or + Detsember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-estonian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-estonian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-estonian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{estonian-ascii}[2018/04/13 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMestonianordinal} +% \begin{macrocode} +\newcommand*{\DTMestonianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianyear} +% \begin{macrocode} +\newcommand*{\DTMestonianyear}[1]{% + \number#1.\space a.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianmonthname} +% Estonian month names. +% \begin{macrocode} +\newcommand*{\DTMestonianmonthname}[1]{% + \ifcase#1 + \or + jaanuar% + \or + veebruar% + \or + m\protect\"arts% + \or + aprill% + \or + mai% + \or + juuni% + \or + juuli% + \or + august% + \or + september% + \or + oktoober% + \or + november% + \or + detsember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMestonianMonthname}[1]{% + \ifcase#1 + \or + Jaanuar% + \or + Veebruar% + \or + M\protect\"arts% + \or + Aprill% + \or + Mai% + \or + Juuni% + \or + Juuli% + \or + August% + \or + September% + \or + Oktoober% + \or + November% + \or + Detsember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-estonian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Estonian Module (\texttt{datetime2-estonian.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-estonian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{estonian}[2018/04/13 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{estonian-utf8} if either of those engines are used +% otherwise load \texttt{estonian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{estonian-utf8} +\else + \ifluatex + \RequireDateTimeModule{estonian-utf8} + \else + \RequireDateTimeModule{estonian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{estonian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "estonian" and +% "estonian-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}{\DTMestoniandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMestoniandaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestonianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMestonianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestoniandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMestoniandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestoniantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMestoniantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestoniandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMestoniandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMestoniantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMestoniantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{estonian}{daymonthsep}{\renewcommand*{\DTMestoniandaymonthsep}{#1}} +\DTMdefkey{estonian}{monthyearsep}{\renewcommand*{\DTMestonianmonthyearsep}{#1}} +\DTMdefkey{estonian}{datetimesep}{\renewcommand*{\DTMestoniandatetimesep}{#1}} +\DTMdefkey{estonian}{timezonesep}{\renewcommand*{\DTMestoniantimezonesep}{#1}} +\DTMdefkey{estonian}{datesep}{\renewcommand*{\DTMestoniandatesep}{#1}} +\DTMdefkey{estonian}{timesep}{\renewcommand*{\DTMestoniantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{estonian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{estonian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{estonian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{estonian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{estonian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{estonian}{showyear}{true} +% \end{macrocode} +% +% Define the "estonian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {estonian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{estonian}{showdayofmonth} + {\DTMestonianordinal{##3}\DTMestoniandaymonthsep}% + {}% + \DTMestonianmonthname{##2}% + \DTMifbool{estonian}{showyear}% + {% + \DTMestonianmonthyearsep + \DTMestonianyear{\number##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{estonian}{showdayofmonth} + {% + \DTMestonianordinal{##3}\DTMestoniandaymonthsep + \DTMestonianmonthname{##2}% + }% + {% + \DTMestonianMonthname{##2}% + }% + \DTMifbool{estonian}{showyear}% + {% + \DTMestonianmonthyearsep + \DTMestonianyear{\number##1}% + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMestonianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{estonian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMestoniantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMestoniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMestoniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMestoniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMestoniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {estonian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{estonian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMestoniandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{estonian}{showyear}% + {% + \DTMestoniandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMestoniantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMestoniantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMestonianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{estonian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMestoniantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMestoniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMestoniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMestonianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. No default mappings are provided at the moment. +% \begin{macrocode} +\newcommand*{\DTMestonianzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{estonian}} +{\DTMsetstyle{estonian-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateestonian} (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.) +%\changes{1.1}{2018-04-13}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateestonian + {% do nothing + }% + {% + \def\dateestonian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{estonian}}% + {\DTMsetstyle{estonian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{estonian}}% + {\DTMsetstyle{estonian-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-estonian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.ins new file mode 100644 index 0000000000..b1a2203e1b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-estonian.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-estonian.dtx and + datetime2-estonian.ins and the derived files + datetime2-estonian-utf8.ldf, datetime2-estonian-ascii.ldf and + datetime2-estonian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-estonian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-estonian.dtx}{datetime2-estonian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-estonian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-estonian.dtx}{datetime2-estonian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-estonian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-estonian.dtx}{datetime2-estonian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.pdf Binary files differnew file mode 100644 index 0000000000..abf8d3b1ea --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-estonian/datetime2-estonian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-finnish/CHANGES b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/CHANGES new file mode 100644 index 0000000000..2fc70b8acb --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/CHANGES @@ -0,0 +1,13 @@ +v1.2 (2018-03-20): + + * Fixed a bug with unwanted space + +v1.1 (2016-03-29): + + * Separated partitive case from month names + * Added support for abbreviations + * Added support for day of week names + +v1.0 (2015-03-30): + + * Initial release
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-finnish/README b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/README new file mode 100644 index 0000000000..4a0b73ddb6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/README @@ -0,0 +1,58 @@ +Finnish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + Tuomas VƤlimƤki + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is maintained by Tuomas VƤlimƤki. +Contact: tuomas.s.valimaki+datetime2-finnish@gmail.com + +Example usage: + +\documentclass{article} +\usepackage[finnish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[finnish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{finnish} +\usepackage[finnish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-finnish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-finnish/ + +Documentation: + +xelatex datetime2-finnish.dtx +makeindex -s gind.ist datetime2-finnish.idx +makeindex -s gglo.ist -o datetime2-finnish.gls datetime2-finnish.glo +xelatex datetime2-finnish.dtx +xelatex datetime2-finnish.dtx + +Move datetime2-finnish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-finnish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.dtx new file mode 100644 index 0000000000..4a06c43e93 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.dtx @@ -0,0 +1,1129 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% Maintainer Tuomas VƤlimƤki. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Tuomas V\"alim\"aki}, + pdftitle={datetime2.sty Finnish Module}]{hyperref} + +\CheckSum{464} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} +\newcommand*{\utc}[2]{\textsc{utc}\ifnum#1<0 $-$\number-#1\else $+$\number#1\fi + \ifnum#2>0 :\number#2 \fi\relax} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-finnish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Finnish Module for datetime2 Package} +%\author{Tuomas V\"alim\"aki \and Nicola L. C. Talbot (inactive)} +%\date{2018-03-20 (v1.2)} +%\maketitle +% +%\begin{abstract} +%This is the Finnish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +% Currently there is only a regionless style. +%\end{abstract} +% +%\tableofcontents +%\clearpage +% +%\section{Introduction} +%\label{sec:intro} +%This module defines the styles "finnish" and "finnish-numeric". +%The "finnish" style will automatically be set if the \opt{useregional} +%option is set to \texttt{text}, and the "finnish-numeric" style is automatically +%set if the \opt{useregional} option is set to \texttt{numeric}. +% +%There are a number of settings provided that can be used in +%\cs{DTMlangsetup} to modify the date-time style. These are: +% +%\begin{description} +%\item[\opt{dowdaysep}] The separator between the day of week name and the +%day of month number. This defaults to \cs{space}. Ignored if the +%\opt{showdow} option is \texttt{false}. +% +%\item[\opt{daymonthsep}] The separator between the day and the month +%name in the \texttt{finnish} style. This defaults to \cs{space}. +% +%\item[\opt{monthyearsep}] The separator between the month name and year +% in the \texttt{finnish} style. This defaults to \cs{space}. +% +%\item[\opt{datesep}] The separator between the date numbers in the +%"finnish-numeric" style. This defaults to "." (period). +% +%\item[\opt{timesep}] The separator between the hours and minutes in both +%"finnish" and "finnish-numeric" styles. This defaults to "." (period). +% +%\item[\opt{datetimesep}] The separator between the date and time for the +%full date-time format (as used by \cs{DTMdisplay}) for both the +%"finnish" and "finnish-numeric" styles. This defaults +%to \cs{space}. +% +%\item[\opt{timezonesep}] The separator between the time and zone for the +%full date-time format (as used by \cs{DTMdisplay}) for both the +%"finnish" and "finnish-numeric" styles. This defaults +%to \cs{space}. +% +%\item[\opt{abbr}] This is a~boolean key. If "true", the month (and week +%day name if shown) is abbreviated for the "finnish" style. The default is "false". +% +%\item[\opt{mapzone}] This is a~boolean key. If "true" the time zone +%mappings are applied. (The default is \texttt{true}.) The "finnish" +% and "finnish-numeric" styles set the mappings EET +%(\utc{02}{00}) and EEST (\utc{03}{00}). +%Other time zone mappings that have previously been set +%(for example, by another regional style) will remain unchanged +%unless you redefine \cs{DTMresetzones} to reset or unset them. +% +%\item[\opt{showdayofmonth}] A boolean key that determines whether +%or not to show the day of the month. The default value is "true". +%If "false" the day-month separator is also omitted. +% +%\item[\opt{showyear}] A boolean key that determines whether +%or not to show the year. The default value is "true". If "false" +%the month-year separator is also omitted. +%\end{description} +% +%The above settings are specific to this module. In addition, the +%\opt{showdow} boolean option provided by the \sty{datetime2} package is +%checked to determine whether or not to show the day of the +%week in the "finnish" style. The \opt{showdate}, \opt{showzone}, +%\opt{showseconds} and \opt{showzoneminutes} settings of \sty{datetime2} +%are honoured. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-finnish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8 (\texttt{datetime2-finnish-utf8.ldf})} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{finnish-utf8}[2018/03/20 v1.2] +% \end{macrocode} +%\begin{macro}{\DTMfinnishordinal} +% \begin{macrocode} +\newcommand*{\DTMfinnishordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishmonthname} +% Finnish month names. +% \begin{macrocode} +\newcommand*{\DTMfinnishmonthname}[1]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +%\changes{1.1}{2016-03-29}{fixed} +% \begin{macrocode} + \ifcase#1 + \or + tammikuu% + \or + helmikuu% + \or + maaliskuu% + \or + huhtikuu% + \or + toukokuu% + \or + kesƤkuu% + \or + heinƤkuu% + \or + elokuu% + \or + syyskuu% + \or + lokakuu% + \or + marraskuu% + \or + joulukuu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishMonthname}[1]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +%\changes{1.1}{2016-03-29}{fixed} +% \begin{macrocode} + \ifcase#1 + \or + Tammikuu% + \or + Helmikuu% + \or + Maaliskuu% + \or + Huhtikuu% + \or + Toukokuu% + \or + KesƤkuu% + \or + HeinƤkuu% + \or + Elokuu% + \or + Syyskuu% + \or + Lokakuu% + \or + Marraskuu% + \or + Joulukuu% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Added support for abbreviations in v1.1. +%\begin{macro}{\DTMfinnishshortmonthname} +% Abbreviated Finnish month names. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortmonthname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + \or + tammi% + \or + helmi% + \or + maalis% + \or + huhti% + \or + touko% + \or + kesƤ% + \or + heinƤ% + \or + elo% + \or + syys% + \or + loka% + \or + marras% + \or + joulu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortMonthname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + \or + Tammi% + \or + Helmi% + \or + Maalis% + \or + Huhti% + \or + Touko% + \or + KesƤ% + \or + HeinƤ% + \or + Elo% + \or + Syys% + \or + Loka% + \or + Marras% + \or + Joulu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%Added support for day of week names in v1.1. +%\begin{macro}{\DTMfinnishweekdayname} +% Finnish day of week names. +% \begin{macrocode} +\newcommand*{\DTMfinnishweekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + maanantai% + \or + tiistai% + \or + keskiviikko% + \or + torstai% + \or + perjantai% + \or + lauantai% + \or + sunnuntai% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishWeekdayname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishWeekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + Maanantai% + \or + Tiistai% + \or + Keskiviikko% + \or + Torstai% + \or + Perjantai% + \or + Lauantai% + \or + Sunnuntai% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortweekdayname} +% Finnish abbreviated day of week names. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortweekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + ma% + \or + ti% + \or + ke% + \or + to% + \or + pe% + \or + la% + \or + su% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortWeekdayname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortWeekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + Ma% + \or + Ti% + \or + Ke% + \or + To% + \or + Pe% + \or + La% + \or + Su% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-finnish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-finnish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII (\texttt{datetime2-finnish-ascii.ldf})} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-finnish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{finnish-ascii}[2018/03/20 v1.2] +% \end{macrocode} +% +%\begin{macro}{\DTMfinnishordinal} +% \begin{macrocode} +\newcommand*{\DTMfinnishordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishmonthname} +% Finnish month names. +% \begin{macrocode} +\newcommand*{\DTMfinnishmonthname}[1]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +%\changes{1.1}{2016-03-29}{fixed} +% \begin{macrocode} + \ifcase#1 + \or + tammikuu% + \or + helmikuu% + \or + maaliskuu% + \or + huhtikuu% + \or + toukokuu% + \or + kes\protect\"akuu% + \or + hein\protect\"akuu% + \or + elokuu% + \or + syyskuu% + \or + lokakuu% + \or + marraskuu% + \or + joulukuu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishMonthname}[1]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +%\changes{1.1}{2016-03-29}{fixed} +% \begin{macrocode} + \ifcase#1 + \or + Tammikuu% + \or + Helmikuu% + \or + Maaliskuu% + \or + Huhtikuu% + \or + Toukokuu% + \or + Kes\protect\"akuu% + \or + Hein\protect\"akuu% + \or + Elokuu% + \or + Syyskuu% + \or + Lokakuu% + \or + Marraskuu% + \or + Joulukuu% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Added support for abbreviations in v1.1. +%\begin{macro}{\DTMfinnishshortmonthname} +% Abbreviated Finnish month names. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortmonthname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + \or + tammi% + \or + helmi% + \or + maalis% + \or + huhti% + \or + touko% + \or + kes\protect\"a% + \or + hein\protect\"a% + \or + elo% + \or + syys% + \or + loka% + \or + marras% + \or + joulu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortMonthname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + \or + Tammi% + \or + Helmi% + \or + Maalis% + \or + Huhti% + \or + Touko% + \or + Kes\protect\"a% + \or + Hein\protect\"a% + \or + Elo% + \or + Syys% + \or + Loka% + \or + Marras% + \or + Joulu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%Added support for day of week names in v1.1. +%\begin{macro}{\DTMfinnishweekdayname} +% Finnish day of week names. +% \begin{macrocode} +\newcommand*{\DTMfinnishweekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + maanantai% + \or + tiistai% + \or + keskiviikko% + \or + torstai% + \or + perjantai% + \or + lauantai% + \or + sunnuntai% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishWeekdayname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishWeekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + Maanantai% + \or + Tiistai% + \or + Keskiviikko% + \or + Torstai% + \or + Perjantai% + \or + Lauantai% + \or + Sunnuntai% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortweekdayname} +% Finnish abbreviated day of week names. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortweekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + ma% + \or + ti% + \or + ke% + \or + to% + \or + pe% + \or + la% + \or + su% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishshortWeekdayname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMfinnishshortWeekdayname}[1]{% +% \end{macrocode} +%\changes{1.1}{2016-03-29}{new} +% \begin{macrocode} + \ifcase#1 + Ma% + \or + Ti% + \or + Ke% + \or + To% + \or + Pe% + \or + La% + \or + Su% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-finnish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Finnish Module (\texttt{datetime2-finnish.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-finnish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{finnish}[2018/03/20 v1.2] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{finnish-utf8} if either of those engines are used +% otherwise load \texttt{finnish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{finnish-utf8} +\else + \ifluatex + \RequireDateTimeModule{finnish-utf8} + \else + \RequireDateTimeModule{finnish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{finnish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. +% +% Allow the user a way of configuring the "finnish" and +% "finnish-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}{\DTMfinnishdowdaysep} +%\changes{1.1}{2016-03-29}{new} +% The separator between the day of week name and the day of month +% number for the text format (v1.1). +% \begin{macrocode} +\newcommand*{\DTMfinnishdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMfinnishdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMfinnishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMfinnishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMfinnishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMfinnishdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfinnishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMfinnishtimesep}{.} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{finnish}{dowdaysep}{\renewcommand*{\DTMfinnishdowdaysep}{#1}} +\DTMdefkey{finnish}{daymonthsep}{\renewcommand*{\DTMfinnishdaymonthsep}{#1}} +\DTMdefkey{finnish}{monthyearsep}{\renewcommand*{\DTMfinnishmonthyearsep}{#1}} +\DTMdefkey{finnish}{datetimesep}{\renewcommand*{\DTMfinnishdatetimesep}{#1}} +\DTMdefkey{finnish}{timezonesep}{\renewcommand*{\DTMfinnishtimezonesep}{#1}} +\DTMdefkey{finnish}{datesep}{\renewcommand*{\DTMfinnishdatesep}{#1}} +\DTMdefkey{finnish}{timesep}{\renewcommand*{\DTMfinnishtimesep}{#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 (v1.1). +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% \begin{macrocode} +\DTMdefboolkey{finnish}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{finnish}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{finnish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{finnish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{finnish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{finnish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{finnish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{finnish}{showyear}{true} +% \end{macrocode} +% +% Define the "finnish" style. +% \begin{macrocode} +\DTMnewstyle + {finnish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +% and added support for abbreviations and day of week +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% \begin{macrocode} + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortweekdayname{##4}}% + {\DTMfinnishweekdayname{##4}}% + \DTMfinnishdowdaysep + \fi + \fi + \DTMifbool{finnish}{showdayofmonth} + {% + \DTMfinnishordinal{##3}\DTMfinnishdaymonthsep + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortmonthname{##2}}% + {\DTMfinnishmonthname{##2}ta}% + }% + {% + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortmonthname{##2}}% + {\DTMfinnishmonthname{##2}}% + }% + \DTMifbool{finnish}{showyear}% + {% + \DTMfinnishmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% +% \end{macrocode} +% v1.1 separated partitive case from month names +% and added support for abbreviations and day of week +%\changes{1.1}{2016-03-29}{separated partitive case from month names +% and added support for abbreviations and day of week} +% \begin{macrocode} + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortWeekdayname{##4}}% + {\DTMfinnishWeekdayname{##4}}% + \DTMfinnishdowdaysep + \fi + \DTMifbool{finnish}{showdayofmonth} + {% + \DTMfinnishordinal{##3}\DTMfinnishdaymonthsep + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortmonthname{##2}}% + {\DTMfinnishmonthname{##2}ta}% + }% + {% + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortmonthname{##2}}% + {\DTMfinnishmonthname{##2}}% + }% + \else + \DTMifbool{finnish}{showdayofmonth} + {% + \DTMfinnishordinal{##3}\DTMfinnishdaymonthsep + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortmonthname{##2}}% + {\DTMfinnishmonthname{##2}ta}% + }% + {% + \DTMifbool{finnish}{abbr}% + {\DTMfinnishshortMonthname{##2}}% + {\DTMfinnishMonthname{##2}}% + }% + \fi + \DTMifbool{finnish}{showyear}% + {% + \DTMfinnishmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMfinnishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMfinnishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMfinnishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{finnish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMfinnishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMfinnishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfinnishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMfinnishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfinnishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {finnish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{finnish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMfinnishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{finnish}{showyear}% + {% + \DTMfinnishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMfinnishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMfinnishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMfinnishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{finnish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMfinnishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMfinnishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfinnishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMfinnishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMfinnishzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{finnish}} +{\DTMsetstyle{finnish-numeric}} +% \end{macrocode} +% +% Redefine \cs{datefinnish} (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.) +%\changes{1.2}{2018-03-20}{fixed a bug with unwanted space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datefinnish + {% do nothing + }% + {% + \def\datefinnish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{finnish}}% + {\DTMsetstyle{finnish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{finnish}}% + {\DTMsetstyle{finnish-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-finnish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.ins new file mode 100644 index 0000000000..ed8fd2fa7b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.ins @@ -0,0 +1,63 @@ +\input docstrip + +\preamble + + datetime2-finnish.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Tuomas VƤlimƤki. + + This work consists of the files datetime2-finnish.dtx and + datetime2-finnish.ins and the derived files + datetime2-finnish-utf8.ldf, datetime2-finnish-ascii.ldf and + datetime2-finnish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-finnish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-finnish.dtx}{datetime2-finnish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-finnish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-finnish.dtx}{datetime2-finnish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-finnish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-finnish.dtx}{datetime2-finnish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.pdf Binary files differnew file mode 100644 index 0000000000..2b2ce7b905 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-finnish/datetime2-finnish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/README b/macros/latex/contrib/datetime2-contrib/datetime2-french/README new file mode 100644 index 0000000000..14ddb2cc9d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/README @@ -0,0 +1,55 @@ +French Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + Paul A. Patience <pap@papatience.com> + +Licence: LPPL + +Required Packages: datetime2, tracklang + +Example usage: + +\documentclass{article} +\usepackage[french]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[french]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{french} +\usepackage[french]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-french.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-french/ + +Documentation: + +xelatex datetime2-french.dtx +makeindex -s gind.ist datetime2-french.idx +makeindex -s gglo.ist -o datetime2-french.gls datetime2-french.glo +xelatex datetime2-french.dtx +xelatex datetime2-french.dtx + +Move datetime2-french.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-french/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.pdf Binary files differnew file mode 100644 index 0000000000..2e34ee8a36 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.tex new file mode 100644 index 0000000000..29b78f3a1e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-luatex.tex @@ -0,0 +1,9 @@ +% arara: lualatex +\documentclass{article} + +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{french} +\setotherlanguage{english} + +\input{datetime2-french-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.pdf Binary files differnew file mode 100644 index 0000000000..5f9ee14cce --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.tex new file mode 100644 index 0000000000..e36851b8b7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-pdftex.tex @@ -0,0 +1,8 @@ +% arara: pdflatex +\documentclass[english,french]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english,main=french]{babel} + +\input{datetime2-french-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.pdf Binary files differnew file mode 100644 index 0000000000..8b9342ccd9 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.tex new file mode 100644 index 0000000000..36874a42ec --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test-xetex.tex @@ -0,0 +1,9 @@ +% arara: xelatex +\documentclass{article} + +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{french} +\setotherlanguage{english} + +\input{datetime2-french-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test.tex b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test.tex new file mode 100644 index 0000000000..3de529d56a --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french-test.tex @@ -0,0 +1,30 @@ +\usepackage[en-GB,en-US]{datetime2} + +\newcommand*{\teststyle}[1]{% + \DTMsetstyle{#1} + \texttt{#1}:\par + \DTMnow\par + \DTMNow\par +} + +\newcommand*{\testall}[1]{% + \DTMlangsetup*{#1} + \texttt{#1}:\par + \teststyle{default} + \teststyle{iso} + \teststyle{english} + \teststyle{en-GB} + \teststyle{en-GB-numeric} + \teststyle{en-US} + \teststyle{en-US-numeric} + \teststyle{french} + \teststyle{french-numeric} +} + +\begin{document} + +\testall{showdayofmonth=true,abbr=false} +\testall{showdayofmonth=false} +\testall{abbr=true} + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.dtx new file mode 100644 index 0000000000..ffcce39e15 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.dtx @@ -0,0 +1,1145 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% Copyright (C) 2017 Paul A. Patience <pap@papatience.com>, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot and Paul A. Patience}, + pdftitle={datetime2.sty French Module}]{hyperref} + + +\CheckSum{580} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-french.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{French Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive) \\ +% Paul A. Patience\thanks{E-mail: pap@papatience.com}} +%\date{2017-04-08 (v1.02)} +%\maketitle +% +%\begin{abstract} +%This is the French 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-french-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-27}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{french-utf8}[2017/04/08 v1.02] +% \end{macrocode} +%\begin{macro}{\DTMfrenchordinal} +% \begin{macrocode} +\ifdef\ier +{% + \newcommand*{\DTMfrenchordinal}[1]{% + \number#1 + \ifnum#1=1\DTMtexorpdfstring{\protect\ier}{er}\fi + } +}% +{% + \newcommand*{\DTMfrenchordinal}[1]{% + \number#1 + \ifnum#1=1\DTMtexorpdfstring{\protect\textsuperscript{er}}{er}\fi + } +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchmonthname} +% French month names. +% \begin{macrocode} +\newcommand*{\DTMfrenchmonthname}[1]{% + \ifcase#1 + \or + janvier% + \or + fĆ©vrier% + \or + mars% + \or + avril% + \or + mai% + \or + juin% + \or + juillet% + \or + aoĆ»t% + \or + septembre% + \or + octobre% + \or + novembre% + \or + dĆ©cembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchMonthname}[1]{% + \ifcase#1 + \or + Janvier% + \or + FĆ©vrier% + \or + Mars% + \or + Avril% + \or + Mai% + \or + Juin% + \or + Juillet% + \or + AoĆ»t% + \or + Septembre% + \or + Octobre% + \or + Novembre% + \or + DĆ©cembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortmonthname} +% Abbreviated French month names. +%\changes{1.01}{2017-04-08}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMfrenchshortmonthname}[1]{% + \ifcase#1 + \or + janv.% + \or + fĆ©vr.% + \or + mars% + \or + avr.% + \or + mai% + \or + juin% + \or + juill.% + \or + aoĆ»t% + \or + sept.% + \or + oct.% + \or + nov.% + \or + dĆ©c.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchshortMonthname}[1]{% + \ifcase#1 + \or + Janv.% + \or + FĆ©vr.% + \or + Mars% + \or + Avr.% + \or + Mai% + \or + Juin% + \or + Juill.% + \or + AoĆ»t% + \or + Sept.% + \or + Oct.% + \or + Nov.% + \or + DĆ©c.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchweekdayname} +% French day of week names. +% \begin{macrocode} +\newcommand*{\DTMfrenchweekdayname}[1]{% + \ifcase#1 + lundi% + \or + mardi% + \or + mercredi% + \or + jeudi% + \or + vendredi% + \or + samedi% + \or + dimanche% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchWeekdayname}[1]{% + \ifcase#1 + Lundi% + \or + Mardi% + \or + Mercredi% + \or + Jeudi% + \or + Vendredi% + \or + Samedi% + \or + Dimanche% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortweekdayname} +% French abbreviated day of week names. +%\changes{1.01}{2017-04-08}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMfrenchshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mer.% + \or + jeu.% + \or + ven.% + \or + sam.% + \or + dim.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchshortWeekdayname}[1]{% + \ifcase#1 + Lun.% + \or + Mar.% + \or + Mer.% + \or + Jeu.% + \or + Ven.% + \or + Sam.% + \or + Dim.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchmidnight} +% \begin{macrocode} +\newcommand*\DTMfrenchmidnight{minuit}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchnoon} +% \begin{macrocode} +\newcommand*\DTMfrenchnoon{midi}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchtimesymsep} +% \begin{macrocode} +\newcommand*\DTMfrenchtimesymsep{\,}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchhoursym} +% \begin{macrocode} +\newcommand*\DTMfrenchhoursym{h}% +% \end{macrocode} +%\end{macro} +% +% This style ignores seconds. +%\changes{1.01}{2017-04-08}{Add frenchalpha time style} +% \begin{macrocode} +\DTMnewtimestyle + {frenchalpha}% label + {% + \renewcommand*\DTMdisplaytime[3]{% + \ifnum##2=0 + \ifnum##1=12 + \DTMfrenchnoon + \else + \ifnum##1=0 + \DTMfrenchmidnight + \else + \ifnum##1=24 + \DTMfrenchmidnight + \else + \number##1 + \DTMfrenchtimesymsep\DTMfrenchhoursym + \fi + \fi + \fi + \else + \ifnum##1=24 + 0% + \else + \number##1 + \fi + \DTMfrenchtimesymsep\DTMfrenchhoursym + \DTMfrenchtimesymsep\DTMtwodigits{##2}% + \fi + }% + }% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-french-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-french-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-french-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-27}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{french-ascii}[2017/04/08 v1.02] +% \end{macrocode} +% +%\begin{macro}{\DTMfrenchordinal} +% \begin{macrocode} +\ifdef\ier +{% + \newcommand*{\DTMfrenchordinal}[1]{% + \number#1 + \ifnum#1=1\DTMtexorpdfstring{\protect\ier}{er}\fi + } +}% +{% + \newcommand*{\DTMfrenchordinal}[1]{% + \number#1 + \ifnum#1=1\DTMtexorpdfstring{\protect\textsuperscript{er}}{er}\fi + } +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchmonthname} +% French month names. +% \begin{macrocode} +\newcommand*{\DTMfrenchmonthname}[1]{% + \ifcase#1 + \or + janvier% + \or + f\protect\'evrier% + \or + mars% + \or + avril% + \or + mai% + \or + juin% + \or + juillet% + \or + ao\protect\^ut% + \or + septembre% + \or + octobre% + \or + novembre% + \or + d\protect\'ecembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchMonthname}[1]{% + \ifcase#1 + \or + Janvier% + \or + F\protect\'evrier% + \or + Mars% + \or + Avril% + \or + Mai% + \or + Juin% + \or + Juillet% + \or + Ao\protect\^ut% + \or + Septembre% + \or + Octobre% + \or + Novembre% + \or + D\protect\'ecembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortmonthname} +% Abbreviated French month names. +%\changes{1.01}{2017-04-08}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMfrenchshortmonthname}[1]{% + \ifcase#1 + \or + janv.% + \or + f\protect\'evr.% + \or + mars% + \or + avr.% + \or + mai% + \or + juin% + \or + juill.% + \or + ao\protect\^ut% + \or + sept.% + \or + oct.% + \or + nov.% + \or + d\protect\'ec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchshortMonthname}[1]{% + \ifcase#1 + \or + Janv.% + \or + F\protect\'evr.% + \or + Mars% + \or + Avr.% + \or + Mai% + \or + Juin% + \or + Juill.% + \or + Ao\protect\^ut% + \or + Sept.% + \or + Oct.% + \or + Nov.% + \or + D\protect\'ec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchweekdayname} +% French day of week names. +% \begin{macrocode} +\newcommand*{\DTMfrenchweekdayname}[1]{% + \ifcase#1 + lundi% + \or + mardi% + \or + mercredi% + \or + jeudi% + \or + vendredi% + \or + samedi% + \or + dimanche% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchWeekdayname}[1]{% + \ifcase#1 + Lundi% + \or + Mardi% + \or + Mercredi% + \or + Jeudi% + \or + Vendredi% + \or + Samedi% + \or + Dimanche% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortweekdayname} +% French abbreviated day of week names. +%\changes{1.01}{2017-04-08}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMfrenchshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mer.% + \or + jeu.% + \or + ven.% + \or + sam.% + \or + dim.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMfrenchshortWeekdayname}[1]{% + \ifcase#1 + Lun.% + \or + Mar.% + \or + Mer.% + \or + Jeu.% + \or + Ven.% + \or + Sam.% + \or + Dim.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchmidnight} +% \begin{macrocode} +\newcommand*\DTMfrenchmidnight{minuit}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchnoon} +% \begin{macrocode} +\newcommand*\DTMfrenchnoon{midi}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchtimesymsep} +% \begin{macrocode} +\newcommand*\DTMfrenchtimesymsep{\,}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchhoursym} +% \begin{macrocode} +\newcommand*\DTMfrenchhoursym{h}% +% \end{macrocode} +%\end{macro} +% +% This style ignores seconds. +%\changes{1.01}{2017-04-08}{Add frenchalpha time style} +% \begin{macrocode} +\DTMnewtimestyle + {frenchalpha}% label + {% + \renewcommand*\DTMdisplaytime[3]{% + \ifnum##2=0 + \ifnum##1=12 + \DTMfrenchnoon + \else + \ifnum##1=0 + \DTMfrenchmidnight + \else + \ifnum##1=24 + \DTMfrenchmidnight + \else + \number##1 + \DTMfrenchtimesymsep\DTMfrenchhoursym + \fi + \fi + \fi + \else + \ifnum##1=24 + 0% + \else + \number##1 + \fi + \DTMfrenchtimesymsep\DTMfrenchhoursym + \DTMfrenchtimesymsep\DTMtwodigits{##2}% + \fi + }% + }% +% \end{macrocode} +% +%\iffalse +% \begin{macrocode} +%</datetime2-french-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main French Module (\texttt{datetime2-french.ldf})} +%\changes{1.0}{2015-03-27}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-french.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{french}[2017/04/08 v1.02] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{french-utf8} if either of those engines are used +% otherwise load \texttt{french-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{french-utf8} +\else + \ifluatex + \RequireDateTimeModule{french-utf8} + \else + \RequireDateTimeModule{french-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{french} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. +% +% Allow the user a way of configuring the "french" and +% "french-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}{\DTMfrenchdowdaysep} +% The separator between the day of week name and the day of month +% number for the text format. +%\changes{1.01}{2017-04-08}{Add support for showdow} +% \begin{macrocode} +\newcommand*{\DTMfrenchdowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchdaymonthsep} +% The separator between the day and month for the text format. +%\changes{1.02}{2017-04-08}{Use non-breaking space} +% \begin{macrocode} +\newcommand*{\DTMfrenchdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMfrenchmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMfrenchdatetimesep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMfrenchtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMfrenchdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMfrenchtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMfrenchtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{french}{dowdaysep}{\renewcommand*{\DTMfrenchdowdaysep}{#1}} +\DTMdefkey{french}{daymonthsep}{\renewcommand*{\DTMfrenchdaymonthsep}{#1}} +\DTMdefkey{french}{monthyearsep}{\renewcommand*{\DTMfrenchmonthyearsep}{#1}} +\DTMdefkey{french}{datetimesep}{\renewcommand*{\DTMfrenchdatetimesep}{#1}} +\DTMdefkey{french}{timezonesep}{\renewcommand*{\DTMfrenchtimezonesep}{#1}} +\DTMdefkey{french}{datesep}{\renewcommand*{\DTMfrenchdatesep}{#1}} +\DTMdefkey{french}{timesep}{\renewcommand*{\DTMfrenchtimesep}{#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. +%\changes{1.01}{2017-04-08}{Add support for abbr} +% \begin{macrocode} +\DTMdefboolkey{french}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{french}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{french}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{french}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{french}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{french}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{french}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{french}{showyear}{true} +% \end{macrocode} +% +% Define the "french" style. +%\changes{1.01}{2017-04-08}{Add support for abbr and showdow} +% \begin{macrocode} +\DTMnewstyle + {french}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{french}{abbr}% + {\DTMfrenchshortweekdayname{##4}}% + {\DTMfrenchweekdayname{##4}}% + \DTMfrenchdowdaysep + \fi + \fi + \DTMifbool{french}{showdayofmonth}% + {% + \DTMfrenchordinal{##3}% + \DTMfrenchdaymonthsep + }% + {}% + \DTMifbool{french}{abbr}% + {\DTMfrenchshortmonthname{##2}}% + {\DTMfrenchmonthname{##2}}% + \DTMifbool{french}{showyear}% + {% + \DTMfrenchmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{french}{abbr}% + {\DTMfrenchshortWeekdayname{##4}}% + {\DTMfrenchWeekdayname{##4}}% + \DTMfrenchdowdaysep + \DTMifbool{french}{showdayofmonth}% + {% + \DTMfrenchordinal{##3}% + \DTMfrenchdaymonthsep + }% + {}% + \DTMifbool{french}{abbr}% + {\DTMfrenchshortmonthname{##2}}% + {\DTMfrenchmonthname{##2}}% + \DTMifbool{french}{showyear}% + {% + \DTMfrenchmonthyearsep + \number##1 % space intended + }% + {}% + \else + \DTMifbool{french}{showdayofmonth} + {% + \DTMfrenchordinal{##3}% + \DTMfrenchdaymonthsep + \DTMifbool{french}{abbr}% + {\DTMfrenchshortmonthname{##2}}% + {\DTMfrenchmonthname{##2}}% + }% + {% + \DTMifbool{french}{abbr}% + {\DTMfrenchshortMonthname{##2}}% + {\DTMfrenchMonthname{##2}}% + }% + \DTMifbool{french}{showyear}% + {% + \DTMfrenchmonthyearsep + \number##1 % space intended + }% + {}% + \fi + \else + \DTMifbool{french}{showdayofmonth} + {% + \DTMfrenchordinal{##3}% + \DTMfrenchdaymonthsep + \DTMifbool{french}{abbr}% + {\DTMfrenchshortmonthname{##2}}% + {\DTMfrenchmonthname{##2}}% + }% + {% + \DTMifbool{french}{abbr}% + {\DTMfrenchshortMonthname{##2}}% + {\DTMfrenchMonthname{##2}}% + }% + \DTMifbool{french}{showyear}% + {% + \DTMfrenchmonthyearsep + \number##1 % space intended + }% + {}% + \fi + }% + }% + {% time style + \DTMsettimestyle{frenchalpha}% + }% + {% zone style + \DTMresetzones + \DTMfrenchzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{french}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMfrenchtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMfrenchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfrenchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMfrenchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfrenchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {french-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{french}{showdayofmonth}% + {% + \number##3 % space intended + \DTMfrenchdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{french}{showyear}% + {% + \DTMfrenchdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMfrenchtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMfrenchtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMfrenchzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{french}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMfrenchtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMfrenchdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMfrenchtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMfrenchzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMfrenchzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{french}} +{\DTMsetstyle{french-numeric}} +% \end{macrocode} +% +% Redefine \cs{datefrench} (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\datefrench + {% do nothing + }% + {% + \def\datefrench{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{french}}% + {\DTMsetstyle{french-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{french}}% + {\DTMsetstyle{french-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-french.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.ins b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.ins new file mode 100644 index 0000000000..d685a6f8f2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.ins @@ -0,0 +1,64 @@ +\input docstrip + +\preamble + + datetime2-french.dtx + Copyright 2015 Nicola Talbot + Copyright 2017 Paul A. Patience <pap@papatience.com> + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license or (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Paul A. Patience. + + This work consists of the files datetime2-french.dtx and + datetime2-french.ins and the derived files + datetime2-french-utf8.ldf, datetime2-french-ascii.ldf and + datetime2-french.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-french-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-french.dtx}{datetime2-french-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-french-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-french.dtx}{datetime2-french-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-french.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-french.dtx}{datetime2-french.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.pdf Binary files differnew file mode 100644 index 0000000000..713f7c01d7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-french/datetime2-french.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-galician/README b/macros/latex/contrib/datetime2-contrib/datetime2-galician/README new file mode 100644 index 0000000000..e32e954771 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-galician/README @@ -0,0 +1,57 @@ +Galician Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[galician]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[galician]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{galician} +\usepackage[galician]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-galician.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-galician/ + +Documentation: + +xelatex datetime2-galician.dtx +makeindex -s gind.ist datetime2-galician.idx +makeindex -s gglo.ist -o datetime2-galician.gls datetime2-galician.glo +xelatex datetime2-galician.dtx +xelatex datetime2-galician.dtx + +Move datetime2-galician.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-galician/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.dtx new file mode 100644 index 0000000000..ed38ce7669 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.dtx @@ -0,0 +1,637 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Galician Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{261} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-galician.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Galician Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-13 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Galician 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-galician}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Galician. +%In particular, I don't know if the "galician" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-galician.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-galician-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{galician-utf8}[2018/04/13 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMgalicianordinal} +% \begin{macrocode} +\newcommand*{\DTMgalicianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMgalicianmonthname} +% Galician month names. +% \begin{macrocode} +\newcommand*{\DTMgalicianmonthname}[1]{% + \ifcase#1 + \or + xaneiro% + \or + febreiro% + \or + marzo% + \or + abril% + \or + maio% + \or + xuƱo% + \or + xullo% + \or + agosto% + \or + setembro% + \or + outubro% + \or + novembro% + \or + decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgalicianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMgalicianMonthname}[1]{% + \ifcase#1 + \or + Xaneiro% + \or + Febreiro% + \or + Marzo% + \or + Abril% + \or + Maio% + \or + XuƱo% + \or + Xullo% + \or + Agosto% + \or + Setembro% + \or + Outubro% + \or + Novembro% + \or + Decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-galician-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-galician-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-galician-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{galician-ascii}[2018/04/13 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMgalicianordinal} +% \begin{macrocode} +\newcommand*{\DTMgalicianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgalicianmonthname} +% Galician month names. +% \begin{macrocode} +\newcommand*{\DTMgalicianmonthname}[1]{% + \ifcase#1 + \or + xaneiro% + \or + febreiro% + \or + marzo% + \or + abril% + \or + maio% + \or + xu\protect\~no% + \or + xullo% + \or + agosto% + \or + setembro% + \or + outubro% + \or + novembro% + \or + decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgalicianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMgalicianMonthname}[1]{% + \ifcase#1 + \or + Xaneiro% + \or + Febreiro% + \or + Marzo% + \or + Abril% + \or + Maio% + \or + Xu\protect\~no% + \or + Xullo% + \or + Agosto% + \or + Setembro% + \or + Outubro% + \or + Novembro% + \or + Decembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-galician-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Galician Module (\texttt{datetime2-galician.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-galician.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{galician}[2018/04/13 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{galician-utf8} if either of those engines are used +% otherwise load \texttt{galician-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{galician-utf8} +\else + \ifluatex + \RequireDateTimeModule{galician-utf8} + \else + \RequireDateTimeModule{galician-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{galician} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "galician" and +% "galician-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}{\DTMgaliciandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMgaliciandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% + de\space +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgalicianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMgalicianmonthyearsep}{% + \space de% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaliciandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaliciandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaliciantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaliciantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaliciandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMgaliciandatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaliciantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMgaliciantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{galician}{daymonthsep}{\renewcommand*{\DTMgaliciandaymonthsep}{#1}} +\DTMdefkey{galician}{monthyearsep}{\renewcommand*{\DTMgalicianmonthyearsep}{#1}} +\DTMdefkey{galician}{datetimesep}{\renewcommand*{\DTMgaliciandatetimesep}{#1}} +\DTMdefkey{galician}{timezonesep}{\renewcommand*{\DTMgaliciantimezonesep}{#1}} +\DTMdefkey{galician}{datesep}{\renewcommand*{\DTMgaliciandatesep}{#1}} +\DTMdefkey{galician}{timesep}{\renewcommand*{\DTMgaliciantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{galician}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{galician}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{galician}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{galician}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{galician}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{galician}{showyear}{true} +% \end{macrocode} +% +% Define the "galician" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {galician}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{galician}{showdayofmonth} + {\DTMgalicianordinal{##3}\DTMgaliciandaymonthsep}% + {}% + \DTMgalicianmonthname{##2}% + \DTMifbool{galician}{showyear}% + {% + \DTMgalicianmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{galician}{showdayofmonth} + {% + \DTMgalicianordinal{##3}\DTMgaliciandaymonthsep + \DTMgalicianmonthname{##2}% + }% + {% + \DTMgalicianMonthname{##2}% + }% + \DTMifbool{galician}{showyear}% + {% + \DTMgalicianmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMgalicianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{galician}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaliciantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaliciandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaliciantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMgaliciandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaliciantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {galician-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{galician}{showdayofmonth}% + {% + \number##3 % space intended + \DTMgaliciandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{galician}{showyear}% + {% + \DTMgaliciandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMgaliciantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgaliciantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgalicianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{galician}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaliciantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaliciandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaliciantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMgalicianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. No default mappings are provided at the moment. +% \begin{macrocode} +\newcommand*{\DTMgalicianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{galician}} +{\DTMsetstyle{galician-numeric}} +% \end{macrocode} +% +% Redefine \cs{dategalician} (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.) +%\changes{1.1}{2018-04-13}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dategalician + {% do nothing + }% + {% + \def\dategalician{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{galician}}% + {\DTMsetstyle{galician-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{galician}}% + {\DTMsetstyle{galician-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-galician.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.ins b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.ins new file mode 100644 index 0000000000..a0c5810dfd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-galician.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-galician.dtx and + datetime2-galician.ins and the derived files + datetime2-galician-utf8.ldf, datetime2-galician-ascii.ldf and + datetime2-galician.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-galician-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-galician.dtx}{datetime2-galician-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-galician-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-galician.dtx}{datetime2-galician-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-galician.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-galician.dtx}{datetime2-galician.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.pdf Binary files differnew file mode 100644 index 0000000000..8e7d68a545 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-galician/datetime2-galician.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-german/README.md b/macros/latex/contrib/datetime2-contrib/datetime2-german/README.md new file mode 100644 index 0000000000..354d3adc4b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-german/README.md @@ -0,0 +1,31 @@ +# datetime2-german +German Language Module for `datetime2` Package + +Authors: Nicola L. C. Talbot (inactive), Sebastian Friedl + +Licence: LPPL 1.3c + +Required Packages: `datetime2`, `tracklang` + +This module is maintained. +Current maintainer is Sebastian Friedl. + +Thanks to JĆ¼rgen SpitzmĆ¼ller for his valuable advice while developing Version 2.0 of this module. + +## Installation + +`latex datetime2-german.ins` + +Move all `*.ldf` files to `TEXMF/tex/latex/datetime2-contrib/datetime2-german/` + +Documentation: + + pdflatex datetime2-german.dtx + makeindex -s gind.ist datetime2-german.idx + makeindex -s gglo.ist -o datetime2-german.gls datetime2-german.glo + pdflatex datetime2-german.dtx + pdflatex datetime2-german.dtx + +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") for the details of that license. diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.dtx new file mode 100644 index 0000000000..f992035f59 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.dtx @@ -0,0 +1,2242 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% Copyright (C) 2017 Sebastian Friedl, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage{alltt} +\usepackage{csquotes} +\usepackage{graphicx} +\usepackage{hologo} +\usepackage{multicol} +\usepackage[bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot, Sebastian Friedl}, + pdftitle={datetime2.sty German Module}]{hyperref} +\usepackage{verbatim} + +\usepackage[p,space]{erewhon} +\usepackage{sourcesanspro} +\usepackage{inconsolata} +\usepackage[utopia,vvarbb]{newtxmath} + +\usepackage[left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry} + +\parindent0pt + +\CheckSum{1085} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-german.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\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-11-13 (v2.1)} +%\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} +% \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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +% +% +% 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 +% +% +% +% \section{Installation} +% Extract the language definition files first: +% \begin{enumerate} +% \item +% Run \LaTeX\ over the file \texttt{datetime2-german.ins}: \\ +% \verb|latex datetime2-german.ins| +% % +% \item +% Move all \texttt{*.ldf} files to \texttt{TEXMF/tex/latex/datetime2-contrib/datetime2-german/} +% \end{enumerate} +% Then, you can compile the documentation yourself by executing \\[\smallskipamount] +%\verb|pdflatex datetime2-german.dtx| \\ +%\verb|makeindex -s gind.ist datetime2-german.idx| \\ +%\verb|makeindex -s gglo.ist -o datetime2-german.gls datetime2-german.glo| \\ +%\verb|pdflatex datetime2-german.dtx| \\ +%\verb|pdflatex datetime2-german.dtx| \\[\medskipamount] +% or just use the precompiled documentation shipped with the sorce files. \\ +% In both cases, copy the files \texttt{datetime2-german.pdf} and \texttt{README.md} to \\ +% \texttt{TEXMF/doc/latex/datetime2-contrib/datetime2-german/} +% +% +% +% \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] +% +% \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] +% +% \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}| \\ +%\verb|\usepackage[german]{datetime2}| \\ +%\verb|\begin{document}| \\ +%\verb|\today| \\ +%\verb|\end{document}| +% +% +% \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: \\ +% 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{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. \\ +% See the copyright headers of the single files for further details. +% +% +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\clearpage +%\part{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-german-utf8.ldf> +% \end{macrocode} +%\fi +%\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. +%\changes{1.0}{2015-03-27}{Initial release} +% +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{german-utf8}[2017/11/13 v2.1] +% \end{macrocode} +%\begin{macro}{\DTMgermanordinal} +% \begin{macrocode} +\newcommand*{\DTMgermanordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermanmonthname} +% German month names. +% \begin{macrocode} +\newcommand*{\DTMgermanmonthname}[1]{% + \ifcase#1 + \or + Januar% + \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}{\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 + \or + Jan.% + \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}{\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 + Nov.% + \or + Dez.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermanweekdayname} +% Provides weekday names +% \begin{macrocode} +\newcommand*{\DTMgermanweekdayname}[1]{% + \ifcase#1 + Montag% + \or + Dienstag% + \or + Mittwoch% + \or + Donnerstag% + \or + Freitag% + \or + Samstag% + \or + Sonntag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\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% + \or + Di% + \or + Mi% + \or + Do% + \or + Fr% + \or + Sa% + \or + So% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-german-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-german-ascii.ldf> +% \end{macrocode} +%\fi +%\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 +%"utf8", this file should still be used not the +%\texttt{datetime2-german-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-27}{Initial release} +% +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{german-ascii}[2017/11/13 v2.1] +% \end{macrocode} +% +%\begin{macro}{\DTMgermanordinal} +% \begin{macrocode} +\newcommand*{\DTMgermanordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermanmonthname} +% German month names. +% \begin{macrocode} +\newcommand*{\DTMgermanmonthname}[1]{% + \ifcase#1 + \or + Januar% + \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}{\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 + \or + Jan.% + \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 +} +% \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 + 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\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} +\newcommand*{\DTMgermanweekdayname}[1]{% + \ifcase#1 + Montag% + \or + Dienstag% + \or + Mittwoch% + \or + Donnerstag% + \or + Freitag% + \or + Samstag% + \or + Sonntag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\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% + \or + Di% + \or + Mi% + \or + Do% + \or + Fr% + \or + Sa% + \or + So% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-german-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Basic German Module (\texttt{datetime2-german.ldf})} +%\changes{1.0}{2015-03-27}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-german.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{german}[2017/11/13 v2.1] +% \end{macrocode} +% Need to find out if \hologo{XeTeX} or \hologo{LuaTeX} are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% \hologo{XeTeX} and \hologo{LuaTeX} natively support UTF-8, so load +% \texttt{german-utf8} if either of those engines are used +% otherwise load \texttt{german-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{german-utf8} +\else + \ifluatex + \RequireDateTimeModule{german-utf8} + \else + \RequireDateTimeModule{german-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{german} style. +% +% Allow the user a way of configuring the "german" and +% "german-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}{\DTMgermandowdaysep} +% The separator between weekday and day +% \begin{macrocode} +\newcommand*{\DTMgermandowdaysep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMgermandaymonthsep}{.\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermanmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMgermanmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgermandatetimesep}{,\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgermantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMgermandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgermantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMgermantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%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}} +\DTMdefkey{german}{timezonesep}{\renewcommand*{\DTMgermantimezonesep}{#1}} +\DTMdefkey{german}{datesep}{\renewcommand*{\DTMgermandatesep}{#1}} +\DTMdefkey{german}{timesep}{\renewcommand*{\DTMgermantimesep}{#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{german}{abbr}[true]{} +% \end{macrocode} +% +% The default is full name +% \begin{macrocode} +\DTMsetbool{german}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{german}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{german}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{german}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{german}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{german}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{german}{showyear}{true} +% \end{macrocode} +% +% Define the "german" style. +%\changes{1.1}{2017-03-09}{fixed bug in \cs{DTMDisplaydate}} +%\changes{1.2}{2017-09-10}{Short month names implemented} +%\changes{1.2}{2017-09-10}{Short weekday names implemented} +%\changes{1.2}{2017-09-10}{Day of week implemented} +%\changes{2.1}{2017-11-13}{Fixed strange spacing when switching languages} +% \begin{macrocode} +\DTMnewstyle + {german}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{german}{abbr}% + {\DTMgermanshortweekdayname{##4}}% + {\DTMgermanweekdayname{##4}}% + \DTMgermandowdaysep + \fi + \fi + % + \DTMifbool{german}{showdayofmonth}% + {\DTMgermanordinal{##3}\DTMgermandaymonthsep}% + {}% + % + \DTMifbool{german}{abbr}% + {\DTMgermanshortmonthname{##2}}% + {\DTMgermanmonthname{##2}}% + % + \DTMifbool{german}{showyear}% + {% + \DTMgermanmonthyearsep% + \DTMifbool{german}{abbr}% + {'\DTMtwodigits{##1}}% + {\number##1 }% space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{german}{abbr}% + {\DTMgermanshortweekdayname{##4}}% + {\DTMgermanweekdayname{##4}}% + \DTMgermandowdaysep + \fi + \fi + % + \DTMifbool{german}{showdayofmonth}% + {\DTMgermanordinal{##3}\DTMgermandaymonthsep}% + {}% + % + \DTMifbool{german}{abbr}% + {\DTMgermanshortmonthname{##2}}% + {\DTMgermanmonthname{##2}}% + % + \DTMifbool{german}{showyear}% + {% + \DTMgermanmonthyearsep% + \DTMifbool{german}{abbr}% + {'\DTMtwodigits{##1}}% + {\number##1 }% space intended + }% + {}% + }% + }% + {% time style (use default) + \renewcommand*\DTMdisplaytime[3]{% + \DTMtwodigits{##1}% + \DTMgermantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgermantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgermanzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{german}{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}% + \DTMgermandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgermantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMgermandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgermantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% 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 + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{german}{abbr}% + {\DTMgermanshortweekdayname{##4}}% + {\DTMgermanweekdayname{##4}}% + \DTMgermandowdaysep + \fi + \fi + % + \DTMifbool{german}{showdayofmonth}% + {% + \DTMtwodigits{##3}% + \DTMgermandatesep + }% + {}% + \DTMtwodigits{##2}% + \DTMgermandatesep% + \DTMifbool{german}{showyear}% + {% + \DTMifbool{german}{abbr}% + {\DTMtwodigits{##1}}% + {\number##1 }% space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \DTMtwodigits{##1}% + \DTMgermantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgermantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgermanzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{german}{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}% + \DTMgermandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgermantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMgermanzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +%\changes{1.2}{2017-09-10}{German time zone names (ME[S]Z)} +% \begin{macrocode} +\newcommand*{\DTMgermanzonemaps}{% + \DTMdefzonemap{01}{00}{MEZ}% + \DTMdefzonemap{02}{00}{MESZ}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{german}} +{\DTMsetstyle{german-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{german}}% + {\DTMsetstyle{german-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</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/11/13 v2.1] +% \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/11/13 v2.1] +% \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/11/13 v2.1] +% \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
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.ins b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.ins new file mode 100644 index 0000000000..585dc37c7c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.ins @@ -0,0 +1,109 @@ +\input docstrip + +\preamble + + 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 + +\endpreamble + +\askforoverwritefalse + + + + +\generate +{% + \file + {datetime2-german-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-german.dtx}{datetime2-german-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-german-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-german.dtx}{datetime2-german-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-german.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-german.dtx}{datetime2-german.ldf,package}% + }% +} + + + + +\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/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.pdf Binary files differnew file mode 100644 index 0000000000..7bb0d2b49e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-german/datetime2-german.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-greek/README b/macros/latex/contrib/datetime2-contrib/datetime2-greek/README new file mode 100644 index 0000000000..5609cac64d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-greek/README @@ -0,0 +1,57 @@ +Greek Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[greek]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[greek]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{greek} +\usepackage[greek]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-greek.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-greek/ + +Documentation: + +xelatex datetime2-greek.dtx +makeindex -s gind.ist datetime2-greek.idx +makeindex -s gglo.ist -o datetime2-greek.gls datetime2-greek.glo +xelatex datetime2-greek.dtx +xelatex datetime2-greek.dtx + +Move datetime2-greek.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-greek/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.dtx new file mode 100644 index 0000000000..d3d6dd085a --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.dtx @@ -0,0 +1,539 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Greek Module}]{hyperref} + +\newfontfamily\greekfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{230} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-greek.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Greek Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-18 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Greek 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-greek}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Greek. +%In particular, I don't know if the "greek" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-greek.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. There is currently no +%support for Ancient Greek. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-greek-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{greek-utf8}[2018/04/18 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMgreekordinal} +% \begin{macrocode} +\newcommand*{\DTMgreekordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMgreekmonthname} +% Greek month names. +% \begin{macrocode} +\newcommand*{\DTMgreekmonthname}[1]{% + \ifcase#1 + \or + ĪĪ±Ī½ĪæĻ
Ī±ĻĪÆĪæĻ
% + \or + Ī¦ĪµĪ²ĻĪæĻ
Ī±ĻĪÆĪæĻ
% + \or + ĪĪ±ĻĻĪÆĪæĻ
% + \or + ĪĻĻĪ¹Ī»ĪÆĪæĻ
% + \or + ĪĪ±ĪĪæĻ
% + \or + ĪĪæĻ
Ī½ĪÆĪæĻ
% + \or + ĪĪæĻ
Ī»ĪÆĪæĻ
% + \or + ĪĻ
Ī³ĪæĻĻĻĪæĻ
% + \or + Ī£ĪµĻĻĪµĪ¼Ī²ĻĪÆĪæĻ
% + \or + ĪĪŗĻĻĪ²ĻĪÆĪæĻ
% + \or + ĪĪæĪµĪ¼Ī²ĻĪÆĪæĻ
% + \or + ĪĪµĪŗĪµĪ¼Ī²ĻĪÆĪæĻ
% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-greek-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-greek-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-greek-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{greek-ascii}[2018/04/18 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMgreekordinal} +% \begin{macrocode} +\newcommand*{\DTMgreekordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreekmonthname} +% Greek month names. +% \begin{macrocode} +\newcommand*{\DTMgreekmonthname}[1]{% + \ifcase#1 + \or + Ianouar\protect\'iou% + \or + Febrouar\protect\'iou% + \or + Mart\protect\'iou% + \or + April\protect\'iou% + \or + Ma\protect\'{\protect\"i}ou% + \or + Ioun\protect\'iou% + \or + Ioul\protect\'iou% + \or + Augo\protect\'ustou% + \or + Septembr\protect\'iou% + \or + Oktwbr\protect\'iou% + \or + Noembr\protect\'iou% + \or + Dekembr\protect\'iou% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-greek-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Greek Module (\texttt{datetime2-greek.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-greek.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{greek}[2018/04/18 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{greek-utf8} if either of those engines are used +% otherwise load \texttt{greek-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{greek-utf8} +\else + \ifluatex + \RequireDateTimeModule{greek-utf8} + \else + \RequireDateTimeModule{greek-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{greek} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "greek" and +% "greek-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}{\DTMgreekdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMgreekdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreekmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMgreekmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreekdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgreekdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreektimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgreektimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreekdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMgreekdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgreektimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMgreektimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{greek}{daymonthsep}{\renewcommand*{\DTMgreekdaymonthsep}{#1}} +\DTMdefkey{greek}{monthyearsep}{\renewcommand*{\DTMgreekmonthyearsep}{#1}} +\DTMdefkey{greek}{datetimesep}{\renewcommand*{\DTMgreekdatetimesep}{#1}} +\DTMdefkey{greek}{timezonesep}{\renewcommand*{\DTMgreektimezonesep}{#1}} +\DTMdefkey{greek}{datesep}{\renewcommand*{\DTMgreekdatesep}{#1}} +\DTMdefkey{greek}{timesep}{\renewcommand*{\DTMgreektimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{greek}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{greek}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{greek}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{greek}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{greek}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{greek}{showyear}{true} +% \end{macrocode} +% +% Define the "greek" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {greek}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{greek}{showdayofmonth} + {\DTMgreekordinal{##3}\DTMgreekdaymonthsep}% + {}% + \DTMgreekmonthname{##2}% + \DTMifbool{greek}{showyear}% + {% + \DTMgreekmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMgreekzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{greek}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgreektimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgreekdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgreektimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {greek-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{greek}{showdayofmonth}% + {% + \number##3 % space intended + \DTMgreekdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{greek}{showyear}% + {% + \DTMgreekdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMgreektimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgreektimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgreekzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{greek}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgreektimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgreekdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgreektimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMgreekzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMgreekzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{greek}} +{\DTMsetstyle{greek-numeric}} +% \end{macrocode} +% +% Redefine \cs{dategreek} (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.) +%\changes{1.1}{2018-04-18}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dategreek + {% do nothing + }% + {% + \def\dategreek{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{greek}}% + {\DTMsetstyle{greek-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{greek}}% + {\DTMsetstyle{greek-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-greek.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.ins b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.ins new file mode 100644 index 0000000000..18969acec2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-greek.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-greek.dtx and + datetime2-greek.ins and the derived files + datetime2-greek-utf8.ldf, datetime2-greek-ascii.ldf and + datetime2-greek.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-greek-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-greek.dtx}{datetime2-greek-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-greek-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-greek.dtx}{datetime2-greek-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-greek.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-greek.dtx}{datetime2-greek.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.pdf Binary files differnew file mode 100644 index 0000000000..648e56fe67 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-greek/datetime2-greek.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/README b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/README new file mode 100644 index 0000000000..7537f3170b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/README @@ -0,0 +1,51 @@ +Hebrew Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass[hebrew]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{hebrew} +\usepackage[hebrew]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-hebrew.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-hebrew/ + +Documentation: + +pdflatex datetime2-hebrew.dtx +makeindex -s gind.ist datetime2-hebrew.idx +makeindex -s gglo.ist -o datetime2-hebrew.gls datetime2-hebrew.glo +pdflatex datetime2-hebrew.dtx +pdflatex datetime2-hebrew.dtx + +Move datetime2-hebrew.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-hebrew/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.dtx new file mode 100644 index 0000000000..08f4de2dcd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.dtx @@ -0,0 +1,361 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Hebrew Module}]{hyperref} + +\CheckSum{162} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-hebrew.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Hebrew Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2010-04-18 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Hebrew 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%The date style simply uses either \sty{babel}'s \cs{hebdate} +%or \sty{polyglossia}'s \cs{hebrewdate} so the date style isn't +%expandable. +% +%I don't know if these settings are correct as I can't speak Hebrew. +%In particular, I don't know if the "hebrew" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-hebrew.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +% There is currently only one ".ldf" file. +% +%\subsection{Main Hebrew Module (\texttt{datetime2-hebrew.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-hebrew.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{hebrew}[2018/04/18 v1.1] +% \end{macrocode} +% The date style uses \cs{hebrewdate} or \cs{hebdate}, depending on +% which is defined. This needs to be robust, which means the date +% can't be expanded with this style. This should be fixed if at all +% possible. (I don't know how.) +%\begin{macro}{\DTMhebrewdate} +% \begin{macrocode} +\ifdef\hebrewdate +{% + \newrobustcmd*\DTMhebrewdate[3]{\hebrewdate{#3}{#2}{#1}}% +}% +{% + \ifdef\hebdate + {% + \newrobustcmd*\DTMhebrewdate[3]{\hebdate{#3}{#2}{#1}}% + }% + {% + \newcommand*\DTMhebrewdate[3]{#3-#2-#1}% + \PackageWarning{datetime2-hebrew}{Neither + \string\hebrewdate\space nor \string\hebdate\space defined}{}% + }% +}% +% \end{macrocode} +%\end{macro} +%For some reason \cs{hebrewdate} doesn't work with \cs{datetime2}'s +%definition of \cs{today} so it needs to be changed. +%\begin{macro}{\today} +% \begin{macrocode} +\renewcommand*{\today}{\DTMdisplaydate{\year}{\month}{\day}{-1}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\Today} +% \begin{macrocode} +\renewcommand*{\Today}{\DTMDisplaydate{\year}{\month}{\day}{-1}} +% \end{macrocode} +%\end{macro} +% +%The full style will probably need to check for RL or LR. +%\begin{macro}{\DTMhebrewdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMhebrewdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMhebrewtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMhebrewtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMhebrewdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMhebrewdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMhebrewtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMhebrewtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{hebrew}{datetimesep}{\renewcommand*{\DTMhebrewdatetimesep}{#1}} +\DTMdefkey{hebrew}{timezonesep}{\renewcommand*{\DTMhebrewtimezonesep}{#1}} +\DTMdefkey{hebrew}{datesep}{\renewcommand*{\DTMhebrewdatesep}{#1}} +\DTMdefkey{hebrew}{timesep}{\renewcommand*{\DTMhebrewtimesep}{#1}} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{hebrew}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{hebrew}{mapzone}{true} +% \end{macrocode} +% +% Define the "hebrew" style. +% \begin{macrocode} +\DTMnewstyle + {hebrew}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMtexorpdfstring{\DTMhebrewdate{##1}{##2}{##3}}{##3-##2-##1}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMhebrewzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{hebrew}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMhebrewtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMhebrewdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMhebrewtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {hebrew-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{hebrew}{showdayofmonth}% + {% + \number##3 % space intended + \DTMhebrewdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{hebrew}{showyear}% + {% + \DTMhebrewdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMhebrewtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMhebrewtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMhebrewzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{hebrew}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMhebrewtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMhebrewdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMhebrewtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMhebrewzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. There are currently no mappings. +% \begin{macrocode} +\newcommand*{\DTMhebrewzonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{hebrew}} +{\DTMsetstyle{hebrew-numeric}} +% \end{macrocode} +% +% Redefine \cs{datehebrew} (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.) +%\changes{1.1}{2018-04-18}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datehebrew + {% do nothing + }% + {% + \def\datehebrew{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{hebrew}}% + {\DTMsetstyle{hebrew-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{hebrew}}% + {\DTMsetstyle{hebrew-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-hebrew.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.ins b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.ins new file mode 100644 index 0000000000..9ab52c0f41 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.ins @@ -0,0 +1,38 @@ +\input docstrip + +\preamble + + datetime2-hebrew.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-hebrew.dtx and + datetime2-hebrew.ins and the derived file + datetime2-hebrew.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-hebrew.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-hebrew.dtx}{datetime2-hebrew.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.pdf Binary files differnew file mode 100644 index 0000000000..bd0cdf2956 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-hebrew/datetime2-hebrew.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/README b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/README new file mode 100644 index 0000000000..eb9433c1be --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/README @@ -0,0 +1,57 @@ +Icelandic Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[icelandic]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[icelandic]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{icelandic} +\usepackage[icelandic]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-icelandic.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-icelandic/ + +Documentation: + +xelatex datetime2-icelandic.dtx +makeindex -s gind.ist datetime2-icelandic.idx +makeindex -s gglo.ist -o datetime2-icelandic.gls datetime2-icelandic.glo +xelatex datetime2-icelandic.dtx +xelatex datetime2-icelandic.dtx + +Move datetime2-icelandic.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-icelandic/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.dtx new file mode 100644 index 0000000000..560bcdb1d2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.dtx @@ -0,0 +1,632 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Icelandic Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{300} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-icelandic.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Icelandic Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-24 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Icelandic 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-icelandic}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Icelandic. +%In particular, I don't know if the "icelandic" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-icelandic.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-icelandic-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{icelandic-utf8}[2018/04/24 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMicelandicordinal} +% \begin{macrocode} +\newcommand*{\DTMicelandicordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMicelandicmonthname} +% Icelandic month names. +% \begin{macrocode} +\newcommand*{\DTMicelandicmonthname}[1]{% + \ifcase#1 + \or + janĆŗar% + \or + febrĆŗar% + \or + mars% + \or + aprĆl% + \or + maĆ% + \or + jĆŗnĆ% + \or + jĆŗlĆ% + \or + Ć”gĆŗst% + \or + september% + \or + oktĆ³ber% + \or + nĆ³vember% + \or + desembe% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMicelandicMonthname}[1]{% + \ifcase#1 + \or + JanĆŗar% + \or + FebrĆŗar% + \or + Mars% + \or + AprĆl% + \or + MaĆ% + \or + JĆŗnĆ% + \or + JĆŗlĆ% + \or + ĆgĆŗst% + \or + September% + \or + OktĆ³ber% + \or + NĆ³vember% + \or + Desembe% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-icelandic-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-icelandic-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-icelandic-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{icelandic-ascii}[2018/04/24 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMicelandicordinal} +% \begin{macrocode} +\newcommand*{\DTMicelandicordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicmonthname} +% Icelandic month names. +% \begin{macrocode} +\newcommand*{\DTMicelandicmonthname}[1]{% + \ifcase#1 + \or + jan\protect\'uar% + \or + febr\protect\'uar% + \or + mars% + \or + apr\protect\'il% + \or + ma\protect\'i% + \or + j\protect\'un\protect\'i% + \or + j\protect\'ul\protect\'i% + \or + \protect\'ag\protect\'ust% + \or + september% + \or + okt\protect\'ober% + \or + n\protect\'ovember% + \or + desembe% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMicelandicMonthname}[1]{% + \ifcase#1 + \or + Jan\protect\'uar% + \or + Febr\protect\'uar% + \or + Mars% + \or + Apr\protect\'il% + \or + Ma\protect\'i% + \or + J\protect\'un\protect\'i% + \or + J\protect\'ul\protect\'i% + \or + \protect\'Ag\protect\'ust% + \or + September% + \or + Okt\protect\'ober% + \or + N\protect\'ovember% + \or + Desembe% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-icelandic-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Icelandic Module (\texttt{datetime2-icelandic.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-icelandic.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{icelandic}[2018/04/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{icelandic-utf8} if either of those engines are used +% otherwise load \texttt{icelandic-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{icelandic-utf8} +\else + \ifluatex + \RequireDateTimeModule{icelandic-utf8} + \else + \RequireDateTimeModule{icelandic-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{icelandic} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "icelandic" and +% "icelandic-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}{\DTMicelandicdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMicelandicdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMicelandicmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMicelandicdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandictimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMicelandictimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandicdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMicelandicdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMicelandictimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMicelandictimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{icelandic}{daymonthsep}{\renewcommand*{\DTMicelandicdaymonthsep}{#1}} +\DTMdefkey{icelandic}{monthyearsep}{\renewcommand*{\DTMicelandicmonthyearsep}{#1}} +\DTMdefkey{icelandic}{datetimesep}{\renewcommand*{\DTMicelandicdatetimesep}{#1}} +\DTMdefkey{icelandic}{timezonesep}{\renewcommand*{\DTMicelandictimezonesep}{#1}} +\DTMdefkey{icelandic}{datesep}{\renewcommand*{\DTMicelandicdatesep}{#1}} +\DTMdefkey{icelandic}{timesep}{\renewcommand*{\DTMicelandictimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{icelandic}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{icelandic}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{icelandic}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{icelandic}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{icelandic}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{icelandic}{showyear}{true} +% \end{macrocode} +% +% Define the "icelandic" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {icelandic}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{icelandic}{showdayofmonth} + {\DTMicelandicordinal{##3}\DTMicelandicdaymonthsep}% + {}% + \DTMicelandicmonthname{##2}% + \DTMifbool{icelandic}{showyear}% + {% + \DTMicelandicmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{icelandic}{showdayofmonth} + {% + \DTMicelandicordinal{##3}\DTMicelandicdaymonthsep + \DTMicelandicmonthname{##2}% + }% + {% + \DTMicelandicMonthname{##2}% + }% + \DTMifbool{icelandic}{showyear}% + {% + \DTMicelandicmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMicelandiczonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{icelandic}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMicelandictimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMicelandicdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMicelandictimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMicelandicdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMicelandictimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {icelandic-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{icelandic}{showdayofmonth}% + {% + \number##3 % space intended + \DTMicelandicdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{icelandic}{showyear}% + {% + \DTMicelandicdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMicelandictimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMicelandictimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMicelandiczonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{icelandic}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMicelandictimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMicelandicdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMicelandictimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMicelandiczonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMicelandiczonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{icelandic}} +{\DTMsetstyle{icelandic-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateicelandic} (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.) +%\changes{1.1}{2018-04-25}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateicelandic + {% do nothing + }% + {% + \def\dateicelandic{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{icelandic}}% + {\DTMsetstyle{icelandic-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{icelandic}}% + {\DTMsetstyle{icelandic-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-icelandic.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.ins b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.ins new file mode 100644 index 0000000000..c2d0571be5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-icelandic.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-icelandic.dtx and + datetime2-icelandic.ins and the derived files + datetime2-icelandic-utf8.ldf, datetime2-icelandic-ascii.ldf and + datetime2-icelandic.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-icelandic-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-icelandic.dtx}{datetime2-icelandic-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-icelandic-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-icelandic.dtx}{datetime2-icelandic-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-icelandic.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-icelandic.dtx}{datetime2-icelandic.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.pdf Binary files differnew file mode 100644 index 0000000000..501065608f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-icelandic/datetime2-icelandic.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-irish/README b/macros/latex/contrib/datetime2-contrib/datetime2-irish/README new file mode 100644 index 0000000000..a00fa4ca8d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-irish/README @@ -0,0 +1,71 @@ +Irish Gaelic Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[irish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[irish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{irish} +\usepackage[irish]{datetime2} +\begin{document} +\today +\end{document} + +Options using language-region ISO codes (requires tracklang v1.2): + +\documentclass{article} +\usepackage[ga-IE]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage[ga-GB]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-irish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-irish/ + +Documentation: + +pdflatex datetime2-irish.dtx +makeindex -s gind.ist datetime2-irish.idx +makeindex -s gglo.ist -o datetime2-irish.gls datetime2-irish.glo +pdflatex datetime2-irish.dtx +pdflatex datetime2-irish.dtx + +Move datetime2-irish.pdf to +TEXMF/doc/latex/datetime2-contrib/datetime2-irish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.dtx new file mode 100644 index 0000000000..f72e8e7222 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.dtx @@ -0,0 +1,1133 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Irish Module}]{hyperref} + + +\CheckSum{552} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-irish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Irish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-04-24 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Irish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-irish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Gaelic. +%In particular, I don't know if the "irish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-irish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Regional styles are named in the form \texttt{\meta{language +%code}-\meta{country code}} (or \texttt{\meta{language +%code}-\meta{country code}-numeric}) where \meta{language code} is +%the ISO 639-1 language code (\texttt{ga} in the case of Irish +%Gaelic) and \meta{country code} is the ISO 3166-1 country code +%(\texttt{IE} for the Republic of Ireland and \texttt{GB} for the +%United Kingdom of Great Britain and Northern Ireland). You will +%need \sty{tracklang} v1.2 for the "ga-IE" and "ga-GB" options. +%The only difference between them is the Summer time zone mappings +%with IST (Irish Summer Time) for "ga-IE" and BST (British Summer +%Time) for "ga-GB". The regionless "irish" style uses WET (Western +%European Time) and WEST (Western European Summer Time). +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-irish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-26}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{irish-utf8}[2018/04/24 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMirishordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMirishordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishmonthname} +% Irish month names. +% \begin{macrocode} +\newcommand*{\DTMirishmonthname}[1]{% + \ifcase#1 + \or + EanĆ”ir% + \or + Feabhra% + \or + MĆ”rta% + \or + AibreĆ”n% + \or + Bealtaine% + \or + Meitheamh% + \or + IĆŗil% + \or + LĆŗnasa% + \or + MeĆ”n FĆ³mhair% + \or + Deireadh FĆ³mhair% + \or + MĆ na Samhna% + \or + MĆ na Nollag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-irish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-irish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-irish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-26}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{irish-ascii}[2018/04/24 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMirishordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMirishordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishmonthname} +% Irish month names. +% \begin{macrocode} +\newcommand*{\DTMirishmonthname}[1]{% + \ifcase#1 + \or + Ean\protect\'air% + \or + Feabhra% + \or + M\protect\'arta% + \or + Aibre\protect\'an% + \or + Bealtaine% + \or + Meitheamh% + \or + I\protect\'uil% + \or + L\protect\'unasa% + \or + Me\protect\'an F\protect\'omhair% + \or + Deireadh F\protect\'omhair% + \or + M\protect\'i na Samhna% + \or + M\protect\'i na Nollag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-irish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Irish (no region) Module (\texttt{datetime2-irish.ldf})} +%\changes{1.0}{2015-03-26}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-irish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{irish}[2018/04/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{irish-utf8} if either of those engines are used +% otherwise load \texttt{irish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{irish-utf8} +\else + \ifluatex + \RequireDateTimeModule{irish-utf8} + \else + \RequireDateTimeModule{irish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{irish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "irish" and +% "irish-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}{\DTMirishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMirishdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMirishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMirishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMirishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMirishdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMirishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMirishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{irish}{daymonthsep}{\renewcommand*{\DTMirishdaymonthsep}{#1}} +\DTMdefkey{irish}{monthyearsep}{\renewcommand*{\DTMirishmonthyearsep}{#1}} +\DTMdefkey{irish}{datetimesep}{\renewcommand*{\DTMirishdatetimesep}{#1}} +\DTMdefkey{irish}{timezonesep}{\renewcommand*{\DTMirishtimezonesep}{#1}} +\DTMdefkey{irish}{datesep}{\renewcommand*{\DTMirishdatesep}{#1}} +\DTMdefkey{irish}{timesep}{\renewcommand*{\DTMirishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{irish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{irish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{irish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{irish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{irish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{irish}{showyear}{true} +% \end{macrocode} +% +% Define the "irish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {irish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{irish}{showdayofmonth} + {\DTMirishordinal{##3}\DTMirishdaymonthsep}% + {}% + \DTMirishmonthname{##2}% + \DTMifbool{irish}{showyear}% + {% + \DTMirishmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMirishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{irish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMirishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMirishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMirishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {irish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{irish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMirishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{irish}{showyear}% + {% + \DTMirishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMirishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMirishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMirishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{irish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMirishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMirishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMirishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMirishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. Since no region is provided, this style uses WET/WEST +% time zone mappings. +% \begin{macrocode} +\newcommand*{\DTMirishzonemaps}{% + \DTMdefzonemap{00}{00}{WET}% + \DTMdefzonemap{01}{00}{WEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{irish}} +{\DTMsetstyle{irish-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateirish} (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.) +%\changes{1.1}{2018-04-24}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateirish + {% do nothing + }% + {% + \def\dateirish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{irish}}% + {\DTMsetstyle{irish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{irish}}% + {\DTMsetstyle{irish-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-irish.ldf> +% \end{macrocode} +%\fi +%\subsection{Irish (Republic of Ireland) Module (\texttt{datetime2-ga-IE.ldf})} +%\changes{1.0}{2015-03-26}{Initial release} +% As "irish" but uses different time zone mappings. +%\iffalse +% \begin{macrocode} +%<*datetime2-ga-IE.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{ga-IE}[2018/04/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{irish-utf8} if either of those engines are used +% otherwise load \texttt{irish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{irish-utf8} +\else + \ifluatex + \RequireDateTimeModule{irish-utf8} + \else + \RequireDateTimeModule{irish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{ga-IE} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "ga-IE" and +% "ga-IE-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}{\DTMgaIEdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMgaIEdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaIEmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMgaIEmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaIEdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaIEdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaIEtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaIEtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaIEdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMgaIEdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaIEtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMgaIEtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{ga-IE}{daymonthsep}{\renewcommand*{\DTMgaIEdaymonthsep}{#1}} +\DTMdefkey{ga-IE}{monthyearsep}{\renewcommand*{\DTMgaIEmonthyearsep}{#1}} +\DTMdefkey{ga-IE}{datetimesep}{\renewcommand*{\DTMgaIEdatetimesep}{#1}} +\DTMdefkey{ga-IE}{timezonesep}{\renewcommand*{\DTMgaIEtimezonesep}{#1}} +\DTMdefkey{ga-IE}{datesep}{\renewcommand*{\DTMgaIEdatesep}{#1}} +\DTMdefkey{ga-IE}{timesep}{\renewcommand*{\DTMgaIEtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{ga-IE}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{ga-IE}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ga-IE}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{ga-IE}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ga-IE}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{ga-IE}{showyear}{true} +% \end{macrocode} +% +% Define the "ga-IE" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {ga-IE}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{ga-IE}{showdayofmonth} + {\DTMirishordinal{##3}\DTMgaIEdaymonthsep}% + {}% + \DTMirishmonthname{##2}% + \DTMifbool{ga-IE}{showyear}% + {% + \DTMgaIEmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMgaIEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ga-IE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaIEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaIEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaIEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {ga-IE-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{ga-IE}{showdayofmonth}% + {% + \number##3 % space intended + \DTMgaIEdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{ga-IE}{showyear}% + {% + \DTMgaIEdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMgaIEtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgaIEtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgaIEzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ga-IE}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaIEtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaIEdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaIEtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMgaIEzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMgaIEzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{IST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{ga-IE}} +{\DTMsetstyle{ga-IE-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateirish} (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.) +%\changes{1.1}{2018-04-24}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateirish + {% do nothing + }% + {% + \def\dateirish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ga-IE}}% + {\DTMsetstyle{ga-IE-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ga-IE}}% + {\DTMsetstyle{ga-IE-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-ga-IE.ldf> +% \end{macrocode} +%\fi +%\subsection{Irish (Northern Ireland) Module (\texttt{datetime2-ga-GB.ldf})} +%\changes{1.0}{2015-03-26}{Initial release} +% As "irish" but uses different time zone mappings. +%\iffalse +% \begin{macrocode} +%<*datetime2-ga-GB.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{ga-GB}[2018/04/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{irish-utf8} if either of those engines are used +% otherwise load \texttt{irish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{irish-utf8} +\else + \ifluatex + \RequireDateTimeModule{irish-utf8} + \else + \RequireDateTimeModule{irish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{ga-GB} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "ga-GB" and +% "ga-GB-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}{\DTMgaGBdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMgaGBdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaGBmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMgaGBmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaGBdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaGBdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaGBtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMgaGBtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaGBdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMgaGBdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMgaGBtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMgaGBtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{ga-GB}{daymonthsep}{\renewcommand*{\DTMgaGBdaymonthsep}{#1}} +\DTMdefkey{ga-GB}{monthyearsep}{\renewcommand*{\DTMgaGBmonthyearsep}{#1}} +\DTMdefkey{ga-GB}{datetimesep}{\renewcommand*{\DTMgaGBdatetimesep}{#1}} +\DTMdefkey{ga-GB}{timezonesep}{\renewcommand*{\DTMgaGBtimezonesep}{#1}} +\DTMdefkey{ga-GB}{datesep}{\renewcommand*{\DTMgaGBdatesep}{#1}} +\DTMdefkey{ga-GB}{timesep}{\renewcommand*{\DTMgaGBtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{ga-GB}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{ga-GB}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ga-GB}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{ga-GB}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ga-GB}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{ga-GB}{showyear}{true} +% \end{macrocode} +% +% Define the "ga-GB" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {ga-GB}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{ga-GB}{showdayofmonth} + {\DTMirishordinal{##3}\DTMgaGBdaymonthsep}% + {}% + \DTMirishmonthname{##2}% + \DTMifbool{ga-GB}{showyear}% + {% + \DTMgaGBmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMgaGBzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ga-GB}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaGBtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaGBdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaGBtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {ga-GB-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{ga-GB}{showdayofmonth}% + {% + \number##3 % space intended + \DTMgaGBdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{ga-GB}{showyear}% + {% + \DTMgaGBdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMgaGBtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMgaGBtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMgaGBzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ga-GB}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMgaGBtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMgaGBdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMgaGBtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMgaGBzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMgaGBzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{ga-GB}} +{\DTMsetstyle{ga-GB-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateirish} (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.) +%\changes{1.1}{2018-04-24}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateirish + {% do nothing + }% + {% + \def\dateirish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ga-GB}}% + {\DTMsetstyle{ga-GB-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ga-GB}}% + {\DTMsetstyle{ga-GB-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-ga-GB.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.ins new file mode 100644 index 0000000000..49e055b2dd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.ins @@ -0,0 +1,83 @@ +\input docstrip + +\preamble + + datetime2-irish.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-irish.dtx and + datetime2-irish.ins and the derived files + datetime2-irish-utf8.ldf, datetime2-irish-ascii.ldf and + datetime2-irish.ldf, datetime2-ga-IE.ldf, datetime2-ga-GB.ldf + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-irish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-irish.dtx}{datetime2-irish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-irish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-irish.dtx}{datetime2-irish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-irish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-irish.dtx}{datetime2-irish.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ga-IE.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-irish.dtx}{datetime2-ga-IE.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ga-GB.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-irish.dtx}{datetime2-ga-GB.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.pdf Binary files differnew file mode 100644 index 0000000000..df7ba1b92c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-irish/datetime2-irish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/README b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/README new file mode 100644 index 0000000000..177224b56b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/README @@ -0,0 +1,34 @@ +Italian Language Module for datetime2 Package + +Author: Claudio Duchi + +Mantainer: Claudio Duchi claduc at libero dot it + +Licence: LPPL + +Required Packages: datetime2, tracklang, itnumpar + +This module is maintained. + +INSTALLATION +============ + +latex datetime2-it-fulltext.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-it-fulltext/ +Move all *.sty files to +TEXMF/tex/latex/datetime2-contrib/datetime2-it-fulltext/ + +Documentation: + +pdflatex datetime2-it-fulltext.dtx + + +Move datetime2-it-fulltext.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-it-fulltext/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.dtx new file mode 100644 index 0000000000..c5b64f5cab --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.dtx @@ -0,0 +1,814 @@ +%\iffalse +% datetime2-it-fulltext.dtx generated using makedtx version 0.94b (c) Nicola Talbot +% Command line args: +% -author "Claudio Duchi" +% -date "2015" +% -v "1" +% -doc "manual.tex" +% -src "datetime2-it-fulltext\.sty=>datetime2-it-fulltext.sty" +% -src "datetime2-it-fulltext-utf8\.ldf=>datetime2-it-fulltext-utf8.ldf" +% -src "datetime2-it-fulltext-ascii\.ldf=>datetime2-it-fulltext-ascii.ldf" +% datetime2-it-fulltext +% Created on 2015/8/9 13:47 +%\fi +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Claudio Duchi, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\CheckSum{1513} +\begin{document} +\DocInput{datetime2-it-fulltext.dtx} +\end{document} +%</driver> +%\fi +%\title{datetime2-it-fulltext} +%\author{Claudio Duchi email: claduc at libero dot it} +%\maketitle +%This packet defines five styles for datetime2, it-fulltext, it-fulltext-twenty-four, it-fulltext-second, it-fulltext-twenty-four-second, it-fulltext-semplice. The necessary packets are datetime2, itnumpar, ifxetex and ifluatex. The packet is the translation and adaptation of datetime2-en-fulltext. +% +% +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici cinque minuti dopo le otto del mattino CET +% +%\begin{verbatim} +% \DTMsettimestyle{it-fulltext} +% \DTMdisplaytime{0}{1}{1}. +% \end{verbatim} +%0:01:01 un minuto dopo mezzanotte. +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext-twenty-four} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici 08:05:00 CET +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext-twenty-four} +%\DTMsettimestyle{it-fulltext-twenty-four} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici cinque minuti dopo le otto CET +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext-second} +%\DTMsettimestyle{it-fulltext-second} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici cinque minuti e zero secondi dopo le +%otto del mattino CET +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext-twenty-four-second} +%\DTMsettimestyle{it-fulltext-twenty-four-second} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici cinque minuti e zero secondi dopo le +%otto CET +%\begin{verbatim} +%\DTMsetdatestyle{it-fulltext-semplice} +%\DTMsettimestyle{it-fulltext-semplice} +%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +%\DTMuse{mydate} +%\end{verbatim} +%mercoledƬ primo aprile, duemilaquindici ore otto cinque minuti e zero secondi +%CET +% +% +%\StopEventually{} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-it-fulltext.sty> +% \end{macrocode} +%\fi +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +% \end{macrocode} +% \begin{macrocode} +\ProvidesPackage{datetime2-it-fulltext}[2015/08/06 v1.6] +% \end{macrocode} +% \begin{macrocode} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime2}} +\ProcessOptions +\RequirePackage{datetime2} +% \end{macrocode} +% \begin{macrocode} +\RequirePackage{itnumpar} +% \end{macrocode} +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +\ifxetex +\RequireDateTimeModule{it-fulltext-utf8} +\else +\ifluatex +\RequireDateTimeModule{it-fulltext-utf8} +\else +\RequireDateTimeModule{it-fulltext-ascii} +\fi +\fi +% \end{macrocode} +% \begin{macrocode} +\def\CurrentTrackedDialect{italian} +\RequireDateTimeModule{italian} +\undef\CurrentTrackedDialect +% \end{macrocode} +% \begin{macrocode} +\newcommand*\DTMitfulltextmonthyearsep{,\space} +\newcommand{\DTMitore}[1]{% + \ifcase#1\DTMitalianmidnight\or\DTMoneatnightstring\else\printnumeroinparole{#1}\fi}% +\newcommand{\DTMitminuti}[1]{% + \ifcase#1\DTMitzerominutsestring\or\DTMitoneminutestring% + \else\printnumeroinparole{#1}\space\DTMitminutesstring\fi}% +\newcommand{\DTMitsecondi}[1]{% + \ifcase#1\printnumeroinparole{#1}\space\DTMitsecondsstring% + \or\DTMitonesecondstring\space\DTMitsecondstring% + \else\printnumeroinparole{#1}\space\DTMitsecondsstring% + \fi}% +% \end{macrocode} +% \begin{macrocode} +\DTMnewdatestyle{it-fulltext}{% +\renewcommand*\DTMdisplaydate[4]{% +\ifDTMshowdow +\ifnum##4>-1 +\DTMitalianweekdayname{##4}\space\fi\fi% +\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}% +\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space% +\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}% +\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}% +\DTMsetdatestyle{it-fulltext} +\DTMnewtimestyle{it-fulltext}{% +\renewcommand\DTMdisplaytime[3]{% +\ifboolexpr +{test {\ifnumequal{##2}{0}} and +(test {\ifnumequal{##1}{0}} +or test {\ifnumequal{##1}{12}} +or test {\ifnumequal{##1}{24}})}% +{\ifnum##1=12\DTMitaliannoon\else\DTMitalianmidnight\fi}% +{\ifnum##2=0\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}} +{\DTMoneatnightstring\space\DTMitoclockstring}% +{\ifnum##1>12\protect\printnumeroinparole{\numexpr##1-12}\space\DTMitoclockstring +\else\protect\printnumeroinparole{##1}\space\DTMitoclockstring\fi}% +\else +\ifnum##2<31 +\ifnum##2=15 +\ifnum##1=1\DTMquarterpaststringTWO\else +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMquarterpaststringONE}% +{\ifnum##1=13\DTMquarterpaststringTWO\else\DTMquarterpaststringTHREE\fi}% +\fi% +\else% +\ifnum##2=30% +\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}} +{\DTMhalfpaststringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}}% +{\DTMhalfpaststringONE}% +{\DTMhalfpaststringTHREE}}% +\else% +\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space% +\fi% +\ifnum##2=1 +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutepaststringONE}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}} +{\DTMminutepaststringTWO}% +{\DTMminutepaststringTHREE}}% +\else +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutespaststringONE}%THREE +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}} +{\DTMminutespaststringTWO}%TWO +{\DTMminutespaststringTHREE}}\fi\fi\fi% +\ifnum##1>12 +\ifnum##1=24\DTMitalianmidnight% +\else +\ifnum##1=13\DTMoneatnightstring\else\protect\printnumeroinparole{\numexpr##1-12}\fi% +\fi% +\else +\ifnum##1=0\DTMitalianmidnight% +\else +\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi +\fi% +\fi% +\else +\ifnum##2=45 +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} +{\DTMquartertostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMquartertostringONE}% +{\DTMquartertostringTHREE}}% +\else +\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi +\ifnum##2=59 +\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{12}}or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutetostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMminutetostringONE\space}% +{\DTMminutetostringTHREE\space}}% +\else\space +\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}or test {\ifnumcomp{##1}{=}{12}}}% +{\DTMminutestostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMminutestostringONE\space}% +{\DTMminutestostringTHREE\space}}\fi\fi% +\ifnum##1>12 +\ifnum##1=24\DTMoneatnightstring% +\else +\ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{\numexpr##1-11}\fi\fi% +\else +\ifnum##1=12\DTMoneatnightstring\space\DTMitafternoonstring% +\else +\ifnum##1=0\DTMoneatnightstring\space% +\else% +\ifnum##1=11\DTMitaliannoon\else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi\fi\fi\fi\fi% +\ifnum##1>11 +\ifnum##1=23 +\ifnum##2<31\space\DTMitafternoonstring\fi% +\else +\ifnum##1=24 +\ifnum##2>30\space\DTMitmorningstring\fi% +\else +\ifnum##1=12\space\else\space\DTMitafternoonstring\fi\fi\fi% +\else +\ifnum##1>0 +\ifnum##1=11\else\space\DTMitmorningstring\fi% +\else +\ifnum##2>30\space\DTMitmorningstring\fi\fi\fi}}}% +% \end{macrocode} +% \begin{macrocode} +\DTMnewdatestyle{it-fulltext-twenty-four}{% +\renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi\fi% + \ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space% + \else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}% +\DTMsetdatestyle{it-fulltext-twenty-four} +\DTMnewtimestyle{it-fulltext-twenty-four}{% +\renewcommand\DTMdisplaytime[3]{% +\ifboolexpr +{test {\ifnumequal{##2}{0}} and (test {\ifnumequal{##1}{0}} +or test {\ifnumequal{##1}{12}} +or test {\ifnumequal{##1}{24}} +) +}% +{% +\ifnum##1=12\DTMitaliannoon\else\DTMitalianmidnight +\fi +}% +{% +\ifnum##2=0\protect\printnumeroinparole{##1}\space\DTMitoclockstring% +\else +\ifnum##2<31 +\ifnum##2=15 +\ifnum##1=1\DTMquarterpaststringTWO\else +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMquarterpaststringONE}% +{\DTMquarterpaststringTHREE}% +\fi% +\else +\ifnum##2=30 +\ifnum##1=1\DTMhalfpaststringTWO% +\else% +\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}} +{\DTMhalfpaststringONE}% +{\DTMhalfpaststringTHREE}% +\fi +\else +\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space +\fi +\ifnum##2=1 +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutepaststringONE}%one +{\ifnum##1=1\DTMminutepaststringTWO\else\DTMminutepaststringTHREE\fi}% +\else +\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutespaststringONE}%THREE +{\ifnum##1=1\DTMminutespaststringTWO\else\DTMminutespaststringTHREE\fi}% +\fi% +\fi% +\fi% +\ifnum##1>12 +\ifnum##1=24\DTMitalianmidnight\else\protect\printnumeroinparole{##1}% +\fi% +\else +\ifnum##1=0\DTMitalianmidnight\space% +\else +\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi% +\fi +\fi +\else +\ifnum##2=45% +\ifboolexpr{test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} +{\DTMquartertostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMquartertostringONE}% +{\DTMquartertostringTHREE}% +}% +\else +\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\space\fi +\ifnum##2=59 +\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutetostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMminutetostringONE\space}% +{\DTMminutetostringTHREE\space}% +}% +\else +\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} +{\DTMminutestostringTWO}% +{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} +{\DTMminutestostringONE\space}% +{\DTMminutestostringTHREE\space}% +}% +\fi +\fi +\ifnum##1>12 +\ifnum##1=24 +\DTMoneatnightstring% +\else +\ifnum##1=23 +\DTMitalianmidnight +\else +\protect\printnumeroinparole{##1}% +\fi +\fi +\else +\ifnum##1=12\protect\printnumeroinparole{\numexpr##1+1} +\else +\ifnum##1=0\DTMoneatnightstring% +\else +\ifnum##1=11\DTMitaliannoon\else\protect\printnumeroinparole{\numexpr##1+1}\fi +\fi% +\fi +\fi +\fi +\fi +}}}% +% \end{macrocode} +% \begin{macrocode} +\DTMnewdatestyle{it-fulltext-second}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow\ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi\fi% + \ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space% + \else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}% +\DTMsetdatestyle{it-fulltext-second} +\DTMnewtimestyle{it-fulltext-second}{% + \renewcommand\DTMdisplaytime[3]{% + \ifboolexpr + {test {\ifnumequal{##2}{0}} and + (test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} )}% + {\ifnum##1=12\DTMitaliannoon\space\DTMitsecondsep\space\DTMitminuti{##2}\DTMitsecondi{##3} + \else\DTMitalianmidnight\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}\fi}% + {\ifnum##2=0 + \ifboolexpr{ (test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}) and test {\ifnumcomp{##3}{=}{0}}} + {\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}% + {\ifnum##1>13\protect\printnumeroinparole{\numexpr##1-12}\space\DTMitsecondsep\DTMitminuti{##2}\DTMitsecondi{##3}\else + \ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}} + {\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}} + {\printnumeroinparole{##1}\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}\fi}% + \else + \ifnum##2<31 + \ifnum##2=15 + \ifnum##1=1\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO\else + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} + {\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\ifnum##1=13\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO \else\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE\fi}% + \fi\else% + \ifnum##2=30 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}} + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}} + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}% + \else% + \ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space% + \fi + \ifnum##2=1 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}% + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%one + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}%two + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%three + }% + \else + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}} } + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}} + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}%TWO + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}% + \fi + \fi% + \fi% + \ifnum##1>12 + \ifnum##1=24 + \DTMitalianmidnight + \else + \ifnum##1=13\DTMoneatnightstring\else\protect\printnumeroinparole{\numexpr##1-12}\fi% + \fi% + \else + \ifnum##1=0 + \DTMitalianmidnight + \else + \ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi\fi\fi% + \else + \ifnum##2=45 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}}% + \else + \ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi + \ifnum##2=59 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{12}}or test {\ifnumcomp{##1}{=}{24}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}% + }% + \else\space + \ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}or test {\ifnumcomp{##1}{=}{12}}}% + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}}% + \fi\fi% + \ifnum##1>12 + \ifnum##1=24 + \DTMoneatnightstring% + \else + \ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{\numexpr##1-11}% + \fi + \fi + \else + \ifnum##1=12\DTMoneatnightstring%\DTMitafternoonstring% + \else + \ifnum##1=0\DTMoneatnightstring%\ifnum##2=45\DTMoneatnightstring\else\DTMoneatnightstring\fi% + \else% + \ifnum##1=11\DTMitaliannoon\else\ifnum##2=45\protect\printnumeroinparole{\numexpr##1+1} + \else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi\fi\fi\fi\fi\fi% + \ifnum##1>11 + \ifnum##1=23 + \ifnum##2<31 + \space\DTMitafternoonstring% + \fi + \else + \ifnum##1=24 + \ifnum##2>30 + \space\DTMitmorningstring% + \fi + \else + \ifnum##1=12\space\else\space\DTMitafternoonstring\fi + \fi + \fi + \else + \ifnum##1>0 + \ifnum##1=11\else\space\DTMitmorningstring\fi + \else + \ifnum##2>30 + \space\DTMitmorningstring + \fi + \fi + \fi + }}}% +% \end{macrocode} +% \begin{macrocode} +\DTMnewdatestyle{it-fulltext-twenty-four-second}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifnum##4>-1 + \DTMitalianweekdayname{##4}\space% + \fi + \ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space% + \else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi% + }}% +\DTMsetdatestyle{it-fulltext-twenty-four-second} +\DTMnewtimestyle{it-fulltext-twenty-four-second}{% + \renewcommand\DTMdisplaytime[3]{% + \ifboolexpr + {test {\ifnumequal{##2}{0}} and + (test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}} + )}% +{% +\ifnum##1=12\DTMitaliannoon\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3} +\else\DTMitalianmidnight\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}% + \fi}% + {% + \ifnum##2=0\ifboolexpr{ (test {\ifnumcomp{##1}{=}{1}}) and test {\ifnumcomp{##3}{=}{0}}} + {\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}% + {\ifnum##1>13\protect\printnumeroinparole{##1}\space\DTMitminuti{##2}\space\DTMitsecondsep \DTMitsecondi{##3}\else + \ifnum##1=1\protect\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3} + \else\printnumeroinparole{##1}\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}\fi\fi}% + \else + \ifnum##2<31 + \ifnum##2=15 + \ifnum##1=1\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO\else + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} + {\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\ifnum##1=13\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE + \else\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE\fi}% + \fi% + \else% + \ifnum##2=30 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}} + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}} + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}% + }% + \else% + \ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space% + \fi + \ifnum##2=1 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%one + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%two + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%three + }% + \else + \ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}} } + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}}} + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%TWO + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}% + \fi% + \fi% + \fi% + \ifnum##1>12 + \ifnum##1=24 + \DTMitalianmidnight + \else + \protect\printnumeroinparole{##1}%\fi% + \fi% + \else + \ifnum##1=0 + \DTMitalianmidnight + \else + \ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon + \else\protect\printnumeroinparole{##1}\fi\fi% + \fi + \fi + \else + \ifnum##2=45 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}} + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}% + }% + \else + \ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi + \ifnum##2=59 + \ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}% + }% + \else\space + \ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}% + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsep}% + {\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}} + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}% + {\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}% + }% + \fi + \fi + \ifnum##1>12 + \ifnum##1=24 + \DTMoneatnightstring% + \else + \ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{##1}% + \fi + \fi + \else + \ifnum##1=0\ifnum##2=45\DTMoneatnightstring\else\DTMoneatnightstring\fi% + \else% + \ifnum##1=11\DTMitaliannoon\else + \ifnum##2=45\protect\printnumeroinparole{\numexpr##1+1} + \else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi + \fi% + \fi + \fi + \fi + }% + }% +}% +% \end{macrocode} +% \begin{macrocode} +\DTMnewdatestyle{it-fulltext-semplice}{% + \renewcommand*\DTMdisplaydate[4]{% + \ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi% + \ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space% + \else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}% + \DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi% + }% +}% +% \end{macrocode} +% \begin{macrocode} +\DTMsetdatestyle{it-fulltext-semplice} +\DTMnewtimestyle{it-fulltext-semplice}{% + \renewcommand\DTMdisplaytime[3]{% + \ifboolexpr + {test {\ifnumequal{##1}{0}} + or test {\ifnumequal{##1}{12}} + or test {\ifnumequal{##1}{24}}}% + {\ifboolexpr + {test {\ifnumequal{##1}{0}}% + or test {\ifnumequal{##1}{24}}}% + {\DTMitalianmidnight\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}% + {\DTMitaliannoon\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}}% + {ore\space\DTMitore{##1}\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}% +}% +}% +% \end{macrocode}%\iffalse +% \begin{macrocode} +%</datetime2-it-fulltext.sty> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-it-fulltext-utf8.ldf> +% \end{macrocode} +%\fi +% \begin{macrocode} +\ProvidesDateTimeModule{it-fulltext-utf8}[2015/05/10 v1.2] +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\DTMitsecondstring}{secondo} +\newcommand*{\DTMitsecondsstring}{secondi} +\newcommand*{\DTMitminutesstring}{minuti} +\newcommand*{\DTMitsecondsep}{e\space} +\newcommand*{\DTMitminutessep}{,\space} +\newcommand*{\DTMitsecondsepTWO}{a} +\newcommand*{\DTMitsep}{allā} +\newcommand*{\DTMitsepTWO}{alle} +\newcommand*{\DTMitonesecondstring}{un} +\newcommand*{\DTMitpoststringONE}{dopo} +\newcommand*{\DTMitpoststringTWO}{dopo lā} +\newcommand*{\DTMitpoststringTHREE}{dopo le\space} +\newcommand*{\DTMitoneminutestring}{un minuto\space} +\newcommand*{\DTMitzerominutsestring}{zero minuti\space} + +\newcommand*{\DTMitoclockstring}{in punto} +\newcommand*{\DTMoneminutestring}{un\space} +\newcommand*{\DTMoneatnightstring}{una} + +\newcommand*{\DTMitthefirstoneofthemonth}{primo} + +\newcommand*{\DTMquarterpaststringZERO}{quindici minuti e\space} +\newcommand*{\DTMquarterpaststringONE}{quindici minuti dopo\space} +\newcommand*{\DTMquarterpaststringTWO}{quindici minuti dopo lā} +\newcommand*{\DTMquarterpaststringTHREE}{quindici minuti dopo le\space} + +\newcommand*{\DTMminutepaststringONE}{minuto dopo\space} +\newcommand*{\DTMminutepaststringTWO}{minuto dopo lā} +\newcommand*{\DTMminutepaststringTHREE}{minuto dopo le\space} + +\newcommand*{\DTMminutespaststringONE}{minuti dopo\space} +\newcommand*{\DTMminutespaststringTWO}{minuti dopo lā} +\newcommand*{\DTMminutespaststringTHREE}{minuti dopo le\space} + +\newcommand*{\DTMhalfstringZERO}{trenta minuti e\space} +\newcommand*{\DTMhalfpaststringONE}{trenta minuti dopo\space} +\newcommand*{\DTMhalfpaststringTWO}{trenta minuti dopo lā} +\newcommand*{\DTMhalfpaststringTHREE}{trenta minuti dopo le\space} + +\newcommand*{\DTMquartertostringZERO}{un quarto e\space} +\newcommand*{\DTMquartertostringONE}{un quarto a\space} +\newcommand*{\DTMquartertostringTWO}{un quarto allā} +\newcommand*{\DTMquartertostringTHREE}{un quarto alle\space} + +\newcommand*{\DTMminutetostringZERO}{minuto e\space} +\newcommand*{\DTMminutetostringONE}{minuto a} +\newcommand*{\DTMminutetostringTWO}{minuto allā} +\newcommand*{\DTMminutetostringTHREE}{minuto alle} + +\newcommand*{\DTMminutesstringZERO}{minuti e\space} +\newcommand*{\DTMminutestostringONE}{minuti a} +\newcommand*{\DTMminutestostringTWO}{minuti allā} +\newcommand*{\DTMminutestostringTHREE}{minuti alle} + + +\newcommand*{\DTMitmorningstring}{del mattino} +\newcommand*{\DTMitafternoonstring}{del pomeriggio} +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-it-fulltext-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-it-fulltext-ascii.ldf> +% \end{macrocode} +%\fi +% \begin{macrocode} +\ProvidesDateTimeModule{it-fulltext-ascii}[2015/04/10 v1.1] +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\DTMitsecondstring}{secondo} +\newcommand*{\DTMitsecondsstring}{secondi} +\newcommand*{\DTMitminutesstring}{minuti} +\newcommand*{\DTMitsecondsep}{e\space} +\newcommand*{\DTMitminutessep}{,\space} +\newcommand*{\DTMitsecondsepTWO}{a} +\newcommand*{\DTMitsep}{all\protectā} +\newcommand*{\DTMitsepTWO}{alle} +\newcommand*{\DTMitonesecondstring}{un} +\newcommand*{\DTMitpoststringONE}{dopo} +\newcommand*{\DTMitpoststringTWO}{dopo l\protectā} +\newcommand*{\DTMitpoststringTHREE}{dopo le\space} +\newcommand*{\DTMitoneminutestring}{un minuto\space} +\newcommand*{\DTMitzerominutsestring}{zero minuti\space} + +\newcommand*{\DTMitoclockstring}{in punto} +\newcommand*{\DTMoneminutestring}{un\space} +\newcommand*{\DTMoneatnightstring}{una} + +\newcommand*{\DTMitthefirstoneofthemonth}{primo} + +\newcommand*{\DTMquarterpaststringZERO}{quindici minuti e\space} +\newcommand*{\DTMquarterpaststringONE}{quindici minuti dopo\space} +\newcommand*{\DTMquarterpaststringTWO}{quindici minuti dopo l\protectā} +\newcommand*{\DTMquarterpaststringTHREE}{quindici minuti dopo le\space} + +\newcommand*{\DTMminutepaststringONE}{minuto dopo\space} +\newcommand*{\DTMminutepaststringTWO}{minuto dopo l\protectā} +\newcommand*{\DTMminutepaststringTHREE}{minuto dopo le\space} + +\newcommand*{\DTMminutespaststringONE}{minuti dopo\space} +\newcommand*{\DTMminutespaststringTWO}{minuti dopo l\protectā} +\newcommand*{\DTMminutespaststringTHREE}{minuti dopo le\space} + +\newcommand*{\DTMhalfstringZERO}{trenta minuti e\space} +\newcommand*{\DTMhalfpaststringONE}{trenta minuti dopo\space} +\newcommand*{\DTMhalfpaststringTWO}{trenta minuti dopo l\protectā} +\newcommand*{\DTMhalfpaststringTHREE}{trenta minuti dopo le\space} + +\newcommand*{\DTMquartertostringZERO}{un quarto e\space} +\newcommand*{\DTMquartertostringONE}{un quarto a\space} +\newcommand*{\DTMquartertostringTWO}{un quarto all\protectā} +\newcommand*{\DTMquartertostringTHREE}{un quarto alle\space} + +\newcommand*{\DTMminutetostringZERO}{minuto e\space} +\newcommand*{\DTMminutetostringONE}{minuto a} +\newcommand*{\DTMminutetostringTWO}{minuto all\protectā} +\newcommand*{\DTMminutetostringTHREE}{minuto alle} + +\newcommand*{\DTMminutesstringZERO}{minuti e\space} +\newcommand*{\DTMminutestostringONE}{minuti a} +\newcommand*{\DTMminutestostringTWO}{minuti all\protectā} +\newcommand*{\DTMminutestostringTHREE}{minuti alle} + + +\newcommand*{\DTMitmorningstring}{del mattino} +\newcommand*{\DTMitafternoonstring}{del pomeriggio} +% \end{macrocode} +%% +%\iffalse +% \begin{macrocode} +%</datetime2-it-fulltext-ascii.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.ins b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.ins new file mode 100644 index 0000000000..e31d2aa11b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.ins @@ -0,0 +1,35 @@ +% datetime2-it-fulltext.ins generated using makedtx version 0.94b 2015/8/9 13:47 +\input docstrip + +\preamble + + datetime2-it-fulltext.dtx + Copyright 2015 Claudio Duchi + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Claudio Duchi. + + This work consists of the files datetime2-it-fulltext.dtx and datetime2-it-fulltext.ins and the derived files datetime2-it-fulltext.sty, datetime2-it-fulltext-utf8.ldf, datetime2-it-fulltext-ascii.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate{\file{datetime2-it-fulltext.sty}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{datetime2-it-fulltext.dtx}{datetime2-it-fulltext.sty,package}} +\file{datetime2-it-fulltext-utf8.ldf}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{datetime2-it-fulltext.dtx}{datetime2-it-fulltext-utf8.ldf,package}} +\file{datetime2-it-fulltext-ascii.ldf}{\usepreamble\defaultpreamble +\usepostamble\defaultpostamble\from{datetime2-it-fulltext.dtx}{datetime2-it-fulltext-ascii.ldf,package}} +} + +\endbatchfile diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.pdf Binary files differnew file mode 100644 index 0000000000..f535c2c5ad --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/datetime2-it-fulltext.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTest.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTest.tex new file mode 100644 index 0000000000..40827349a8 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTest.tex @@ -0,0 +1,797 @@ + +Time: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +0:01:00 \DTMdisplaytime{0}{1}{00}. + +0:10:00 \DTMdisplaytime{0}{10}{0}. + +0:01:01 \DTMdisplaytime{0}{1}{1}. + +0:29:00 \DTMdisplaytime{0}{29}{0}. + +0:29:08 \DTMdisplaytime{0}{29}{8}. + +0:29:01 \DTMdisplaytime{0}{29}{1}. + +0:30:00 \DTMdisplaytime{0}{30}{0}. + +0:30:01 \DTMdisplaytime{0}{30}{1}. + +0:30:09 \DTMdisplaytime{0}{30}{49}. + +0:31:00 \DTMdisplaytime{0}{31}{0}. + +0:31:01 \DTMdisplaytime{0}{31}{1}. + +0:31:05 \DTMdisplaytime{0}{31}{40}. + +0:44:00 \DTMdisplaytime{0}{44}{0}. + +0:44:01 \DTMdisplaytime{0}{44}{1}. + +0:44:59 \DTMdisplaytime{0}{44}{59}. + +0:45:00 \DTMdisplaytime{0}{45}{0}. + +0:45:01 \DTMdisplaytime{0}{45}{1}. + +0:45:25 \DTMdisplaytime{0}{45}{25}. + +0:46:00 \DTMdisplaytime{0}{46}{0}. + +0:46:01 \DTMdisplaytime{0}{46}{1}. + +0:46:25 \DTMdisplaytime{0}{46}{25}. + +0:59:00 \DTMdisplaytime{0}{59}{0}. + +0:59:01 \DTMdisplaytime{0}{59}{1}. + +0:59:20 \DTMdisplaytime{0}{59}{20}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +1:00:00 \DTMdisplaytime{1}{0}{0}. + +1:00:01 \DTMdisplaytime{1}{0}{1}. + +1:00:20 \DTMdisplaytime{1}{0}{20}. + +1:01:00 \DTMdisplaytime{1}{1}{0}. + +1:01:01 \DTMdisplaytime{1}{1}{1}. + +1:01:20 \DTMdisplaytime{1}{1}{20}. + +1:15:00 \DTMdisplaytime{1}{15}{0}. + +1:15:01 \DTMdisplaytime{1}{15}{1}. + +1:15:15 \DTMdisplaytime{1}{15}{15}. + +1:29:00 \DTMdisplaytime{1}{29}{0}. + +1:29:01 \DTMdisplaytime{1}{29}{1}. + +1:29:25 \DTMdisplaytime{1}{29}{25}. + +1:30:00 \DTMdisplaytime{1}{30}{0}. + +1:30:01 \DTMdisplaytime{1}{30}{1}. + +1:30:12 \DTMdisplaytime{1}{30}{12}. + +1:31:00 \DTMdisplaytime{1}{31}{0}. + +1:31:01 \DTMdisplaytime{1}{31}{1}. + +1:31:55 \DTMdisplaytime{1}{31}{55}. + +1:44:00 \DTMdisplaytime{1}{44}{0}. + +1:44:01 \DTMdisplaytime{1}{44}{1} + +1:44:22 \DTMdisplaytime{1}{44}{22} + +1:45:00 \DTMdisplaytime{1}{45}{0}. + +1:45:01 \DTMdisplaytime{1}{45}{1}. + +1:45:25 \DTMdisplaytime{1}{45}{25}. + +1:46:00 \DTMdisplaytime{1}{46}{0}. + +1:46:01 \DTMdisplaytime{1}{46}{1}. + +1:46:25 \DTMdisplaytime{1}{46}{25}. + +1:59:00 \DTMdisplaytime{1}{59}{0} + +1:59:01 \DTMdisplaytime{1}{59}{1} + +1:59:05 \DTMdisplaytime{1}{59}{5} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +2:00:00 \DTMdisplaytime{2}{0}{0}. + +2:00:01 \DTMdisplaytime{2}{0}{1}. + +2:00:20 \DTMdisplaytime{2}{0}{20}. + +2:01:00 \DTMdisplaytime{2}{1}{0}. + +2:01:01 \DTMdisplaytime{2}{1}{1}. + +2:01:20 \DTMdisplaytime{2}{1}{20}. + +2:15:00 \DTMdisplaytime{2}{15}{0}. + +2:15:01 \DTMdisplaytime{2}{15}{1}. + +2:15:15 \DTMdisplaytime{2}{15}{15}. + +2:29:00 \DTMdisplaytime{2}{29}{0}. + +2:29:01 \DTMdisplaytime{2}{29}{1}. + +2:29:25 \DTMdisplaytime{2}{29}{25}. + +2:30:00 \DTMdisplaytime{2}{30}{0}. + +2:30:01 \DTMdisplaytime{2}{30}{1}. + +2:30:12 \DTMdisplaytime{2}{30}{12}. + +2:31:00 \DTMdisplaytime{2}{31}{0}. + +2:31:01 \DTMdisplaytime{2}{31}{1}. + +2:31:55 \DTMdisplaytime{2}{31}{55}. + +2:44:00 \DTMdisplaytime{2}{44}{0}. + +2:44:01 \DTMdisplaytime{2}{44}{1} + +2:44:22 \DTMdisplaytime{2}{44}{22} + +2:45:00 \DTMdisplaytime{2}{45}{0}. + +2:45:01 \DTMdisplaytime{2}{45}{1}. + +2:45:25 \DTMdisplaytime{2}{45}{25}. + +2:46:00 \DTMdisplaytime{2}{46}{0}. + +2:46:01 \DTMdisplaytime{2}{46}{1}. + +2:46:25 \DTMdisplaytime{2}{46}{25}. + +2:59:00 \DTMdisplaytime{2}{59}{0} + +2:59:01 \DTMdisplaytime{2}{59}{1} + +2:59:05 \DTMdisplaytime{2}{59}{5} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +3:00:00 \DTMdisplaytime{3}{0}{0}. + +3:01:00 \DTMdisplaytime{3}{1}{0}. + +3:15:00 \DTMdisplaytime{3}{15}{0}. + +3:29:00 \DTMdisplaytime{3}{29}{0}. + +3:30:00 \DTMdisplaytime{3}{30}{0}. + +3:31:00 \DTMdisplaytime{3}{31}{0}. + +3:44:00 \DTMdisplaytime{3}{44}{0}. + +3:45:00 \DTMdisplaytime{3}{45}{0}. + +3:46:00 \DTMdisplaytime{3}{46}{0}. + +3:59:00 \DTMdisplaytime{3}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +4:00:00 \DTMdisplaytime{4}{0}{0}. + +4:01:00 \DTMdisplaytime{4}{1}{0}. + +4:15:00 \DTMdisplaytime{4}{15}{0}. + +4:29:00 \DTMdisplaytime{4}{29}{0}. + +4:30:00 \DTMdisplaytime{4}{30}{0}. + +4:31:00 \DTMdisplaytime{4}{31}{0}. + +4:44:00 \DTMdisplaytime{4}{44}{0}. + +4:45:00 \DTMdisplaytime{4}{45}{0}. + +4:46:00 \DTMdisplaytime{4}{46}{0}. + +4:59:00 \DTMdisplaytime{4}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +5:00:00 \DTMdisplaytime{5}{0}{0}. + +5:01:00 \DTMdisplaytime{5}{1}{0}. + +5:15:00 \DTMdisplaytime{5}{15}{0}. + +5:29:00 \DTMdisplaytime{5}{29}{0}. + +5:30:00 \DTMdisplaytime{5}{30}{0}. + +5:31:00 \DTMdisplaytime{5}{31}{0}. + +5:44:00 \DTMdisplaytime{5}{44}{0}. + +5:45:00 \DTMdisplaytime{5}{45}{0}. + +5:46:00 \DTMdisplaytime{5}{46}{0}. + +5:59:00 \DTMdisplaytime{5}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +6.00:00 \DTMdisplaytime{6}{0}{0}. + +6.01:00 \DTMdisplaytime{6}{1}{0}. + +6.15:00 \DTMdisplaytime{6}{15}{0}. + +6.29:00 \DTMdisplaytime{6}{29}{0}. + +6.30:00 \DTMdisplaytime{6}{30}{0}. + +6.31:00 \DTMdisplaytime{6}{31}{0}. + +6.44:00 \DTMdisplaytime{6}{44}{0}. + +6.45:00 \DTMdisplaytime{6}{45}{0}. + +6.46:00 \DTMdisplaytime{6}{46}{0}. + +6.59:00 \DTMdisplaytime{6}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +7.00:00 \DTMdisplaytime{7}{0}{0}. + +7.01:00 \DTMdisplaytime{7}{1}{0}. + +7.15:00 \DTMdisplaytime{7}{15}{0}. + +7.29:00 \DTMdisplaytime{7}{29}{0}. + +7.30:00 \DTMdisplaytime{7}{30}{0}. + +7.31:00 \DTMdisplaytime{7}{31}{0}. + +7.44:00 \DTMdisplaytime{7}{44}{0}. + +7.45:00 \DTMdisplaytime{7}{45}{0}. + +7.46:00 \DTMdisplaytime{7}{46}{0}. + +7.59:00 \DTMdisplaytime{7}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +8.00:00 \DTMdisplaytime{8}{0}{0}. + +8.01:00 \DTMdisplaytime{8}{1}{0}. + +8.15:00 \DTMdisplaytime{8}{15}{0}. + +8.29:00 \DTMdisplaytime{8}{29}{0}. + +8.30:00 \DTMdisplaytime{8}{30}{0}. + +8.31:00 \DTMdisplaytime{8}{31}{0}. + +8.44:00 \DTMdisplaytime{8}{44}{0}. + +8.45:00 \DTMdisplaytime{8}{45}{0}. + +8.46:00 \DTMdisplaytime{8}{46}{0}. + +8.59:00 \DTMdisplaytime{8}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +9.00:00 \DTMdisplaytime{9}{0}{0}. + +9.01:00 \DTMdisplaytime{9}{1}{0}. + +9.15:00 \DTMdisplaytime{9}{15}{0}. + +9.29:00 \DTMdisplaytime{9}{29}{0}. + +9.30:00 \DTMdisplaytime{9}{30}{0}. + +9.31:00 \DTMdisplaytime{9}{31}{0}. + +9.44:00 \DTMdisplaytime{9}{44}{0}. + +9.45:00 \DTMdisplaytime{9}{45}{0}. + +9.46:00 \DTMdisplaytime{9}{46}{0}. + +9.59:00 \DTMdisplaytime{9}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +10:00:00 \DTMdisplaytime{10}{0}{0}. + +10:01:00 \DTMdisplaytime{10}{1}{0}. + +10:15:00 \DTMdisplaytime{10}{15}{0}. + +10:29:00 \DTMdisplaytime{10}{29}{0}. + +10:30:00 \DTMdisplaytime{10}{30}{0}. + +10:31:00 \DTMdisplaytime{10}{31}{0}. + +10:44:00 \DTMdisplaytime{10}{44}{0}. + +10:45:00 \DTMdisplaytime{10}{45}{0}. + +10:46:00 \DTMdisplaytime{10}{46}{0}. + +10:59:00 \DTMdisplaytime{10}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +11:00:00 \DTMdisplaytime{11}{0}{0}. + +11:00:01 \DTMdisplaytime{11}{0}{1}. + +11:00:15 \DTMdisplaytime{11}{0}{15}. + +11:01:00 \DTMdisplaytime{11}{1}{0}. + +11:01:01 \DTMdisplaytime{11}{1}{1}. + +11:01:14 \DTMdisplaytime{11}{1}{14}. + +11:15:00 \DTMdisplaytime{11}{15}{0}. + +11:15:01 \DTMdisplaytime{11}{15}{1}. + +11:15:22 \DTMdisplaytime{11}{15}{22}. + +11:29:00 \DTMdisplaytime{11}{29}{0}. + +11:29:01 \DTMdisplaytime{11}{29}{1}. + +11:29:22 \DTMdisplaytime{11}{29}{22}. + +11:30:00 \DTMdisplaytime{11}{30}{0}. + +11:30:01 \DTMdisplaytime{11}{30}{1}. + +11:30:28 \DTMdisplaytime{11}{30}{28}. + +11:31:00 \DTMdisplaytime{11}{31}{0}. + +11:31:01 \DTMdisplaytime{11}{31}{1}. + +11:31:15 \DTMdisplaytime{11}{31}{15}. + +11:44:00 \DTMdisplaytime{11}{44}{0}. + +11:44:01 \DTMdisplaytime{11}{44}{1}. + +11:44:25 \DTMdisplaytime{11}{44}{25}. + +11:45:00 \DTMdisplaytime{11}{45}{0}. + +11:45:01 \DTMdisplaytime{11}{45}{1}. + +11:45:15 \DTMdisplaytime{11}{45}{15}. + +11:46:00 \DTMdisplaytime{11}{46}{0}. + +11:46:01 \DTMdisplaytime{11}{46}{1}. + +11:46:15 \DTMdisplaytime{11}{46}{15}. + +11:59:00 \DTMdisplaytime{11}{59}{0} + +11:59:01 \DTMdisplaytime{11}{59}{1} + +11:59:15 \DTMdisplaytime{11}{59}{15} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +12:00:00 \DTMdisplaytime{12}{0}{0}. + +12:00:01 \DTMdisplaytime{12}{0}{1}. + +12:00:26 \DTMdisplaytime{12}{0}{26}. + +12:01:00 \DTMdisplaytime{12}{1}{0}. + +12:01:01 \DTMdisplaytime{12}{1}{1}. + +12:01:22 \DTMdisplaytime{12}{1}{22}. + +12:15:00 \DTMdisplaytime{12}{15}{0}. + +12:15:01 \DTMdisplaytime{12}{15}{1}. + +12:15:33 \DTMdisplaytime{12}{15}{33}. + +12:29:00 \DTMdisplaytime{12}{29}{0}. + +12:29:01 \DTMdisplaytime{12}{29}{1}. + +12:29:25 \DTMdisplaytime{12}{29}{25}. + +12:30:00 \DTMdisplaytime{12}{30}{0}. + +12:30:01 \DTMdisplaytime{12}{30}{1}. + +12:30:17 \DTMdisplaytime{12}{30}{17}. + +12:31:00 \DTMdisplaytime{12}{31}{0}. + +12:31:01 \DTMdisplaytime{12}{31}{1}. + +12:31:23 \DTMdisplaytime{12}{31}{23}. + +12:44:00 \DTMdisplaytime{12}{44}{0}. + +12:44:01 \DTMdisplaytime{12}{44}{1}. + +12:44:22 \DTMdisplaytime{12}{44}{22}. + +12:45:00 \DTMdisplaytime{12}{45}{0}. + +12:45:01 \DTMdisplaytime{12}{45}{1}. + +12:45:25 \DTMdisplaytime{12}{45}{25}. + +12:46:00 \DTMdisplaytime{12}{46}{0}. + +12:46:01 \DTMdisplaytime{12}{46}{1}. + +12:46:25 \DTMdisplaytime{12}{46}{25}. + +12:59:00 \DTMdisplaytime{12}{59}{0} + +12:59:01 \DTMdisplaytime{12}{59}{1} + +12:59:30 \DTMdisplaytime{12}{59}{30} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +13:00:00 \DTMdisplaytime{13}{0}{0}. + +13:00:01 \DTMdisplaytime{13}{0}{1}. + +13:00:22 \DTMdisplaytime{13}{0}{22}. + +13:01:00 \DTMdisplaytime{13}{1}{0}. + +13:01:01 \DTMdisplaytime{13}{1}{1}. + +13:01:26 \DTMdisplaytime{13}{1}{26}. + +13:15:00 \DTMdisplaytime{13}{15}{0}. + +13:15:01 \DTMdisplaytime{13}{15}{1}. + +13:15:33 \DTMdisplaytime{13}{15}{33}. + +13:29:00 \DTMdisplaytime{13}{29}{0}. + +13:29:01 \DTMdisplaytime{13}{29}{1}. + +13:29:33 \DTMdisplaytime{13}{29}{33}. + +13:30:00 \DTMdisplaytime{13}{30}{0}. + +13:30:01 \DTMdisplaytime{13}{30}{1}. + +13:30:10 \DTMdisplaytime{13}{30}{10}. + +13:31:00 \DTMdisplaytime{13}{31}{0}. + +13:31:01 \DTMdisplaytime{13}{31}{1}. + +13:31:28 \DTMdisplaytime{13}{31}{28}. + +13:44:00 \DTMdisplaytime{13}{44}{0}. + +13:44:01 \DTMdisplaytime{13}{44}{1}. + +13:44:45 \DTMdisplaytime{13}{44}{45}. + +13:45:00 \DTMdisplaytime{13}{45}{0}. + +13:45:01 \DTMdisplaytime{13}{45}{1}. + +13:45:53 \DTMdisplaytime{13}{45}{53}. + +13:46:00 \DTMdisplaytime{13}{46}{0}. + +13:46:01 \DTMdisplaytime{13}{46}{1}. + +13:46:25 \DTMdisplaytime{13}{46}{25}. + +13:59:35 \DTMdisplaytime{13}{59}{35} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +14:00:00 \DTMdisplaytime{14}{0}{0}. + +14:01:00 \DTMdisplaytime{14}{1}{0}. + +14:15:00 \DTMdisplaytime{14}{15}{0}. + +14:29:00 \DTMdisplaytime{14}{29}{0}. + +14:30:00 \DTMdisplaytime{14}{30}{0}. + +14:31:00 \DTMdisplaytime{14}{31}{0}. + +14:44:00 \DTMdisplaytime{14}{44}{0}. + +14:45:00 \DTMdisplaytime{14}{45}{0}. + +14:46:00 \DTMdisplaytime{14}{46}{0}. + +14:59:00 \DTMdisplaytime{14}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +15:00:00 \DTMdisplaytime{15}{0}{0}. + +15:01:00 \DTMdisplaytime{15}{1}{0}. + +15:15:00 \DTMdisplaytime{15}{15}{0}. + +15:29:00 \DTMdisplaytime{15}{29}{0}. + +15:30:00 \DTMdisplaytime{15}{30}{0}. + +15:31:00 \DTMdisplaytime{15}{31}{0}. + +15:44:00 \DTMdisplaytime{15}{44}{0}. + +15:45:00 \DTMdisplaytime{15}{45}{0}. + +15:46:00 \DTMdisplaytime{15}{46}{0}. + +15:59:00 \DTMdisplaytime{15}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +16.00:00 \DTMdisplaytime{16}{0}{0}. + +16.01:00 \DTMdisplaytime{16}{1}{0}. + +16.15:00 \DTMdisplaytime{16}{15}{0}. + +16.29:00 \DTMdisplaytime{16}{29}{0}. + +16.30:00 \DTMdisplaytime{16}{30}{0}. + +16.31:00 \DTMdisplaytime{16}{31}{0}. + +16.44:00 \DTMdisplaytime{16}{44}{0}. + +16.45:00 \DTMdisplaytime{16}{45}{0}. + +16.46:00 \DTMdisplaytime{16}{46}{0}. + +16.59:00 \DTMdisplaytime{16}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +17.00:00 \DTMdisplaytime{17}{0}{0}. + +17.01:00 \DTMdisplaytime{17}{1}{0}. + +17.15:00 \DTMdisplaytime{17}{15}{0}. + +17.29:00 \DTMdisplaytime{17}{29}{0}. + +17.30:00 \DTMdisplaytime{17}{30}{0}. + +17.31:00 \DTMdisplaytime{17}{31}{0}. + +17.44:00 \DTMdisplaytime{17}{44}{0}. + +17.45:00 \DTMdisplaytime{17}{45}{0}. + +17.46:00 \DTMdisplaytime{17}{46}{0}. + +17.59:00 \DTMdisplaytime{17}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +18.00:00 \DTMdisplaytime{18}{0}{0}. + +18.01:00 \DTMdisplaytime{18}{1}{0}. + +18.15:00 \DTMdisplaytime{18}{15}{0}. + +18.29:00 \DTMdisplaytime{18}{29}{0}. + +18.30:00 \DTMdisplaytime{18}{30}{0}. + +18.31:00 \DTMdisplaytime{18}{31}{0}. + +18.44:00 \DTMdisplaytime{18}{44}{0}. + +18.45:00 \DTMdisplaytime{18}{45}{0}. + +18.46:00 \DTMdisplaytime{18}{46}{0}. + +18.59:00 \DTMdisplaytime{18}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +19.00:00 \DTMdisplaytime{19}{0}{0}. + +19.01:00 \DTMdisplaytime{19}{1}{0}. + +19.15:00 \DTMdisplaytime{19}{15}{0}. + +19.29:00 \DTMdisplaytime{19}{29}{0}. + +19.30:00 \DTMdisplaytime{19}{30}{0}. + +19.31:00 \DTMdisplaytime{19}{31}{0}. + +19.44:00 \DTMdisplaytime{19}{44}{0}. + +19.45:00 \DTMdisplaytime{19}{45}{0}. + +19.46:00 \DTMdisplaytime{19}{46}{0}. + +19.59:00 \DTMdisplaytime{19}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +20:00:00 \DTMdisplaytime{20}{0}{0}. + +20:01:00 \DTMdisplaytime{20}{1}{0}. + +20:15:00 \DTMdisplaytime{20}{15}{0}. + +20:29:00 \DTMdisplaytime{20}{29}{0}. + +20:30:00 \DTMdisplaytime{20}{30}{0}. + +20:31:00 \DTMdisplaytime{20}{31}{0}. + +20:44:00 \DTMdisplaytime{20}{44}{0}. + +20:45:00 \DTMdisplaytime{20}{45}{0}. + +20:46:00 \DTMdisplaytime{20}{46}{0}. + +20:59:00 \DTMdisplaytime{20}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +21:00:00 \DTMdisplaytime{21}{0}{0}. + +21:01:00 \DTMdisplaytime{21}{1}{0}. + +21:15:00 \DTMdisplaytime{21}{15}{0}. + +21:29:00 \DTMdisplaytime{21}{29}{0}. + +21:30:00 \DTMdisplaytime{21}{30}{0}. + +21:31:00 \DTMdisplaytime{21}{31}{0}. + +21:44:00 \DTMdisplaytime{21}{44}{0}. + +21:45:00 \DTMdisplaytime{21}{45}{0}. + +21:46:00 \DTMdisplaytime{21}{46}{0}. + +21:59:00 \DTMdisplaytime{21}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +22:00:00 \DTMdisplaytime{22}{0}{0}. + +22:01:00 \DTMdisplaytime{22}{1}{0}. + +22:15:00 \DTMdisplaytime{22}{15}{0}. + +22:29:00 \DTMdisplaytime{22}{29}{0}. + +22:30:00 \DTMdisplaytime{22}{30}{0}. + +22:31:00 \DTMdisplaytime{22}{31}{0}. + +22:44:00 \DTMdisplaytime{22}{44}{0}. + +22:45:00 \DTMdisplaytime{22}{45}{0}. + +22:46:00 \DTMdisplaytime{22}{46}{0}. + +22:59:00 \DTMdisplaytime{22}{59}{0} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage +23:00:00 \DTMdisplaytime{23}{0}{0}. + +23:01:00 \DTMdisplaytime{23}{1}{0}. + +23:15:00 \DTMdisplaytime{23}{15}{0}. + +23:29:00 \DTMdisplaytime{23}{29}{0}. + +23:30:00 \DTMdisplaytime{23}{30}{0}. + +23:31:00 \DTMdisplaytime{23}{31}{0}. + +23:44:00 \DTMdisplaytime{23}{44}{0}. + +23:45:00 \DTMdisplaytime{23}{45}{0}. + +23:46:00 \DTMdisplaytime{23}{46}{0}. + +23:59:00 \DTMdisplaytime{23}{59}{0} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newpage + +24:00:10 \DTMdisplaytime{24}{0}{10}. + +24:00:15 \DTMdisplaytime{24}{1}{15}. + +24:00:00 \DTMdisplaytime{24}{1}{0}. + +24:00:01 \DTMdisplaytime{24}{0}{1}. + +24:29:00 \DTMdisplaytime{24}{29}{0}. + +24:29:08 \DTMdisplaytime{24}{29}{8}. + +24:29:01 \DTMdisplaytime{24}{29}{1}. + +24:30:00 \DTMdisplaytime{24}{30}{0}. + +24:30:01 \DTMdisplaytime{24}{30}{1}. + +24:30:09 \DTMdisplaytime{24}{30}{49}. + +24:31:00 \DTMdisplaytime{24}{31}{0}. + +24:31:01 \DTMdisplaytime{24}{31}{1}. + +24:31:05 \DTMdisplaytime{24}{31}{40}. + +24:44:00 \DTMdisplaytime{24}{44}{0}. + +24:44:01 \DTMdisplaytime{24}{44}{1}. + +24:44:59 \DTMdisplaytime{24}{44}{59}. + +24:45:00 \DTMdisplaytime{24}{45}{0}. + +24:45:01 \DTMdisplaytime{24}{45}{1}. + +24:45:25 \DTMdisplaytime{24}{45}{25}. + +24:46:00 \DTMdisplaytime{24}{46}{0}. + +24:46:01 \DTMdisplaytime{24}{46}{1}. + +24:46:25 \DTMdisplaytime{24}{46}{25}. + +24:59:00 \DTMdisplaytime{24}{59}{0}. + +24:59:01 \DTMdisplaytime{24}{59}{1}. + +24:59:20 \DTMdisplaytime{24}{59}{20}. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTestDate.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTestDate.tex new file mode 100644 index 0000000000..de95719e54 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/BatTestDate.tex @@ -0,0 +1,41 @@ +\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +\DTMsavetimestamp{mydate2}{2015-05-01T08:13:45+02:00} +\DTMsavetimestamp{mydate3}{2015-06-01T08:05:00+02:00} +\DTMsavetimestamp{mydate4}{2015-07-01T08:13:45+02:00} +\DTMsavetimestamp{mydate5}{2015-08-01T08:05:00+02:00} +\DTMsavetimestamp{mydate6}{2015-09-01T08:13:45+02:00} +\DTMsavetimestamp{mydate7}{2015-10-01T08:05:00+01:00} +\DTMsavetimestamp{mydate8}{1962-03-17T08:13:45+01:00} +\DTMsavetimestamp{mydate9}{1963-07-09T06:30:00+02:00} +\DTMsavetimestamp{mydateA}{2012-04-01T08:05:00+01:00} +\DTMsavetimestamp{mydate2A}{2011-05-01T08:13:45+02:00} +\DTMsavetimestamp{mydate3A}{2010-06-01T08:05:00+02:00} +\DTMsavetimestamp{mydate4A}{2018-07-01T08:13:45+02:00} +\DTMsavetimestamp{mydate5A}{2017-08-01T08:05:00+02:00} +\DTMsavetimestamp{mydate6A}{2016-09-01T08:13:45+02:00} +\DTMsavetimestamp{mydate7A}{2015-10-01T08:05:00+01:00} +\DTMsavetimestamp{mydate8A}{1962-03-17T08:13:45+01:00} +\DTMsavetimestamp{mydate9A}{1963-07-09T06:30:00+02:00} + +\begin{description} +\item oggi: \today. +\item \DTMuse{mydate} +\item \DTMuse{mydate2} +\item \DTMuse{mydate3} +\item \DTMuse{mydate4} +\item \DTMuse{mydate5} +\item \DTMuse{mydate6} +\item \DTMuse{mydate7} +\item \DTMuse{mydate8} +\item \DTMuse{mydate9} +\item \DTMuse{mydateA} +\item \DTMuse{mydate2A} +\item \DTMuse{mydate3A} +\item \DTMuse{mydate4A} +\item \DTMuse{mydate5A} +\item \DTMuse{mydate6A} +\item \DTMuse{mydate7A} +\item \DTMuse{mydate8A} +\item \DTMuse{mydate9A} +\end{description} + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/it-fulltext-en-fulltext.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/it-fulltext-en-fulltext.tex new file mode 100644 index 0000000000..02550439f8 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/it-fulltext-en-fulltext.tex @@ -0,0 +1,58 @@ +\documentclass[italian,english]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\usepackage[showdow]{datetime2-en-fulltext} +\begin{document} +\part{title}\section{Date} + +\begin{description} +\item[it-fulltext:] +\DTMsetdatestyle{it-fulltext} +\today. +\item[en-fulltext:] +\DTMsetdatestyle{en-fulltext} +\today. + +\end{description} + +\section{Time} +\subsection{it-fulltext} +\DTMsettimestyle{it-fulltext} +Ora: \DTMcurrenttime. + +0.00: \DTMdisplaytime{0}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.15: \DTMdisplaytime{0}{15}{0}. + +0.29: \DTMdisplaytime{0}{29}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. +\DTMsettimestyle{en-fulltext} +Time: \DTMcurrenttime. + +0.00: \DTMdisplaytime{0}{0}{0}. + +0.01: \DTMdisplaytime{0}{1}{0}. + +0.15: \DTMdisplaytime{0}{15}{0}. + +0.29: \DTMdisplaytime{0}{29}{0}. + +0.30: \DTMdisplaytime{0}{30}{0}. + +0.31: \DTMdisplaytime{0}{31}{0}. + + +\end{document} + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-second.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-second.tex new file mode 100644 index 0000000000..ec1da19b44 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-second.tex @@ -0,0 +1,24 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\begin{document} +\section{Date} +\subsection{it-fulltext-second} +\DTMsetdatestyle{it-fulltext-second} +\input{BatTestDate} +\section{Time} +\subsection{it-fulltext-second} +\DTMsettimestyle{it-fulltext-second} +\input{BatTest} +\end{document} + + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-semplice.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-semplice.tex new file mode 100644 index 0000000000..4111f7fe14 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-semplice.tex @@ -0,0 +1,23 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\begin{document} + \section{Date} + \subsection{it-fulltext-semplice} + \DTMsetdatestyle{it-fulltext-semplice} + \input{BatTestDate} + \section{Time} + \subsection{it-fulltext-semplice} + \DTMsettimestyle{it-fulltext-semplice} + \input{BatTest} +\end{document} + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four-second.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four-second.tex new file mode 100644 index 0000000000..176b4d7e31 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four-second.tex @@ -0,0 +1,24 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\begin{document} + \section{Date} + \subsection{it-fulltext-twenty-four-second} +\DTMsetdatestyle{it-fulltext-twenty-four-second} + \input{BatTestDate} + \section{Time} + \subsection{it-fulltext-twenty-four-second} +\DTMsettimestyle{it-fulltext-twenty-four-second} + \input{BatTest} +\end{document} + + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four.tex new file mode 100644 index 0000000000..b28aa917db --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext-twenty-four.tex @@ -0,0 +1,24 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\begin{document} + \section{Date} + \subsection{it-fulltext-twenty-four} + \DTMsetdatestyle{it-fulltext-twenty-four} + \input{BatTestDate} + \section{Time} + \subsection{it-fulltext-twenty-four} + \DTMsettimestyle{it-fulltext-twenty-four} + \input{BatTest} +\end{document} + + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext.tex new file mode 100644 index 0000000000..3ac90f8035 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-fulltext.tex @@ -0,0 +1,28 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\usepackage{microtype} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} + + +\begin{document} + +\thispagestyle{empty} + vcvc + \section{Date} + \subsection{it-fulltext} + \DTMsetdatestyle{it-fulltext} + \input{BatTestDate} + \section{Time} + \subsection{it-fulltext} + \DTMsettimestyle{it-fulltext} + \input{BatTest} +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle1.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle1.tex new file mode 100644 index 0000000000..a01af612d6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle1.tex @@ -0,0 +1,62 @@ +\documentclass[italian]{article} +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\usepackage{datetime2} +\begin{document} +\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +\DTMsavetimestamp{mydate2}{2014-03-01T08:13:45+01:00} +\DTMsavetimestamp{mydate3}{2016-12-01T18:13:45+01:00} +\begin{description} +\item[italian] +\DTMsetdatestyle{italian} +\DTMsettimestyle{italian} + \DTMnow. + + \DTMuse{mydate}. + + \DTMuse{mydate2}. + + \DTMuse{mydate3}. +\item[it-fulltext-twenty-four] +\DTMsetdatestyle{it-fulltext-twenty-four} +\DTMsettimestyle{it-fulltext-twenty-four} +\DTMnow. + +\DTMuse{mydate}. + +\DTMuse{mydate2}. + +\DTMuse{mydate3}. +\item[it-fulltext] +\DTMsetdatestyle{it-fulltext} +\DTMsettimestyle{it-fulltext} +\DTMnow. + +\DTMuse{mydate}. + +\DTMuse{mydate2} + +\DTMuse{mydate3}. + +\item[it-fulltext-second] +\DTMsetdatestyle{it-fulltext-second} +\DTMsettimestyle{it-fulltext-second} +\DTMnow. + +\DTMuse{mydate}. + +\DTMuse{mydate2} + +\DTMuse{mydate3}. + +\item[it-fulltext-semplice] +\DTMsetdatestyle{it-fulltext-semplice} +\DTMsettimestyle{it-fulltext-semplice} +\DTMnow. + +\DTMuse{mydate}. + +\DTMuse{mydate2} + +\DTMuse{mydate3}. +\end{description} +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle2.tex b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle2.tex new file mode 100644 index 0000000000..b1313072ca --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-it-fulltext/samples/sample-it-timedatestyle2.tex @@ -0,0 +1,144 @@ +\documentclass[italian,english]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow,useregional]{datetime2-it-fulltext} +\usepackage[showdow]{datetime2-en-fulltext} +\begin{document} +\part{title}\section{Date} + +\begin{description} +\item[it-fulltext:] +\DTMsetdatestyle{it-fulltext} +\DTMsettimestyle{it-fulltext} +\today.\par +\DTMnow +\item[it-fulltext-second:] +\DTMsetdatestyle{it-fulltext-second} +\DTMsettimestyle{it-fulltext-second} +\today.\par +\DTMnow +\item[it-fulltext-twuenty-four:] +\DTMsetdatestyle{it-fulltext-twenty-four} +\DTMsettimestyle{it-fulltext-twenty-four} +\today.\par +\DTMnow +\item[it-fulltext-twuenty-four:] +\DTMsetdatestyle{it-fulltext-twenty-four-second} +\DTMsettimestyle{it-fulltext-twenty-four-second} +\today.\par +\DTMnow +\item[it-fulltext-semplice:] +\DTMsetdatestyle{it-fulltext-semplice} +\DTMsettimestyle{it-fulltext-semplice} +\today.\par +\DTMnow +\item[en-fulltext:] +\DTMsetdatestyle{en-fulltext} +\DTMsettimestyle{en-fulltext} +\today.\par +\DTMnow + +\end{description} + +\section{Time} +\subsection{it-fulltext} +\DTMsettimestyle{it-fulltext} +Ora: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. +\subsection{it-fulltext-second} +\DTMsettimestyle{it-fulltext-second} +Ora: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. +\subsection{it-fulltext-twenty-four} +\DTMsettimestyle{it-fulltext-twenty-four} +Ora: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. +\subsection{it-fulltext-twenty-four-second} +\DTMsettimestyle{it-fulltext-twenty-four-second} +Ora: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. + +\subsection{it-fulltext-semplice} +\DTMsettimestyle{it-fulltext-semplice} +Time: \DTMcurrenttime. +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. +\subsection{en-fulltext} +\DTMsettimestyle{en-fulltext} +Time: \DTMcurrenttime. + +0:00:00 \DTMdisplaytime{0}{0}{0}. + +1:01:01 \DTMdisplaytime{0}{1}{1}. + +12:15:03 \DTMdisplaytime{0}{15}{3}. + +17:29:04 \DTMdisplaytime{0}{29}{4}. + +20.30:05 \DTMdisplaytime{0}{30}{5}. + +23.31:12 \DTMdisplaytime{0}{31}{12}. + +\end{document} + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/README b/macros/latex/contrib/datetime2-contrib/datetime2-italian/README new file mode 100644 index 0000000000..e4ab0fef27 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/README @@ -0,0 +1,58 @@ +Italian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Mantainer: Claudio Duchi claduc at libero dot it + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is maintained. I + +Example usage: + +\documentclass{article} +\usepackage[italian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[italian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{italian} +\usepackage[italian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-italian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-italian/ + +Documentation: + +pdflatex datetime2-italian.dtx +makeindex -s gind.ist datetime2-italian.idx +makeindex -s gglo.ist -o datetime2-italian.gls datetime2-italian.glo +pdflatex datetime2-italian.dtx +pdflatex datetime2-italian.dtx + +Move datetime2-italian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-italian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.dtx new file mode 100644 index 0000000000..1c194b0453 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.dtx @@ -0,0 +1,868 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Italian Module}]{hyperref} + + +\CheckSum{467} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-italian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Italian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-05-01 (v1.3)} +%\maketitle +% +% This module is currently maintained and may be subject to change. +% +% The Current Maintainer of this work is Claudio Duchi claduc at libero dot it +%\begin{abstract} +%This is the Italian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +%\opt{showdow} setting. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-italian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-10}{Initial release} +%\changes{1.1}{2015-04-10}{Add timestyle italianampm% } +%\changes{1.2}{2015-04-16}{Add timestyle italian-twenty-four% } +%\changes{1.3}{2015-05-01}{bug fif% } +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{italian-utf8}[2015/05/01 v1.3] +% \end{macrocode} +%\begin{macro}{\DTMitalianordinal} +% \begin{macrocode} +\newcommand*{\DTMitalianordinal}[1]{% + \number#1 +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitalianmonthname} +% Italian month names. +% \begin{macrocode} +\newcommand*{\DTMitalianmonthname}[1]{% + \ifcase#1 + \or + gennaio% + \or + febbraio% + \or + marzo% + \or + aprile% + \or + maggio% + \or + giugno% + \or + luglio% + \or + agosto% + \or + settembre% + \or + ottobre% + \or + novembre% + \or + dicembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +% +%\begin{macro}{\DTMitalianweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMitalianweekdayname}[1]{% + \ifcase#1 + lunedƬ% + \or + martedƬ% + \or + mercoledƬ% + \or + giovedƬ% + \or + venerdƬ% + \or + sabato% + \or + domenica% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMitalianshortmonthname} +%short mont. +% \begin{macrocode} +\newcommand*{\DTMitalianshortmonthname}[1]{% + \ifcase#1 + \or + gen.% + \or + feb.% + \or + mar.% + \or + apr.% + \or + mag.% + \or + giun.% + \or + lug.% + \or + aug.% + \or + set.% + \or + ott.% + \or + nov.% + \or + dic.% + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMitalianshortweekdayname} +%short week day. +% \begin{macrocode} +\newcommand*{\DTMitalianshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mer.% + \or + gio.% + \or + ven.% + \or + sab.% + \or + dom.% + \fi +} +% \end{macrocode} +%\end{macro} +%\iffalse +% \begin{macrocode} +%</datetime2-italian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-italian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-italian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-10}{Initial release} +%\changes{1.1}{2015-04-10}{Add timestyle italianampm% } +%\changes{1.2}{2015-04-16}{Add timestyle italian-twenty-four% } +%\changes{1.3}{2015-05-01}{bug fif% } +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{italian-ascii}[2015/05/01 v1.3] +% \end{macrocode} +% +%\begin{macro}{\DTMitalianordinal} +% \begin{macrocode} +\newcommand*{\DTMitalianordinal}[1]{% + \number#1 +}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitalianmonthname} +% Italian month names. +% \begin{macrocode} +\newcommand*{\DTMitalianmonthname}[1]{% + \ifcase#1 + \or + gennaio% + \or + febbraio% + \or + marzo% + \or + aprile% + \or + maggio% + \or + giugno% + \or + luglio% + \or + agosto% + \or + settembre% + \or + ottobre% + \or + novembre% + \or + dicembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMitalianweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMitalianweekdayname}[1]{% + \ifcase#1 + luned\protect\`i% + \or + marted\protect\`i% + \or + mercoled\protect\`i% + \or + gioved\protect\`i% + \or + venerd\protect\`i% + \or + sabato% + \or + domenica% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMitalianshortmonthname} +%short mont. +% \begin{macrocode} +\newcommand*{\DTMitalianshortmonthname}[1]{% + \ifcase#1 + \or + gen.% + \or + feb.% + \or + mar.% + \or + apr.% + \or + mag.% + \or + giun.% + \or + lug.% + \or + aug.% + \or + set.% + \or + ott.% + \or + nov.% + \or + dic.% + \fi +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMitalianshortweekdayname} +%short week day. +% \begin{macrocode} +\newcommand*{\DTMitalianshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mer.% + \or + gio.% + \or + ven.% + \or + sab.% + \or + dom.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-italian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Italian Module (\texttt{datetime2-italian.ldf})} +%\changes{1.0}{2015-03-10}{Initial release} +%\changes{1.1}{2015-04-10}{Add timestyle italianampm% } +%\changes{1.2}{2015-04-16}{Add timestyle italian-twenty-four% } +%\changes{1.3}{2015-05-01}{bug fif% } +% +%\iffalse +% \begin{macrocode} +%<*datetime2-italian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{italian}[2015/05/01 v1.3] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{italian-utf8} if either of those engines are used +% otherwise load \texttt{italian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{italian-utf8} +\else + \ifluatex + \RequireDateTimeModule{italian-utf8} + \else + \RequireDateTimeModule{italian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{italian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. +% +% the packet defines the styles: "italian", +% "italian-numeric", "italianampm" and "italian-twenty-four" styles. +% +%This doesn't use the package wide +% separators such as +% \cs{dtm@datetimesep} in case other date formats are also required. +%\begin{macro}{\DTMitaliandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMitaliandaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitalianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMitalianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitaliandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMitaliandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitaliantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMitaliantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitaliandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMitaliandatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMitaliantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMitaliantimesep}{:} +% \end{macrocode} +%\end{macro} +% +% Provide keys that can be used in \cs{DTMlangsetup} to set these +% separators. +% \begin{macrocode} +\DTMdefkey{italian}{daymonthsep}{\renewcommand*{\DTMitaliandaymonthsep}{#1}} +\DTMdefkey{italian}{monthyearsep}{\renewcommand*{\DTMitalianmonthyearsep}{#1}} +\DTMdefkey{italian}{datetimesep}{\renewcommand*{\DTMitaliandatetimesep}{#1}} +\DTMdefkey{italian}{timezonesep}{\renewcommand*{\DTMitaliantimezonesep}{#1}} +\DTMdefkey{italian}{datesep}{\renewcommand*{\DTMitaliandatesep}{#1}} +\DTMdefkey{italian}{timesep}{\renewcommand*{\DTMitaliantimesep}{#1}} +% \end{macrocode} + +% Define a boolean key that determines if the shortened form +% should be used. +% \begin{macrocode} +\DTMdefboolkey{italian}{abbr}[true]{} +% \end{macrocode} +% The default is to use abbr +% \begin{macrocode} +\DTMsetbool{italian}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{italian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{italian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{italian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{italian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{italian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{italian}{showyear}{true} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*\DTMitalianam{am}% +% \end{macrocode} +% \begin{macrocode} +\newcommand*\DTMitalianpm{pm}% +% \end{macrocode} +% \begin{macrocode} +\newcommand*\DTMitalianmidnight{mezzanotte}% +% \end{macrocode} +% \begin{macrocode} +\newcommand*\DTMitaliannoon{mezzogiorno}% +% \end{macrocode} +% \begin{macrocode} +\newcommand*{\DTMitalianampmfmt}[1]{#1} +% \end{macrocode} +% Define the "italian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle +{italian}% label +{% date style +% \renewcommand*{\DTMitalianfmtordsuffix}{\DTMitalianfmtordsuffix}% + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{italian}{abbr}% + {\DTMitalianshortweekdayname{##4}}% + {\DTMitalianweekdayname{##4}}% + \space + \fi + \fi + \DTMifbool{italian}{showdayofmonth}% + {% + \DTMitalianordinal{##3}% + \DTMitaliandaymonthsep + }% + {}% + \DTMifbool{italian}{abbr}% + {\DTMitalianshortmonthname{##2}}% + {\DTMitalianmonthname{##2}}% + \DTMifbool{italian}{showyear}% + {% + \DTMitalianmonthyearsep\number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1% + \DTMifbool{italian}{abbr}% + {\DTMitalianshortweekdayname{##4}}% + {\DTMitalianweekdayname{##4}}% + \space + \fi + \fi + \DTMifbool{italian}{showdayofmonth}% + {% + \DTMitalianordinal{##3}% + \DTMitaliandaymonthsep + }% + {}% + \DTMifbool{italian}{abbr}% + {\DTMitalianshortmonthname{##2}}% + {\DTMitalianmonthname{##2}}% + \DTMifbool{italian}{showyear}% + {% + \DTMitalianmonthyearsep\number##1 % space intended + }% + {}% + }% +}% +{% time style + \renewcommand*\DTMitaliantimesep{\DTMitaliantimesep}% + \DTMsettimestyle{default}% +}% +{% zone style + \DTMresetzones + \DTMitalianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{italian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMitaliantimesep\DTMtwodigits{##2}\fi + }% + }% +}% +{% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMitaliandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMitaliantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMitaliandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMitaliantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% +}% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {italian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{italian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMitaliandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{italian}{showyear}% + {% + \DTMitaliandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMitaliantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMitaliantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMitalianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{italian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMitaliantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMitaliandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMitaliantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +% Define am pm style. +% \begin{macrocode} + \DTMnewtimestyle + {italianampm}% label + {% + \renewcommand*\DTMdisplaytime[3]{% + \ifnum##2=0 + \ifnum##1=12 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitaliannoon}}% + {\DTMitaliannoon}% + \else + \ifnum##1=0 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianmidnight}}% + {\DTMitalianmidnight}% + \else + \ifnum##1=24 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianmidnight}}% + {\DTMitalianmidnight}% + \else + \ifnum##1<12 + \number##1 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianam}}% + {\DTMitalianam}% + \else + \number\numexpr##1-12\relax + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianpm}}% + {\DTMitalianpm}% + \fi + \fi + \fi + \fi + \else + \ifnum##1<13 + \ifnum##1=0 + 12% + \else + \number##1 + \fi + \DTMitaliantimesep\DTMtwodigits{##2}% + \ifnum##1=12 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianam}}% + {\DTMitalianpm}% + \else + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianam}}% + {\DTMitalianam}% + \fi + \else + \number\numexpr##1-12\relax + \DTMitaliantimesep\DTMtwodigits{##2}% + \ifnum##1=24 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianpm}}% + {\DTMitalianam}% + \else + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianpm}}% + {\DTMitalianpm}% + \fi + \fi + \fi + }% + }% +% \end{macrocode} +% +% Define italian-twenty-four style. +% +% \begin{macrocode} + \DTMnewtimestyle + {italian-twenty-four}% label + {% + \renewcommand*\DTMdisplaytime[3]{% + \ifnum##2=0 + \ifnum##1=12 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitaliannoon}}% + {\DTMitaliannoon}% + \else + \ifnum##1=0 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianmidnight}}% + {\DTMitalianmidnight}% + \else + \ifnum##1=24 + \DTMtexorpdfstring + {\DTMitalianampmfmt{\DTMitalianmidnight}}% + {\DTMitalianmidnight}% + \else + \ifnum##1<12 + \DTMtwodigits{##1}\DTMitaliantimesep\DTMtwodigits{##2}% + \else + \DTMtwodigits{##1}\DTMitaliantimesep\DTMtwodigits{##2}% + \fi + \fi + \fi + \fi + \else + \ifnum##1<13 + \ifnum##1=0 + \DTMtwodigits{##1}% + \else + \DTMtwodigits{##1}\relax + \fi + \DTMitaliantimesep\DTMtwodigits{##2}% + \else + \DTMtwodigits{##1}\relax + \DTMitaliantimesep\DTMtwodigits{##2}% + \fi + \fi + }% + }% +% \end{macrocode} +% +% +%\begin{macro}{\DTMitalianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMitalianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{italian}} +{\DTMsetstyle{italian-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateitalian} (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\dateitalian + {% do nothing + }% + {% + \def\dateitalian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{italian}}% + {\DTMsetstyle{italian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{italian}}% + {\DTMsetstyle{italian-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-italian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.ins new file mode 100644 index 0000000000..3e9b4abb6b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.ins @@ -0,0 +1,64 @@ +\input docstrip + +\preamble + + datetime2-italian.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + The Current Maintainer of this work is Claudio Duchi + claduc at libero dot it + + This work has the LPPL maintenance status `maintained'. + + This work consists of the files datetime2-italian.dtx and + datetime2-italian.ins and the derived files + datetime2-italian-utf8.ldf, datetime2-italian-ascii.ldf and + datetime2-italian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-italian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-italian.dtx}{datetime2-italian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-italian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-italian.dtx}{datetime2-italian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-italian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-italian.dtx}{datetime2-italian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.pdf Binary files differnew file mode 100644 index 0000000000..527f5dc1bf --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/datetime2-italian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime1.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime1.tex new file mode 100644 index 0000000000..40975b2d6d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime1.tex @@ -0,0 +1,13 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \today +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-babel.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-babel.tex new file mode 100644 index 0000000000..547fd7eff2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-babel.tex @@ -0,0 +1,56 @@ +% This file is public domain. + +% This document requires the datetime2-english module to be +% installed (in addition to the datetime2 package). +% arara: pdflatex +\documentclass[italian]{article} + +\usepackage{babel} +\usepackage[datesep=/,showzoneminutes=false,useregional]{datetime2} +\usepackage[colorlinks]{hyperref} + +%\DTMlangsetup{mapzone=false} + +\DTMsavetimestamp{mydate}{2014-06-03T12:45:02+01:00} +\DTMsavetimestamp{mydate2}{2015-03-20T08:05:09+00:00} +\DTMsavetimestamp{mydate3}{2014-12-15T23:55:49-06:00} +\DTMsavetimestamp{mydate4}{2014-01-27T12:05:00+09:00} +\DTMsavetimestamp{mydate5}{2013-11-28T02:05:00+12:00} + +%\renewcommand*{\DTMresetzones}{\DTMclearmap{01}{00}} + +\begin{document} +\tableofcontents + \section{Italiano} + + Oggi: \today. + + Ora: \DTMnow. + + \subsection{\DTMuse{mydate}} + Saved Date (\texttt{mydate}): \DTMusedate{mydate} + Saved time (\texttt{mydate}): \DTMusetime{mydate}. + \typeout{Date (#1): \DTMusedate{mydate}} + + \subsection{\DTMuse{mydate2}} + Saved Date (\texttt{mydate2}): \DTMusedate{mydate2} + Saved time (\texttt{mydate2}): \DTMusetime{mydate2}. + \typeout{Date (#1): \DTMusedate{mydate2}} + + \subsection{\DTMuse{mydate3}} + Saved Date (\texttt{mydate3}): \DTMusedate{mydate3} + Saved time (\texttt{mydate3}): \DTMusetime{mydate3}. + \typeout{Date (#1): \DTMusedate{mydate3}} + + \subsection{\DTMuse{mydate4}} + Saved Date (\texttt{mydate4}): \DTMusedate{mydate4} + Saved time (\texttt{mydate4}): \DTMusetime{mydate4}. + \typeout{Date (#1): \DTMusedate{mydate4}} + + \subsection{\DTMuse{mydate5}} + Saved Date (\texttt{mydate5}): \DTMusedate{mydate5} + Saved time (\texttt{mydate5}): \DTMusetime{mydate5}. + \typeout{Date (#1): \DTMusedate{mydate5}} + + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-calc.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-calc.tex new file mode 100644 index 0000000000..7ed62aa19c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-calc.tex @@ -0,0 +1,76 @@ +% This file is public domain. + +% arara: pdflatex +\documentclass[italian]{article} + +\usepackage[calc,useregional]{datetime2} + +\begin{document} + +\DTMsavejulianday{mydate}{2457023} +\DTMsavedate{mydate2}{2014-06-20} + +Date: \DTMusedate{mydate}. + +\newcount\myct +\DTMsaveddatetojulianday{mydate}{\myct} + +Julian day number: \number\myct. + +\DTMsaveddateoffsettojulianday{mydate}{2}{\myct} + +Julian day number (offset+2): \number\myct. + +Is \texttt{mydate2} (\DTMusedate{mydate2}) before +\texttt{mydate} (\DTMusedate{mydate})? +\DTMifdate + {mydate2} + {at most= + \DTMfetchyear{mydate}-\DTMfetchmonth{mydate}-\DTMfetchday{mydate}} + {yes}{no}. + +Is \texttt{mydate2} (\DTMusedate{mydate2}) after +\texttt{mydate} (\DTMusedate{mydate})? +\DTMifdate + {mydate2} + {at least= + \DTMfetchyear{mydate}-\DTMfetchmonth{mydate}-\DTMfetchday{mydate}} + {yes}{no}. + +\DTMsaveddatediff{mydate}{mydate2}{\myct} + +\DTMusedate{mydate} is +\ifnum\myct=0 + the same day as +\else + \ifnum\myct<0 + \number-\myct\space day\ifnum\myct<-1s\fi\space before + \else + \number\myct\space day\ifnum\myct>1s\fi\space after + \fi +\fi +\DTMusedate{mydate2}. + +Original date: 2014-06-3 20:45:00 +06:00 + +\DTMsaveaszulutime{mydate}{2014}{6}{3}{20}{45}{0}{6}{0} +UTC+00:00 date: \DTMuse{mydate}. + +\DTMsavetimestamp{mydate}{2014-05-01T03:55:00 -06:00} +Original date: \DTMuse{mydate}. + +\DTMtozulu{mydate}{mydate2} +UTC+00:00: \DTMuse{mydate2}. + +Offset: \DTMdate{2015-03-30+4}. + +Last: \DTMdate{2015-02-last}. + +Last with offset: \DTMdate{2015-02-last+-2}. + +Saved date with offset +\DTMsavedate{offset}{2015-02-last+-2} + +Use date: \DTMusedate{offset}. + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-hyperref.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-hyperref.tex new file mode 100644 index 0000000000..5ee79e91f5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-hyperref.tex @@ -0,0 +1,78 @@ +% This file is public domain. +% This document additionally requires the datetime2-english module +% to be installed. + +% arara: pdflatex +% arara: pdflatex +\documentclass[italian]{article} + +\usepackage[datesep=/,showzoneminutes=false]{datetime2} +\usepackage[colorlinks]{hyperref} + +\DTMsetup{showdow} + +\DTMsavetimestamp{mydate}{2014-06-03T12:45:02+01:00} + +\begin{document} +\tableofcontents + +The use of \verb|\typeout| is to test the expansion in the event +that the date/time needs to be written to an external file. +Use +\texttt{\href{http://www.dickimaw-books.com/latex/novices/html/texdoc.html}{texdoc} datetime2} to read the main user manual for +the \texttt{datetime2} package and use \texttt{texdoc +datetime2-english} for the English module documentation. + +\section{Default date: \today} + +Today: \today. Time: \DTMcurrenttime. Zone: \DTMcurrentzone. + +Now: \DTMnow. + +TWO DIGITS: \DTMtwodigits{2014}. \DTMtwodigits{2999}. +\DTMtwodigits{-2}. + +\typeout{Date Stamp (Default): \DTMnow} + +Saved date: \DTMusedate{mydate}. +Saved time: \DTMusetime{mydate}. + +Saved date-time: \DTMuse{mydate}. + +\typeout{Date Stamp (Default): \DTMuse{mydate}} + +\section{Default time: \DTMusetime{mydate}} + +\DTMsetstyle{iso} + +ISO: \DTMnow. +\typeout{Date Stamp (ISO): \DTMnow} + +Saved date: \DTMuse{mydate}. +\typeout{Date Stamp (ISO): \DTMuse{mydate}} + +\DTMsetstyle{italian} +\section{(Italiano) \DTMusedate{mydate}} +Today: \today. Time: \DTMcurrenttime. Zone: \DTMcurrentzone. + +Now: \DTMnow. + +TWO DIGITS: \DTMtwodigits{2014}. \DTMtwodigits{2999}. +\DTMtwodigits{-2}. + +\typeout{Date Stamp (Default): \DTMnow} + +Saved date: \DTMusedate{mydate}. +Saved time: \DTMusetime{mydate}. + +Saved date-time: \DTMuse{mydate}. + +Italiano: \DTMnow. +\typeout{Date Stamp (IT): \DTMnow} + +Saved date: \DTMuse{mydate}. +\typeout{Date Stamp (IT): \DTMuse{mydate}} + + + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-styles.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-styles.tex new file mode 100644 index 0000000000..3261d80604 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/datetime2-sample-styles.tex @@ -0,0 +1,148 @@ +% This file is public domain. +% This document additionally requires the datetime2-english module +% to be installed. + +% arara: pdflatex +\documentclass[italian]{article} + +\usepackage{datetime2} + +%\DTMsetup{showseconds=false,datesep=/,timesep=.} + +\begin{document} +\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00} +\DTMsavetimestamp{mydate2}{2015-04-01T08:13:45+01:00} + +Default: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (default): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{iso} + +ISO: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (iso): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{pdf} + +PDF: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (pdf): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{ddmmyyyy} + +ddmmyyyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (ddmmyyyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{dmyyyy} + +dmyyyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (dmyyyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{dmyy} + +dmyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (dmyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{mmddyyyy} + +mmddyyyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (mmddyyyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{mdyyyy} + +mdyyyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (mdyyyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{mdyy} + +mdyy: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (mdyy): \DTMnow. \DTMuse{mydate}.} + +\DTMsetstyle{yyyymd} + +yyyymd: \DTMnow. \DTMuse{mydate}. +\typeout{Date-Time (yyyymd): \DTMnow. \DTMuse{mydate}.} + +Testing time styles. + +\DTMsavetime{noon}{12:00:00} +\DTMsavetime{midnight1}{00:00:00} +\DTMsavetime{midnight2}{24:00:00} +\DTMsavetime{8am}{08:00:00} +\DTMsavetime{8pm}{20:00:00} +\DTMsavetime{1203}{12:03:00} +\DTMsavetime{2401}{24:01:00} +\DTMsavetime{0001}{00:01:00} + +\DTMsettimestyle{hmmss} + +hmmss: \DTMcurrenttime. \DTMusetime{mydate}. +\DTMusetime{mydate2}. + +\DTMusetime{noon}. + +\DTMusetime{midnight1}. + +\DTMusetime{midnight2}. + +\DTMusetime{8am}. + +\DTMusetime{8pm}. + +\DTMusetime{1203}. + +\DTMusetime{2401}. +\DTMusetime{0001}. + +\typeout{Time (hmmss): \DTMcurrenttime. + \DTMusetime{mydate}. + \DTMusetime{mydate2}. + \DTMusetime{noon}. + \DTMusetime{midnight1}. + \DTMusetime{midnight2}. + \DTMusetime{8am}. + \DTMusetime{8pm}. + \DTMusetime{1203}. + \DTMusetime{2401}. + \DTMusetime{0001}. +} + +\DTMsettimestyle{italianampm} +ampm: \DTMcurrenttime. +\DTMusetime{mydate}. +\DTMusetime{mydate2}. +\DTMusetime{noon}. +\DTMusetime{midnight1}. +\DTMusetime{midnight2}. +\DTMusetime{8am}. +\DTMusetime{8pm}. +\DTMusetime{1203}. +\DTMusetime{2401}. +\DTMusetime{0001}. + +\typeout{Time (ampm): \DTMcurrenttime. +\DTMusetime{mydate}. +\DTMusetime{mydate2}. +\DTMusetime{noon}. +\DTMusetime{midnight1}. +\DTMusetime{midnight2}. +\DTMusetime{8am}. +\DTMusetime{8pm}. +\DTMusetime{1203}. +\DTMusetime{2401}. +\DTMusetime{0001}. +} + +\DTMsettimestyle{italian-twenty-four} +(italian-twenty-four) \DTMcurrenttime. + +\DTMusetime{mydate}. +\DTMusetime{mydate2}. +\DTMusetime{noon}. +\DTMusetime{midnight1}. +\DTMusetime{midnight2}. +\DTMusetime{8am}. +\DTMusetime{8pm}. +\DTMusetime{1203}. +\DTMusetime{2401}. +\DTMusetime{0001}. + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio1.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio1.tex new file mode 100644 index 0000000000..1a8531868f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio1.tex @@ -0,0 +1,5 @@ +\documentclass{article} +\usepackage{datetime2} +\begin{document} +This PDF was created on \today. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio10.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio10.tex new file mode 100644 index 0000000000..70f2eafee4 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio10.tex @@ -0,0 +1,16 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional,showzone=false]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio11.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio11.tex new file mode 100644 index 0000000000..34c4ce6ffd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio11.tex @@ -0,0 +1,16 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showisoZ=true]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio12.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio12.tex new file mode 100644 index 0000000000..00ad4eff6b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio12.tex @@ -0,0 +1,15 @@ +\documentclass{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[italian]{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\begin{document} +\today +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio13.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio13.tex new file mode 100644 index 0000000000..843267ea47 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio13.tex @@ -0,0 +1,5 @@ +\documentclass{article} +\usepackage[italian,useregional=numeric]{datetime2} +\begin{document} + \today +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio2.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio2.tex new file mode 100644 index 0000000000..74283552dd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio2.tex @@ -0,0 +1,5 @@ +\documentclass{article} +\usepackage{datetime2} +\begin{document} +This PDF was created on \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio3.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio3.tex new file mode 100644 index 0000000000..5f669f9c44 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio3.tex @@ -0,0 +1,13 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio4.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio4.tex new file mode 100644 index 0000000000..ccaa3e4bcd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio4.tex @@ -0,0 +1,13 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio5.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio5.tex new file mode 100644 index 0000000000..014274bed6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio5.tex @@ -0,0 +1,15 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional=numeric]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. + +Questo PDF ĆØ stato creato il \today. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6.tex new file mode 100644 index 0000000000..f939b24cc7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6.tex @@ -0,0 +1,14 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional,showdow]{datetime2} +\DTMlangsetup[italian]{abbr} +\begin{document} +Questo PDF ĆØ stato creato il \today +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6a.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6a.tex new file mode 100644 index 0000000000..c88d97e0a7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio6a.tex @@ -0,0 +1,15 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage{babel} +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[useregional,showdow]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. + +Questo PDF ĆØ stato creato il \today. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio7.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio7.tex new file mode 100644 index 0000000000..e934e7b5c0 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio7.tex @@ -0,0 +1,19 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi + +\usepackage[italian,style=iso]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. + +Questo PDF ĆØ stato creato il \today. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio8.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio8.tex new file mode 100644 index 0000000000..b57c67eac6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio8.tex @@ -0,0 +1,16 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[style=iso,italian]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \today +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio9.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio9.tex new file mode 100644 index 0000000000..62793cc817 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/esempio9.tex @@ -0,0 +1,16 @@ +\documentclass[italian]{article} +\usepackage{ifpdf,ifxetex} +\ifpdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\else +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{italian} +\fi +\usepackage[showdow]{datetime2} +\begin{document} +Questo PDF ĆØ stato creato il \DTMnow. +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/tomorrow.tex b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/tomorrow.tex new file mode 100644 index 0000000000..8892d71d41 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-italian/sample/tomorrow.tex @@ -0,0 +1,39 @@ +\documentclass[italian]{article} +\newcount\myct +\newcount\datecount +\newcommand{\tomorrow}{% + \DTMsavenow{mydate} + \DTMsaveddateoffsettojulianday{mydate}{365}{\myct} + \DTMsavejulianday{mydate}{\number\myct} + \DTMusedate{mydate} +} + +\newcommand{\yesterday}{% + \DTMsavenow{mydate} + \DTMsaveddateoffsettojulianday{mydate}{-1}{\myct} + \DTMsavejulianday{mydate}{\number\myct} + \DTMusedate{mydate} +} +\newcommand{\myday}[1]{% + \DTMsavenow{mydate} + \DTMsaveddateoffsettojulianday{mydate}{#1}{\myct} + \DTMsavejulianday{mydate}{\number\myct} + \DTMusedate{mydate} +} +\usepackage[calc,useregional]{datetime2} +\begin{document} + +\today~ is the day before tomorrow.\par + +\tomorrow~ is the day after today. + +\yesterday + +\myday{10} +%\DTMuse{\tomorrow} +%\pgfcalendardatetojulian{\year-\month-\day+1}{\pgfdatecount} +%\DTMsavejulianday{mydate}{\the\pgfdatecount} +%\DTMusedate{mydate} + + +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-latin/README b/macros/latex/contrib/datetime2-contrib/datetime2-latin/README new file mode 100644 index 0000000000..6f709d68cc --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-latin/README @@ -0,0 +1,57 @@ +Latin Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[latin]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[latin]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{latin} +\usepackage[latin]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-latin.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-latin/ + +Documentation: + +pdflatex datetime2-latin.dtx +makeindex -s gind.ist datetime2-latin.idx +makeindex -s gglo.ist -o datetime2-latin.gls datetime2-latin.glo +pdflatex datetime2-latin.dtx +pdflatex datetime2-latin.dtx + +Move datetime2-latin.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-latin/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.dtx new file mode 100644 index 0000000000..d5b7e6de88 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.dtx @@ -0,0 +1,501 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Latin Module}]{hyperref} + + +\CheckSum{212} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-latin.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Latin Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-05-18 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Latin 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-latin}'s \cs{today}. +%This is different from \sty{polyglossia}'s Latin \cs{today} so +%there's a check to see if \sty{polyglossia} has been loaded to make +%the styles match. +% +%I don't know if these settings are correct. +%In particular, I don't know if the "latin" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-latin.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%At the moment there is only the one ".ldf" file. +% +%\subsection{Main Latin Module (\texttt{datetime2-latin.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-latin.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{latin}[2018/05/18 v1.1] +% \end{macrocode} +% +%\begin{macro}{\DTMlatindatefont} +%\sty{polyglossia} version doesn't implement a font change. +% \begin{macrocode} +\@ifpackageloaded{polyglossia} +{ + \newcommand*{\DTMlatindayfont}[1]{#1} +} +{ +% \end{macrocode} +%This will need protecting. +% \begin{macrocode} + \newcommand*{\DTMlatindayfont}[1]{% + {\check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont#1}% + } +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatinordinal} +% \begin{macrocode} +\newcommand*{\DTMlatinordinal}[1]{% + \DTMtexorpdfstring + {% + \protect\DTMlatindayfont{\uppercase\expandafter{\romannumeral#1}}% + }% + {\romannumeral#1 }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatinyear} +% \begin{macrocode} +\newcommand*{\DTMlatinyear}[1]{% + \DTMtexorpdfstring + {% + \uppercase\expandafter{\romannumeral#1}% + }% + {\romannumeral#1 }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatinmonthname} +% Latin month names. +% \begin{macrocode} +\@ifpackageloaded{polyglossia} +{ +% \end{macrocode} +% Match \sty{polyglossia} month names: +% \begin{macrocode} + \newcommand*{\DTMlatinmonthname}[1]{% + \ifcase#1 + \or + Januarii% + \or + Februarii% + \or + Martii% + \or + Aprilis% + \or + Maji% + \or + Junii% + \or + Julii% + \or + Augusti% + \or + Septembris% + \or + Octobris% + \or + Novembris% + \or + Decembris% + \fi + } +} +{ +% \end{macrocode} +% Match \sty{babel} month names: +% \begin{macrocode} + \newcommand*{\DTMlatinmonthname}[1]{% + \ifcase#1 + \or + Ianuarii% + \or + Februarii% + \or + Martii% + \or + Aprilis% + \or + Maii% + \or + Iunii% + \or + Iulii% + \or + Augusti% + \or + Septembris% + \or + Octobris% + \or + Novembris% + \or + Decembris% + \fi + } +} +% \end{macrocode} +%\end{macro} +% +% +% Define the \texttt{latin} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. +% +% Allow the user a way of configuring the "latin" and +% "latin-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}{\DTMlatindaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMlatindaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatinmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMlatinmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatindatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMlatindatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatintimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMlatintimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatindatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMlatindatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlatintimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMlatintimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{latin}{daymonthsep}{\renewcommand*{\DTMlatindaymonthsep}{#1}} +\DTMdefkey{latin}{monthyearsep}{\renewcommand*{\DTMlatinmonthyearsep}{#1}} +\DTMdefkey{latin}{datetimesep}{\renewcommand*{\DTMlatindatetimesep}{#1}} +\DTMdefkey{latin}{timezonesep}{\renewcommand*{\DTMlatintimezonesep}{#1}} +\DTMdefkey{latin}{datesep}{\renewcommand*{\DTMlatindatesep}{#1}} +\DTMdefkey{latin}{timesep}{\renewcommand*{\DTMlatintimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{latin}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{latin}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{latin}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{latin}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{latin}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{latin}{showyear}{true} +% \end{macrocode} +% +% Define the "latin" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {latin}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{latin}{showdayofmonth} + {\DTMlatinordinal{##3}\DTMlatindaymonthsep}% + {}% + \DTMlatinmonthname{##2}% + \DTMifbool{latin}{showyear}% + {% + \DTMlatinmonthyearsep + \DTMlatinyear{##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMlatinzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{latin}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMlatintimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMlatindatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMlatintimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {latin-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{latin}{showdayofmonth}% + {% + \number##3 % space intended + \DTMlatindatesep + }% + {}% + \number##2 % space intended + \DTMifbool{latin}{showyear}% + {% + \DTMlatindatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMlatintimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMlatintimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMlatinzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{latin}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMlatintimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMlatindatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMlatintimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMlatinzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. This currently has no mappings. +% \begin{macrocode} +\newcommand*{\DTMlatinzonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{latin}} +{\DTMsetstyle{latin-numeric}} +% \end{macrocode} +% +% Redefine \cs{datelatin} (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.) +%\changes{1.1}{2018-05-18}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datelatin + {% do nothing + }% + {% + \def\datelatin{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{latin}}% + {\DTMsetstyle{latin-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{latin}}% + {\DTMsetstyle{latin-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-latin.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.ins b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.ins new file mode 100644 index 0000000000..1a64357a07 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.ins @@ -0,0 +1,38 @@ +\input docstrip + +\preamble + + datetime2-latin.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-latin.dtx and + datetime2-latin.ins and the derived file + datetime2-latin.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-latin.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-latin.dtx}{datetime2-latin.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.pdf Binary files differnew file mode 100644 index 0000000000..421573fcac --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-latin/datetime2-latin.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/README b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/README new file mode 100644 index 0000000000..00d1f2f334 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/README @@ -0,0 +1,57 @@ +Lower Sorbian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[lsorbian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[lsorbian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{lsorbian} +\usepackage[lsorbian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-lsorbian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-lsorbian/ + +Documentation: + +xelatex datetime2-lsorbian.dtx +makeindex -s gind.ist datetime2-lsorbian.idx +makeindex -s gglo.ist -o datetime2-lsorbian.gls datetime2-lsorbian.glo +xelatex datetime2-lsorbian.dtx +xelatex datetime2-lsorbian.dtx + +Move datetime2-lsorbian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-lsorbian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.dtx new file mode 100644 index 0000000000..aea2aa81da --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.dtx @@ -0,0 +1,793 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Lower Sorbian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{395} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-lsorbian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Lower Sorbian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-05-18 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Lower Sorbian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-lsorbian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Lower Sorbian. +%In particular, I don't know if the "lsorbian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-lsorbian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-lsorbian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{lsorbian-utf8}[2018/05/18 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMlsorbianordinal} +% \begin{macrocode} +\newcommand*{\DTMlsorbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMlsorbiannewmonthname} +% Lower Sorbian month names. +% \begin{macrocode} +\newcommand*{\DTMlsorbiannewmonthname}[1]{% + \ifcase#1 + \or + januara% + \or + februara% + \or + mÄrca% + \or + apryla% + \or + maja% + \or + junija% + \or + julija% + \or + awgusta% + \or + septembra% + \or + oktobra% + \or + nowembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiannewMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMlsorbiannewMonthname}[1]{% + \ifcase#1 + \or + Januara% + \or + Februara% + \or + MÄrca% + \or + Apryla% + \or + Maja% + \or + Junija% + \or + Julija% + \or + Awgusta% + \or + Septembra% + \or + Oktobra% + \or + Nowembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbianoldmonthname} +% Lower Sorbian (old) month names. +% \begin{macrocode} +\newcommand*{\DTMlsorbianoldmonthname}[1]{% + \ifcase#1 + \or + wjelikego rožka% + \or + maÅego rožka% + \or + nalÄtnika% + \or + jatÅ”ownika% + \or + rožownika% + \or + smažnika% + \or + pražnika% + \or + žnjeÅca% + \or + požnjeÅca% + \or + winowca% + \or + nazymnika% + \or + godownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbianoldMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMlsorbianoldMonthname}[1]{% + \ifcase#1 + \or + Wjelikego rožka% + \or + MaÅego rožka% + \or + NalÄtnika% + \or + JatÅ”ownika% + \or + Rožownika% + \or + Smažnika% + \or + Pražnika% + \or + ŽnjeÅca% + \or + PožnjeÅca% + \or + Winowca% + \or + Nazymnika% + \or + Godownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-lsorbian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-lsorbian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-lsorbian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-30}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{lsorbian-ascii}[2018/05/18 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMlsorbianordinal} +% \begin{macrocode} +\newcommand*{\DTMlsorbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiannewmonthname} +% Lower Sorbian month names. +% \begin{macrocode} +\newcommand*{\DTMlsorbiannewmonthname}[1]{% + \ifcase#1 + \or + januara% + \or + februara% + \or + m\protect\v erca% + \or + apryla% + \or + maja% + \or + junija% + \or + julija% + \or + awgusta% + \or + septembra% + \or + oktobra% + \or + nowembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiannewMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMlsorbiannewMonthname}[1]{% + \ifcase#1 + \or + Januara% + \or + Februara% + \or + M\protect\v erca% + \or + Apryla% + \or + Maja% + \or + Junija% + \or + Julija% + \or + Awgusta% + \or + Septembra% + \or + Oktobra% + \or + Nowembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbianoldmonthname} +% Lower Sorbian (old) month names. +% \begin{macrocode} +\newcommand*{\DTMlsorbianoldmonthname}[1]{% + \ifcase#1 + \or + wjelikego ro\protect\v zka% + \or + ma\protect\l ego ro\protect\v zka% + \or + nal\protect\v etnika% + \or + jat\protect\v sownika% + \or + ro\protect\v zownika% + \or + sma\protect\v znika% + \or + pra\protect\v znika% + \or + \protect\v znje\protect\'nca% + \or + po\protect\v znje\protec\'nca% + \or + winowca% + \or + nazymnika% + \or + godownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbianoldMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMlsorbianoldMonthname}[1]{% + \ifcase#1 + \or + Wjelikego ro\protect\v zka% + \or + Ma\protect\l ego ro\protect\v zka% + \or + Nal\protect\v etnika% + \or + Jat\protect\v sownika% + \or + Ro\protect\v zownika% + \or + Sma\protect\v znika% + \or + Pra\protect\v znika% + \or + \protect\v Znje\protect\'nca% + \or + Po\protect\v znje\protec\'nca% + \or + Winowca% + \or + Nazymnika% + \or + Godownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-lsorbian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Lower Sorbian Module (\texttt{datetime2-lsorbian.ldf})} +%\changes{1.0}{2015-03-30}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-lsorbian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{lsorbian}[2018/05/18 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{lsorbian-utf8} if either of those engines are used +% otherwise load \texttt{lsorbian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{lsorbian-utf8} +\else + \ifluatex + \RequireDateTimeModule{lsorbian-utf8} + \else + \RequireDateTimeModule{lsorbian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{lsorbian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "lsorbian" and +% "lsorbian-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}{\DTMlsorbiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMlsorbiandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMlsorbianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMlsorbiandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMlsorbiantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMlsorbiandatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMlsorbiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMlsorbiantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{lsorbian}{daymonthsep}{\renewcommand*{\DTMlsorbiandaymonthsep}{#1}} +\DTMdefkey{lsorbian}{monthyearsep}{\renewcommand*{\DTMlsorbianmonthyearsep}{#1}} +\DTMdefkey{lsorbian}{datetimesep}{\renewcommand*{\DTMlsorbiandatetimesep}{#1}} +\DTMdefkey{lsorbian}{timezonesep}{\renewcommand*{\DTMlsorbiantimezonesep}{#1}} +\DTMdefkey{lsorbian}{datesep}{\renewcommand*{\DTMlsorbiandatesep}{#1}} +\DTMdefkey{lsorbian}{timesep}{\renewcommand*{\DTMlsorbiantimesep}{#1}} +% \end{macrocode} +% +%\begin{macro}{\DTMlsorbianmonthname} +% Provide a way to switch between old and new month names +% \begin{macrocode} +\newcommand*\DTMlsorbianmonthname{\DTMlsorbiannewmonthname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMlsorbianMonthname} +% Provide a way to switch between old and new month names +% \begin{macrocode} +\newcommand*\DTMlsorbianMonthname{\DTMlsorbiannewMonthname} +% \end{macrocode} +%\end{macro} +% Define a key to easily switch: +% \begin{macrocode} +\DTMdefchoicekey{lsorbian}{style}[\val\nr]{old,new}{% + \ifcase\nr\relax + \renewcommand*\DTMlsorbianmonthname{\DTMlsorbianoldmonthname}% + \renewcommand*\DTMlsorbianMonthname{\DTMlsorbianoldMonthname}% + \or + \renewcommand*\DTMlsorbianmonthname{\DTMlsorbiannewmonthname}% + \renewcommand*\DTMlsorbianMonthname{\DTMlsorbiannewMonthname}% + \fi +} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{lsorbian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{lsorbian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{lsorbian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{lsorbian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{lsorbian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{lsorbian}{showyear}{true} +% \end{macrocode} +% +% Define the "lsorbian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {lsorbian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{lsorbian}{showdayofmonth} + {\DTMlsorbianordinal{##3}\DTMlsorbiandaymonthsep}% + {}% + \DTMlsorbianmonthname{##2}% + \DTMifbool{lsorbian}{showyear}% + {% + \DTMlsorbianmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{lsorbian}{showdayofmonth} + {% + \DTMlsorbianordinal{##3}\DTMlsorbiandaymonthsep + \DTMlsorbianmonthname{##2}% + }% + {% + \DTMlsorbianMonthname{##2}% + }% + \DTMifbool{lsorbian}{showyear}% + {% + \DTMlsorbianmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMlsorbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{lsorbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMlsorbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMlsorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMlsorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMlsorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMlsorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {lsorbian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{lsorbian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMlsorbiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{lsorbian}{showyear}% + {% + \DTMlsorbiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMlsorbiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMlsorbiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMlsorbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{lsorbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMlsorbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMlsorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMlsorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMlsorbianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMlsorbianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{lsorbian}} +{\DTMsetstyle{lsorbian-numeric}} +% \end{macrocode} +% +% Redefine \cs{datelsorbian} (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.) +%\changes{1.1}{2018-05-18}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datelsorbian + {% do nothing + }% + {% + \def\datelsorbian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{lsorbian}}% + {\DTMsetstyle{lsorbian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{lsorbian}}% + {\DTMsetstyle{lsorbian-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-lsorbian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.ins new file mode 100644 index 0000000000..ca3833e0af --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-lsorbian.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-lsorbian.dtx and + datetime2-lsorbian.ins and the derived files + datetime2-lsorbian-utf8.ldf, datetime2-lsorbian-ascii.ldf and + datetime2-lsorbian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-lsorbian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-lsorbian.dtx}{datetime2-lsorbian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-lsorbian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-lsorbian.dtx}{datetime2-lsorbian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-lsorbian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-lsorbian.dtx}{datetime2-lsorbian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.pdf Binary files differnew file mode 100644 index 0000000000..43939e245c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-lsorbian/datetime2-lsorbian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-magyar/README b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/README new file mode 100644 index 0000000000..fda4ab5cb4 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/README @@ -0,0 +1,57 @@ +Hungarian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[magyar]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[magyar]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{magyar} +\usepackage[magyar]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-magyar.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-magyar/ + +Documentation: + +xelatex datetime2-magyar.dtx +makeindex -s gind.ist datetime2-magyar.idx +makeindex -s gglo.ist -o datetime2-magyar.gls datetime2-magyar.glo +xelatex datetime2-magyar.dtx +xelatex datetime2-magyar.dtx + +Move datetime2-magyar.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-magyar/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.dtx new file mode 100644 index 0000000000..1de0857e78 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.dtx @@ -0,0 +1,647 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Hungarian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{289} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-magyar.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Hungarian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-07-24 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintenance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Hungarian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-magyar}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Hungarian. +%In particular, I don't know if the "magyar" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-magyar.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-magyar-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{magyar-utf8}[2018/07/24 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMmagyarordinal} +% \begin{macrocode} +\newcommand*{\DTMmagyarordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyaryear} +% \begin{macrocode} +\newcommand*{\DTMmagyaryear}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMmagyarmonthname} +% Hungarian month names. +% \begin{macrocode} +\newcommand*{\DTMmagyarmonthname}[1]{% + \ifcase#1 + \or + januĆ”r% + \or + februĆ”r% + \or + mĆ”rcius% + \or + Ć”prilis% + \or + mĆ”jus% + \or + jĆŗnius% + \or + jĆŗlius% + \or + augusztus% + \or + szeptember% + \or + oktĆ³ber% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyarMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMmagyarMonthname}[1]{% + \ifcase#1 + \or + JanuĆ”r% + \or + FebruĆ”r% + \or + MĆ”rcius% + \or + Ćprilis% + \or + MĆ”jus% + \or + JĆŗnius% + \or + JĆŗlius% + \or + Augusztus% + \or + Szeptember% + \or + OktĆ³ber% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-magyar-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-magyar-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-magyar-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{magyar-ascii}[2018/07/24 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMmagyarordinal} +% \begin{macrocode} +\newcommand*{\DTMmagyarordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyaryear} +% \begin{macrocode} +\newcommand*{\DTMmagyaryear}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyarmonthname} +% Hungarian month names. +% \begin{macrocode} +\newcommand*{\DTMmagyarmonthname}[1]{% + \ifcase#1 + \or + janu\protect\'ar% + \or + febru\protect\'ar% + \or + m\protect\'arcius% + \or + \protect\'aprilis% + \or + m\protect\'ajus% + \or + j\protect\'unius% + \or + j\protect\'ulius% + \or + augusztus% + \or + szeptember% + \or + okt\protect\'ober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyarMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMmagyarMonthname}[1]{% + \ifcase#1 + \or + Janu\protect\'ar% + \or + Febru\protect\'ar% + \or + M\protect\'arcius% + \or + \protect\'Aprilis% + \or + M\protect\'ajus% + \or + J\protect\'unius% + \or + J\protect\'ulius% + \or + Augusztus% + \or + Szeptember% + \or + Okt\protect\'ober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-magyar-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Hungarian Module (\texttt{datetime2-magyar.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-magyar.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{magyar}[2018/07/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{magyar-utf8} if either of those engines are used +% otherwise load \texttt{magyar-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{magyar-utf8} +\else + \ifluatex + \RequireDateTimeModule{magyar-utf8} + \else + \RequireDateTimeModule{magyar-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{magyar} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "magyar" and +% "magyar-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}{\DTMmagyardaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMmagyardaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyarmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMmagyarmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyardatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMmagyardatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyartimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMmagyartimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyardatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMmagyardatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMmagyartimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMmagyartimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{magyar}{daymonthsep}{\renewcommand*{\DTMmagyardaymonthsep}{#1}} +\DTMdefkey{magyar}{monthyearsep}{\renewcommand*{\DTMmagyarmonthyearsep}{#1}} +\DTMdefkey{magyar}{datetimesep}{\renewcommand*{\DTMmagyardatetimesep}{#1}} +\DTMdefkey{magyar}{timezonesep}{\renewcommand*{\DTMmagyartimezonesep}{#1}} +\DTMdefkey{magyar}{datesep}{\renewcommand*{\DTMmagyardatesep}{#1}} +\DTMdefkey{magyar}{timesep}{\renewcommand*{\DTMmagyartimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{magyar}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{magyar}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{magyar}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{magyar}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{magyar}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{magyar}{showyear}{true} +% \end{macrocode} +% +% Define the "magyar" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {magyar}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{magyar}{showdayofmonth} + {\DTMmagyarordinal{##3}\DTMmagyardaymonthsep}% + {}% + \DTMmagyarmonthname{##2}% + \DTMifbool{magyar}{showyear}% + {% + \DTMmagyarmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{magyar}{showdayofmonth} + {% + \DTMmagyarordinal{##3}\DTMmagyardaymonthsep + \DTMmagyarmonthname{##2}% + }% + {% + \DTMmagyarMonthname{##2}% + }% + \DTMifbool{magyar}{showyear}% + {% + \DTMmagyarmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMmagyarzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{magyar}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMmagyartimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMmagyardatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMmagyartimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMmagyardatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMmagyartimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {magyar-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{magyar}{showdayofmonth}% + {% + \number##3 % space intended + \DTMmagyardatesep + }% + {}% + \number##2 % space intended + \DTMifbool{magyar}{showyear}% + {% + \DTMmagyardatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMmagyartimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMmagyartimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMmagyarzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{magyar}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMmagyartimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMmagyardatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMmagyartimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMmagyarzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. There are currently no mappings defined. +% \begin{macrocode} +\newcommand*{\DTMmagyarzonemaps}{% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{magyar}} +{\DTMsetstyle{magyar-numeric}} +% \end{macrocode} +% +% Redefine \cs{datemagyar} (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.) +%\changes{1.1}{2018-07-24}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datemagyar + {% do nothing + }% + {% + \def\datemagyar{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{magyar}}% + {\DTMsetstyle{magyar-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{magyar}}% + {\DTMsetstyle{magyar-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-magyar.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.ins b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.ins new file mode 100644 index 0000000000..7d8ac56fa6 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-magyar.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-magyar.dtx and + datetime2-magyar.ins and the derived files + datetime2-magyar-utf8.ldf, datetime2-magyar-ascii.ldf and + datetime2-magyar.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-magyar-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-magyar.dtx}{datetime2-magyar-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-magyar-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-magyar.dtx}{datetime2-magyar-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-magyar.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-magyar.dtx}{datetime2-magyar.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.pdf Binary files differnew file mode 100644 index 0000000000..764f1a175f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-magyar/datetime2-magyar.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-norsk/README b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/README new file mode 100644 index 0000000000..e7abfe168d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/README @@ -0,0 +1,57 @@ +Norwegian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[norsk]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[norsk]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{norsk} +\usepackage[norsk]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-norsk.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-norsk/ + +Documentation: + +xelatex datetime2-norsk.dtx +makeindex -s gind.ist datetime2-norsk.idx +makeindex -s gglo.ist -o datetime2-norsk.gls datetime2-norsk.glo +xelatex datetime2-norsk.dtx +xelatex datetime2-norsk.dtx + +Move datetime2-norsk.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-norsk/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.dtx new file mode 100644 index 0000000000..9a6187e636 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.dtx @@ -0,0 +1,724 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Norwegian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{297} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-norsk.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Norwegian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-07-24 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintenance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Norwegian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-norsk}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Norwegian. +%In particular, I don't know if the "norsk" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-norsk.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-norsk-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{norsk-utf8}[2018/07/24 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMnorskordinal} +% \begin{macrocode} +\newcommand*{\DTMnorskordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskmonthname} +% Norwegian month names. +% \begin{macrocode} +\newcommand*{\DTMnorskmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + mars% + \or + april% + \or + mai% + \or + juni% + \or + juli% + \or + august% + \or + september% + \or + oktober% + \or + november% + \or + desember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMnorskMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Mars% + \or + April% + \or + Mai% + \or + Juni% + \or + Juli% + \or + August% + \or + September% + \or + Oktober% + \or + November% + \or + Desember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMnorskweekdayname} +% Day of week names. +% \begin{macrocode} +\newcommand*{\DTMnorskweekdayname}[1]{% + \ifcase#1 + mandag% + \or + tirsdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + lĆørdag% + \or + sĆøndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMnorskWeekdayname}[1]{% + \ifcase#1 + Mandag% + \or + Tirsdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + LĆørdag% + \or + SĆøndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-norsk-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-norsk-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-norsk-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{norsk-ascii}[2018/07/24 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMnorskordinal} +% \begin{macrocode} +\newcommand*{\DTMnorskordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskmonthname} +% Norwegian month names. +% \begin{macrocode} +\newcommand*{\DTMnorskmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + mars% + \or + april% + \or + mai% + \or + juni% + \or + juli% + \or + august% + \or + september% + \or + oktober% + \or + november% + \or + desember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMnorskMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Mars% + \or + April% + \or + Mai% + \or + Juni% + \or + Juli% + \or + August% + \or + September% + \or + Oktober% + \or + November% + \or + Desember% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskweekdayname} +% Day of week names. +% \begin{macrocode} +\newcommand*{\DTMnorskweekdayname}[1]{% + \ifcase#1 + mandag% + \or + tirsdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + l\o rdag% + \or + s\o ndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMnorskWeekdayname}[1]{% + \ifcase#1 + Mandag% + \or + Tirsdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + L\o rdag% + \or + S\o ndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-norsk-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Norwegian Module (\texttt{datetime2-norsk.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-norsk.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{norsk}[2018/07/24 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{norsk-utf8} if either of those engines are used +% otherwise load \texttt{norsk-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{norsk-utf8} +\else + \ifluatex + \RequireDateTimeModule{norsk-utf8} + \else + \RequireDateTimeModule{norsk-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{norsk} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "norsk" and +% "norsk-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}{\DTMnorskdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMnorskdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMnorskmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMnorskdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorsktimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMnorsktimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorskdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMnorskdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMnorsktimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMnorsktimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{norsk}{daymonthsep}{\renewcommand*{\DTMnorskdaymonthsep}{#1}} +\DTMdefkey{norsk}{monthyearsep}{\renewcommand*{\DTMnorskmonthyearsep}{#1}} +\DTMdefkey{norsk}{datetimesep}{\renewcommand*{\DTMnorskdatetimesep}{#1}} +\DTMdefkey{norsk}{timezonesep}{\renewcommand*{\DTMnorsktimezonesep}{#1}} +\DTMdefkey{norsk}{datesep}{\renewcommand*{\DTMnorskdatesep}{#1}} +\DTMdefkey{norsk}{timesep}{\renewcommand*{\DTMnorsktimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{norsk}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{norsk}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{norsk}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{norsk}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{norsk}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{norsk}{showyear}{true} +% \end{macrocode} +% +% Define the "norsk" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {norsk}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{norsk}{showdayofmonth} + {\DTMnorskordinal{##3}\DTMnorskdaymonthsep}% + {}% + \DTMnorskmonthname{##2}% + \DTMifbool{norsk}{showyear}% + {% + \DTMnorskmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{norsk}{showdayofmonth} + {% + \DTMnorskordinal{##3}\DTMnorskdaymonthsep + \DTMnorskmonthname{##2}% + }% + {% + \DTMnorskMonthname{##2}% + }% + \DTMifbool{norsk}{showyear}% + {% + \DTMnorskmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMnorskzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{norsk}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMnorsktimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMnorskdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMnorsktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMnorskdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMnorsktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {norsk-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{norsk}{showdayofmonth}% + {% + \number##3 % space intended + \DTMnorskdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{norsk}{showyear}% + {% + \DTMnorskdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMnorsktimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMnorsktimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMnorskzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{norsk}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMnorsktimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMnorskdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMnorsktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMnorskzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMnorskzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{norsk}} +{\DTMsetstyle{norsk-numeric}} +% \end{macrocode} +% +% Redefine \cs{datenorsk} (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.) +%\changes{1.1}{2018-07-24}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datenorsk + {% do nothing + }% + {% + \def\datenorsk{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{norsk}}% + {\DTMsetstyle{norsk-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{norsk}}% + {\DTMsetstyle{norsk-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-norsk.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.ins b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.ins new file mode 100644 index 0000000000..b71570873b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-norsk.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-norsk.dtx and + datetime2-norsk.ins and the derived files + datetime2-norsk-utf8.ldf, datetime2-norsk-ascii.ldf and + datetime2-norsk.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-norsk-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-norsk.dtx}{datetime2-norsk-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-norsk-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-norsk.dtx}{datetime2-norsk-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-norsk.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-norsk.dtx}{datetime2-norsk.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.pdf Binary files differnew file mode 100644 index 0000000000..4172b02b02 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-norsk/datetime2-norsk.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-polish/README b/macros/latex/contrib/datetime2-contrib/datetime2-polish/README new file mode 100644 index 0000000000..a8649209f2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-polish/README @@ -0,0 +1,57 @@ +Polish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[polish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[polish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{polish} +\usepackage[polish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-polish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-polish/ + +Documentation: + +xelatex datetime2-polish.dtx +makeindex -s gind.ist datetime2-polish.idx +makeindex -s gglo.ist -o datetime2-polish.gls datetime2-polish.glo +xelatex datetime2-polish.dtx +xelatex datetime2-polish.dtx + +Move datetime2-polish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-polish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.dtx new file mode 100644 index 0000000000..2b566ae428 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.dtx @@ -0,0 +1,724 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015-2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Polish Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{313} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-polish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Polish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-08-21 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintenance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Polish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-polish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Polish. +%In particular, I don't know if the "polish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-polish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-polish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{polish-utf8}[2018/08/21 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMpolishordinal} +% \begin{macrocode} +\newcommand*{\DTMpolishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishmonthname} +% Polish month names. +% \begin{macrocode} +\newcommand*{\DTMpolishmonthname}[1]{% + \ifcase#1 + \or + stycznia% + \or + lutego% + \or + marca% + \or + kwietnia% + \or + maja% + \or + czerwca% + \or + lipca% + \or + sierpnia% + \or + wrzeÅnia% + \or + paÅŗdziernika% + \or + listopada% + \or + grudnia% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMpolishMonthname}[1]{% + \ifcase#1 + \or + Stycznia% + \or + Lutego% + \or + Marca% + \or + Kwietnia% + \or + Maja% + \or + Czerwca% + \or + Lipca% + \or + Sierpnia% + \or + WrzeÅnia% + \or + PaÅŗdziernika% + \or + Listopada% + \or + Grudnia% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMpolishweekdayname} +% Day of week names. +% \begin{macrocode} +\newcommand*{\DTMpolishweekdayname}[1]{% + \ifcase#1 + poniedziaÅek% + \or + wtorek% + \or + Åroda% + \or + czwartek% + \or + piÄ
tek% + \or + sobota% + \or + niedziela% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMpolishWeekdayname}[1]{% + \ifcase#1 + PoniedziaÅek% + \or + Wtorek% + \or + Åroda% + \or + Czwartek% + \or + PiÄ
tek% + \or + Sobota% + \or + Niedziela% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-polish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-polish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-polish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{polish-ascii}[2018/08/21 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMpolishordinal} +% \begin{macrocode} +\newcommand*{\DTMpolishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishmonthname} +% Polish month names. +% \begin{macrocode} +\newcommand*{\DTMpolishmonthname}[1]{% + \ifcase#1 + \or + stycznia% + \or + lutego% + \or + marca% + \or + kwietnia% + \or + maja% + \or + czerwca% + \or + lipca% + \or + sierpnia% + \or + wrze\protect\'snia% + \or + pa\protect\'zdziernika% + \or + listopada% + \or + grudnia% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMpolishMonthname}[1]{% + \ifcase#1 + \or + Stycznia% + \or + Lutego% + \or + Marca% + \or + Kwietnia% + \or + Maja% + \or + Czerwca% + \or + Lipca% + \or + Sierpnia% + \or + Wrze\protect\'snia% + \or + Pa\protect\'zdziernika% + \or + Listopada% + \or + Grudnia% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishweekdayname} +% Day of week names. +% \begin{macrocode} +\newcommand*{\DTMpolishweekdayname}[1]{% + \ifcase#1 + poniedzia\protect\l ek% + \or + wtorek% + \or + \protect\'sroda% + \or + czwartek% + \or + pi\protect\k atek% + \or + sobota% + \or + niedziela% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMpolishWeekdayname}[1]{% + \ifcase#1 + Poniedzia\protect\l ek% + \or + Wtorek% + \or + \protect\'Sroda% + \or + Czwartek% + \or + Pi\protect\k atek% + \or + Sobota% + \or + Niedziela% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-polish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Polish Module (\texttt{datetime2-polish.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-polish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{polish}[2018/08/21 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{polish-utf8} if either of those engines are used +% otherwise load \texttt{polish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{polish-utf8} +\else + \ifluatex + \RequireDateTimeModule{polish-utf8} + \else + \RequireDateTimeModule{polish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{polish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "polish" and +% "polish-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}{\DTMpolishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMpolishdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMpolishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMpolishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMpolishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMpolishdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMpolishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMpolishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{polish}{daymonthsep}{\renewcommand*{\DTMpolishdaymonthsep}{#1}} +\DTMdefkey{polish}{monthyearsep}{\renewcommand*{\DTMpolishmonthyearsep}{#1}} +\DTMdefkey{polish}{datetimesep}{\renewcommand*{\DTMpolishdatetimesep}{#1}} +\DTMdefkey{polish}{timezonesep}{\renewcommand*{\DTMpolishtimezonesep}{#1}} +\DTMdefkey{polish}{datesep}{\renewcommand*{\DTMpolishdatesep}{#1}} +\DTMdefkey{polish}{timesep}{\renewcommand*{\DTMpolishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{polish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{polish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{polish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{polish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{polish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{polish}{showyear}{true} +% \end{macrocode} +% +% Define the "polish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {polish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{polish}{showdayofmonth} + {\DTMpolishordinal{##3}\DTMpolishdaymonthsep}% + {}% + \DTMpolishmonthname{##2}% + \DTMifbool{polish}{showyear}% + {% + \DTMpolishmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{polish}{showdayofmonth} + {% + \DTMpolishordinal{##3}\DTMpolishdaymonthsep + \DTMpolishmonthname{##2}% + }% + {% + \DTMpolishMonthname{##2}% + }% + \DTMifbool{polish}{showyear}% + {% + \DTMpolishmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMpolishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{polish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMpolishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMpolishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMpolishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMpolishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMpolishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {polish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{polish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMpolishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{polish}{showyear}% + {% + \DTMpolishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 % space intended + \DTMpolishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMpolishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMpolishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{polish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMpolishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMpolishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMpolishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMpolishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMpolishzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{polish}} +{\DTMsetstyle{polish-numeric}} +% \end{macrocode} +% +% Redefine \cs{datepolish} (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.) +%\changes{1.1}{2018-08-21}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datepolish + {% do nothing + }% + {% + \def\datepolish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{polish}}% + {\DTMsetstyle{polish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{polish}}% + {\DTMsetstyle{polish-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-polish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.ins new file mode 100644 index 0000000000..fab8a364b7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-polish.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-polish.dtx and + datetime2-polish.ins and the derived files + datetime2-polish-utf8.ldf, datetime2-polish-ascii.ldf and + datetime2-polish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-polish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-polish.dtx}{datetime2-polish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-polish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-polish.dtx}{datetime2-polish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-polish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-polish.dtx}{datetime2-polish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.pdf Binary files differnew file mode 100644 index 0000000000..e805d04b27 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-polish/datetime2-polish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-portuges/README b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/README new file mode 100644 index 0000000000..0685242aa5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/README @@ -0,0 +1,57 @@ +Portuguese Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[portuges]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[portuges]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{portuges} +\usepackage[portuges]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-portuges.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-portuges/ + +Documentation: + +pdflatex datetime2-portuges.dtx +makeindex -s gind.ist datetime2-portuges.idx +makeindex -s gglo.ist -o datetime2-portuges.gls datetime2-portuges.glo +pdflatex datetime2-portuges.dtx +pdflatex datetime2-portuges.dtx + +Move datetime2-portuges.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-portuges/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.dtx new file mode 100644 index 0000000000..be213ac70f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.dtx @@ -0,0 +1,652 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015-2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Portuguese Module}]{hyperref} + + +\CheckSum{267} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-portuges.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Portuguese Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-08-21 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintenance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Portuguese 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-portuges}'s \cs{today}. +% +%I don't know if these settings are correct. +%In particular, I don't know if the "portuges" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-portuges.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. New maintainers may +%want to add regional variants such as "pt-PT"\slash"pt-PT-numeric", +%"pt-BR"\slash"pt-BR-numeric" etc. This style currently doesn't check the +%\opt{showdow} setting. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-portuges-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-28}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{portuges-utf8}[2018/08/21 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMportugesordinal} +% \begin{macrocode} +\newcommand*{\DTMportugesordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesmonthname} +% Portuguese month names. +% \begin{macrocode} +\newcommand*{\DTMportugesmonthname}[1]{% + \ifcase#1 + \or + Janeiro% + \or + Fevereiro% + \or + MarƧo% + \or + Abril% + \or + Maio% + \or + Junho% + \or + Julho% + \or + Agosto% + \or + Setembro% + \or + Outubro% + \or + Novembro% + \or + Dezembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMportugesweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMportugesweekdayname}[1]{% + \ifcase#1 + domingo% + \or + segunda-feira% + \or + terƧa-feira% + \or + quarta-feira% + \or + quinta-feira% + \or + sexta-feira% + \or + sabado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesWeekdayname} +%As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMportugesWeekdayname}[1]{% + \ifcase#1 + Domingo% + \or + Segunda-feira% + \or + TerƧa-feira% + \or + Quarta-feira% + \or + Quinta-feira% + \or + Sexta-feira% + \or + Sabado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-portuges-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-portuges-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-portuges-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-28}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{portuges-ascii}[2018/08/21 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMportugesordinal} +% \begin{macrocode} +\newcommand*{\DTMportugesordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesmonthname} +% Portuguese month names. +% \begin{macrocode} +\newcommand*{\DTMportugesmonthname}[1]{% + \ifcase#1 + \or + Janeiro% + \or + Fevereiro% + \or + Mar\protect\c{c}o% + \or + Abril% + \or + Maio% + \or + Junho% + \or + Julho% + \or + Agosto% + \or + Setembro% + \or + Outubro% + \or + Novembro% + \or + Dezembro% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMportugesweekdayname}[1]{% + \ifcase#1 + domingo% + \or + segunda-feira% + \or + ter\protect\c{c}a-feira% + \or + quarta-feira% + \or + quinta-feira% + \or + sexta-feira% + \or + sabado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesWeekdayname} +%As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMportugesWeekdayname}[1]{% + \ifcase#1 + Domingo% + \or + Segunda-feira% + \or + Ter\protect\c{c}a-feira% + \or + Quarta-feira% + \or + Quinta-feira% + \or + Sexta-feira% + \or + Sabado% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-portuges-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Portuguese Module (\texttt{datetime2-portuges.ldf})} +%\changes{1.0}{2015-03-28}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-portuges.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{portuges}[2018/08/21 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{portuges-utf8} if either of those engines are used +% otherwise load \texttt{portuges-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{portuges-utf8} +\else + \ifluatex + \RequireDateTimeModule{portuges-utf8} + \else + \RequireDateTimeModule{portuges-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{portuges} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. +% +% Allow the user a way of configuring the "portuges" and +% "portuges-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}{\DTMportugesdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMportugesdaymonthsep}{\space de\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMportugesmonthyearsep}{\space de\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMportugesdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugestimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMportugestimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugesdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMportugesdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMportugestimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMportugestimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{portuges}{daymonthsep}{\renewcommand*{\DTMportugesdaymonthsep}{#1}} +\DTMdefkey{portuges}{monthyearsep}{\renewcommand*{\DTMportugesmonthyearsep}{#1}} +\DTMdefkey{portuges}{datetimesep}{\renewcommand*{\DTMportugesdatetimesep}{#1}} +\DTMdefkey{portuges}{timezonesep}{\renewcommand*{\DTMportugestimezonesep}{#1}} +\DTMdefkey{portuges}{datesep}{\renewcommand*{\DTMportugesdatesep}{#1}} +\DTMdefkey{portuges}{timesep}{\renewcommand*{\DTMportugestimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{portuges}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{portuges}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{portuges}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{portuges}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{portuges}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{portuges}{showyear}{true} +% \end{macrocode} +% +% Define the "portuges" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {portuges}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{portuges}{showdayofmonth} + {\DTMportugesordinal{##3}\DTMportugesdaymonthsep}% + {}% + \DTMportugesmonthname{##2}% + \DTMifbool{portuges}{showyear}% + {% + \DTMportugesmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{portuges}{showdayofmonth} + {% + \DTMportugesordinal{##3}\DTMportugesdaymonthsep + \DTMportugesmonthname{##2}% + }% + {\DTMportugesmonthname{##2}}% + \DTMifbool{portuges}{showyear}% + {% + \DTMportugesmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMportugeszonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{portuges}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMportugestimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMportugesdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMportugestimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMportugesdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMportugestimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {portuges-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{portuges}{showdayofmonth}% + {% + \number##3 % space intended + \DTMportugesdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{portuges}{showyear}% + {% + \DTMportugesdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 % space intended + \DTMportugestimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMportugestimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMportugeszonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{portuges}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMportugestimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMportugesdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMportugestimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMportugeszonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMportugeszonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{portuges}} +{\DTMsetstyle{portuges-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateportuges} (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.) +%\changes{1.1}{2018-08-21}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\dateportuges + {% do nothing + }% + {% + \def\dateportuges{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{portuges}}% + {\DTMsetstyle{portuges-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{portuges}}% + {\DTMsetstyle{portuges-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-portuges.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.ins b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.ins new file mode 100644 index 0000000000..51f163bbf5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-portuges.dtx + Copyright 2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-portuges.dtx and + datetime2-portuges.ins and the derived files + datetime2-portuges-utf8.ldf, datetime2-portuges-ascii.ldf and + datetime2-portuges.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-portuges-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-portuges.dtx}{datetime2-portuges-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-portuges-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-portuges.dtx}{datetime2-portuges-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-portuges.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-portuges.dtx}{datetime2-portuges.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.pdf Binary files differnew file mode 100644 index 0000000000..e4d10b8016 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-portuges/datetime2-portuges.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/README b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/README new file mode 100644 index 0000000000..770025f5f1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/README @@ -0,0 +1,55 @@ +Romanian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + Paul A. Patience <pap@papatience.com> + +Licence: LPPL + +Required Packages: datetime2, tracklang + +Example usage: + +\documentclass{article} +\usepackage[romanian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[romanian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{romanian} +\usepackage[romanian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-romanian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-romanian/ + +Documentation: + +xelatex datetime2-romanian.dtx +makeindex -s gind.ist datetime2-romanian.idx +makeindex -s gglo.ist -o datetime2-romanian.gls datetime2-romanian.glo +xelatex datetime2-romanian.dtx +xelatex datetime2-romanian.dtx + +Move datetime2-romanian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-romanian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.pdf Binary files differnew file mode 100644 index 0000000000..30d6a8a874 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.tex new file mode 100644 index 0000000000..44b814279e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-luatex.tex @@ -0,0 +1,9 @@ +% arara: lualatex +\documentclass{article} + +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{romanian} +\setotherlanguage{english} + +\input{datetime2-romanian-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.pdf Binary files differnew file mode 100644 index 0000000000..c064957ed4 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.tex new file mode 100644 index 0000000000..1022b3396f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-pdftex.tex @@ -0,0 +1,8 @@ +% arara: pdflatex +\documentclass[english,romanian]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english,main=romanian]{babel} + +\input{datetime2-romanian-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.pdf Binary files differnew file mode 100644 index 0000000000..57f7fb8867 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.tex b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.tex new file mode 100644 index 0000000000..aaa2945091 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test-xetex.tex @@ -0,0 +1,9 @@ +% arara: xelatex +\documentclass{article} + +\usepackage{fontspec} +\usepackage{polyglossia} +\setdefaultlanguage{romanian} +\setotherlanguage{english} + +\input{datetime2-romanian-test} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test.tex b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test.tex new file mode 100644 index 0000000000..a6ab118e86 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian-test.tex @@ -0,0 +1,30 @@ +\usepackage[en-GB,en-US]{datetime2} + +\newcommand*{\teststyle}[1]{% + \DTMsetstyle{#1} + \texttt{#1}:\par + \DTMnow\par + \DTMNow\par +} + +\newcommand*{\testall}[1]{% + \DTMlangsetup*{#1} + \texttt{#1}:\par + \teststyle{default} + \teststyle{iso} + \teststyle{english} + \teststyle{en-GB} + \teststyle{en-GB-numeric} + \teststyle{en-US} + \teststyle{en-US-numeric} + \teststyle{romanian} + \teststyle{romanian-numeric} +} + +\begin{document} + +\testall{showdayofmonth=true,abbr=false} +\testall{showdayofmonth=false} +\testall{abbr=true} + +\end{document} diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.dtx new file mode 100644 index 0000000000..a923e58338 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.dtx @@ -0,0 +1,1013 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% Copyright (C) 2017 Paul A. Patience <pap@papatience.com>, all rights reserved. +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot and Paul A. Patience}, + pdftitle={datetime2.sty Romanian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{478} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-romanian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Romanian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive) \\ +% Paul A. Patience\thanks{E-mail: pap@papatience.com}} +%\date{2017-04-08 (v1.01)} +%\maketitle +% +%\begin{abstract} +%This is the Romanian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-romanian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{romanian-utf8}[2017/04/08 v1.01] +% \end{macrocode} +%\begin{macro}{\DTMromanianordinal} +% \begin{macrocode} +\newcommand*{\DTMromanianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianmonthname} +% Romanian month names. +% \begin{macrocode} +\newcommand*{\DTMromanianmonthname}[1]{% + \ifcase#1 + \or + ianuarie% + \or + februarie% + \or + martie% + \or + aprilie% + \or + mai% + \or + iunie% + \or + iulie% + \or + august% + \or + septembrie% + \or + octombrie% + \or + noiembrie% + \or + decembrie% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianMonthname}[1]{% + \ifcase#1 + \or + Ianuarie% + \or + Februarie% + \or + Martie% + \or + Aprilie% + \or + Mai% + \or + Iunie% + \or + Iulie% + \or + August% + \or + Septembrie% + \or + Octombrie% + \or + Noiembrie% + \or + Decembrie% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortmonthname} +% Abbreviated Romanian month names. +%\changes{1.01}{2017-04-08}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMromanianshortmonthname}[1]{% + \ifcase#1 + \or + ian.% + \or + feb.% + \or + mart.% + \or + apr.% + \or + mai% + \or + iun.% + \or + iul.% + \or + aug.% + \or + sept.% + \or + oct.% + \or + nov.% + \or + dec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianshortMonthname}[1]{% + \ifcase#1 + \or + Ian.% + \or + Feb.% + \or + Mart.% + \or + Apr.% + \or + Mai% + \or + Iun.% + \or + Iul.% + \or + Aug.% + \or + Sept.% + \or + Oct.% + \or + Nov.% + \or + Dec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianweekdayname} +% Romanian day of week names. +%\changes{1.01}{2017-04-08}{Use T-comma} +% \begin{macrocode} +\newcommand*{\DTMromanianweekdayname}[1]{% + \ifcase#1 + luni% + \or + marČi% + \or + miercuri% + \or + joi% + \or + vineri% + \or + sĆ¢mbÄtÄ% + \or + duminicÄ% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianWeekdayname}[1]{% + \ifcase#1 + Luni% + \or + MarČi% + \or + Miercuri% + \or + Joi% + \or + Vineri% + \or + SĆ¢mbÄtÄ% + \or + DuminicÄ% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortweekdayname} +% Abbreviated Romanian day of week names. +%\changes{1.01}{2017-04-08}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMromanianshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mie.% + \or + joi% + \or + vin.% + \or + sĆ¢m.% + \or + dum.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianshortWeekdayname}[1]{% + \ifcase#1 + Lun.% + \or + Mar.% + \or + Mie.% + \or + Joi% + \or + Vin.% + \or + SĆ¢m.% + \or + Dum.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-romanian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-romanian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-romanian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{romanian-ascii}[2017/04/08 v1.01] +% \end{macrocode} +% +%\begin{macro}{\DTMromanianordinal} +% \begin{macrocode} +\newcommand*{\DTMromanianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianmonthname} +% Romanian month names. +% \begin{macrocode} +\newcommand*{\DTMromanianmonthname}[1]{% + \ifcase#1 + \or + ianuarie% + \or + februarie% + \or + martie% + \or + aprilie% + \or + mai% + \or + iunie% + \or + iulie% + \or + august% + \or + septembrie% + \or + octombrie% + \or + noiembrie% + \or + decembrie% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianMonthname}[1]{% + \ifcase#1 + \or + Ianuarie% + \or + Februarie% + \or + Martie% + \or + Aprilie% + \or + Mai% + \or + Iunie% + \or + Iulie% + \or + August% + \or + Septembrie% + \or + Octombrie% + \or + Noiembrie% + \or + Decembrie% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortmonthname} +% Abbreviated Romanian month names. +%\changes{1.01}{2017-04-08}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMromanianshortmonthname}[1]{% + \ifcase#1 + \or + ian.% + \or + feb.% + \or + mart.% + \or + apr.% + \or + mai% + \or + iun.% + \or + iul.% + \or + aug.% + \or + sept.% + \or + oct.% + \or + nov.% + \or + dec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianshortMonthname}[1]{% + \ifcase#1 + \or + Ian.% + \or + Feb.% + \or + Mart.% + \or + Apr.% + \or + Mai% + \or + Iun.% + \or + Iul.% + \or + Aug.% + \or + Sept.% + \or + Oct.% + \or + Nov.% + \or + Dec.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianweekdayname} +% Romanian day of week names. +% \begin{macrocode} +\newcommand*{\DTMromanianweekdayname}[1]{% + \ifcase#1 + luni% + \or + mar\protect\c ti% + \or + miercuri% + \or + joi% + \or + vineri% + \or + s\protect\^amb\protect\u at\protect\u a% + \or + duminic\protect\u a% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianWeekdayname}[1]{% + \ifcase#1 + Luni% + \or + Mar\protect\c ti% + \or + Miercuri% + \or + Joi% + \or + Vineri% + \or + S\protect\^amb\protect\u at\protect\u a% + \or + Duminic\protect\u a% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortweekdayname} +% Abbreviated Romanian day of week names. +%\changes{1.01}{2017-04-08}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMromanianshortweekdayname}[1]{% + \ifcase#1 + lun.% + \or + mar.% + \or + mie.% + \or + joi% + \or + vin.% + \or + s\protect\^am.% + \or + dum.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianshortWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMromanianshortWeekdayname}[1]{% + \ifcase#1 + Lun.% + \or + Mar.% + \or + Mie.% + \or + Joi% + \or + Vin.% + \or + S\protect\^am.% + \or + Dum.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-romanian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Romanian Module (\texttt{datetime2-romanian.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-romanian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{romanian}[2017/04/08 v1.01] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{romanian-utf8} if either of those engines are used +% otherwise load \texttt{romanian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{romanian-utf8} +\else + \ifluatex + \RequireDateTimeModule{romanian-utf8} + \else + \RequireDateTimeModule{romanian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{romanian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "romanian" and +% "romanian-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}{\DTMromaniandowdaysep} +% The separator between the day of week name and the day of month +% number for the text format. +%\changes{1.01}{2017-04-08}{Add support for showdow} +% \begin{macrocode} +\newcommand*{\DTMromaniandowdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromaniandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMromaniandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromanianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMromanianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromaniandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMromaniandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromaniantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMromaniantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromaniandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMromaniandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMromaniantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMromaniantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{romanian}{dowdaysep}{\renewcommand*{\DTMromaniandowdaysep}{#1}} +\DTMdefkey{romanian}{daymonthsep}{\renewcommand*{\DTMromaniandaymonthsep}{#1}} +\DTMdefkey{romanian}{monthyearsep}{\renewcommand*{\DTMromanianmonthyearsep}{#1}} +\DTMdefkey{romanian}{datetimesep}{\renewcommand*{\DTMromaniandatetimesep}{#1}} +\DTMdefkey{romanian}{timezonesep}{\renewcommand*{\DTMromaniantimezonesep}{#1}} +\DTMdefkey{romanian}{datesep}{\renewcommand*{\DTMromaniandatesep}{#1}} +\DTMdefkey{romanian}{timesep}{\renewcommand*{\DTMromaniantimesep}{#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. +%\changes{1.01}{2017-04-08}{Add support for abbr} +% \begin{macrocode} +\DTMdefboolkey{romanian}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{romanian}{abbr}{false} +% \end{macrocode} +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{romanian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{romanian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{romanian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{romanian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{romanian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{romanian}{showyear}{true} +% \end{macrocode} +% +% Define the "romanian" style. +%\changes{1.01}{2017-04-08}{Add support for abbr and showdow} +% \begin{macrocode} +\DTMnewstyle + {romanian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortweekdayname{##4}}% + {\DTMromanianweekdayname{##4}}% + \DTMromaniandowdaysep + \fi + \fi + \DTMifbool{romanian}{showdayofmonth}% + {% + \DTMromanianordinal{##3}% + \DTMromaniandaymonthsep + }% + {}% + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortmonthname{##2}}% + {\DTMromanianmonthname{##2}}% + \DTMifbool{romanian}{showyear}% + {% + \DTMromanianmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortWeekdayname{##4}}% + {\DTMromanianWeekdayname{##4}}% + \DTMromaniandowdaysep + \DTMifbool{romanian}{showdayofmonth}% + {% + \DTMromanianordinal{##3}% + \DTMromaniandaymonthsep + }% + {}% + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortmonthname{##2}}% + {\DTMromanianmonthname{##2}}% + \DTMifbool{romanian}{showyear}% + {% + \DTMromanianmonthyearsep + \number##1 % space intended + }% + {}% + \else + \DTMifbool{romanian}{showdayofmonth} + {% + \DTMromanianordinal{##3}% + \DTMromaniandaymonthsep + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortmonthname{##2}}% + {\DTMromanianmonthname{##2}}% + }% + {% + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortMonthname{##2}}% + {\DTMromanianMonthname{##2}}% + }% + \DTMifbool{romanian}{showyear}% + {% + \DTMromanianmonthyearsep + \number##1 % space intended + }% + {}% + \fi + \else + \DTMifbool{romanian}{showdayofmonth} + {% + \DTMromanianordinal{##3}% + \DTMromaniandaymonthsep + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortmonthname{##2}}% + {\DTMromanianmonthname{##2}}% + }% + {% + \DTMifbool{romanian}{abbr}% + {\DTMromanianshortMonthname{##2}}% + {\DTMromanianMonthname{##2}}% + }% + \DTMifbool{romanian}{showyear}% + {% + \DTMromanianmonthyearsep + \number##1 % space intended + }% + {}% + \fi + }% + }% + {% time style (ignores seconds) + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMromaniantimesep\DTMtwodigits{##2}% + }% + }% + {% zone style + \DTMresetzones + \DTMromanianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{romanian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMromaniantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMromaniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMromaniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMromaniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMromaniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {romanian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{romanian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMromaniandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{romanian}{showyear}% + {% + \DTMromaniandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMromaniantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMromaniantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMromanianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{romanian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMromaniantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMromaniandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMromaniantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMromanianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMromanianzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{romanian}} +{\DTMsetstyle{romanian-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateromanian} (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\dateromanian + {% do nothing + }% + {% + \def\dateromanian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{romanian}}% + {\DTMsetstyle{romanian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{romanian}}% + {\DTMsetstyle{romanian-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-romanian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.ins new file mode 100644 index 0000000000..38bf1d54a7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.ins @@ -0,0 +1,64 @@ +\input docstrip + +\preamble + + datetime2-romanian.dtx + Copyright 2015 Nicola Talbot + Copyright 2017 Paul A. Patience <pap@papatience.com> + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + of this license or (at your option) any later version. + The latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `maintained'. + + The Current Maintainer of this work is Paul A. Patience. + + This work consists of the files datetime2-romanian.dtx and + datetime2-romanian.ins and the derived files + datetime2-romanian-utf8.ldf, datetime2-romanian-ascii.ldf and + datetime2-romanian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-romanian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-romanian.dtx}{datetime2-romanian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-romanian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-romanian.dtx}{datetime2-romanian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-romanian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-romanian.dtx}{datetime2-romanian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.pdf Binary files differnew file mode 100644 index 0000000000..f332484c1d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-romanian/datetime2-romanian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-russian/README b/macros/latex/contrib/datetime2-contrib/datetime2-russian/README new file mode 100644 index 0000000000..b8c0aa6dd1 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-russian/README @@ -0,0 +1,57 @@ +Russian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[russian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[russian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{russian} +\usepackage[russian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-russian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-russian/ + +Documentation: + +xelatex datetime2-russian.dtx +makeindex -s gind.ist datetime2-russian.idx +makeindex -s gglo.ist -o datetime2-russian.gls datetime2-russian.glo +xelatex datetime2-russian.dtx +xelatex datetime2-russian.dtx + +Move datetime2-russian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-russian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.dtx new file mode 100644 index 0000000000..207b99b4a7 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.dtx @@ -0,0 +1,641 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015-2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Russian Module}]{hyperref} + +\newfontfamily\cyrillicfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{401} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-russian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Russian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-12-07 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Russian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-russian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Russian. +%In particular, I don't know if the "russian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-russian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-russian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{russian-utf8}[2018/12/07 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMrussianordinal} +% \begin{macrocode} +\newcommand*{\DTMrussianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianyear} +% \begin{macrocode} +\newcommand*{\DTMrussianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}Š³.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMrussianmonthname} +% Russian month names. +% \begin{macrocode} +\newcommand*{\DTMrussianmonthname}[1]{% + \ifcase#1 + \or + ŃŠ½Š²Š°ŃŃ% + \or + ŃŠµŠ²ŃŠ°Š»Ń% + \or + Š¼Š°ŃŃŠ°% + \or + Š°ŠæŃŠµŠ»Ń% + \or + Š¼Š°Ń% + \or + ŠøŃŠ½Ń% + \or + ŠøŃŠ»Ń% + \or + Š°Š²Š³ŃŃŃŠ°% + \or + ŃŠµŠ½ŃŃŠ±ŃŃ% + \or + Š¾ŠŗŃŃŠ±ŃŃ% + \or + Š½Š¾ŃŠ±ŃŃ% + \or + Š“ŠµŠŗŠ°Š±ŃŃ% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMrussianMonthname}[1]{% + \ifcase#1 + \or + ŠÆŠ½Š²Š°ŃŃ% + \or + Š¤ŠµŠ²ŃŠ°Š»Ń% + \or + ŠŠ°ŃŃŠ°% + \or + ŠŠæŃŠµŠ»Ń% + \or + ŠŠ°Ń% + \or + ŠŃŠ½Ń% + \or + ŠŃŠ»Ń% + \or + ŠŠ²Š³ŃŃŃŠ°% + \or + Š”ŠµŠ½ŃŃŠ±ŃŃ% + \or + ŠŠŗŃŃŠ±ŃŃ% + \or + ŠŠ¾ŃŠ±ŃŃ% + \or + ŠŠµŠŗŠ°Š±ŃŃ% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-russian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-russian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-russian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{russian-ascii}[2018/12/07 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMrussianordinal} +% \begin{macrocode} +\newcommand*{\DTMrussianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianyear} +% \begin{macrocode} +\newcommand*{\DTMrussianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}\protect\cyrg.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianmonthname} +% Russian month names. +% \begin{macrocode} +\newcommand*{\DTMrussianmonthname}[1]{% + \ifcase#1 + \or + \protect\cyrya\protect\cyrn\protect\cyrv\protect\cyra\protect\cyrr + \protect\cyrya + \or + \protect\cyrf\protect\cyre\protect\cyrv\protect\cyrr\protect\cyra + \protect\cyrl\protect\cyrya + \or + \protect\cyrm\protect\cyra\protect\cyrr\protect\cyrt\protect\cyra + \or + \protect\cyra\protect\cyrp\protect\cyrr\protect\cyre\protect\cyrl + \protect\cyrya + \or + \protect\cyrm\protect\cyra\protect\cyrya + \or + \protect\cyri\protect\cyryu\protect\cyrn\protect\cyrya + \or + \protect\cyri\protect\cyryu\protect\cyrl\protect\cyrya + \or + \protect\cyra\protect\cyrv\protect\cyrg\protect\cyru\protect\cyrs + \protect\cyrt\protect\cyra + \or + \protect\cyrs\protect\cyre\protect\cyrn\protect\cyrt\protect\cyrya + \protect\cyrb\protect\cyrr\protect\cyrya + \or + \protect\cyro\protect\cyrk\protect\cyrt\protect\cyrya\protect\cyrb + \protect\cyrr\protect\cyrya + \or + \protect\cyrn\protect\cyro\protect\cyrya\protect\cyrb\protect\cyrr + \protect\cyrya + \or + \protect\cyrd\protect\cyre\protect\cyrk\protect\cyra\protect\cyrb + \protect\cyrr\protect\cyrya + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMrussianMonthname}[1]{% +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-russian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Russian Module (\texttt{datetime2-russian.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-russian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{russian}[2018/12/07 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{russian-utf8} if either of those engines are used +% otherwise load \texttt{russian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{russian-utf8} +\else + \ifluatex + \RequireDateTimeModule{russian-utf8} + \else + \RequireDateTimeModule{russian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{russian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "russian" and +% "russian-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}{\DTMrussiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMrussiandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMrussianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMrussiandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMrussiantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMrussiandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMrussiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMrussiantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{russian}{daymonthsep}{\renewcommand*{\DTMrussiandaymonthsep}{#1}} +\DTMdefkey{russian}{monthyearsep}{\renewcommand*{\DTMrussianmonthyearsep}{#1}} +\DTMdefkey{russian}{datetimesep}{\renewcommand*{\DTMrussiandatetimesep}{#1}} +\DTMdefkey{russian}{timezonesep}{\renewcommand*{\DTMrussiantimezonesep}{#1}} +\DTMdefkey{russian}{datesep}{\renewcommand*{\DTMrussiandatesep}{#1}} +\DTMdefkey{russian}{timesep}{\renewcommand*{\DTMrussiantimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{russian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{russian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{russian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{russian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{russian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{russian}{showyear}{true} +% \end{macrocode} +% +% Define the "russian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {russian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{russian}{showdayofmonth} + {\DTMrussianordinal{##3}\DTMrussiandaymonthsep}% + {}% + \DTMrussianmonthname{##2}% + \DTMifbool{russian}{showyear}% + {% + \DTMrussianmonthyearsep + \DTMrussianyear{##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{russian}{showdayofmonth} + {% + \DTMrussianordinal{##3}\DTMrussiandaymonthsep + \DTMrussianmonthname{##2}% + }% + {% + \DTMrussianMonthname{##2}% + }% + \DTMifbool{russian}{showyear}% + {% + \DTMrussianmonthyearsep + \DTMrussianyear{##1}% + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMrussianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{russian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMrussiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMrussiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMrussiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMrussiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMrussiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {russian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{russian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMrussiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{russian}{showyear}% + {% + \DTMrussiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMrussiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMrussiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMrussianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{russian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMrussiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMrussiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMrussiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMrussianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. These may need translating (in which case the definitions +% might need to be moved to the \texttt{utf8} and \texttt{ascii} ldf +% files). Daylight saving is not taken into account. +% \begin{macrocode} +\newcommand*{\DTMrussianzonemaps}{% + \DTMdefzonemap{03}{00}{MKT}% + \DTMdefzonemap{04}{00}{SAMT}% + \DTMdefzonemap{05}{00}{YEKT}% + \DTMdefzonemap{06}{00}{OMST}% + \DTMdefzonemap{07}{00}{KRAT}% + \DTMdefzonemap{08}{00}{IRKST}% + \DTMdefzonemap{09}{00}{YAKST}% + \DTMdefzonemap{10}{00}{VLAT}% + \DTMdefzonemap{11}{00}{SRET}% + \DTMdefzonemap{12}{00}{PETT}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{russian}} +{\DTMsetstyle{russian-numeric}} +% \end{macrocode} +% +% Redefine \cs{daterussian} (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.) +%\changes{1.1}{2018-12-07}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\daterussian + {% do nothing + }% + {% + \def\daterussian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{russian}}% + {\DTMsetstyle{russian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{russian}}% + {\DTMsetstyle{russian-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-russian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.ins new file mode 100644 index 0000000000..25e333ce3b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-russian.dtx + Copyright 2015-2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-russian.dtx and + datetime2-russian.ins and the derived files + datetime2-russian-utf8.ldf, datetime2-russian-ascii.ldf and + datetime2-russian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-russian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-russian.dtx}{datetime2-russian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-russian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-russian.dtx}{datetime2-russian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-russian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-russian.dtx}{datetime2-russian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.pdf Binary files differnew file mode 100644 index 0000000000..02970674a5 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-russian/datetime2-russian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-samin/README b/macros/latex/contrib/datetime2-contrib/datetime2-samin/README new file mode 100644 index 0000000000..2682996e83 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-samin/README @@ -0,0 +1,57 @@ +Northern Sami Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[samin]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[samin]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{samin} +\usepackage[samin]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-samin.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-samin/ + +Documentation: + +xelatex datetime2-samin.dtx +makeindex -s gind.ist datetime2-samin.idx +makeindex -s gglo.ist -o datetime2-samin.gls datetime2-samin.glo +xelatex datetime2-samin.dtx +xelatex datetime2-samin.dtx + +Move datetime2-samin.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-samin/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.dtx new file mode 100644 index 0000000000..8a1909764e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.dtx @@ -0,0 +1,638 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015-2018 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Northern Sami Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{332} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-samin.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Northern Sami Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2018-12-07 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Northern Sami 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-samin}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Northern Sami. +%In particular, I don't know if the "samin" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-samin.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-samin-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{samin-utf8}[2018/12/07 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMsaminordinal} +% \begin{macrocode} +\newcommand*{\DTMsaminordinal}[1]{% + \number#1.\DTMtexorpdfstring{\protect~}{\space}b.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsaminmonthname} +% Northern Sami month names. +% \begin{macrocode} +\newcommand*{\DTMsaminmonthname}[1]{% + \ifcase#1 + \or + oÄÄajagemĆ”nu% + \or + guovvamĆ”nu% + \or + njukÄamĆ”nu% + \or + cuoÅomĆ”nu% + \or + miessemĆ”nu% + \or + geassemĆ”nu% + \or + suoidnemĆ”nu% + \or + borgemĆ”nu% + \or + ÄakÄamĆ”nu% + \or + golggotmĆ”nu% + \or + skĆ”bmamĆ”nu% + \or + juovlamĆ”nu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsaminMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMsaminMonthname}[1]{% + \ifcase#1 + \or + OÄÄajagemĆ”nu% + \or + GuovvamĆ”nu% + \or + NjukÄamĆ”nu% + \or + CuoÅomĆ”nu% + \or + MiessemĆ”nu% + \or + GeassemĆ”nu% + \or + SuoidnemĆ”nu% + \or + BorgemĆ”nu% + \or + ÄakÄamĆ”nu% + \or + GolggotmĆ”nu% + \or + SkĆ”bmamĆ”nu% + \or + JuovlamĆ”nu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-samin-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-samin-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-samin-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{samin-ascii}[2018/12/07 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMsaminordinal} +% \begin{macrocode} +\newcommand*{\DTMsaminordinal}[1]{% + \number#1.\DTMtexorpdfstring{\protect~}{\space}b.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsaminmonthname} +% Northern Sami month names. +% \begin{macrocode} +\newcommand*{\DTMsaminmonthname}[1]{% + \ifcase#1 + \or + o\protect\dj\protect\dj ajagem\protect\'anu% + \or + guovvam\protect\'anu% + \or + njuk\protect\v cam\protect\'anu% + \or + cuo\protect\ng om\protect\'anu% + \or + miessem\protect\'anu% + \or + geassem\protect\'anu% + \or + suoidnem\protect\'anu% + \or + borgem\protect\'anu% + \or + \protect\v cak\protect\v cam\protect\'anu% + \or + golggotm\protect\'anu% + \or + sk\protect\'abmam\protect\'anu% + \or + juovlam\protect\'anu% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsaminMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMsaminMonthname}[1]{% + \ifcase#1 + \or + O\protect\dj\protect\dj ajagem\protect\'anu% + \or + Guovvam\protect\'anu% + \or + Njuk\protect\v cam\protect\'anu% + \or + Cuo\protect\ng om\protect\'anu% + \or + Miessem\protect\'anu% + \or + Geassem\protect\'anu% + \or + Suoidnem\protect\'anu% + \or + Borgem\protect\'anu% + \or + \protect\v Cak\protect\v cam\protect\'anu% + \or + Golggotm\protect\'anu% + \or + Sk\protect\'abmam\protect\'anu% + \or + Juovlam\protect\'anu% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-samin-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Northern Sami Module (\texttt{datetime2-samin.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-samin.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{samin}[2018/12/07 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{samin-utf8} if either of those engines are used +% otherwise load \texttt{samin-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{samin-utf8} +\else + \ifluatex + \RequireDateTimeModule{samin-utf8} + \else + \RequireDateTimeModule{samin-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{samin} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "samin" and +% "samin-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}{\DTMsaminmonthdaysep} +% The separator between the month and day for the text format. +% \begin{macrocode} +\newcommand*{\DTMsaminmonthdaysep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsamindayyearsep} +% The separator between the day and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMsamindayyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsamindatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMsamindatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsamintimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMsamintimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsamindatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMsamindatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsamintimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMsamintimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{samin}{monthdaysep}{\renewcommand*{\DTMsaminmonthdaysep}{#1}} +\DTMdefkey{samin}{dayyearsep}{\renewcommand*{\DTMsamindayyearsep}{#1}} +\DTMdefkey{samin}{datetimesep}{\renewcommand*{\DTMsamindatetimesep}{#1}} +\DTMdefkey{samin}{timezonesep}{\renewcommand*{\DTMsamintimezonesep}{#1}} +\DTMdefkey{samin}{datesep}{\renewcommand*{\DTMsamindatesep}{#1}} +\DTMdefkey{samin}{timesep}{\renewcommand*{\DTMsamintimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{samin}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{samin}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{samin}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{samin}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{samin}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{samin}{showyear}{true} +% \end{macrocode} +% +% Define the "samin" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {samin}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMsaminmonthname{##2}% + \DTMifbool{samin}{showdayofmonth} + {% + \DTMsaminmonthdaysep + \DTMsaminordinal{##3}% + }% + {}% + \DTMifbool{samin}{showyear}% + {% + \DTMsamindayyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMsaminMonthname{##2}% + \DTMifbool{samin}{showdayofmonth} + {% + \DTMsaminmonthdaysep + \DTMsaminordinal{##3}% + }% + {}% + \DTMifbool{samin}{showyear}% + {% + \DTMsamindayyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMsaminzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{samin}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% +% \end{macrocode} +%\changes{1.1}{2018-12-07}{added space before \cs{else}} +% \begin{macrocode} + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMsamintimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMsamindatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMsamintimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMsamindatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMsamintimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {samin-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{samin}{showdayofmonth}% + {% + \number##3 % space intended + \DTMsamindatesep + }% + {}% + \number##2 % space intended + \DTMifbool{samin}{showyear}% + {% + \DTMsamindatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMsamintimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMsamintimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMsaminzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{samin}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% +% \end{macrocode} +%\changes{1.1}{2018-12-07}{added space before \cs{else}} +% \begin{macrocode} + \ifnum##1<0 \else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMsamintimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMsamindatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMsamintimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMsaminzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. Daylight saving isn't taken into account. +% \begin{macrocode} +\newcommand*{\DTMsaminzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{EET}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{samin}} +{\DTMsetstyle{samin-numeric}} +% \end{macrocode} +% +% Redefine \cs{datesamin} (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.) +%\changes{1.1}{2018-12-07}{removed spurious space} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datesamin + {% do nothing + }% + {% + \def\datesamin{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{samin}}% + {\DTMsetstyle{samin-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{samin}}% + {\DTMsetstyle{samin-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-samin.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.ins b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.ins new file mode 100644 index 0000000000..d7f8176ee3 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-samin.dtx + Copyright 2015-2018 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-samin.dtx and + datetime2-samin.ins and the derived files + datetime2-samin-utf8.ldf, datetime2-samin-ascii.ldf and + datetime2-samin.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-samin-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-samin.dtx}{datetime2-samin-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-samin-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-samin.dtx}{datetime2-samin-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-samin.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-samin.dtx}{datetime2-samin.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.pdf Binary files differnew file mode 100644 index 0000000000..9f2a34ceab --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-samin/datetime2-samin.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-scottish/README b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/README new file mode 100644 index 0000000000..9ee2c16681 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/README @@ -0,0 +1,57 @@ +Scottish Gaelic Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[scottish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[scottish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{scottish} +\usepackage[scottish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-scottish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-scottish/ + +Documentation: + +pdflatex datetime2-scottish.dtx +makeindex -s gind.ist datetime2-scottish.idx +makeindex -s gglo.ist -o datetime2-scottish.gls datetime2-scottish.glo +pdflatex datetime2-scottish.dtx +pdflatex datetime2-scottish.dtx + +Move datetime2-scottish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-scottish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.dtx new file mode 100644 index 0000000000..6846b4937d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.dtx @@ -0,0 +1,634 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Scottish Module}]{hyperref} + + +\CheckSum{271} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-scottish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Scottish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-03-25 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Scottish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-scottish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Gaelic. +%In particular, I don't know if the "scottish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-scottish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. New maintainers may +%want to add regional variants "gd-GB"\slash"gd-GB-numeric" and +%"gd-CA"\slash"gd-CA-numeric" once "gd-GB" and "gd-CA" have been added +%to \sty{tracklang} (pending for \sty{tracklang} v1.3). +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-scottish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-25}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{scottish-utf8}[2015/03/25 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMscottishordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMscottishordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishmonthname} +% Scottish month names. +% \begin{macrocode} +\newcommand*{\DTMscottishmonthname}[1]{% + \ifcase#1 + \or + am Faoilteach% + \or + an Gearran% + \or + am MĆ rt% + \or + an Giblean% + \or + an CĆØitean% + \or + an t-Ćg mhios% + \or + an t-Iuchar% + \or + LĆ¹nasdal% + \or + an Sultuine% + \or + an DĆ mhar% + \or + an t-Samhainn% + \or + an Dubhlachd% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishMonthname} +% Scottish month names (when occuring at the start of sentence). Is +% this correct? +% \begin{macrocode} +\newcommand*{\DTMscottishMonthname}[1]{% + \ifcase#1 + \or + Am Faoilteach% + \or + An Gearran% + \or + Am MĆ rt% + \or + An Giblean% + \or + An CĆØitean% + \or + An t-Ćg mhios% + \or + An t-Iuchar% + \or + LĆ¹nasdal% + \or + An Sultuine% + \or + An DĆ mhar% + \or + An t-Samhainn% + \or + An Dubhlachd% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-scottish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-scottish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-scottish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-25}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{scottish-ascii}[2015/03/25 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMscottishordinal} +% I don't know if this is correct, but it's provided in case +% a suffix is required. +% \begin{macrocode} +\newcommand*{\DTMscottishordinal}[1]{% + \number#1 % space intended +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishmonthname} +% Scottish month names. +% \begin{macrocode} +\newcommand*{\DTMscottishmonthname}[1]{% + \ifcase#1 + \or + am Faoilteach% + \or + an Gearran% + \or + am M\protect\`art% + \or + an Giblean% + \or + an C\protect\`eitean% + \or + an t-\protect\`Og mhios% + \or + an t-Iuchar% + \or + L\protect\`unasdal% + \or + an Sultuine% + \or + an D\protect\`amhar% + \or + an t-Samhainn% + \or + an Dubhlachd% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishMonthname} +% Scottish month names (when occurring at the start of sentence). Is +% this correct? +% \begin{macrocode} +\newcommand*{\DTMscottishMonthname}[1]{% + \ifcase#1 + \or + Am Faoilteach% + \or + An Gearran% + \or + Am M\protect\`art% + \or + An Giblean% + \or + An C\protect\`eitean% + \or + An t-\protect\`Og mhios% + \or + An t-Iuchar% + \or + L\protect\`unasdal% + \or + An Sultuine% + \or + An D\protect\`amhar% + \or + An t-Samhainn% + \or + An Dubhlachd% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-scottish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Scottish Module (\texttt{datetime2-scottish.ldf})} +%\changes{1.0}{2015-03-25}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-scottish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{scottish}[2015/03/25 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{scottish-utf8} if either of those engines are used +% otherwise load \texttt{scottish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{scottish-utf8} +\else + \ifluatex + \RequireDateTimeModule{scottish-utf8} + \else + \RequireDateTimeModule{scottish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{scottish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "scottish" and +% "scottish-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}{\DTMscottishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMscottishdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMscottishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMscottishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMscottishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMscottishdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMscottishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMscottishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{scottish}{daymonthsep}{\renewcommand*{\DTMscottishdaymonthsep}{#1}} +\DTMdefkey{scottish}{monthyearsep}{\renewcommand*{\DTMscottishmonthyearsep}{#1}} +\DTMdefkey{scottish}{datetimesep}{\renewcommand*{\DTMscottishdatetimesep}{#1}} +\DTMdefkey{scottish}{timezonesep}{\renewcommand*{\DTMscottishtimezonesep}{#1}} +\DTMdefkey{scottish}{datesep}{\renewcommand*{\DTMscottishdatesep}{#1}} +\DTMdefkey{scottish}{timesep}{\renewcommand*{\DTMscottishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{scottish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{scottish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{scottish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{scottish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{scottish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{scottish}{showyear}{true} +% \end{macrocode} +% +% Define the "scottish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {scottish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{scottish}{showdayofmonth} + {\DTMscottishordinal{##3}\DTMscottishdaymonthsep}% + {}% + \DTMscottishmonthname{##2}% + \DTMifbool{scottish}{showyear}% + {% + \DTMscottishmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{scottish}{showdayofmonth} + {% + \DTMscottishordinal{##3}\DTMscottishdaymonthsep + \DTMscottishMonthname{##2}% + }% + {\DTMscottishMonthname{##2}}% + \DTMifbool{scottish}{showyear}% + {% + \DTMscottishmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMscottishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{scottish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMscottishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMscottishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMscottishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMscottishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMscottishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {scottish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{scottish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMscottishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{scottish}{showyear}% + {% + \DTMscottishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMscottishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMscottishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMscottishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{scottish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMscottishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMscottishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMscottishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMscottishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMscottishzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{scottish}} +{\DTMsetstyle{scottish-numeric}} +% \end{macrocode} +% +% Redefine \cs{datescottish} (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\datescottish + {% do nothing + }% + {% + \def\datescottish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{scottish}}% + {\DTMsetstyle{scottish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{scottish}}% + {\DTMsetstyle{scottish-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-scottish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.ins new file mode 100644 index 0000000000..4247cb57f8 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-scottish.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-scottish.dtx and + datetime2-scottish.ins and the derived files + datetime2-scottish-utf8.ldf, datetime2-scottish-ascii.ldf and + datetime2-scottish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-scottish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-scottish.dtx}{datetime2-scottish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-scottish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-scottish.dtx}{datetime2-scottish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-scottish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-scottish.dtx}{datetime2-scottish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.pdf Binary files differnew file mode 100644 index 0000000000..3821191279 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-scottish/datetime2-scottish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-serbian/README b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/README new file mode 100644 index 0000000000..7f39f59f56 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/README @@ -0,0 +1,57 @@ +Serbian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[serbian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[serbian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{serbian} +\usepackage[serbian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-serbian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-serbian/ + +Documentation: + +xelatex datetime2-serbian.dtx +makeindex -s gind.ist datetime2-serbian.idx +makeindex -s gglo.ist -o datetime2-serbian.gls datetime2-serbian.glo +xelatex datetime2-serbian.dtx +xelatex datetime2-serbian.dtx + +Move datetime2-serbian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-serbian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.dtx new file mode 100644 index 0000000000..2252459aa8 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.dtx @@ -0,0 +1,806 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Serbian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} +\newfontfamily\cyrillicfont{Liberation Serif} + +\CheckSum{615} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-serbian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Serbian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-03-31 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Serbian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-serbian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Serbian. +%In particular, I don't know if the "serbian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-serbian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-serbian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{serbian-utf8}[2015/03/31 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMserbianordinal} +% \begin{macrocode} +\newcommand*{\DTMserbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiancyrmonthname} +% Serbian month names. (Cyrillic alphabet.) +% \begin{macrocode} +\newcommand*{\DTMserbiancyrmonthname}[1]{% + \ifcase#1 + \or + ŃŠ°Š½ŃŠ°Ń% + \or + ŃŠµŠ±ŃŃŠ°Ń% + \or + Š¼Š°ŃŃ% + \or + Š°ŠæŃŠøŠ»% + \or + Š¼Š°Ń% + \or + ŃŃŠ½% + \or + ŃŃŠ»% + \or + Š°Š²Š³ŃŃŃ% + \or + ŃŠµŠæŃŠµŠ¼Š±Š°Ń% + \or + Š¾ŠŗŃŠ¾Š±Š°Ń% + \or + Š½Š¾Š²ŠµŠ¼Š±Š°Ń% + \or + Š“ŠµŃŠµŠ¼Š±Š°Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiancyrMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMserbiancyrMonthname}[1]{% + \ifcase#1 + \or + ŠŠ°Š½ŃŠ°Ń% + \or + Š¤ŠµŠ±ŃŃŠ°Ń% + \or + ŠŠ°ŃŃ% + \or + ŠŠæŃŠøŠ»% + \or + ŠŠ°Ń% + \or + ŠŃŠ½% + \or + ŠŃŠ»% + \or + ŠŠ²Š³ŃŃŃ% + \or + Š”ŠµŠæŃŠµŠ¼Š±Š°Ń% + \or + ŠŠŗŃŠ¾Š±Š°Ń% + \or + ŠŠ¾Š²ŠµŠ¼Š±Š°Ń% + \or + ŠŠµŃŠµŠ¼Š±Š°Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbianlatinmonthname} +% Serbian month names. (Latin alphabet.) +% \begin{macrocode} +\newcommand*{\DTMserbianlatinmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + mart% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + avgust% + \or + septembar% + \or + oktobar% + \or + novembar% + \or + decembar% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbianlatinMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMserbianlatinMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Mart% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + Avgust% + \or + Septembar% + \or + Oktobar% + \or + Novembar% + \or + Decembar% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-serbian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-serbian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-serbian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-31}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{serbian-ascii}[2015/03/31 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMserbianordinal} +% \begin{macrocode} +\newcommand*{\DTMserbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiancyrmonthname} +% Serbian month names. (Cyrillic alphabet.) I'm not sure if these +% are correct. +% \begin{macrocode} +\newcommand*{\DTMserbiancyrmonthname}[1]{% + \ifcase#1 + \or + \protect\cyrje\protect\cyra\protect\cyrn\protect\cyru\protect\cyra + \protect\cyrr + \or + \protect\cyrf\protect\cyrie\protect\cyrb\protect\cyrr\protect\cyru + \protect\cyrr + \or + \protect\cyrm\protect\cyra\protect\cyrr\protect\cyrt + \or + \protect\cyra\protect\cyrp\protect\cyrr\protect\cyri\protect\cyrl + \or + \protect\cyrm\protect\cyra\protect\cyrje + \or + \protect\cyrje\protect\cyru\protect\cyrn + \or + \protect\cyrje\protect\cyru\protect\cyrl + \or + \protect\cyra\protect\cyrv\protect\cyrg\protect\cyru\protect\cyrs + \protect\cyrt + \or + \protect\cyrs\protect\cyre\protect\cyrp\protect\cyrt\protect\cyre + \protect\cyrm\protect\cyrb\protect\cyra\protect\cyrr + \or + \protect\cyro\protect\cyrk\protect\cyrt\protect\cyro\protect\cyrb + \protect\cyra\protect\cyrr + \or + \protect\cyrn\protect\cyro\protect\cyrv\protect\cyre\protect\cyrm + \protect\cyrb\protect\cyra\protect\cyrr + \or + \protect\cyrd\protect\cyre\protect\cyrc\protect\cyre\protect\cyrm + \protect\cyrb\protect\cyra\protect\cyrr + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiancyrMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMserbiancyrMonthname}[1]{% + \ifcase#1 + \or + \protect\CYRJE\protect\cyra\protect\cyrn\protect\cyru\protect\cyra + \protect\cyrr + \or + \protect\CYRF\protect\cyrie\protect\cyrb\protect\cyrr\protect\cyru + \protect\cyrr + \or + \protect\CYRM\protect\cyra\protect\cyrr\protect\cyrt + \or + \protect\CYRA\protect\cyrp\protect\cyrr\protect\cyri\protect\cyrl + \or + \protect\CYRM\protect\cyra\protect\cyrje + \or + \protect\CYRJE\protect\cyru\protect\cyrn + \or + \protect\CYRJE\protect\cyru\protect\cyrl + \or + \protect\CYRA\protect\cyrv\protect\cyrg\protect\cyru\protect\cyrs + \protect\cyrt + \or + \protect\CYRS\protect\cyre\protect\cyrp\protect\cyrt\protect\cyre + \protect\cyrm\protect\cyrb\protect\cyra\protect\cyrr + \or + \protect\CYRO\protect\cyrk\protect\cyrt\protect\cyro\protect\cyrb + \protect\cyra\protect\cyrr + \or + \protect\CYRN\protect\cyro\protect\cyrv\protect\cyre\protect\cyrm + \protect\cyrb\protect\cyra\protect\cyrr + \or + \protect\CYRD\protect\cyre\protect\cyrc\protect\cyre\protect\cyrm + \protect\cyrb\protect\cyra\protect\cyrr + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbianlatinmonthname} +% Serbian month names. (Latin alphabet.) +% \begin{macrocode} +\newcommand*{\DTMserbianlatinmonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + mart% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + avgust% + \or + septembar% + \or + oktobar% + \or + novembar% + \or + decembar% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbianlatinMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMserbianlatinMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Mart% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + Avgust% + \or + Septembar% + \or + Oktobar% + \or + Novembar% + \or + Decembar% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-serbian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Serbian Module (\texttt{datetime2-serbian.ldf})} +%\changes{1.0}{2015-03-31}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-serbian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{serbian}[2015/03/31 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{serbian-utf8} if either of those engines are used +% otherwise load \texttt{serbian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{serbian-utf8} +\else + \ifluatex + \RequireDateTimeModule{serbian-utf8} + \else + \RequireDateTimeModule{serbian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{serbian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "serbian" and +% "serbian-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}{\DTMserbiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMserbiandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMserbianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMserbiandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMserbiantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMserbiandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMserbiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMserbiantimesep}{.} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{serbian}{daymonthsep}{\renewcommand*{\DTMserbiandaymonthsep}{#1}} +\DTMdefkey{serbian}{monthyearsep}{\renewcommand*{\DTMserbianmonthyearsep}{#1}} +\DTMdefkey{serbian}{datetimesep}{\renewcommand*{\DTMserbiandatetimesep}{#1}} +\DTMdefkey{serbian}{timezonesep}{\renewcommand*{\DTMserbiantimezonesep}{#1}} +\DTMdefkey{serbian}{datesep}{\renewcommand*{\DTMserbiandatesep}{#1}} +\DTMdefkey{serbian}{timesep}{\renewcommand*{\DTMserbiantimesep}{#1}} +% \end{macrocode} +% +%\begin{macro}{\DTMserbianmonthname} +% Provide a way to switch between Latin and Cyrillic month names. +% \begin{macrocode} +\newcommand*{\DTMserbianmonthname}{\DTMserbiancyrmonthname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMserbianMonthname} +% \begin{macrocode} +\newcommand*{\DTMserbianMonthname}{\DTMserbiancyrMonthname} +% \end{macrocode} +%\end{macro} +% +% \begin{macrocode} +\DTMdefchoicekey{serbian}{alphabet}[\val\nr]{cyrillic,latin}{% + \ifcase\nr\relax + \renewcommand*{\DTMserbianmonthname}{\DTMserbiancyrmonthname}% + \renewcommand*{\DTMserbianMonthname}{\DTMserbiancyrMonthname}% + \or + \renewcommand*{\DTMserbianmonthname}{\DTMserbianlatinmonthname}% + \renewcommand*{\DTMserbianMonthname}{\DTMserbianlatinMonthname}% + \fi +} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{serbian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{serbian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{serbian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{serbian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{serbian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{serbian}{showyear}{true} +% \end{macrocode} +% +% Define the "serbian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {serbian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{serbian}{showdayofmonth} + {\DTMserbianordinal{##3}\DTMserbiandaymonthsep}% + {}% + \DTMserbianmonthname{##2}% + \DTMifbool{serbian}{showyear}% + {% + \DTMserbianmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{serbian}{showdayofmonth} + {% + \DTMserbianordinal{##3}\DTMserbiandaymonthsep + \DTMserbianmonthname{##2}% + }% + {% + \DTMserbianMonthname{##2}% + }% + \DTMifbool{serbian}{showyear}% + {% + \DTMserbianmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMserbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{serbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMserbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMserbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMserbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMserbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMserbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {serbian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{serbian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMserbiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{serbian}{showyear}% + {% + \DTMserbiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMserbiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMserbiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMserbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{serbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMserbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMserbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMserbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMserbianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMserbianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{serbian}} +{\DTMsetstyle{serbian-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateserbian} (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\dateserbian + {% do nothing + }% + {% + \def\dateserbian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{serbian}}% + {\DTMsetstyle{serbian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{serbian}}% + {\DTMsetstyle{serbian-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-serbian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.ins new file mode 100644 index 0000000000..fc13ef145a --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-serbian.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-serbian.dtx and + datetime2-serbian.ins and the derived files + datetime2-serbian-utf8.ldf, datetime2-serbian-ascii.ldf and + datetime2-serbian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-serbian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-serbian.dtx}{datetime2-serbian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-serbian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-serbian.dtx}{datetime2-serbian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-serbian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-serbian.dtx}{datetime2-serbian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.pdf Binary files differnew file mode 100644 index 0000000000..a7812cf8f0 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-serbian/datetime2-serbian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovak/README b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/README new file mode 100644 index 0000000000..e40a960551 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/README @@ -0,0 +1,57 @@ +Slovak Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[slovak]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[slovak]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{slovak} +\usepackage[slovak]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-slovak.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-slovak/ + +Documentation: + +xelatex datetime2-slovak.dtx +makeindex -s gind.ist datetime2-slovak.idx +makeindex -s gglo.ist -o datetime2-slovak.gls datetime2-slovak.glo +xelatex datetime2-slovak.dtx +xelatex datetime2-slovak.dtx + +Move datetime2-slovak.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-slovak/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.dtx new file mode 100644 index 0000000000..cc947d22bd --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.dtx @@ -0,0 +1,634 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Slovak Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{285} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-slovak.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Slovak Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-04-01 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Slovak 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-slovak}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Slovak. +%In particular, I don't know if the "slovak" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-slovak.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-slovak-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{slovak-utf8}[2015/04/01 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMslovakordinal} +% \begin{macrocode} +\newcommand*{\DTMslovakordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakmonthname} +% Slovak month names. +% \begin{macrocode} +\newcommand*{\DTMslovakmonthname}[1]{% + \ifcase#1 + \or + januĆ”ra% + \or + februĆ”ra% + \or + marca% + \or + aprĆla% + \or + mĆ”ja% + \or + jĆŗna% + \or + jĆŗla% + \or + augusta% + \or + septembra% + \or + oktĆ³bra% + \or + novembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMslovakMonthname}[1]{% + \ifcase#1 + \or + JanuĆ”ra% + \or + FebruĆ”ra% + \or + Marca% + \or + AprĆla% + \or + MĆ”ja% + \or + JĆŗna% + \or + JĆŗla% + \or + Augusta% + \or + Septembra% + \or + OktĆ³bra% + \or + Novembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-slovak-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-slovak-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-slovak-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{slovak-ascii}[2015/04/01 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMslovakordinal} +% \begin{macrocode} +\newcommand*{\DTMslovakordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakmonthname} +% Slovak month names. +% \begin{macrocode} +\newcommand*{\DTMslovakmonthname}[1]{% + \ifcase#1 + \or + janu\protect\'ara% + \or + febru\protect\'ara% + \or + marca% + \or + apr\protect\'{\protect\i}la% + \or + m\protect\'aja% + \or + j\protect\'una% + \or + j\protect\'ula% + \or + augusta% + \or + septembra% + \or + okt\protect\'obra% + \or + novembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMslovakMonthname}[1]{% + \ifcase#1 + \or + Janu\protect\'ara% + \or + Febru\protect\'ara% + \or + Marca% + \or + Apr\protect\'{\protect\i}la% + \or + M\protect\'aja% + \or + J\protect\'una% + \or + J\protect\'ula% + \or + Augusta% + \or + Septembra% + \or + Okt\protect\'obra% + \or + Novembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-slovak-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Slovak Module (\texttt{datetime2-slovak.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-slovak.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{slovak}[2015/04/01 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{slovak-utf8} if either of those engines are used +% otherwise load \texttt{slovak-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{slovak-utf8} +\else + \ifluatex + \RequireDateTimeModule{slovak-utf8} + \else + \RequireDateTimeModule{slovak-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{slovak} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "slovak" and +% "slovak-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}{\DTMslovakdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMslovakdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMslovakmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMslovakdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovaktimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMslovaktimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovakdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMslovakdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovaktimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMslovaktimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{slovak}{daymonthsep}{\renewcommand*{\DTMslovakdaymonthsep}{#1}} +\DTMdefkey{slovak}{monthyearsep}{\renewcommand*{\DTMslovakmonthyearsep}{#1}} +\DTMdefkey{slovak}{datetimesep}{\renewcommand*{\DTMslovakdatetimesep}{#1}} +\DTMdefkey{slovak}{timezonesep}{\renewcommand*{\DTMslovaktimezonesep}{#1}} +\DTMdefkey{slovak}{datesep}{\renewcommand*{\DTMslovakdatesep}{#1}} +\DTMdefkey{slovak}{timesep}{\renewcommand*{\DTMslovaktimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{slovak}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{slovak}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{slovak}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{slovak}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{slovak}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{slovak}{showyear}{true} +% \end{macrocode} +% +% Define the "slovak" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {slovak}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{slovak}{showdayofmonth} + {% + \DTMslovakordinal{##3}% + \DTMslovakdaymonthsep + }% + {}% + \DTMslovakmonthname{##2}% + \DTMifbool{slovak}{showyear}% + {% + \DTMslovakmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{slovak}{showdayofmonth} + {% + \DTMslovakordinal{##3}% + \DTMslovakdaymonthsep + \DTMslovakmonthname{##2}% + }% + {% + \DTMslovakMonthname{##2}% + }% + \DTMifbool{slovak}{showyear}% + {% + \DTMslovakmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMslovakzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{slovak}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMslovaktimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMslovakdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovaktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMslovakdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovaktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {slovak-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{slovak}{showdayofmonth}% + {% + \number##3 % space intended + \DTMslovakdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{slovak}{showyear}% + {% + \DTMslovakdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMslovaktimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMslovaktimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMslovakzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{slovak}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMslovaktimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMslovakdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovaktimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMslovakzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMslovakzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{slovak}} +{\DTMsetstyle{slovak-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateslovak} (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\dateslovak + {% do nothing + }% + {% + \def\dateslovak{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{slovak}}% + {\DTMsetstyle{slovak-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{slovak}}% + {\DTMsetstyle{slovak-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-slovak.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.ins b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.ins new file mode 100644 index 0000000000..7edaaaf51c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-slovak.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-slovak.dtx and + datetime2-slovak.ins and the derived files + datetime2-slovak-utf8.ldf, datetime2-slovak-ascii.ldf and + datetime2-slovak.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-slovak-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovak.dtx}{datetime2-slovak-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-slovak-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovak.dtx}{datetime2-slovak-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-slovak.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovak.dtx}{datetime2-slovak.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.pdf Binary files differnew file mode 100644 index 0000000000..0eea10ca15 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovak/datetime2-slovak.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovene/README b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/README new file mode 100644 index 0000000000..57c028dc8b --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/README @@ -0,0 +1,57 @@ +Slovene Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[slovene]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[slovene]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{slovene} +\usepackage[slovene]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-slovene.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-slovene/ + +Documentation: + +xelatex datetime2-slovene.dtx +makeindex -s gind.ist datetime2-slovene.idx +makeindex -s gglo.ist -o datetime2-slovene.gls datetime2-slovene.glo +xelatex datetime2-slovene.dtx +xelatex datetime2-slovene.dtx + +Move datetime2-slovene.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-slovene/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.dtx new file mode 100644 index 0000000000..5729b907b8 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.dtx @@ -0,0 +1,639 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Slovene Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{253} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-slovene.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Slovene Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-04-01 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Slovene 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-slovene}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Slovene. +%In particular, I don't know if the "slovene" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-slovene.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-slovene-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +% +%(This file doesn't actually contain non-ASCII characters at +%present, but is provided in case week day names or archaic month +%names are added, which +%may contain non-ASCII characters.) +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{slovene-utf8}[2015/04/01 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMsloveneordinal} +% \begin{macrocode} +\newcommand*{\DTMsloveneordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenemonthname} +% Slovene month names. +% \begin{macrocode} +\newcommand*{\DTMslovenemonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + marec% + \or + april% + \or + maj% + \or + junij% + \or + julij% + \or + avgust% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsloveneMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMsloveneMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Marec% + \or + April% + \or + Maj% + \or + Junij% + \or + Julij% + \or + Avgust% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-slovene-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-slovene-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-slovene-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{slovene-ascii}[2015/04/01 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMsloveneordinal} +% \begin{macrocode} +\newcommand*{\DTMsloveneordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenemonthname} +% Slovene month names. +% \begin{macrocode} +\newcommand*{\DTMslovenemonthname}[1]{% + \ifcase#1 + \or + januar% + \or + februar% + \or + marec% + \or + april% + \or + maj% + \or + junij% + \or + julij% + \or + avgust% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMsloveneMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMsloveneMonthname}[1]{% + \ifcase#1 + \or + Januar% + \or + Februar% + \or + Marec% + \or + April% + \or + Maj% + \or + Junij% + \or + Julij% + \or + Avgust% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-slovene-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Slovene Module (\texttt{datetime2-slovene.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-slovene.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{slovene}[2015/04/01 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{slovene-utf8} if either of those engines are used +% otherwise load \texttt{slovene-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{slovene-utf8} +\else + \ifluatex + \RequireDateTimeModule{slovene-utf8} + \else + \RequireDateTimeModule{slovene-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{slovene} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "slovene" and +% "slovene-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}{\DTMslovenedaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMslovenedaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenemonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMslovenemonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenedatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMslovenedatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenetimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMslovenetimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenedatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMslovenedatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMslovenetimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMslovenetimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{slovene}{daymonthsep}{\renewcommand*{\DTMslovenedaymonthsep}{#1}} +\DTMdefkey{slovene}{monthyearsep}{\renewcommand*{\DTMslovenemonthyearsep}{#1}} +\DTMdefkey{slovene}{datetimesep}{\renewcommand*{\DTMslovenedatetimesep}{#1}} +\DTMdefkey{slovene}{timezonesep}{\renewcommand*{\DTMslovenetimezonesep}{#1}} +\DTMdefkey{slovene}{datesep}{\renewcommand*{\DTMslovenedatesep}{#1}} +\DTMdefkey{slovene}{timesep}{\renewcommand*{\DTMslovenetimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{slovene}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{slovene}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{slovene}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{slovene}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{slovene}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{slovene}{showyear}{true} +% \end{macrocode} +% +% Define the "slovene" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {slovene}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{slovene}{showdayofmonth} + {% + \DTMsloveneordinal{##3}% + \DTMslovenedaymonthsep + }% + {}% + \DTMslovenemonthname{##2}% + \DTMifbool{slovene}{showyear}% + {% + \DTMslovenemonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{slovene}{showdayofmonth} + {% + \DTMsloveneordinal{##3}% + \DTMslovenedaymonthsep + \DTMslovenemonthname{##2}% + }% + {% + \DTMsloveneMonthname{##2}% + }% + \DTMifbool{slovene}{showyear}% + {% + \DTMslovenemonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMslovenezonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{slovene}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMslovenetimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMslovenedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovenetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMslovenedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovenetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {slovene-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{slovene}{showdayofmonth}% + {% + \number##3 % space intended + \DTMslovenedatesep + }% + {}% + \number##2 % space intended + \DTMifbool{slovene}{showyear}% + {% + \DTMslovenedatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMslovenetimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMslovenetimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMslovenezonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{slovene}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMslovenetimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMslovenedatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMslovenetimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMslovenezonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMslovenezonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{slovene}} +{\DTMsetstyle{slovene-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateslovene} (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\dateslovene + {% do nothing + }% + {% + \def\dateslovene{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{slovene}}% + {\DTMsetstyle{slovene-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{slovene}}% + {\DTMsetstyle{slovene-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-slovene.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.ins b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.ins new file mode 100644 index 0000000000..464e54e2ed --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-slovene.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-slovene.dtx and + datetime2-slovene.ins and the derived files + datetime2-slovene-utf8.ldf, datetime2-slovene-ascii.ldf and + datetime2-slovene.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-slovene-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovene.dtx}{datetime2-slovene-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-slovene-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovene.dtx}{datetime2-slovene-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-slovene.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-slovene.dtx}{datetime2-slovene.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.pdf Binary files differnew file mode 100644 index 0000000000..6766a382ba --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-slovene/datetime2-slovene.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-spanish/README b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/README new file mode 100644 index 0000000000..4ddffb41c2 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/README @@ -0,0 +1,57 @@ +Spanish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[spanish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[spanish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{spanish} +\usepackage[spanish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-spanish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-spanish/ + +Documentation: + +pdflatex datetime2-spanish.dtx +makeindex -s gind.ist datetime2-spanish.idx +makeindex -s gglo.ist -o datetime2-spanish.gls datetime2-spanish.glo +pdflatex datetime2-spanish.dtx +pdflatex datetime2-spanish.dtx + +Move datetime2-spanish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-spanish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.dtx new file mode 100644 index 0000000000..cbd0363834 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.dtx @@ -0,0 +1,722 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2017 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Spanish Module}]{hyperref} + + +\CheckSum{305} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-spanish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Spanish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2017-11-13 (v1.1)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Spanish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-spanish}'s \cs{today}. +% +%I don't know if these settings are correct. +%In particular, I don't know if the "spanish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-spanish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. New maintainers may +%want to add regional variants such as "es-ES"\slash"es-ES-numeric", +%"es-AR"\slash"es-AR-numeric" etc. This style currently doesn't check the +%\opt{showdow} setting. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-spanish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-28}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{spanish-utf8}[2017/11/13 v1.1] +% \end{macrocode} +%\begin{macro}{\DTMspanishordinal} +% \begin{macrocode} +\newcommand*{\DTMspanishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishmonthname} +% Spanish month names. +% \begin{macrocode} +\newcommand*{\DTMspanishmonthname}[1]{% + \ifcase#1 + \or + enero% + \or + febrero% + \or + marzo% + \or + abril% + \or + mayo% + \or + junio% + \or + julio% + \or + agosto% + \or + septiembre% + \or + octubre% + \or + noviembre% + \or + diciembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMspanishMonthname}[1]{% + \ifcase#1 + \or + Enero% + \or + Febrero% + \or + Marzo% + \or + Abril% + \or + Mayo% + \or + Junio% + \or + Julio% + \or + Agosto% + \or + Septiembre% + \or + Octubre% + \or + Noviembre% + \or + Diciembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\begin{macro}{\DTMspanishweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMspanishweekdayname}[1]{% + \ifcase#1 + domingo% + \or + lunes% + \or + martes% + \or + miĆ©rcoles% + \or + jueves% + \or + viernes% + \or + sĆ”bado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishWeekdayname} +%As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMspanishWeekdayname}[1]{% + \ifcase#1 + Domingo% + \or + Lunes% + \or + Martes% + \or + MiĆ©rcoles% + \or + Jueves% + \or + Viernes% + \or + SĆ”bado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-spanish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-spanish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-spanish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-28}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{spanish-ascii}[2017/11/13 v1.1] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMspanishordinal} +% \begin{macrocode} +\newcommand*{\DTMspanishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishmonthname} +% Spanish month names. +% \begin{macrocode} +\newcommand*{\DTMspanishmonthname}[1]{% + \ifcase#1 + \or + enero% + \or + febrero% + \or + marzo% + \or + abril% + \or + mayo% + \or + junio% + \or + julio% + \or + agosto% + \or + septiembre% + \or + octubre% + \or + noviembre% + \or + diciembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishMonthname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMspanishMonthname}[1]{% + \ifcase#1 + \or + Enero% + \or + Febrero% + \or + Marzo% + \or + Abril% + \or + Mayo% + \or + Junio% + \or + Julio% + \or + Agosto% + \or + Septiembre% + \or + Octubre% + \or + Noviembre% + \or + Diciembre% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishweekdayname} +%These are provided here but not currently used in the date format. +% \begin{macrocode} +\newcommand*{\DTMspanishweekdayname}[1]{% + \ifcase#1 + domingo% + \or + lunes% + \or + martes% + \or + mi\protect\'ercoles% + \or + jueves% + \or + viernes% + \or + s\protect\'abado% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishWeekdayname} +%As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMspanishWeekdayname}[1]{% + \ifcase#1 + Domingo% + \or + Lunes% + \or + Martes% + \or + Mi\protect\'ercoles% + \or + Jueves% + \or + Viernes% + \or + S\protect\'abado% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-spanish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Spanish Module (\texttt{datetime2-spanish.ldf})} +%\changes{1.0}{2015-03-28}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-spanish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{spanish}[2017/11/13 v1.1] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{spanish-utf8} if either of those engines are used +% otherwise load \texttt{spanish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{spanish-utf8} +\else + \ifluatex + \RequireDateTimeModule{spanish-utf8} + \else + \RequireDateTimeModule{spanish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{spanish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. +% +% Allow the user a way of configuring the "spanish" and +% "spanish-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}{\DTMspanishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMspanishdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}de\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMspanishmonthyearsep}{% + \space de\DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMspanishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMspanishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMspanishdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMspanishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMspanishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{spanish}{daymonthsep}{\renewcommand*{\DTMspanishdaymonthsep}{#1}} +\DTMdefkey{spanish}{monthyearsep}{\renewcommand*{\DTMspanishmonthyearsep}{#1}} +\DTMdefkey{spanish}{datetimesep}{\renewcommand*{\DTMspanishdatetimesep}{#1}} +\DTMdefkey{spanish}{timezonesep}{\renewcommand*{\DTMspanishtimezonesep}{#1}} +\DTMdefkey{spanish}{datesep}{\renewcommand*{\DTMspanishdatesep}{#1}} +\DTMdefkey{spanish}{timesep}{\renewcommand*{\DTMspanishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{spanish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{spanish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{spanish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{spanish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{spanish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{spanish}{showyear}{true} +% \end{macrocode} +% +% Define the "spanish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {spanish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{spanish}{showdayofmonth} + {\DTMspanishordinal{##3}\DTMspanishdaymonthsep}% + {}% + \DTMspanishmonthname{##2}% + \DTMifbool{spanish}{showyear}% + {% + \DTMspanishmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{spanish}{showdayofmonth} + {% + \DTMspanishordinal{##3}\DTMspanishdaymonthsep + \DTMspanishmonthname{##2}% + }% + {\DTMspanishMonthname{##2}}% + \DTMifbool{spanish}{showyear}% + {% + \DTMspanishmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMspanishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{spanish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMspanishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMspanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMspanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMspanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMspanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {spanish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{spanish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMspanishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{spanish}{showyear}% + {% + \DTMspanishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMspanishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMspanishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMspanishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{spanish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMspanishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMspanishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMspanishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMspanishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMspanishzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{spanish}} +{\DTMsetstyle{spanish-numeric}} +% \end{macrocode} +% +% Redefine \cs{datespanish} (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.) +%\changes{1.1}{2017-11-13}{removed spurious space caused by eol} +% \begin{macrocode} +\ifcsundef{date\CurrentTrackedDialect} +{% + \ifundef\datespanish + {% do nothing + }% + {% + \def\datespanish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{spanish}}% + {\DTMsetstyle{spanish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{spanish}}% + {\DTMsetstyle{spanish-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-spanish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.ins new file mode 100644 index 0000000000..8e4ade8779 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-spanish.dtx + Copyright 2017 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-spanish.dtx and + datetime2-spanish.ins and the derived files + datetime2-spanish-utf8.ldf, datetime2-spanish-ascii.ldf and + datetime2-spanish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-spanish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-spanish.dtx}{datetime2-spanish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-spanish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-spanish.dtx}{datetime2-spanish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-spanish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-spanish.dtx}{datetime2-spanish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.pdf Binary files differnew file mode 100644 index 0000000000..09c10d438d --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-spanish/datetime2-spanish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-swedish/README b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/README new file mode 100644 index 0000000000..788baab68f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/README @@ -0,0 +1,57 @@ +Swedish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[swedish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[swedish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{swedish} +\usepackage[swedish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-swedish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-swedish/ + +Documentation: + +xelatex datetime2-swedish.dtx +makeindex -s gind.ist datetime2-swedish.idx +makeindex -s gglo.ist -o datetime2-swedish.gls datetime2-swedish.glo +xelatex datetime2-swedish.dtx +xelatex datetime2-swedish.dtx + +Move datetime2-swedish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-swedish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.dtx new file mode 100644 index 0000000000..6113e3715e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.dtx @@ -0,0 +1,730 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Swedish Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{305} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-swedish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Swedish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-04-01 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Swedish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-swedish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Swedish. +%In particular, I don't know if the "swedish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-swedish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-swedish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{swedish-utf8}[2015/04/01 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMswedishordinal} +% \begin{macrocode} +\newcommand*{\DTMswedishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishmonthname} +% Swedish month names. +% \begin{macrocode} +\newcommand*{\DTMswedishmonthname}[1]{% + \ifcase#1 + \or + januari% + \or + februari% + \or + mars% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + augusti% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMswedishMonthname}[1]{% + \ifcase#1 + \or + Januari% + \or + Februari% + \or + Mars% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + Augusti% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +% Week day names are provided but currently not used in the date style. +% +%\begin{macro}{\DTMswedishweekdayname} +% Swedish day of week names. +% \begin{macrocode} +\newcommand*{\DTMswedishweekdayname}[1]{% + \ifcase#1 + mĆ„ndag% + \or + tisdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + lƶrdag% + \or + sƶndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMswedishWeekdayname}[1]{% + \ifcase#1 + MĆ„ndag% + \or + Tisdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + Lƶrdag% + \or + Sƶndag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-swedish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-swedish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-swedish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{swedish-ascii}[2015/04/01 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMswedishordinal} +% \begin{macrocode} +\newcommand*{\DTMswedishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishmonthname} +% Swedish month names. +% \begin{macrocode} +\newcommand*{\DTMswedishmonthname}[1]{% + \ifcase#1 + \or + januari% + \or + februari% + \or + mars% + \or + april% + \or + maj% + \or + juni% + \or + juli% + \or + augusti% + \or + september% + \or + oktober% + \or + november% + \or + december% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMswedishMonthname}[1]{% + \ifcase#1 + \or + Januari% + \or + Februari% + \or + Mars% + \or + April% + \or + Maj% + \or + Juni% + \or + Juli% + \or + Augusti% + \or + September% + \or + Oktober% + \or + November% + \or + December% + \fi +} +% \end{macrocode} +%\end{macro} +% +% Week day names are provided but currently not used in the date style. +% +%\begin{macro}{\DTMswedishweekdayname} +% Swedish day of week names. +% \begin{macrocode} +\newcommand*{\DTMswedishweekdayname}[1]{% + \ifcase#1 + m\protect\aa ndag% + \or + tisdag% + \or + onsdag% + \or + torsdag% + \or + fredag% + \or + l\protect\"ordag% + \or + s\protect\"ondag% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishWeekdayname} +% As above but start with a capital. +% \begin{macrocode} +\newcommand*{\DTMswedishWeekdayname}[1]{% + \ifcase#1 + M\protect\aa ndag% + \or + Tisdag% + \or + Onsdag% + \or + Torsdag% + \or + Fredag% + \or + L\protect\"ordag% + \or + S\protect\"ondag% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-swedish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Swedish Module (\texttt{datetime2-swedish.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-swedish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{swedish}[2015/04/01 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{swedish-utf8} if either of those engines are used +% otherwise load \texttt{swedish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{swedish-utf8} +\else + \ifluatex + \RequireDateTimeModule{swedish-utf8} + \else + \RequireDateTimeModule{swedish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{swedish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "swedish" and +% "swedish-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}{\DTMswedishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMswedishdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMswedishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMswedishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMswedishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMswedishdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMswedishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMswedishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{swedish}{daymonthsep}{\renewcommand*{\DTMswedishdaymonthsep}{#1}} +\DTMdefkey{swedish}{monthyearsep}{\renewcommand*{\DTMswedishmonthyearsep}{#1}} +\DTMdefkey{swedish}{datetimesep}{\renewcommand*{\DTMswedishdatetimesep}{#1}} +\DTMdefkey{swedish}{timezonesep}{\renewcommand*{\DTMswedishtimezonesep}{#1}} +\DTMdefkey{swedish}{datesep}{\renewcommand*{\DTMswedishdatesep}{#1}} +\DTMdefkey{swedish}{timesep}{\renewcommand*{\DTMswedishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{swedish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{swedish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{swedish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{swedish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{swedish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{swedish}{showyear}{true} +% \end{macrocode} +% +% Define the "swedish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {swedish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{swedish}{showdayofmonth} + {% + \DTMswedishordinal{##3}% + \DTMswedishdaymonthsep + }% + {}% + \DTMswedishmonthname{##2}% + \DTMifbool{swedish}{showyear}% + {% + \DTMswedishmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{swedish}{showdayofmonth} + {% + \DTMswedishordinal{##3}% + \DTMswedishdaymonthsep + \DTMswedishmonthname{##2}% + }% + {% + \DTMswedishMonthname{##2}% + }% + \DTMifbool{swedish}{showyear}% + {% + \DTMswedishmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMswedishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{swedish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMswedishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMswedishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMswedishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMswedishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMswedishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {swedish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{swedish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMswedishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{swedish}{showyear}% + {% + \DTMswedishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMswedishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMswedishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMswedishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{swedish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMswedishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMswedishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMswedishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMswedishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMswedishzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{swedish}} +{\DTMsetstyle{swedish-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateswedish} (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\dateswedish + {% do nothing + }% + {% + \def\dateswedish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{swedish}}% + {\DTMsetstyle{swedish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{swedish}}% + {\DTMsetstyle{swedish-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-swedish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.ins new file mode 100644 index 0000000000..a2efb9c4aa --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-swedish.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-swedish.dtx and + datetime2-swedish.ins and the derived files + datetime2-swedish-utf8.ldf, datetime2-swedish-ascii.ldf and + datetime2-swedish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-swedish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-swedish.dtx}{datetime2-swedish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-swedish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-swedish.dtx}{datetime2-swedish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-swedish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-swedish.dtx}{datetime2-swedish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.pdf Binary files differnew file mode 100644 index 0000000000..b801ea7906 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-swedish/datetime2-swedish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-turkish/README b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/README new file mode 100644 index 0000000000..96ce71122e --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/README @@ -0,0 +1,57 @@ +Turkish Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[turkish]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[turkish]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{turkish} +\usepackage[turkish]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-turkish.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-turkish/ + +Documentation: + +xelatex datetime2-turkish.dtx +makeindex -s gind.ist datetime2-turkish.idx +makeindex -s gglo.ist -o datetime2-turkish.gls datetime2-turkish.glo +xelatex datetime2-turkish.dtx +xelatex datetime2-turkish.dtx + +Move datetime2-turkish.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-turkish/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.dtx new file mode 100644 index 0000000000..07c9746078 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.dtx @@ -0,0 +1,540 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Turkish Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{218} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-turkish.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Turkish Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-04-01 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Turkish 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-turkish}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Turkish. +%In particular, I don't know if the "turkish" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-turkish.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-turkish-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{turkish-utf8}[2015/04/01 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMturkishordinal} +% \begin{macrocode} +\newcommand*{\DTMturkishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishmonthname} +% Turkish month names. +% \begin{macrocode} +\newcommand*{\DTMturkishmonthname}[1]{% + \ifcase#1 + \or + Ocak% + \or + Åubat% + \or + Mart% + \or + Nisan% + \or + Mayıs% + \or + Haziran% + \or + Temmuz% + \or + AÄustos% + \or + EylĆ¼l% + \or + Ekim% + \or + Kasım% + \or + Aralık% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-turkish-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-turkish-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-turkish-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{turkish-ascii}[2015/04/01 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMturkishordinal} +% \begin{macrocode} +\newcommand*{\DTMturkishordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishmonthname} +% Turkish month names. +% \begin{macrocode} +\newcommand*{\DTMturkishmonthname}[1]{% + \ifcase#1 + \or + Ocak% + \or + \protect\c Subat% + \or + Mart% + \or + Nisan% + \or + May\protect\i s% + \or + Haziran% + \or + Temmuz% + \or + A\protect\u gustos% + \or + Eyl\protect\"ul% + \or + Ekim% + \or + Kas\protect\i m% + \or + Aral\protect\i k% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-turkish-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Turkish Module (\texttt{datetime2-turkish.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-turkish.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{turkish}[2015/04/01 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{turkish-utf8} if either of those engines are used +% otherwise load \texttt{turkish-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{turkish-utf8} +\else + \ifluatex + \RequireDateTimeModule{turkish-utf8} + \else + \RequireDateTimeModule{turkish-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{turkish} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "turkish" and +% "turkish-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}{\DTMturkishdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMturkishdaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMturkishmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMturkishdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMturkishtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMturkishdatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMturkishtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMturkishtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{turkish}{daymonthsep}{\renewcommand*{\DTMturkishdaymonthsep}{#1}} +\DTMdefkey{turkish}{monthyearsep}{\renewcommand*{\DTMturkishmonthyearsep}{#1}} +\DTMdefkey{turkish}{datetimesep}{\renewcommand*{\DTMturkishdatetimesep}{#1}} +\DTMdefkey{turkish}{timezonesep}{\renewcommand*{\DTMturkishtimezonesep}{#1}} +\DTMdefkey{turkish}{datesep}{\renewcommand*{\DTMturkishdatesep}{#1}} +\DTMdefkey{turkish}{timesep}{\renewcommand*{\DTMturkishtimesep}{#1}} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{turkish}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{turkish}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{turkish}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{turkish}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{turkish}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{turkish}{showyear}{true} +% \end{macrocode} +% +% Define the "turkish" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {turkish}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{turkish}{showdayofmonth} + {% + \DTMturkishordinal{##3}% + \DTMturkishdaymonthsep + }% + {}% + \DTMturkishmonthname{##2}% + \DTMifbool{turkish}{showyear}% + {% + \DTMturkishmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate{\DTMdisplaydate}% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMturkishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{turkish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMturkishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMturkishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMturkishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {turkish-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{turkish}{showdayofmonth}% + {% + \number##3 % space intended + \DTMturkishdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{turkish}{showyear}% + {% + \DTMturkishdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMturkishtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMturkishtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMturkishzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{turkish}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMturkishtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMturkishdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMturkishtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMturkishzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMturkishzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% + \DTMdefzonemap{03}{00}{EEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{turkish}} +{\DTMsetstyle{turkish-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateturkish} (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\dateturkish + {% do nothing + }% + {% + \def\dateturkish{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{turkish}}% + {\DTMsetstyle{turkish-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{turkish}}% + {\DTMsetstyle{turkish-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-turkish.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.ins b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.ins new file mode 100644 index 0000000000..1d20960c0c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-turkish.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-turkish.dtx and + datetime2-turkish.ins and the derived files + datetime2-turkish-utf8.ldf, datetime2-turkish-ascii.ldf and + datetime2-turkish.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-turkish-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-turkish.dtx}{datetime2-turkish-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-turkish-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-turkish.dtx}{datetime2-turkish-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-turkish.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-turkish.dtx}{datetime2-turkish.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.pdf Binary files differnew file mode 100644 index 0000000000..e3a72ece4f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-turkish/datetime2-turkish.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/README.md b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/README.md new file mode 100644 index 0000000000..d7db1ffbc4 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/README.md @@ -0,0 +1,54 @@ +---------------------------------------------------------------- + +Ukrainian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) +Current maintainer: Sergiy M. Ponomarenko <sergiy.ponomarenko@gmail.com>. + +Licence: LPPL + +Required Packages: tracklang + +1. INSTALLATION + +xelatex datetime2-ukrainian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-ukrainian/ + +2. USAGE + +2.1.1 PDFLATeX, LaTeX + + \documentclass{article} + \usepackage[ukrainian]{datetime2} + \begin{document} + \today + \end{document} + + \documentclass[ukrainian]{article} + \usepackage{babel} + \usepackage[useregional]{datetime2} + \begin{document} + \today + \end{document} + +2.1.2 Lua(Xe)LaTeX + + \documentclass{article} + \usepackage{polyglossia} + \setmainlanguage{ukrainian} + \usepackage[ukrainian]{datetime2} + \begin{document} + \today + \end{document} + +3. DOCUMENTATION + +See datetime2-ukrainian.pdf for more information. + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that license. + +---------------------------------------------------------------- + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.dtx new file mode 100644 index 0000000000..fb3b4dd870 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.dtx @@ -0,0 +1,1593 @@ +% \iffalse meta-comment +% !TeX program = xelatex +%<*internal> +\iffalse +%</internal> +%<*readme> +---------------------------------------------------------------- + +Ukrainian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) +Current maintainer: Sergiy M. Ponomarenko <sergiy.ponomarenko@gmail.com>. + +Licence: LPPL + +Required Packages: tracklang + + +1. INSTALLATION + +xelatex datetime2-ukrainian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-ukrainian/ + +2. USAGE + +2.1.1 PDFLATeX, LaTeX + + \documentclass{article} + \usepackage[ukrainian]{datetime2} + \begin{document} + \today + \end{document} + + \documentclass[ukrainian]{article} + \usepackage{babel} + \usepackage[useregional]{datetime2} + \begin{document} + \today + \end{document} + +2.1.2 Lua(Xe)LaTeX + + \documentclass{article} + \usepackage{polyglossia} + \setmainlanguage{ukrainian} + \usepackage[ukrainian]{datetime2} + \begin{document} + \today + \end{document} + +3. DOCUMENTATION + +See datetime2-ukrainian.pdf for more information. + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that license. + +---------------------------------------------------------------- +%</readme> +%<*internal> +\fi +\def\nameofplainTeX{plain} +\ifx\fmtname\nameofplainTeX\else + \expandafter\begingroup +\fi +%</internal> +%<*install> +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + +---------------------------------------------------------------- + +\endpreamble +\postamble + +---------------------------------------------------------------- + datetime2-ukrainian.dtx + Copyright 2015 Nicola Talbot + 2017 Sergiy M. Ponomarenko + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + + This work consists of the files datetime2-ukrainian.dtx + datetime2-ukrainian.ins + datetime2-ukrainian-utf8.ldf, + datetime2-ukrainian-ascii.ldf + datetime2-ukrainian.ldf. +---------------------------------------------------------------- + +\endpostamble + +\usedir{tex/latex/datetime2-ukrainian} +\askforoverwritefalse + +\generate +{% + \file + {datetime2-ukrainian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ukrainian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ukrainian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian.ldf,package}% + }% +} +%</install> +%<install>\endbatchfile +%<*internal> +\usedir{source/latex/democls} +\generate{ + \file{\jobname.ins}{\from{\jobname.dtx}{install}} +} +\nopreamble\nopostamble +\usedir{doc/latex/democls} +\generate{ + \file{README.md}{\from{\jobname.dtx}{readme}} +} +\ifx\fmtname\nameofplainTeX + \expandafter\endbatchfile +\else + \expandafter\endgroup +\fi +%</internal> + +%<*driver> +\documentclass{ltxdoc} +%% +%% This document should be compiled by +%% XeLaTeX or LuaLaTex +%% +\usepackage[% + a4paper,% + footskip=1cm,% + headsep=0.3cm,% + top=2cm, + bottom=2cm, + left=6cm, + right=2cm, + ]{geometry} + +\usepackage{fontspec} +\defaultfontfeatures{Ligatures={TeX}} +\setmainfont{CMU Serif} +\setsansfont{CMU Sans Serif} +\setmonofont{CMU Typewriter Text} + +\usepackage[dvipsnames,usenames]{xcolor} + +\definecolor{thered} {rgb}{0.65,0.04,0.07} +\definecolor{thegreen}{rgb}{0.06,0.44,0.08} +\definecolor{thegrey} {gray}{0.8} +\definecolor{theshade}{rgb}{1,1,0.97} +\definecolor{theframe}{gray}{0.6} +\definecolor{theblue}{cmyk}{1.00, 0.50, 0.00, 0.40} +% ==================================== + +% -------------------------------------------------- +\IfFileExists{listings.sty}{ + \usepackage{listings} + \lstset{ + gobble=1, + columns=flexible, + keepspaces, + basicstyle=\MacroFont, + keywords=[0]{\selectlanguage,\foreignlanguage + ,\babelhyphen,\babelhyphenation + ,\lefthyphenmin,\righthyphenmin + ,\StartBabelCommands,\SetString,\EndBabelCommands,\shorthandoff,\shorthandon + ,\languageshorthands,\useshorthands,\defineshorthand + ,\AddBabelHook,\SetStringLoop,\SetCase,\AfterBabelLanguage + ,\defaultfontfeatures,\setmainfont,\setsansfont,\setmonofont + ,\Ukrainian,\cyrdash,\cdash + ,\cyr,\cyrillictext,\textcyrillic,\cyrillicencoding + ,\addto,\captionsukrainian,\dateukrainian,\noextrasukrainian,\extrasukrainian + ,\languageattribute + ,\ch,\sh,\tg,\ctg,\arctg,\arcctg\,\th,\cth,\cosec + ,\dq + ,\XeTeXinputencoding + ,\setmainlanguage + ,\setotherlanguage + } + ,keywordstyle=[0]\color{thered} + ,keywords=[1]{main,ukrainian,english,german,frenchb + ,shorthands,extrasenglish + ,stringprocess,afterextras + ,soft,empty,nobreak,hard + ,Renderer,Ligatures + ,T1,T2A,lutf8,utf8 + ,fontspec,babel,inputenc,fontenc,useregional + }, + keywordstyle=[1]\color{thegreen}, + comment=[l]\%, + commentstyle=\color{thegrey}\itshape, + alsoother={0123456789_}, + frame=single, + backgroundcolor=\color{theshade}, + rulecolor=\color{theframe}, + framerule=\fboxrule, + } + \let\verbatim\relax + \lstnewenvironment{verbatim}[1][]{\lstset{##1}}{} + \AtBeginDocument{% + \DeleteShortVerb{\|}% + \lstMakeShortInline|% + } +}{} +\def\PrintDescribeMacro#1{% + \strut\MacroFont\color{thered}\normalsize\string#1} +\def\Describe#1{% + \par\penalty-500\vskip3ex\noindent + \DescribeMacro{#1}\args} +\def\DescribeOther{\vskip-5.8ex\Describe} +\makeatletter +\def\args#1{% + \def\bbl@tempa{#1}% + \ifx\bbl@tempa\@empty\else#1\vskip1ex\fi\ignorespaces} +\makeatother +% ==================================== +\EnableCrossrefs +%\DisableCrossrefs % Say \DisableCrossrefs if index is ready +\CodelineIndex % Index code by line number +\RecordChanges % Gather update information +%\PageIndex % Index code by page number +% ==================================== +\usepackage{alltt} + + +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Sergiy M. Ponomarenko}, + pdftitle={datetime2.sty Ukrainian Module}]{hyperref} + + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-ukrainian.dtx} +\end{document} +%</driver> +% \fi +% +% +% \GetFileInfo{\jobname.dtx} +% +% \def\fileversion{1.2a} +% \def\filedate{2018/04/15} +% +% +%\MakeShortVerb{"} +% +%\title{\bfseries Ukrainian Module for datetime2 Package} +%\author{Nicola L. C. Talbot \and Sergiy M. Ponomarenko} +%\date{2018/04/15 (1.2a)} +%\maketitle +%\tableofcontents +% +%\begin{abstract} +% This is the Ukrainian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{dateukrainian} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +% \section{Usage} +% +% \subsection{\LaTeX} +% +% When user's document is compiled with \texttt{latex.exe} or \texttt{pdflatex.exe}, +% recommended set of packages includes the \texttt{inputenc} and \texttt{fontenc} +% packages. +% +% +% \begin{verbatim} +% \usepackage[T1,T2A]{fontenc} +% \usepackage[utf8]{inputenc} +% \usepackage[english,ukrainian]{babel} +% \usepackage[useregional]{datetime2} +% \end{verbatim} +% +% +% +% \subsection{Lua(Xe)\LaTeX} +% +% \subsubsection{Usage with \texttt{babel}} +% +% To invoke Unicode mode, one needs to load the \texttt{fontspec} package instead +% of \texttt{inputenc} and \texttt{fontspec} and explicitly indicate which True Type +% or Open Type fonts should be used for romanic, sans-serif and monospaced types. +% The following example shows how to load Computer Modern Unicode (CMU) fonts, +% which is a part of all modern \LaTeX\ distributions with \texttt{babel} package: +% \begin{verbatim} +% \usepackage{fontspec} +% \defaultfontfeatures{Renderer=Basic,Ligatures={TeX}} +% \setmainfont{CMU Serif} +% \setsansfont{CMU Sans Serif} +% \setmonofont{CMU Typewriter Text} +% \usepackage[english,ukrainian]{babel} +% \usepackage[useregional]{datetime2} +% \end{verbatim} +% +% Here |Renderer=Basic,Ligatures={TeX}| activates ligatures which are existed +% in \LaTeX. +% +% \subsubsection{Usage with \texttt{polyglossia}} +% +% \begin{verbatim} +% \usepackage{polyglossia} +% \defaultfontfeatures{Renderer=Basic,Ligatures={TeX}} +% \setmainlanguage{ukrainian} +% \setotherlanguage{english} +% \setmainfont{CMU Serif} +% \setsansfont{CMU Sans Serif} +% \setmonofont{CMU Typewriter Text} +% \usepackage[english,ukrainian]{babel} +% \usepackage[useregional]{datetime2} +% \end{verbatim} +% +% If ohe need use month name in nominative form, it sould be able to switch between +% the different cases using \cs{DTMlangsetup}. For example: +% \begin{verbatim} +% % Default is genitive +% \today +% \DTMlangsetup[ukrainian]{month=nominative} +% % Now \today in nominative +% \today +% \end{verbatim} +% +% For more information see documentation on \href{https://www.ctan.org/pkg/datetime2}{\texttt{datetime2}}. +%\section{Implementetion} +%\iffalse +% \begin{macrocode} +%<*datetime2-ukrainian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +% This file contains the settings that use UTF-8 characters. This +% file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +% your text editor is set to UTF-8 if you want to view this code. +% \changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{ukrainian-utf8}[2017/06/13 1.2] +% \end{macrocode} +%\begin{macro}{\DTMukrainianordinal} +% \begin{macrocode} +\newcommand*{\DTMukrainianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianyear} +% \begin{macrocode} +\newcommand*{\DTMukrainianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}Ń.% +} +% \end{macrocode} +%\end{macro} +% +%\changes{1.2}{2017/06/13}{Add nominative month names (capitalize and common)} +% +%\begin{macro}{\DTMukrainiannominativemonthname} +% +% ======= Ukrainian month names in nominative ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiannominativemonthname}[1]{% + \ifcase#1 + \or + ŃŃŃŠµŠ½Ń% + \or + Š»ŃŃŠøŠ¹% + \or + Š±ŠµŃŠµŠ·ŠµŠ½Ń% + \or + ŠŗŠ²ŃŃŠµŠ½Ń% + \or + ŃŃŠ°Š²ŠµŠ½Ń% + \or + ŃŠµŃŠ²ŠµŠ½Ń% + \or + Š»ŠøŠæŠµŠ½Ń% + \or + ŃŠµŃŠæŠµŠ½Ń% + \or + Š²ŠµŃŠµŃŠµŠ½Ń% + \or + Š¶Š¾Š²ŃŠµŠ½Ń% + \or + Š»ŠøŃŃŠ¾ŠæŠ°Š“% + \or + Š³ŃŃŠ“ŠµŠ½Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiannominativeMonthname} +% +% ======= Ukrainian Capitalized month names in nominative ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiannominativeMonthname}[1]{% + \ifcase#1 + \or + Š”ŃŃŠµŠ½Ń% + \or + ŠŃŃŠøŠ¹% + \or + ŠŠµŃŠµŠ·ŠµŠ½Ń% + \or + ŠŠ²ŃŃŠµŠ½Ń% + \or + Š¢ŃŠ°Š²ŠµŠ½Ń% + \or + Š§ŠµŃŠ²ŠµŠ½Ń% + \or + ŠŠøŠæŠµŠ½Ń% + \or + Š”ŠµŃŠæŠµŠ½Ń% + \or + ŠŠµŃŠµŃŠµŠ½Ń% + \or + ŠŠ¾Š²ŃŠµŠ½Ń% + \or + ŠŠøŃŃŠ¾ŠæŠ°Š“% + \or + ŠŃŃŠ“ŠµŠ½Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiangenitivemonthname} +% +% ======= Ukrainian month names in genitive ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiangenitivemonthname}[1]{% + \ifcase#1 + \or + ŃŃŃŠ½Ń% + \or + Š»ŃŃŠ¾Š³Š¾% + \or + Š±ŠµŃŠµŠ·Š½Ń% + \or + ŠŗŠ²ŃŃŠ½Ń% + \or + ŃŃŠ°Š²Š½Ń% + \or + ŃŠµŃŠ²Š½Ń% + \or + Š»ŠøŠæŠ½Ń% + \or + ŃŠµŃŠæŠ½Ń% + \or + Š²ŠµŃŠµŃŠ½Ń% + \or + Š¶Š¾Š²ŃŠ½Ń% + \or + Š»ŠøŃŃŠ¾ŠæŠ°Š“Š°% + \or + Š³ŃŃŠ“Š½Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiangenitiveMonthname} +% +% ======= Ukrainian Capitalized month names in genitive ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiangenitiveMonthname}[1]{% + \ifcase#1 + \or + Š”ŃŃŠ½Ń% + \or + ŠŃŃŠ¾Š³Š¾% + \or + ŠŠµŃŠµŠ·Š½Ń% + \or + ŠŠ²ŃŃŠ½Ń% + \or + Š¢ŃŠ°Š²Š½Ń% + \or + Š§ŠµŃŠ²Š½Ń% + \or + ŠŠøŠæŠ½Ń% + \or + Š”ŠµŃŠæŠ½Ń% + \or + ŠŠµŃŠµŃŠ½Ń% + \or + ŠŠ¾Š²ŃŠ½Ń% + \or + ŠŠøŃŃŠ¾ŠæŠ°Š“Š°% + \or + ŠŃŃŠ“Š½Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% \changes{1.2}{2017/06/13}{Set as default genitive form of month name} +% Now we set \cs{DTMukrainiangenitiveMonthname} and \cs{DTMukrainiangenitivemonthname} as default setting. +% \begin{macrocode} +\newcommand*{\DTMukrainianmonthname}{\DTMukrainiangenitivemonthname}% default +\newcommand*{\DTMukrainianMonthname}{\DTMukrainiangenitiveMonthname}% default +% \end{macrocode} +% +%\begin{macro}{\DTMukrainianshortmonthname}% +% +% ======= Abbreviated Ukrainian short month names ======= +% +%\changes{v1.1}{2017/06/11}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMukrainianshortmonthname}[1]{% + \ifcase#1 + \or + ŃŃŃ.% + \or + Š»ŃŃ.% + \or + Š±ŠµŃ.% + \or + ŠŗŠ²ŃŃ.% + \or + ŃŃŠ°Š²% + \or + ŃŠµŃŠ².% + \or + Š»ŠøŠæ.% + \or + ŃŠµŃŠæ.% + \or + Š²ŠµŃ.% + \or + Š¶Š¾Š²Ń.% + \or + Š»ŠøŃŃŠ¾Šæ.% + \or + Š³ŃŃŠ“.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortMonthname} +% +% ======= Abbreviated Ukrainian Capitalized short month names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianshortMonthname}[1]{% + \ifcase#1 + \or + Š”ŃŃ.% + \or + ŠŃŃ.% + \or + ŠŠµŃ.% + \or + ŠŠ²ŃŃ.% + \or + Š¢ŃŠ°Š²% + \or + Š§ŠµŃŠ².% + \or + ŠŠøŠæ.% + \or + Š”ŠµŃŠæ.% + \or + ŠŠµŃ.% + \or + ŠŠ¾Š²Ń.% + \or + ŠŠøŃŃŠ¾Šæ.% + \or + ŠŃŃŠ“.% + \fi +} +% \end{macrocode} +%\end{macro} +% +% \changes{v1.1}{2017/06/11}{Adding Ukrainian week days} +%\begin{macro}{\DTMukrainianweekdayname} +% +% ======= Ukrainian day of week names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianweekdayname}[1]{% + \ifcase#1 + ŠæŠ¾Š½ŠµŠ“ŃŠ»Š¾Šŗ% + \or + Š²ŃŠ²ŃŠ¾ŃŠ¾Šŗ% + \or + ŃŠµŃŠµŠ“Š°% + \or + ŃŠµŃŠ²ŠµŃ% + \or + Šæ'ŃŃŠ½ŠøŃŃ% + \or + ŃŃŠ±Š¾ŃŠ°% + \or + Š½ŠµŠ“ŃŠ»Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianWeekdayname} +% +% ======= Ukrainian Capitalized day of week names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianWeekdayname}[1]{% + \ifcase#1 + ŠŠ¾Š½ŠµŠ“ŃŠ»Š¾Šŗ% + \or + ŠŃŠ²ŃŠ¾ŃŠ¾Šŗ% + \or + Š”ŠµŃŠµŠ“Š°% + \or + Š§ŠµŃŠ²ŠµŃ% + \or + Š'ŃŃŠ½ŠøŃŃ% + \or + Š”ŃŠ±Š¾ŃŠ°% + \or + ŠŠµŠ“ŃŠ»Ń% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortweekdayname} +% +% +% ======= Abbreviated Ukrainian day of week names ======= +% +%\changes{v1.1}{2017/06/11}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMukrainianshortweekdayname}[1]{% + \ifcase#1 + ŠæŠ½.% + \or + Š²Ń.% + \or + ŃŃ.% + \or + ŃŃ% + \or + ŠæŃ.% + \or + ŃŠ±.% + \or + Š½Š“.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortWeekdayname} +% +% ======= Abbreviated Ukrainian Capitalized day of week names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianshortWeekdayname}[1]{% + \ifcase#1 + ŠŠ½.% + \or + ŠŃ.% + \or + Š”Ń.% + \or + Š§Ń% + \or + ŠŃ.% + \or + Š”Š±.% + \or + ŠŠ“.% + \fi +} +% \end{macrocode} +%\end{macro} +% +% +%\iffalse +% \begin{macrocode} +%</datetime2-ukrainian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-ukrainian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-ukrainian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{ukrainian-ascii}[2017/06/13 1.2] +% \end{macrocode} +% +%I f abbreviated dates are supported, short month names should be +% likewise provided. +%\begin{macro}{\DTMukrainianordinal} +% \begin{macrocode} +\newcommand*{\DTMukrainianordinal}[1]{% + \number#1 +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianyear} +% \begin{macrocode} +\newcommand*{\DTMukrainianyear}[1]{% + \number#1 + \DTMtexorpdfstring{\protect~}{\space}\protect\cyrr.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiannominativemonthname} +% +% +% ======= Ukrainian month names in nominative ======= +% +% +% \begin{macrocode} +\newcommand*{\DTMukrainiannominativemonthname}[1]{% + \ifcase#1 + \or + \protect\cyrs\protect\cyrii\protect\cyrch\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrl\protect\cyryu\protect\cyrt\protect\cyri\protect\cyrishrt + \or + \protect\cyrb\protect\cyre\protect\cyrr\protect\cyre\protect\cyrz + \protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrk\protect\cyrv\protect\cyrii\protect\cyrt\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrt\protect\cyrr\protect\cyra\protect\cyrv\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrch\protect\cyre\protect\cyrr\protect\cyrv\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrl\protect\cyri\protect\cyrp\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrs\protect\cyre\protect\cyrr\protect\cyrp\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrv\protect\cyre\protect\cyrr\protect\cyre\protect\cyrs + \protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrzh\protect\cyro\protect\cyrv\protect\cyrt\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\cyrl\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp\protect\cyra\protect\cyrd + \or + \protect\cyrg\protect\cyrr\protect\cyru\protect\cyrd\protect\protect\cyre\protect\cyrn\protect\cyrsftsn + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiannominativeMonthname} +% +% +% ======= Ukrainian Capitalized month names in nominative ======= +% +% +% \begin{macrocode} +\newcommand*{\DTMukrainiannominativeMonthname}[1]{% + \ifcase#1 + \or + \protect\CYRS\protect\cyrii\protect\cyrch\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRL\protect\cyryu\protect\cyrt\protect\cyri\protect\cyrishrt + \or + \protect\CYRB\protect\cyre\protect\cyrr\protect\cyre\protect\cyrz + \protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRK\protect\cyrv\protect\cyrii\protect\cyrt\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRT\protect\cyrr\protect\cyra\protect\cyrv\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRCH\protect\cyre\protect\cyrr\protect\cyrv\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRL\protect\cyri\protect\cyrp\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRS\protect\cyre\protect\cyrr\protect\cyrp\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRV\protect\cyre\protect\cyrr\protect\cyre\protect\cyrs + \protect\CYRE\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRZH\protect\cyro\protect\cyrv\protect\cyrt\protect\cyre\protect\cyrn\protect\cyrsftsn + \or + \protect\CYRL\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp\protect\cyra\protect\cyrd + \or + \protect\CYRG\protect\cyrr\protect\cyru\protect\cyrd\protect\protect\cyre\protect\cyrn\protect\cyrsftsn + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiangenitivemonthname} +% +% ======= Ukrainian month names in genitive ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiangenitivemonthname}[1]{% + \ifcase#1 + \or + \protect\cyrs\protect\cyrii\protect\cyrch\protect\cyrn\protect\cyrya + \or + \protect\cyrl\protect\cyryu\protect\cyrt\protect\cyro\protect\cyrg + \protect\cyro + \or + \protect\cyrb\protect\cyre\protect\cyrr\protect\cyre\protect\cyrz + \protect\cyrn\protect\cyrya + \or + \protect\cyrk\protect\cyrv\protect\cyrii\protect\cyrt\protect\cyrn + \protect\cyrya + \or + \protect\cyrt\protect\cyrr\protect\cyra\protect\cyrv\protect\cyrn + \protect\cyrya + \or + \protect\cyrch\protect\cyre\protect\cyrr\protect\cyrv\protect\cyrn + \protect\cyrya + \or + \protect\cyrl\protect\cyri\protect\cyrp\protect\cyrn\protect\cyrya + \or + \protect\cyrs\protect\cyre\protect\cyrr\protect\cyrp\protect\cyrn + \protect\cyrya + \or + \protect\cyrv\protect\cyre\protect\cyrr\protect\cyre\protect\cyrs + \protect\cyrn\protect\cyrya + \or + \protect\cyrzh\protect\cyro\protect\cyrv\protect\cyrt\protect\cyrn + \protect\cyrya + \or + \protect\cyrl\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp\protect\cyra\protect\cyrd\protect\cyra + \or + \protect\cyrg\protect\cyrr\protect\cyru\protect\cyrd\protect\cyrn + \protect\cyrya + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiangenitiveMonthname} +% +% ======= Ukrainian Capitalized month names in genitive ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainiangenitiveMonthname}[1]{% + \ifcase#1 + \or + \protect\CYRS\protect\cyrii\protect\cyrch\protect\cyrn\protect\cyrya + \or + \protect\CYRL\protect\cyryu\protect\cyrt\protect\cyro\protect\cyrg + \protect\cyro + \or + \protect\CYRB\protect\cyre\protect\cyrr\protect\cyre\protect\cyrz + \protect\cyrn\protect\cyrya + \or + \protect\CYRK\protect\cyrv\protect\cyrii\protect\cyrt\protect\cyrn + \protect\cyrya + \or + \protect\CYRT\protect\cyrr\protect\cyra\protect\cyrv\protect\cyrn + \protect\cyrya + \or + \protect\CYRCH\protect\cyre\protect\cyrr\protect\cyrv\protect\cyrn + \protect\cyrya + \or + \protect\CYRL\protect\cyri\protect\cyrp\protect\cyrn\protect\cyrya + \or + \protect\CYRS\protect\cyre\protect\cyrr\protect\cyrp\protect\cyrn + \protect\cyrya + \or + \protect\CYRV\protect\cyre\protect\cyrr\protect\cyre\protect\cyrs + \protect\cyrn\protect\cyrya + \or + \protect\CYRZH\protect\cyro\protect\cyrv\protect\cyrt\protect\cyrn + \protect\cyrya + \or + \protect\CYRL\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp\protect\cyra\protect\cyrd\protect\cyra + \or + \protect\CYRG\protect\cyrr\protect\cyru\protect\cyrd\protect\cyrn + \protect\cyrya + \fi +} +% \end{macrocode} +%\end{macro} +% +%\changes{1.2}{2017/06/13}{Set as default genitive form of month name} +% Now we set \cs{DTMukrainiangenitiveMonthname} and \cs{DTMukrainiangenitivemonthname} as default setting. +% \begin{macrocode} +\newcommand*{\DTMukrainianmonthname}{\DTMukrainiangenitivemonthname}% default +\newcommand*{\DTMukrainianMonthname}{\DTMukrainiangenitiveMonthname}% default +% \end{macrocode} +% +% +%\begin{macro}{\DTMukrainianshortmonthname} +% +% ======= Abbreviated Ukrainian month names ======= +% +%\changes{v1.1}{2017/06/11}{Add abbreviated month names} +% \begin{macrocode} +\newcommand*{\DTMukrainianshortmonthname}[1]{% + \ifcase#1 + \or + \protect\cyrs\protect\cyrii\protect\cyrch. + \or + \protect\cyrl\protect\cyryu\protect\cyrt. + \or + \protect\cyrb\protect\cyre\protect\cyrr. + \or + \protect\cyrk\protect\cyrv\protect\cyrii\protect\cyrt. + \or + \protect\cyrt\protect\cyrr\protect\cyra\protect\cyrv. + \or + \protect\cyrch\protect\cyre\protect\cyrr\protect\cyrv. + \or + \protect\cyrl\protect\cyri\protect\cyrp. + \or + \protect\cyrs\protect\cyre\protect\cyrr\protect\cyrp. + \or + \protect\cyrv\protect\cyre\protect\cyrr. + \or + \protect\cyrzh\protect\cyro\protect\cyrv\protect\cyrt. + \or + \protect\cyrl\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp. + \or + \protect\cyrg\protect\cyrr\protect\cyru\protect\cyrd. + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortMonthname} +% +% ======= Abbreviated Capitalized Ukrainian month names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianshortMonthname}[1]{% + \ifcase#1 + \or + \protect\CYRS\protect\cyrii\protect\cyrch. + \or + \protect\CYRL\protect\cyryu\protect\cyrt. + \or + \protect\CYRB\protect\cyre\protect\cyrr. + \or + \protect\CYRK\protect\cyrv\protect\cyrii\protect\cyrt. + \or + \protect\CYRT\protect\cyrr\protect\cyra\protect\cyrv. + \or + \protect\CYRCH\protect\cyre\protect\cyrr\protect\cyrv. + \or + \protect\CYRL\protect\cyri\protect\cyrp. + \or + \protect\CYRS\protect\cyre\protect\cyrr\protect\cyrp. + \or + \protect\CYRV\protect\cyre\protect\cyrr. + \or + \protect\CYRZH\protect\cyro\protect\cyrv\protect\cyrt. + \or + \protect\CYRL\protect\cyri\protect\cyrs\protect\cyrt\protect\cyro + \protect\cyrp. + \or + \protect\CYRG\protect\cyrr\protect\cyru\protect\cyrd. + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianweekdayname} +% +% ======= Ukrainian day of week names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianweekdayname}[1]{% + \ifcase#1 + \protect\cyrp\protect\cyro\protect\cyrn\protect\cyre\protect\cyrd\protect\cyrii\protect\cyrl\protect\cyro\protect\cyrk% + \or + \protect\cyrv\protect\cyrii\protect\cyrv\protect\cyrt\protect\cyro\protect\cyrr\protect\cyro\protect\cyrk% + \or + \protect\cyrs\protect\cyre\protect\cyrr\protect\cyre\protect\cyrd\protect\cyra% + \or + \protect\cyrch\protect\cyre\protect\cyrt\protect\cyrv\protect\cyre\protect\cyrr% + \or + \protect\cyrp'\protect\cyrya\protect\cyrt\protect\cyrn\protect\cyri\protect\cyrc\protect\cyrya% + \or + \protect\cyrs\protect\cyru\protect\cyrb\protect\cyro\protect\cyrt\protect\cyra% + \or + \protect\cyrn\protect\cyre\protect\cyrd\protect\cyrii\protect\cyrl\protect\cyrya% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianWeekdayname} +% +% ======= Ukrainian Capitalized day of week names ======= +% +% \begin{macrocode} +\newcommand*{\DTMukrainianWeekdayname}[1]{% + \ifcase#1 + \protect\CYRP\protect\cyro\protect\cyrn\protect\cyre\protect\cyrd\protect\cyrii\protect\cyrl\protect\cyro\protect\cyrk% + \or + \protect\CYRV\protect\cyrii\protect\cyrv\protect\cyrt\protect\cyro\protect\cyrr\protect\cyro\protect\cyrk% + \or + \protect\CYRS\protect\cyre\protect\cyrr\protect\cyre\protect\cyrd\protect\cyra% + \or + \protect\CYRCH\protect\cyre\protect\cyrt\protect\cyrv\protect\cyre\protect\cyrr% + \or + \protect\CYRP'\protect\cyrya\protect\cyrt\protect\cyrn\protect\cyri\protect\cyrc\protect\cyrya% + \or + \protect\CYRS\protect\cyru\protect\cyrb\protect\cyro\protect\cyrt\protect\cyra% + \or + \protect\CYRN\protect\cyre\protect\cyrd\protect\cyrii\protect\cyrl\protect\cyrya% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortweekdayname} +% +% ======= Abbreviated Ukrainian day of week names ======= +% +%\changes{v1.1}{2017/06/11}{Add abbreviated day of week names} +% \begin{macrocode} +\newcommand*{\DTMukrainianshortweekdayname}[1]{% + \ifcase#1 + \protect\cyrp\protect\cyrn.% + \or + \protect\cyrv\protect\cyrt.% + \or + \protect\cyrs\protect\cyrr.% + \or + \protect\cyrch\protect\cyrt% + \or + \protect\cyrp\protect\cyrt.% + \or + \protect\cyrs\protect\cyrb.% + \or + \protect\cyrn\protect\cyrd.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianshortWeekdayname} +% ======= Abbreviated Ukrainian Capitalized day of week names ======= +% \begin{macrocode} +\newcommand*{\DTMukrainianshortWeekdayname}[1]{% + \ifcase#1 + \protect\CYRP\protect\cyrn.% + \or + \protect\CYRV\protect\cyrt.% + \or + \protect\CYRS\protect\cyrr.% + \or + \protect\CYRCH\protect\cyrt.% + \or + \protect\CYRP\protect\cyrt.% + \or + \protect\CYRS\protect\cyrb.% + \or + \protect\CYRN\protect\cyrd.% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-ukrainian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Ukrainian Module (\texttt{datetime2-ukrainian.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-ukrainian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{ukrainian}[2017/06/13 1.2] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{ukrainian-utf8} if either of those engines are used +% otherwise load \texttt{ukrainian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{ukrainian-utf8} +\else + \ifluatex + \RequireDateTimeModule{ukrainian-utf8} + \else + \RequireDateTimeModule{ukrainian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{ukrainian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "ukrainian" and +% "ukrainian-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}{\DTMukrainiandowdaysep} +% The separator between the day of week name and the day of month +% number for the text format. +%\changes{1.2}{2017/06/13}{Add support for showdow} +% \begin{macrocode} +\newcommand*{\DTMukrainiandowdaysep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMukrainiandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +% \changes{1.2}{2017/06/13}{Added \cs{DTMukrainiannommonthyearsep}} +% +%\begin{macro}{\DTMukrainiannommonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMukrainiannommonthyearsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainianmonthyearsep} +% The separator between the month and year for the text format. +% \changes{1.2}{2017/06/13}{Fixed: spacebar in tableofcontents was} +% \begin{macrocode} +\newcommand*{\DTMukrainianmonthyearsep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMukrainiandatetimesep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMukrainiantimezonesep}{% + \DTMtexorpdfstring{\protect~}{\space}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMukrainiandatesep}{.} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMukrainiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMukrainiantimesep}{:} +% \end{macrocode} +%\end{macro} +% +% Provide keys that can be used in \cs{DTMlangsetup} to set these +% separators. +% \changes{1.2}{2017/06/13}{Added key dowdaysep} +% \begin{macrocode} +\DTMdefkey{ukrainian}{dowdaysep}{\renewcommand*{\DTMukrainiandowdaysep}{#1}} +\DTMdefkey{ukrainian}{daymonthsep}{\renewcommand*{\DTMukrainiandaymonthsep}{#1}} +\DTMdefkey{ukrainian}{monthyearsep}{\renewcommand*{\DTMukrainianmonthyearsep}{#1}} +\DTMdefkey{ukrainian}{nommonthyearsep}{\renewcommand*{\DTMukrainiannommonthyearsep}{#1}} +\DTMdefkey{ukrainian}{datetimesep}{\renewcommand*{\DTMukrainiandatetimesep}{#1}} +\DTMdefkey{ukrainian}{timezonesep}{\renewcommand*{\DTMukrainiantimezonesep}{#1}} +\DTMdefkey{ukrainian}{datesep}{\renewcommand*{\DTMukrainiandatesep}{#1}} +\DTMdefkey{ukrainian}{timesep}{\renewcommand*{\DTMukrainiantimesep}{#1}} +% \end{macrocode} +% \changes{1.2}{2017/06/13}{Added genitive and nominative keys} +% The block that defines the module options for using genitive or nominative case of month name: +% +% \begin{macrocode} +\DTMdefchoicekey{ukrainian}{month}[\val\nr]{genitive,nominative}{% + \ifcase\nr\relax + \renewcommand*\DTMukrainianmonthname{\DTMukrainiangenitivemonthname}% + \renewcommand*\DTMukrainianMonthname{\DTMukrainiangenitiveMonthname}% + \or + \renewcommand*\DTMukrainianmonthname{\DTMukrainiannominativemonthname}% + \renewcommand*\DTMukrainianMonthname{\DTMukrainiannominativeMonthname}% + \fi +} +% \end{macrocode} +% +% \changes{1.2}{2017/06/13}{Define a boolean key that can switch between full and abbreviated +% formats for the month and day of week names in the text format} +% 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{ukrainian}{abbr}[true]{} +% \end{macrocode} +% The default is the full name. +% \begin{macrocode} +\DTMsetbool{ukrainian}{abbr}{false} +% \end{macrocode} +% +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{ukrainian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{ukrainian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ukrainian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{ukrainian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{ukrainian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{ukrainian}{showyear}{true} +% \end{macrocode} +% +% \begin{macrocode} +\DTMnewstyle + {ukrainian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortweekdayname{##4}}% + {\DTMukrainianweekdayname{##4}}% + \DTMukrainiandowdaysep + \fi + \fi + \DTMifbool{ukrainian}{showdayofmonth}% + {% + \DTMukrainianordinal{##3}% + \DTMukrainiandaymonthsep + }% + {}% + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortmonthname{##2}}% + {\DTMukrainianmonthname{##2}}% + \DTMifbool{ukrainian}{showyear}% + {% + \DTMukrainianmonthyearsep + \DTMukrainianyear{##1}% + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \ifDTMshowdow + \ifnum##4>-1 + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortWeekdayname{##4}}% + {\DTMukrainianWeekdayname{##4}}% + \DTMukrainiandowdaysep + \DTMifbool{ukrainian}{showdayofmonth}% + {% + \DTMukrainianordinal{##3}% + \DTMukrainiandaymonthsep + }% + {}% + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortmonthname{##2}}% + {\DTMukrainianmonthname{##2}}% + \DTMifbool{ukrainian}{showyear}% + {% + \DTMukrainianmonthyearsep + \DTMukrainianyear{##1}% + }% + {}% + \else + \DTMifbool{ukrainian}{showdayofmonth} + {% + \DTMukrainianordinal{##3}% + \DTMukrainiandaymonthsep + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortMonthname{##2}}% + {\DTMukrainianMonthname{##2}}% + }% + {% + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortMonthname{##2}}% + {\DTMukrainianMonthname{##2}}% + }% + \DTMifbool{ukrainian}{showyear}% + {% + \DTMukrainianmonthyearsep + \DTMukrainianyear{##1}% + }% + {}% + \fi + \else + \DTMifbool{ukrainian}{showdayofmonth} + {% + \DTMukrainianordinal{##3}% + \DTMukrainiandaymonthsep + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortMonthname{##2}}% + {\DTMukrainianMonthname{##2}}% + }% + {% + \DTMifbool{ukrainian}{abbr}% + {\DTMukrainianshortMonthname{##2}}% + {\DTMukrainianMonthname{##2}}% + }% + \DTMifbool{ukrainian}{showyear}% + {% + \DTMukrainianmonthyearsep + \DTMukrainianyear{##1}% + }% + {}% + \fi + }% + }% + {% time style (ignores seconds) + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMukrainiantimesep\DTMtwodigits{##2}% + }% + }% + {% zone style + \DTMresetzones + \DTMukrainianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ukrainian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMukrainiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMukrainiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMukrainiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMukrainiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMukrainiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {ukrainian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{ukrainian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMukrainiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{ukrainian}{showyear}% + {% + \DTMukrainiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMukrainiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMukrainiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMukrainianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{ukrainian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMukrainiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMukrainiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMukrainiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMukrainianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. These may need translating (in which case the definitions +% might need to be moved to the \texttt{utf8} and \texttt{ascii} ldf +% files). +% \begin{macrocode} +\newcommand*{\DTMukrainianzonemaps}{% + \DTMdefzonemap{02}{00}{EET}% Š”Ń
ŃŠ“Š½Š¾ŃŠ²ŃŠ¾ŠæŠµŠ¹ŃŃŠŗŠøŠ¹ ŃŠ°Ń + \DTMdefzonemap{03}{00}{EEST}% Š”Ń
ŃŠ“Š½Š¾ŃŠ²ŃŠ¾ŠæŠµŠ¹ŃŃŠŗŠøŠ¹ Š»ŃŃŠ½ŃŠ¹ ŃŠ°Ń +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{ukrainian}}% +{\DTMsetstyle{ukrainian-numeric}}% +% \end{macrocode} +% +% Redefine \cs{dateukrainian} (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\dateukrainian + {% do nothing + }% + {% + \def\dateukrainian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ukrainian}}% + {\DTMsetstyle{ukrainian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{ukrainian}}% + {\DTMsetstyle{ukrainian-numeric}}% + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-ukrainian.ldf> +% \end{macrocode} +%\fi +% +% \CheckSum{1642} +%\Finale diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.ins new file mode 100644 index 0000000000..762dcbc48c --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.ins @@ -0,0 +1,117 @@ +%% +%% This is file `datetime2-ukrainian.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% datetime2-ukrainian.dtx (with options: `install') +%% ---------------------------------------------------------------- +%% +%% This material is subject to the LaTeX Project Public License. +%% See http://www.ctan.org/license/lppl1.3 for the details of that +%% license. +%% +%% ---------------------------------------------------------------- +%% +\input docstrip.tex +\keepsilent +\askforoverwritefalse +\preamble +---------------------------------------------------------------- + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + +---------------------------------------------------------------- + +\endpreamble +\postamble + +---------------------------------------------------------------- + datetime2-ukrainian.dtx + Copyright 2015 Nicola Talbot + 2017 Sergiy M. Ponomarenko + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-ukrainian.dtx + datetime2-ukrainian.ins + datetime2-ukrainian-utf8.ldf, + datetime2-ukrainian-ascii.ldf + datetime2-ukrainian.ldf. +---------------------------------------------------------------- + +\endpostamble + +\usedir{tex/latex/datetime2-ukrainian} +\askforoverwritefalse + +\generate +{% + \file + {datetime2-ukrainian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ukrainian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-ukrainian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-ukrainian.dtx}{datetime2-ukrainian.ldf,package}% + }% +} +\endbatchfile + +%% +%% ---------------------------------------------------------------- +%% datetime2-ukrainian.dtx +%% Copyright 2015 Nicola Talbot +%% 2017 Sergiy M. Ponomarenko +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `inactive'. +%% +%% +%% This work consists of the files datetime2-ukrainian.dtx +%% datetime2-ukrainian.ins +%% datetime2-ukrainian-utf8.ldf, +%% datetime2-ukrainian-ascii.ldf +%% datetime2-ukrainian.ldf. +%% ---------------------------------------------------------------- +%% +%% +%% End of file `datetime2-ukrainian.ins'. diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.pdf Binary files differnew file mode 100644 index 0000000000..5638c90e83 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-ukrainian/datetime2-ukrainian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/README b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/README new file mode 100644 index 0000000000..a85cf8b7ab --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/README @@ -0,0 +1,57 @@ +Upper Sorbian Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[usorbian]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[usorbian]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{usorbian} +\usepackage[usorbian]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +xelatex datetime2-usorbian.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-usorbian/ + +Documentation: + +xelatex datetime2-usorbian.dtx +makeindex -s gind.ist datetime2-usorbian.idx +makeindex -s gglo.ist -o datetime2-usorbian.gls datetime2-usorbian.glo +xelatex datetime2-usorbian.dtx +xelatex datetime2-usorbian.dtx + +Move datetime2-usorbian.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-usorbian/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.dtx new file mode 100644 index 0000000000..8f31498f59 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.dtx @@ -0,0 +1,792 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage{fontspec} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Upper Sorbian Module}]{hyperref} + +\setmainfont{Liberation Serif} +\setmonofont{Liberation Mono} + +\CheckSum{395} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-usorbian.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Upper Sorbian Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-04-01 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Upper Sorbian 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-usorbian}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Upper Sorbian. +%In particular, I don't know if the "usorbian" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-usorbian.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-usorbian-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{usorbian-utf8}[2015/04/01 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMusorbianordinal} +% \begin{macrocode} +\newcommand*{\DTMusorbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +% +%\begin{macro}{\DTMusorbiannewmonthname} +% Upper Sorbian month names. +% \begin{macrocode} +\newcommand*{\DTMusorbiannewmonthname}[1]{% + \ifcase#1 + \or + januara% + \or + februara% + \or + mÄrca% + \or + apryla% + \or + meje% + \or + junija% + \or + julija% + \or + awgusta% + \or + septembra% + \or + oktobra% + \or + nowembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiannewMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMusorbiannewMonthname}[1]{% + \ifcase#1 + \or + Januara% + \or + Februara% + \or + MÄrca% + \or + Apryla% + \or + Meje% + \or + Junija% + \or + Julija% + \or + Awgusta% + \or + Septembra% + \or + Oktobra% + \or + Nowembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbianoldmonthname} +% Upper Sorbian (old) month names. +% \begin{macrocode} +\newcommand*{\DTMusorbianoldmonthname}[1]{% + \ifcase#1 + \or + wulkeho rĆ³Å¾ka% + \or + maÅeho rĆ³Å¾ka% + \or + nalÄtnika% + \or + jutrownika% + \or + rĆ³Å¾ownika% + \or + smažnika% + \or + pražnika% + \or + žnjenca% + \or + požnjenca% + \or + winowca% + \or + nazymnika% + \or + hodownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbianoldMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMusorbianoldMonthname}[1]{% + \ifcase#1 + \or + Wulkeho rĆ³Å¾ka% + \or + MaÅeho rĆ³Å¾ka% + \or + NalÄtnika% + \or + Jutrownika% + \or + RĆ³Å¾ownika% + \or + Smažnika% + \or + Pražnika% + \or + Žnjenca% + \or + Požnjenca% + \or + Winowca% + \or + Nazymnika% + \or + Hodownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-usorbian-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-usorbian-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-usorbian-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-04-01}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{usorbian-ascii}[2015/04/01 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMusorbianordinal} +% \begin{macrocode} +\newcommand*{\DTMusorbianordinal}[1]{% + \number#1.% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiannewmonthname} +% Upper Sorbian month names. +% \begin{macrocode} +\newcommand*{\DTMusorbiannewmonthname}[1]{% + \ifcase#1 + \or + januara% + \or + februara% + \or + m\protect\v erca% + \or + apryla% + \or + meje% + \or + junija% + \or + julija% + \or + awgusta% + \or + septembra% + \or + oktobra% + \or + nowembra% + \or + decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiannewMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMusorbiannewMonthname}[1]{% + \ifcase#1 + \or + Januara% + \or + Februara% + \or + M\protect\v erca% + \or + Apryla% + \or + Meje% + \or + Junija% + \or + Julija% + \or + Awgusta% + \or + Septembra% + \or + Oktobra% + \or + Nowembra% + \or + Decembra% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbianoldmonthname} +% Upper Sorbian (old) month names. +% \begin{macrocode} +\newcommand*{\DTMusorbianoldmonthname}[1]{% + \ifcase#1 + \or + wulkeho r\protect\'o\protect\v zka% + \or + ma\protect\l eho r\protect\'o\protect\v zka% + \or + nal\protect\v etnika% + \or + jutrownika% + \or + r\protect\'o\protect\v zownika% + \or + sma\protect\v znika% + \or + pra\protect\v znika% + \or + \protect\v znjenca% + \or + po\protect\v znjenca% + \or + winowca% + \or + nazymnika% + \or + hodownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbianoldMonthname} +% As above but capitalize. +% \begin{macrocode} +\newcommand*{\DTMusorbianoldMonthname}[1]{% + \ifcase#1 + \or + Wulkeho r\protect\'o\protect\v zka% + \or + Ma\protect\l eho r\protect\'o\protect\v zka% + \or + Nal\protect\v etnika% + \or + Jutrownika% + \or + R\protect\'o\protect\v zownika% + \or + Sma\protect\v znika% + \or + Pra\protect\v znika% + \or + \protect\v Znjenca% + \or + Po\protect\v znjenca% + \or + Winowca% + \or + Nazymnika% + \or + Hodownika% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-usorbian-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Upper Sorbian Module (\texttt{datetime2-usorbian.ldf})} +%\changes{1.0}{2015-04-01}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-usorbian.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{usorbian}[2015/04/01 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{usorbian-utf8} if either of those engines are used +% otherwise load \texttt{usorbian-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{usorbian-utf8} +\else + \ifluatex + \RequireDateTimeModule{usorbian-utf8} + \else + \RequireDateTimeModule{usorbian-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{usorbian} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "usorbian" and +% "usorbian-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}{\DTMusorbiandaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMusorbiandaymonthsep}{% + \DTMtexorpdfstring{\protect~}{\space}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbianmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMusorbianmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiandatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMusorbiandatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiantimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMusorbiantimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiandatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMusorbiandatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMusorbiantimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMusorbiantimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{usorbian}{daymonthsep}{\renewcommand*{\DTMusorbiandaymonthsep}{#1}} +\DTMdefkey{usorbian}{monthyearsep}{\renewcommand*{\DTMusorbianmonthyearsep}{#1}} +\DTMdefkey{usorbian}{datetimesep}{\renewcommand*{\DTMusorbiandatetimesep}{#1}} +\DTMdefkey{usorbian}{timezonesep}{\renewcommand*{\DTMusorbiantimezonesep}{#1}} +\DTMdefkey{usorbian}{datesep}{\renewcommand*{\DTMusorbiandatesep}{#1}} +\DTMdefkey{usorbian}{timesep}{\renewcommand*{\DTMusorbiantimesep}{#1}} +% \end{macrocode} +% +%\begin{macro}{\DTMusorbianmonthname} +% Provide a way to switch between old and new month names +% \begin{macrocode} +\newcommand*\DTMusorbianmonthname{\DTMusorbiannewmonthname} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\DTMusorbianMonthname} +% Provide a way to switch between old and new month names +% \begin{macrocode} +\newcommand*\DTMusorbianMonthname{\DTMusorbiannewMonthname} +% \end{macrocode} +%\end{macro} +% Define a key to easily switch: +% \begin{macrocode} +\DTMdefchoicekey{usorbian}{style}[\val\nr]{old,new}{% + \ifcase\nr\relax + \renewcommand*\DTMusorbianmonthname{\DTMusorbianoldmonthname}% + \renewcommand*\DTMusorbianMonthname{\DTMusorbianoldMonthname}% + \or + \renewcommand*\DTMusorbianmonthname{\DTMusorbiannewmonthname}% + \renewcommand*\DTMusorbianMonthname{\DTMusorbiannewMonthname}% + \fi +} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{usorbian}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{usorbian}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{usorbian}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{usorbian}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{usorbian}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{usorbian}{showyear}{true} +% \end{macrocode} +% +% Define the "usorbian" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {usorbian}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{usorbian}{showdayofmonth} + {\DTMusorbianordinal{##3}\DTMusorbiandaymonthsep}% + {}% + \DTMusorbianmonthname{##2}% + \DTMifbool{usorbian}{showyear}% + {% + \DTMusorbianmonthyearsep + \number##1 + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{usorbian}{showdayofmonth} + {% + \DTMusorbianordinal{##3}\DTMusorbiandaymonthsep + \DTMusorbianmonthname{##2}% + }% + {% + \DTMusorbianMonthname{##2}% + }% + \DTMifbool{usorbian}{showyear}% + {% + \DTMusorbianmonthyearsep + \number##1 + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMusorbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{usorbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMusorbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMusorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMusorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMusorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMusorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {usorbian-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{usorbian}{showdayofmonth}% + {% + \number##3 % space intended + \DTMusorbiandatesep + }% + {}% + \number##2 % space intended + \DTMifbool{usorbian}{showyear}% + {% + \DTMusorbiandatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMusorbiantimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMusorbiantimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMusorbianzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{usorbian}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMusorbiantimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMusorbiandatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMusorbiantimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMusorbianzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMusorbianzonemaps}{% + \DTMdefzonemap{01}{00}{CET}% + \DTMdefzonemap{02}{00}{CEST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{usorbian}} +{\DTMsetstyle{usorbian-numeric}} +% \end{macrocode} +% +% Redefine \cs{dateusorbian} (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\dateusorbian + {% do nothing + }% + {% + \def\dateusorbian{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{usorbian}}% + {\DTMsetstyle{usorbian-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{usorbian}}% + {\DTMsetstyle{usorbian-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-usorbian.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.ins b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.ins new file mode 100644 index 0000000000..1f34681fd9 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-usorbian.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-usorbian.dtx and + datetime2-usorbian.ins and the derived files + datetime2-usorbian-utf8.ldf, datetime2-usorbian-ascii.ldf and + datetime2-usorbian.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-usorbian-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-usorbian.dtx}{datetime2-usorbian-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-usorbian-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-usorbian.dtx}{datetime2-usorbian-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-usorbian.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-usorbian.dtx}{datetime2-usorbian.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.pdf Binary files differnew file mode 100644 index 0000000000..01f4c3ce00 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-usorbian/datetime2-usorbian.pdf diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-welsh/README b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/README new file mode 100644 index 0000000000..cc67e70f23 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/README @@ -0,0 +1,57 @@ +Welsh Language Module for datetime2 Package + +Author: Nicola L. C. Talbot (inactive) + +Licence: LPPL + +Required Packages: datetime2, tracklang + +This module is unmaintained. If you want to volunteer to take over +the maintenance contact me at www.dickimaw-books.com/contact.html + +Example usage: + +\documentclass{article} +\usepackage[welsh]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass[welsh]{article} +\usepackage{babel} +\usepackage[useregional]{datetime2} +\begin{document} +\today +\end{document} + +\documentclass{article} +\usepackage{polyglossia} +\setmainlanguage{welsh} +\usepackage[welsh]{datetime2} +\begin{document} +\today +\end{document} + +INSTALLATION +============ + +latex datetime2-welsh.ins + +Move all *.ldf files to +TEXMF/tex/latex/datetime2-contrib/datetime2-welsh/ + +Documentation: + +pdflatex datetime2-welsh.dtx +makeindex -s gind.ist datetime2-welsh.idx +makeindex -s gglo.ist -o datetime2-welsh.gls datetime2-welsh.glo +pdflatex datetime2-welsh.dtx +pdflatex datetime2-welsh.dtx + +Move datetime2-welsh.pdf and README to +TEXMF/doc/latex/datetime2-contrib/datetime2-welsh/ + +This material is subject to the LaTeX Project Public License. +See http://www.ctan.org/license/lppl1.3 for the details of that +license. + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.dtx b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.dtx new file mode 100644 index 0000000000..3ee74c95af --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.dtx @@ -0,0 +1,600 @@ +%\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> +%\fi +% \iffalse +% Doc-Source file to use with LaTeX2e +% Copyright (C) 2015 Nicola Talbot, all rights reserved. +% (New maintainer add relevant lines here.) +% \fi +% \iffalse +%<*driver> +\documentclass{ltxdoc} + +\usepackage{alltt} +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[colorlinks, + bookmarks, + hyperindex=false, + pdfauthor={Nicola L.C. Talbot}, + pdftitle={datetime2.sty Welsh Module}]{hyperref} + + +\CheckSum{261} + +\renewcommand*{\usage}[1]{\hyperpage{#1}} +\renewcommand*{\main}[1]{\hyperpage{#1}} +\IndexPrologue{\section*{\indexname}\markboth{\indexname}{\indexname}} +\setcounter{IndexColumns}{2} + +\newcommand*{\sty}[1]{\textsf{#1}} +\newcommand*{\opt}[1]{\texttt{#1}\index{#1=\texttt{#1}|main}} + +\RecordChanges +\PageIndex +\CodelineNumbered + +\begin{document} +\DocInput{datetime2-welsh.dtx} +\end{document} +%</driver> +%\fi +% +%\MakeShortVerb{"} +% +%\title{Welsh Module for datetime2 Package} +%\author{Nicola L. C. Talbot (inactive)} +%\date{2015-03-26 (v1.0)} +%\maketitle +% +%This module is currently unmaintained and may be subject to change. +%If you want to volunteer to take over maintanance, contact me at +%\url{http://www.dickimaw-books.com/contact.html} +% +%\begin{abstract} +%This is the Welsh 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 +% \cs{DTMsetstyle}, but this may be changed by \cs{date}\meta{language} +% depending on the value of the \opt{useregional} setting. +%\end{abstract} +% +%I've copied the date style from \texttt{babel-welsh}'s \cs{today}. +% +%I don't know if these settings are correct as I can't speak Welsh. +%In particular, I don't know if the "welsh" time style is +%correct. Currently this just uses the "default" time style. Please +%be aware that this may change. Whoever takes over maintanance +%of this module may can change it as appropriate. +% +%The new maintainer should add the line: +%\begin{verbatim} +% The Current Maintainer of this work is Name. +%\end{verbatim} +%to the preamble part in \texttt{datetime2-welsh.ins} where Name +%is the name of the maintainer(s) and replace +%the `inactive' status to `maintained'. +% +%Currently there is only a regionless style. New maintainers may +%want to add regional variants "cy-GB"\slash"cy-GB-numeric" and +%"cy-AR"\slash"cy-AR-numeric" once "cy-GB" and "cy-AR" have been added +%to \sty{tracklang}. This style currently doesn't check the +%\opt{showdow} setting. +% +%\StopEventually{% +%\clearpage +%\phantomsection +%\addcontentsline{toc}{section}{Change History}% +%\PrintChanges +%\addcontentsline{toc}{section}{\indexname}% +%\PrintIndex} +%\section{The Code} +%\iffalse +% \begin{macrocode} +%<*datetime2-welsh-utf8.ldf> +% \end{macrocode} +%\fi +%\subsection{UTF-8} +%This file contains the settings that use UTF-8 characters. This +%file is loaded if XeLaTeX or LuaLaTeX are used. Please make sure +%your text editor is set to UTF-8 if you want to view this code. +%\changes{1.0}{2015-03-26}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{welsh-utf8}[2015/03/26 v1.0] +% \end{macrocode} +%\begin{macro}{\DTMwelshordinal} +% \begin{macrocode} +\newcommand*{\DTMwelshordinal}[1]{% + \number#1 + \ifnum#1=1 + \DTMwelshfmtordinal{aƱ}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshfmtordinal} +% \begin{macrocode} +\newcommand*{\DTMwelshfmtordinal}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{#1}}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshmonthname} +% Welsh month names. +% \begin{macrocode} +\newcommand*{\DTMwelshmonthname}[1]{% + \ifcase#1 + \or + Ionawr% + \or + Chwefror% + \or + Mawrth% + \or + Ebrill% + \or + Mai% + \or + Mehefin% + \or + Gorffennaf% + \or + Awst% + \or + Medi% + \or + Hydref% + \or + Tachwedd% + \or + Rhagfyr% + \fi +} +% \end{macrocode} +%\end{macro} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +% +%\iffalse +% \begin{macrocode} +%</datetime2-welsh-utf8.ldf> +% \end{macrocode} +%\fi +%\iffalse +% \begin{macrocode} +%<*datetime2-welsh-ascii.ldf> +% \end{macrocode} +%\fi +%\subsection{ASCII} +%This file contains the settings that use \LaTeX\ commands for +%non-ASCII characters. This should be input if neither XeLaTeX nor +%LuaLaTeX are used. Even if the user has loaded \sty{inputenc} with +%"utf8", this file should still be used not the +%\texttt{datetime2-welsh-utf8.ldf} file as the non-ASCII +%characters are made active in that situation and would need +%protecting against expansion. +%\changes{1.0}{2015-03-26}{Initial release} +% Identify module +% \begin{macrocode} +\ProvidesDateTimeModule{welsh-ascii}[2015/03/26 v1.0] +% \end{macrocode} +% +%If abbreviated dates are supported, short month names should be +%likewise provided. +%\begin{macro}{\DTMwelshordinal} +% \begin{macrocode} +\newcommand*{\DTMwelshordinal}[1]{% + \number#1 + \ifnum#1=1 + \DTMwelshfmtordsuffix{a\protect\~{n}}% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshfmtordsuffix} +% \begin{macrocode} +\newcommand*{\DTMwelshfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{#1}}{#1}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshmonthname} +% Welsh month names. +% \begin{macrocode} +\newcommand*{\DTMwelshmonthname}[1]{% + \ifcase#1 + \or + Ionawr% + \or + Chwefror% + \or + Mawrth% + \or + Ebrill% + \or + Mai% + \or + Mehefin% + \or + Gorffennaf% + \or + Awst% + \or + Medi% + \or + Hydref% + \or + Tachwedd% + \or + Rhagfyr% + \fi +} +% \end{macrocode} +%\end{macro} +% +%\iffalse +% \begin{macrocode} +%</datetime2-welsh-ascii.ldf> +% \end{macrocode} +%\fi +% +%\subsection{Main Welsh Module (\texttt{datetime2-welsh.ldf})} +%\changes{1.0}{2015-03-26}{Initial release} +% +%\iffalse +% \begin{macrocode} +%<*datetime2-welsh.ldf> +% \end{macrocode} +%\fi +% +% Identify Module +% \begin{macrocode} +\ProvidesDateTimeModule{welsh}[2015/03/26 v1.0] +% \end{macrocode} +% Need to find out if XeTeX or LuaTeX are being used. +% \begin{macrocode} +\RequirePackage{ifxetex,ifluatex} +% \end{macrocode} +% XeTeX and LuaTeX natively support UTF-8, so load +% \texttt{welsh-utf8} if either of those engines are used +% otherwise load \texttt{welsh-ascii}. +% \begin{macrocode} +\ifxetex + \RequireDateTimeModule{welsh-utf8} +\else + \ifluatex + \RequireDateTimeModule{welsh-utf8} + \else + \RequireDateTimeModule{welsh-ascii} + \fi +\fi +% \end{macrocode} +% +% Define the \texttt{welsh} style. +% The time style is the same as the "default" style +% provided by \sty{datetime2}. This may need correcting. For +% example, if a 12 hour style similar to the "englishampm" (from the +% "english-base" module) is required. +% +% Allow the user a way of configuring the "welsh" and +% "welsh-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}{\DTMwelshdaymonthsep} +% The separator between the day and month for the text format. +% \begin{macrocode} +\newcommand*{\DTMwelshdaymonthsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshmonthyearsep} +% The separator between the month and year for the text format. +% \begin{macrocode} +\newcommand*{\DTMwelshmonthyearsep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshdatetimesep} +% The separator between the date and time blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMwelshdatetimesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshtimezonesep} +% The separator between the time and zone blocks in the full format +% (either text or numeric). +% \begin{macrocode} +\newcommand*{\DTMwelshtimezonesep}{\space} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshdatesep} +% The separator for the numeric date format. +% \begin{macrocode} +\newcommand*{\DTMwelshdatesep}{/} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\DTMwelshtimesep} +% The separator for the numeric time format. +% \begin{macrocode} +\newcommand*{\DTMwelshtimesep}{:} +% \end{macrocode} +%\end{macro} +% +%Provide keys that can be used in \cs{DTMlangsetup} to set these +%separators. +% \begin{macrocode} +\DTMdefkey{welsh}{daymonthsep}{\renewcommand*{\DTMwelshdaymonthsep}{#1}} +\DTMdefkey{welsh}{monthyearsep}{\renewcommand*{\DTMwelshmonthyearsep}{#1}} +\DTMdefkey{welsh}{datetimesep}{\renewcommand*{\DTMwelshdatetimesep}{#1}} +\DTMdefkey{welsh}{timezonesep}{\renewcommand*{\DTMwelshtimezonesep}{#1}} +\DTMdefkey{welsh}{datesep}{\renewcommand*{\DTMwelshdatesep}{#1}} +\DTMdefkey{welsh}{timesep}{\renewcommand*{\DTMwelshtimesep}{#1}} +% \end{macrocode} +% +% Define a setting to change the ordinal suffix style. +% \begin{macrocode} +\DTMdefchoicekey{welsh}{ord}[\val\nr]{level,raise,omit,sc}{% + \ifcase\nr\relax + \renewcommand*{\DTMwelshfmtordsuffix}[1]{##1}% + \or + \renewcommand*{\DTMwelshfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsuperscript{##1}}{##1}}% + \or + \renewcommand*{\DTMwelshfmtordsuffix}[1]{}% + \or + \renewcommand*{\DTMwelshfmtordsuffix}[1]{% + \DTMtexorpdfstring{\protect\textsc{##1}}{##1}}% + \fi +} +% \end{macrocode} +% +% TODO: provide a boolean key to switch between full and abbreviated +% formats if appropriate. (I don't know how the date should be +% abbreviated.) +% +% Define a boolean key that determines if the time zone mappings +% should be used. +% \begin{macrocode} +\DTMdefboolkey{welsh}{mapzone}[true]{} +% \end{macrocode} +% The default is to use mappings. +% \begin{macrocode} +\DTMsetbool{welsh}{mapzone}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the day of month should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{welsh}{showdayofmonth}[true]{} +% \end{macrocode} +% The default is to show the day of month. +% \begin{macrocode} +\DTMsetbool{welsh}{showdayofmonth}{true} +% \end{macrocode} +% +% Define a boolean key that determines if the year should be +% displayed. +% \begin{macrocode} +\DTMdefboolkey{welsh}{showyear}[true]{} +% \end{macrocode} +% The default is to show the year. +% \begin{macrocode} +\DTMsetbool{welsh}{showyear}{true} +% \end{macrocode} +% +% Define the "welsh" style. (TODO: implement day of week?) +% \begin{macrocode} +\DTMnewstyle + {welsh}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{welsh}{showdayofmonth} + {\DTMwelshordinal{##3}\DTMwelshdaymonthsep}% + {}% + \DTMwelshmonthname{##2}% + \DTMifbool{welsh}{showyear}% + {% + \DTMwelshmonthyearsep + \number##1 % space intended + }% + {}% + }% + \renewcommand*\DTMDisplaydate[4]{% + \DTMifbool{welsh}{showdayofmonth} + {% + \DTMwelshordinal{##3}\DTMwelshdaymonthsep + \DTMwelshMonthname{##2}% + }% + {\DTMwelshMonthname{##2}}% + \DTMifbool{welsh}{showyear}% + {% + \DTMwelshmonthyearsep + \number##1 % space intended + }% + {}% + }% + }% + {% time style (use default) + \DTMsettimestyle{default}% + }% + {% zone style + \DTMresetzones + \DTMwelshzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{welsh}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMwelshtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMwelshdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMwelshtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}[9]{% + \ifDTMshowdate + \DTMDisplaydate{##1}{##2}{##3}{##4}% + \DTMwelshdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMwelshtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + }% +% \end{macrocode} +% +% Define numeric style. +% \begin{macrocode} +\DTMnewstyle + {welsh-numeric}% label + {% date style + \renewcommand*\DTMdisplaydate[4]{% + \DTMifbool{welsh}{showdayofmonth}% + {% + \number##3 % space intended + \DTMwelshdatesep + }% + {}% + \number##2 % space intended + \DTMifbool{welsh}{showyear}% + {% + \DTMwelshdatesep + \number##1 % space intended + }% + {}% + }% + \renewcommand*{\DTMDisplaydate}[4]{\DTMdisplaydate{##1}{##2}{##3}{##4}}% + }% + {% time style + \renewcommand*\DTMdisplaytime[3]{% + \number##1 + \DTMwelshtimesep\DTMtwodigits{##2}% + \ifDTMshowseconds\DTMwelshtimesep\DTMtwodigits{##3}\fi + }% + }% + {% zone style + \DTMresetzones + \DTMwelshzonemaps + \renewcommand*{\DTMdisplayzone}[2]{% + \DTMifbool{welsh}{mapzone}% + {\DTMusezonemapordefault{##1}{##2}}% + {% + \ifnum##1<0\else+\fi\DTMtwodigits{##1}% + \ifDTMshowzoneminutes\DTMwelshtimesep\DTMtwodigits{##2}\fi + }% + }% + }% + {% full style + \renewcommand*{\DTMdisplay}[9]{% + \ifDTMshowdate + \DTMdisplaydate{##1}{##2}{##3}{##4}% + \DTMwelshdatetimesep + \fi + \DTMdisplaytime{##5}{##6}{##7}% + \ifDTMshowzone + \DTMwelshtimezonesep + \DTMdisplayzone{##8}{##9}% + \fi + }% + \renewcommand*{\DTMDisplay}{\DTMdisplay}% + } +% \end{macrocode} +% +%\begin{macro}{\DTMwelshzonemaps} +% The time zone mappings are set through this command, which can be +% redefined if extra mappings are required or mappings need to be +% removed. +% \begin{macrocode} +\newcommand*{\DTMwelshzonemaps}{% + \DTMdefzonemap{00}{00}{GMT}% + \DTMdefzonemap{01}{00}{BST}% +} +% \end{macrocode} +%\end{macro} + +% Switch style according to the \opt{useregional} setting. +% \begin{macrocode} +\DTMifcaseregional +{}% do nothing +{\DTMsetstyle{welsh}} +{\DTMsetstyle{welsh-numeric}} +% \end{macrocode} +% +% Redefine \cs{datewelsh} (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\datewelsh + {% do nothing + }% + {% + \def\datewelsh{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{welsh}}% + {\DTMsetstyle{welsh-numeric}}% + }% + }% +}% +{% + \csdef{date\CurrentTrackedDialect}{% + \DTMifcaseregional + {}% do nothing + {\DTMsetstyle{welsh}}% + {\DTMsetstyle{welsh-numeric}} + }% +}% +% \end{macrocode} +%\iffalse +% \begin{macrocode} +%</datetime2-welsh.ldf> +% \end{macrocode} +%\fi +%\Finale +\endinput diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.ins b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.ins new file mode 100644 index 0000000000..c014c97b9f --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.ins @@ -0,0 +1,61 @@ +\input docstrip + +\preamble + + datetime2-welsh.dtx + Copyright 2015 Nicola Talbot + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either version 1.3 + 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.3 or later is part of all distributions of LaTeX + version 2005/12/01 or later. + + This work has the LPPL maintenance status `inactive'. + + This work consists of the files datetime2-welsh.dtx and + datetime2-welsh.ins and the derived files + datetime2-welsh-utf8.ldf, datetime2-welsh-ascii.ldf and + datetime2-welsh.ldf. + +\endpreamble + +\askforoverwritefalse + +\generate +{% + \file + {datetime2-welsh-utf8.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-welsh.dtx}{datetime2-welsh-utf8.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-welsh-ascii.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-welsh.dtx}{datetime2-welsh-ascii.ldf,package}% + }% +} + +\generate +{% + \file + {datetime2-welsh.ldf}% + {% + \usepreamble\defaultpreamble + \usepostamble\defaultpostamble + \from{datetime2-welsh.dtx}{datetime2-welsh.ldf,package}% + }% +} + +\endbatchfile + diff --git a/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.pdf b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.pdf Binary files differnew file mode 100644 index 0000000000..9fd3f409f0 --- /dev/null +++ b/macros/latex/contrib/datetime2-contrib/datetime2-welsh/datetime2-welsh.pdf |