Le format de date yyyy-mm-dd me semble plus pratique que le format dd-mm-yyyy habituellement utilisé en France. Malheureusement, il est source d'erreur, car il n'est pas toujours lu correctement.

Ainsi, la date inscrite sur l'un de mes documents (2019-04-10) vient d'être lue comme le 4 octobre 2019 en lieu et place du 10 avril 2019.

Pour parer à cet inconvénient, je me résous à utiliser le package datetime2.

Il se trouve que, grâce @maïeul et au stage de Dunkerque, j'utilise le gestionnaire de version git ; couplé au package gitinfo2, ce logiciel permet de garder l'historique du document et d'en afficher le numéro de version dans ses pages, ce qui est très utile (pour ceux que git intéresse, le support du cours de Maïeul est ici).

Mais pourquoi diantre la date de la version reste-t-elle écrite au format yyyy-mm-dd ?

Voici un ECM :

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a6paper, landscape]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps]{kpfonts}
\usepackage{gitinfo2}
\usepackage{datetime2}
\usepackage[french]{babel}
\begin{document}
\pagestyle{empty}
\today{}

% ligne écrite par gitinfo2
version du \gitAuthorDate{}
\end{document}

Je précise que les autres commandes de gitinfo2 répondent : j'ai bien fait $ git init, copié les hooks, commité derechef... \gitAbbrevHash{} renvoie bien une chaîne de caractères type 9f16107.

Enfin, j'ai tenté de comprendre quelque chose à la (vaste) documentation, découvert celle de datetime2-french (qui n'en est pas vraiment une), j'ai cherché des exemples sur internet... et fait chou blanc.

Parfois, je me dis qu'un petit site contenant simplement des ECM serait utile ; ce serait une mission pour l'association GUTenberg, ça, tiens !


EDIT : à la demande de @samcarter, voici le fichier gitHeadInfo.gin :

Ouvrir dans l'éditeur Overleaf
\usepackage[%
        shash={9f16107},
        lhash={9f161070652226a72301ed4a601ed4909a37ce32},
        authname={Pathe},
        authemail={abcde@fgh.ij},
        authsdate={2020-02-06},
        authidate={2020-02-06 06:57:12 +0100},
        authudate={1580968632},
        commname={Pathe},
        commemail={abcde@fgh.ij},
        commsdate={2020-02-06},
        commidate={2020-02-06 06:57:12 +0100},
        commudate={1580968632},
        refnames={ (HEAD -> master)},
        firsttagdescribe={0.97-1-g9f16107},
        reltag={0.97-1-g9f16107}
    ]{gitexinfo}

Posée 06 Fév '20, 08:11

Pathe's gravatar image

Pathe ♦♦
7.5k43204251
Taux d'acceptation : 55%

Modifiée 06 Fév '20, 20:17

Bernard's gravatar image

Bernard
4.6k15

Pouvez-vous ajouter le fichier gitHeadInfo.gin?

(06 Fév '20, 14:32) samcarter samcarter's gravatar image

È fatto!

(06 Fév '20, 15:00) Pathe ♦♦ Pathe's gravatar image

Cherchez-vous \DTMusedate{gitdate} ?

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a6paper, landscape]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps]{kpfonts}

\usepackage{datetime2}
\usepackage{gitinfo2}

\usepackage[french]{babel}

\begin{document}

\DTMsetstyle{ddmmyyyy}

% ligne écrite par gitinfo2
version du \gitAuthorDate{}

version du \DTMusedate{gitdate}
\end{document}

alt text

Nom complet du mois :

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a6paper, landscape, french]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[light, largesmallcaps]{kpfonts}

\usepackage{datetime2}
\usepackage{gitinfo2}

\usepackage[french]{babel}

\DTMnewdatestyle{mydate}{%
 \renewcommand{\DTMdisplaydate}[4]{\number##3 \space\DTMfrenchMonthname{\month}\space\number##1 }%
 \renewcommand{\DTMDisplaydate}{\DTMdisplaydate}%
}
\DTMsetdatestyle{mydate}

\begin{document}

% ligne écrite par gitinfo2
version du \gitAuthorDate{}

version du \DTMusedate{gitdate}
\end{document}

alt text

Lien permanent

Publiée 06 Fév '20, 18:25

samcarter's gravatar image

samcarter
8.4k2817
Taux d'acceptation : 56%

Modifiée 06 Fév '20, 19:49

Ça me donne une autre piste. Là, j'étais en train d'essayer des \DTMsetup{useregional} et \DTMtryregional{fr}{FR}... sans succès.

(06 Fév '20, 18:48) Pathe ♦♦ Pathe's gravatar image

J'obtiens toujours Package datetime2 Error: Undefined dategitdate'`.

Si je définis cette valeur par la commande \DTMsavedate[gitdate]{\gitAuthorDate{}}, j'obtiens Paragraph ended before @dtm@parsedate was complete...

(06 Fév '20, 18:54) Pathe ♦♦ Pathe's gravatar image
1

@Pathe Avez-vous \usepackage{datetime2} avant \usepackage{gitinfo2}, comme dans ma réponse ?

(06 Fév '20, 18:56) samcarter samcarter's gravatar image

OK. Ça fonctionne. Le code \usepackage[...]{gitexinfo}, situé entre \begin{filecontents*}{.git/gitHeadInfo.gin} et \end{filecontents*}, peut être enlevé, non ?

Quoi qu'il en soit, je ne comprends pas où est définie la valeur gitdate.

(06 Fév '20, 19:14) Pathe ♦♦ Pathe's gravatar image

@Pathe Oui, \begin{filecontents*}...\end{filecontents*} peut être enlevé

(06 Fév '20, 19:18) samcarter samcarter's gravatar image
1

@Pathe gitdate est définie par gitinfo2 mais seulement si on a aussi l'extension datetime2: \@ifpackageloaded{datetime2}{% \IfEq{\gitAuthorDate}{\gitInf@missing}{% \DTMsavedate{gitdate}{\THEDAY-\THEMONTH-\THEYEAR} }{% \StrCut{\gitAuthorDate}{-}{\gitInf@year}{\gitInf@md} \StrCut{\gitInf@md}{-}{\gitInf@month}{\gitInf@day} \DTMsavenoparsedate{gitdate}{\gitInf@year}{\gitInf@month}{\gitInf@day}{-1} } }{}%

(06 Fév '20, 19:20) samcarter samcarter's gravatar image

Mon problème n'était donc dû qu'à un chargement du package gitinfo2 avant datetime2, alors que j'aurais dû le charger après.

Et déclarer \DTMsetstyle{ddmmyyyy}.

Correct ?

(06 Fév '20, 19:23) Pathe ♦♦ Pathe's gravatar image
1

@Pathe ... et d'utiliser \DTMusedate{gitdate} au lieu de \gitAuthorDate

(06 Fév '20, 19:29) samcarter samcarter's gravatar image
1

😂 oui, évidemment !

À ce sujet, l'excellent auteur de gitinfo2, Brent Longborough, précise dans sa documentation, qui comporte une section « For datetime2 users » : If you use it, you must load datetime2 before you load gitinfo2. Excellent !

Malheureusement, je ne me suis penché que sur celle de de datetime2, où gitinfo2 n'est pas évoqué. Je le signale aux mainteneurs de cette extension.

(06 Fév '20, 19:30) Pathe ♦♦ Pathe's gravatar image

Ne reste plus qu'à transformer 06-02-2020 en 6 février 2020 : je me replonge dans la doc... et j'ouvrirai sans doute un nouveau fil !

(06 Fév '20, 19:33) Pathe ♦♦ Pathe's gravatar image

@Pathe Jetez un œil à ma réponse modifiée

(06 Fév '20, 19:50) samcarter samcarter's gravatar image

Well... this one was a quick one! Merci beaucoup ! Je vais essayer de comprendre comment ça marche... et d'enlever la capitale initiale à « Février », puisque cela s'écrit en minuscules.

(06 Fév '20, 20:02) Pathe ♦♦ Pathe's gravatar image
1

@Pathe :) Pour minuscule \DTMfrenchmonthname au lieu de \DTMfrenchMonthname

(06 Fév '20, 20:05) samcarter samcarter's gravatar image

Pour que cela fonctionne, il est impératif d'avoir l'option french dans les paramètres de la classe de document.

Je l'ai ôtée des paramètres de l'extension babel sans voir de différence. Mais je l'ai remise. Au cas où. On ne sait jamais. Pourquoi pas. Ça peut servir. Alors je l'ai mis quand même.

Cela en dit long sur mes compétences.

(06 Fév '20, 20:45) Pathe ♦♦ Pathe's gravatar image
2

@Pathe \usepackage[french]{datetime2} marche aussi en lieu d'avoir l'option french dans les paramètres de la classe de document.

(06 Fév '20, 21:52) samcarter samcarter's gravatar image
Affichage de 5 parmi 15 Afficher 10 commentaire(s) en plus
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.