Redefina os meses abreviados com o pacote datetime2

Redefina os meses abreviados com o pacote datetime2

Eu queria saber se existe uma maneira de redefinir os meses abreviados comdatetime2pacote, de forma que, ao utilizar o comando \today, os meses sejam escritos exatamente como a primeira coluna da imagem abaixo.

\documentclass{article}
\usepackage[en-US]{datetime2}
\DTMlangsetup[en-US]{abbr}
\begin{document}
    \today
\end{document}

Já existe uma solução ---Como fazer um nome de mês em letras minúsculas com \today---with datetimepackage para redefinir o estilo do mês, mas este pacote cria um confit com meu documento.

Obrigado.

insira a descrição da imagem aqui

EDITARà luz da solução do @ quark67:

Identifiquei o conflito usando a solução do quark67 para estar com \usepackage[USenglish]{babel}, usada para hifenização. Eu só tive que remover o argumento [USenglish]para fazer a solução do quark67 funcionar, mas ainda gostaria de manter o \usepackage[USenglish]{babel}.

SOLUÇÃO

Em referência a esta postagem:Redefinição de \today -- Confronto com babel, colocar o código do @ quark67 dentro \AtBeginDocument{...}resolveu o problema.

Responder1

Tente isto (observe o carregamento do pacotedatahora2-calcpara a conversão do valor numérico para o nome abreviado do mês).

Editar:Como você diz que precisa da classe documentrutese(https://scholarship.rice.edu/handle/1911/21747) em um comentário, atualizo meu código com esta classe de documento.

Além disso, como você adicionou um novo requisito (junho deve ser abreviado como "junho", sem "junho" e julho como "julho", sem "julho"), atualizei o código (e corrigi meu bug fictício , Maio nunca é abreviado como "Maio".)

Editar 2:"Setembro" é abreviado como "setembro", e não "setembro", como na primeira coluna da tabela.

\documentclass{ruthesis}
\usepackage[en-US]{datetime2}
\usepackage{datetime2-calc}

\DTMnewdatestyle{mydate}{%
   \renewcommand*{\DTMdisplaydate}[4]{%
   \edef\paramTwo{##2}%
   \def\monthV{05}%
   \def\monthVI{06}%
   \def\monthVII{07}%
   \def\monthIX{09}%
     \DTMshortmonthname{##2}%
     \ifx\paramTwo\monthV%
     \else\ifx\paramTwo\monthVI%
     e%
     \else\ifx\paramTwo\monthVII
     y%
     \else\ifx\paramTwo\monthIX
     t.%
     \else
     .%
     \fi\fi\fi\fi% 
     \ \DTMtwodigits{##3}, ##1}%
   \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}%
 }

\DTMsetdatestyle{mydate}

\begin{document}
    \today % Mar. 11, 2023
    
    \DTMdate{2023-06-11}
    
    \DTMdate{2023-05-11}
    
    \DTMdate{2023-04-11}
    
    \DTMdate{2023-07-11}
\end{document}

Resultado:

insira a descrição da imagem aqui

Em um comentário, você diz que o código anterior não funciona por causa de um pacote que você usa, mas não diz quais pacotes adicionais você usa, então não posso garantir que esse código funcionará em seu uso real.

informação relacionada