\monthname[10] \ordinaldate{10}
按照预期生成October 10th
。但是,一旦将其放入某个部分,就会出现此错误:
! Argument of \@ordinalnum has an extra }.
<inserted text>
\par
l.11 \section*{\monthname[10] \ordinaldate{10}}
发生了什么事?为什么?
编辑
尽管
\section*{\monthname[10] \protect\ordinaldate{10}}
可以很好地显示我想要的日期,但我突然从包含此2006-10.tex
文件的主文件中收到一个新错误:
! Extra \else.
\@include ...ediate \closeout \@partaux \fi \else
\deadcycles \z@ \@nameuse ...
l.89 \include{Years/2006-10}
我在主文档或包含的文档中的任何地方都没有使用\if
或\else
语句。如果我删除,错误就会消失\protect\ordinaldate{10}
。
奇怪的是,添加其他内容\protect\dayofweekname{10}{10}{2006}
不会产生这样的错误。只有放入才会\protect\ordinaldate{10}
导致包含错误。
编辑2
\protect\ordinalnum{10}
尽管这样做了,但不会导致这样的错误,所以我想我现在\protect\ordinaldate{10}
只会使用\ordinalnum
答案1
你需要\protect
\ordinaldate
:
\documentclass{article}
\usepackage{datetime}
\begin{document}
\section{\monthname[10] \protect\ordinaldate{10}}
\end{document}