Eu queria saber se existe uma maneira de redefinir os meses abreviados comdatetime2
pacote, 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 datetime
package para redefinir o estilo do mês, mas este pacote cria um confit com meu documento.
Obrigado.
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:
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.