从日期中删除前导零

2018-10-07 13:00 阅读 904 views 次 评论 0 条

我喜欢打印以这种方式格式化的日期:6 October 2018。通常,我只需手动输入日期。但我尝试着设置,以便\today按照我喜欢的方式格式化日期。当天数是两位数时,我必须只测试它。我有这个:

\documentclass{article}
\usepackage[english]{datetime2}
\DTMnewdatestyle{strunkdate}{%
  \renewcommand*{\DTMdisplaydate}[4]{##3 \DTMenglishmonthname{##2} ##1}
  \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}}
\AtBeginDocument{%
  \DTMsetdatestyle{strunkdate}}% after babel loaded, or babel stomps on this
\begin{document}
Today is \today.
\end{document}

不幸的是,这打印06 October 2018出一个前导零,迫使两位数的日子。如果6 October 2018没有领先的零,我怎么得到?DATETIME2分享改善这个问题9小时前 问道dedded548211添加评论

1答案

活跃的最老投票8投票接受

程序包可能具有特定命令,但您可以使用TeX \number命令

\documentclass{article}
\usepackage[english]{datetime2}
\DTMnewdatestyle{strunkdate}{%
  \renewcommand*{\DTMdisplaydate}[4]{\number##3\ \DTMenglishmonthname{##2} ##1}
  \renewcommand*{\DTMDisplaydate}{\DTMdisplaydate}}
\AtBeginDocument{%
  \DTMsetdatestyle{strunkdate}}% after babel loaded, or babel stomps on this
\begin{document}
Today is \today.
\end{document}

分享改善这个答案9小时前 回答大卫卡莱尔470K3810991827

  • 1这实际上是datetime2第95页手册推荐的方法。不幸的是,没有关于跟踪空间问题的警告。 -  egreg 9小时前
  • 1@egreg并没有让我看到手册! -  大卫卡莱尔 9小时前
  • 为了保持字符令牌的完全可扩展性,\number\numexpr##3\relax\space\DTMenglishmonthname{##2} ##1可能会更好。 -  egreg 8小时前
  • @egreg我确实对此感到疑惑,但我不会在这里需要进行扩展我会猜测并且在代码中看起来更好并且不需要关于它的作用的文章:-) -  David Carlisle 8小时前
  • 效果很好!你担心的扩展性是@egreg,那个天数字符本身的可扩展性是什么? -  dedded 6小时前
  • @dedded如果你想将日期用于其他目的,将它分成几部分,例如,在中间控制序列可能是一个障碍。但可能不是您的应用程序的情况。 -  egreg 7小时前 
  • 没有那样的事。我可以想象将整个传递给另一个命令。 -  dedded 5小时前

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:从日期中删除前导零 | 蚂蚁浏览器看点
分类:文摘 标签:

发表评论


表情