moderncv 包无法识别 \it 命令

moderncv 包无法识别 \it 命令

moderncv包无法识别\it命令。当然,我们可以改用\textit。问题是 BibTeX 生成的文件可能包含\it命令...

bbl因此,需要编辑文件以将所有\it命令更改为\textit命令。 对于同一类型的其他命令也是如此:\rm\bf等等。

有没有办法强制使用 BibTeX\textit而不是\it或者强制moderncv理解\it

答案1

这不是问题\moderncv;这些命令自 LaTeX2e 以来就已过时。除其他问题外,\bf还有\it 不要嵌套或尊重字体选择方案。

现代 LaTeX 中的替代品是\itshape,它的语义可能正是您真正想要的。如果您坚持\it使用 别名,那么可以使用\newcommand(但这是一个坏主意,因为旧代码将期望不同的行为。)。如果您必须恢复原始命令,\DeclareOldFontCommand,但您就是搬起石头砸自己的脚。

答案2

如果\it是通过某种 bibtex 样式插入的,您当然可以采用这种方法:用另一个名称保存 bst,然后搜索 \it 并替换它,例如\itshape或任何合理的内容。

除此之外,您还可以按照自己认为合适的任何方式定义未定义的命令。

如果\it仅用于文本,那么\newcommand\it{\normalfont\itshape}\newcommand\it{\itshape}可能是合理的替代品,如果它也用于数学,那么你可以使用

\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}

或者

\DeclareOldFontCommand{\it}{\itshape}{\mathit}

该变体\normalfont模仿了 better 的旧行为\it,没有它,它就像现代的 \itshape 一样工作,并允许与其他字体命令嵌套。

相关内容