我使用\usepackage[ngerman]{datetime2}
并尝试创建一个使用 的缩写形式的日期Monthname
。
当我输入时,\DTMdate{2016-12-4}
我得到了结果4. Dezember 2016
。但我想要简短的Monthname
4. Dez. 2016
我查阅了文档,尝试更改样式,搜索了论坛和网络,但找不到任何解决方案。我认为问题之一是,包ngerman
不datetime2
支持短Monthname
s?
但我也尝试过用
\newcommand*{\DTMgermanshortMonthname}[1]{%
\ifcase#1
\or
Jän.%
\or
Feb.%
\or
März%
\or
Apr.%
\or
Mai%
\or
Juni%
\or
Juli%
\or
Aug.%
\or
Sep.%
\or
Okt.%
\or
Nov.%
\or
Dez.%
\fi
}
当我尝试这个时,我总是收到错误消息,并且我仍然不确定如何datetime2
改变样式来使用shortMonthname
。
我不敢相信我花了 3 个小时才改变这一点 -,-
感谢您的帮助!
最小示例:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{datetime2}
\begin{document}
\DTMdate{2016-12-4}
\end{document}
答案1
不确定这是否是最好的方法,但我定义了\DTMshortdate{}
。
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{datetime2}
\let\svDTMgermanmonthname\DTMgermanmonthname
\newcommand\DTMshortdate[1]{%
\def\DTMgermanmonthname##1{%
\ifcase##1%
\or Jän.\or Feb.\or März\or Apr.\or Mai\or Juni%
\or Juli\or Aug.\or Sep.\or Okt.\or Nov.\or Dez.\fi
}%
\DTMdate{#1}%
\let\DTMgermanmonthname\svDTMgermanmonthname%
}
\begin{document}
\DTMshortdate{2016-12-4}
\DTMdate{2016-12-4}
\end{document}
如果你不需要长日期形式,并希望定义\DTMdate
始终使用短日期,那么这更简单
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{datetime2}
\def\DTMgermanmonthname#1{%
\ifcase#1%
\or Jän.\or Feb.\or März\or Apr.\or Mai\or Juni%
\or Juli\or Aug.\or Sep.\or Okt.\or Nov.\or Dez.\fi
}%
\begin{document}
\DTMdate{2016-12-4}
\end{document}