Мне было интересно, есть ли способ переопределить сокращенные месяцы с помощью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}
Результат:
В комментарии вы пишете, что предыдущий код не работает из-за используемого вами пакета, но не указываете, какие дополнительные пакеты вы используете, поэтому я не могу гарантировать, что этот код будет работать в вашем реальном использовании.