Переопределите сокращенные месяцы с помощью пакета datetime2

Переопределите сокращенные месяцы с помощью пакета datetime2

Мне было интересно, есть ли способ переопределить сокращенные месяцы с помощьюdatetime2пакет, так что при использовании команды \todayмесяцы записываются точно так же, как в первом столбце изображения ниже.

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

Решение уже есть---Как сделать название месяца строчными буквами с помощью \today--- с datetimeпакетом для переопределения стиля месяца, но этот пакет создает конфликт с моим документом.

Спасибо.

введите описание изображения здесь

РЕДАКТИРОВАТЬв свете решения @quark67:

Я определил конфликт, используя решение quark67, чтобы быть с \usepackage[USenglish]{babel}, используемым для переносов. Мне просто пришлось удалить аргумент [USenglish], чтобы решение quark67 заработало, но я все равно хотел бы сохранить \usepackage[USenglish]{babel}.

РЕШЕНИЕ

В отношении этого поста:Переосмысление \today — Столкновение с Вавилоном, размещение кода @quark67 внутри \AtBeginDocument{...}решило эту проблему.

решение1

Попробуйте это (обратите внимание на загрузку пакета)datetime2-calcдля преобразования числового значения в краткое название месяца).

Редактировать:Как вы говорите, вам нужен класс документарутезис(https://scholarship.rice.edu/handle/1911/21747) в комментарии я обновляю свой код этим классом документа.

Кроме того, поскольку вы добавили новое требование (июнь должен быть сокращен как «June», а не «Jun.», а июль как «July», а не «Jul.»), я обновил код (и исправил свою фиктивную ошибку: май никогда не сокращается как «May.»)

Редактировать 2:«Сентябрь» сокращается как «Сеп.», а не «Сеп.», как в первом столбце таблицы.

\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}

Результат:

введите описание изображения здесь

В комментарии вы пишете, что предыдущий код не работает из-за используемого вами пакета, но не указываете, какие дополнительные пакеты вы используете, поэтому я не могу гарантировать, что этот код будет работать в вашем реальном использовании.

Связанный контент