使用\DTMdisplaydate{yyyy}{mm}{dd}{w}
中提供的datetime2
,可以轻松显示特定日期。但是,不能直接使用它来仅显示年份和月份,因为第三个参数不能留空。应该如何显示这样的时间2022-01
?(此处启用了该选项useregional
,因此日期应以所选语言的文本字符串显示)
以下是 MWE:
\documentclass{article}
\usepackage[ngerman,french,english]{babel}
\usepackage[useregional]{datetime2}
\begin{document}
\selectlanguage{french}
\DTMdate{2022-01-01}
\DTMdisplaydate{2022}{01}{01}{-1}
% \DTMdisplaydate{2022}{01}{}{-1}
\end{document}
答案1
对于所使用的每种语言,都有一个布尔变量showdayofmonth
可以设置为 false。
\DTMdefboolkey{french}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\DTMdefboolkey{german}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\DTMdefboolkey{en-GB}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\documentclass{article}
\usepackage[german,french,british]{babel}
\usepackage[useregional]{datetime2}
\parindent0pt
\begin{document}
\section{Default display}
\selectlanguage{british}
\DTMdate{2022-02-03}
\bigskip
\selectlanguage{french}
\DTMdate{2022-02-03}
\bigskip
\selectlanguage{german}
\DTMdate{2022-02-03}
\bigskip
\section{Suppress the display of the day}
\DTMdefboolkey{french}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\DTMdefboolkey{german}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\DTMdefboolkey{en-GB}{showdayofmonth}[false]{} % <<<<<<<<<<<<<<<<
\selectlanguage{british}
\DTMdate{2022-02-03}
\bigskip
\selectlanguage{french}
\DTMdate{2022-02-03}
\bigskip
\selectlanguage{german}
\DTMdate{2022-02-03}
\end{document}