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/datetime2-french |
Initial commit
Diffstat (limited to 'macros/latex/contrib/datetime2-contrib/datetime2-french')
11 files changed, 1320 insertions, 0 deletions
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 |