LaTeX warning: "xparse/redefine-command"
*
* Redefining document command \oldstylenums with arg. spec. 'm' on line 128.
LaTeX warning: "xparse/redefine-command"
*
* Redefining document command \textsubscript with arg. spec. 's' on line 25.
LaTeX warning: "xparse/redefine-command"
*
* Redefining document command \textsuperscript with arg. spec. 's' on line 28.
什么做那是什么意思?
答案1
我想你可能已经
\usepackage{fontspec}
在你的序言中。这使用了 fontspec-patches.sty,其中包括
\RenewDocumentCommand \oldstylenums {m}
{
{ \addfontfeature{Numbers=OldStyle} #1 }
}
基本上,这可确保使用标准 LaTeX 字体设置设计的命令在使用 fontspec 提供的界面选择字体时继续按预期运行。因此,当人们从 (pdf)LaTeX 切换到 Xe/LuaLaTeX 时,它可以防止出现意外问题。
我也猜你有
\usepackage{realscripts}
在您的序言中,或者您正在使用另一个本身调用 realscripts 的包。例如,
\usepackage{xltxtra}
具有请求 realscripts 的效果,因为 xltxtra.sty 包含以下行
\RequirePackage{realscripts}
realscripts.sty 包含以下行
\RenewDocumentCommand \textsubscript {s} {
\IfBooleanTF #1 \fakesubscript \realsubscript
}
\RenewDocumentCommand \textsuperscript {s} {
\IfBooleanTF #1 \fakesuperscript \realsuperscript
}
再次强调,这些定义使内容按预期工作。这次重新定义的目的是在字体提供真实上标/下标数字时使用这些数字,而不会破坏字体不具备这些功能时的功能。
警告只是为了告诉你发生了什么。这意味着如果发生了奇怪的事情,你会知道哪些定义被哪些包更改了,并且可以在故障排除时使用这些信息。
已编辑,涵盖加载 realscripts 的可能性间接。