%\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 \~} % %\fi % \iffalse % Doc-Source file to use with LaTeX2e % Copyright (C) 2015 Nicola Talbot, all rights reserved. % Copyright (C) 2017 Paul A. Patience , 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} % %\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} % % \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} % % \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} % % \end{macrocode} %\fi %\Finale \endinput