moderncv 和 xelatex 命令定义冲突

moderncv 和 xelatex 命令定义冲突

尝试使用 xelatex(W10,新安装的 miktex)在我的计算机上编译此示例代码。

它给出了一个错误“LaTeX 错误:命令‘\eth’已定义”。

以下是代码:

\documentclass[english,12pt,a4paper,roman]{moderncv}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage[english]{babel}

\usepackage{unicode-math}
\setmainfont{Calibri}
\setmathfont{Latin Modern Math}

\begin{document}
Hello World.
\end{document}

将类更改为 article 可以消除此错误,但我想使用 moderncv 和 xelatex。任何帮助都将不胜感激!

答案1

从技术上讲,这涵盖LaTeX 命令已定义错误, 自从moderncv加载unicode-math。因此,您可以使用

\RequirePackage{amssymb}
\documentclass[...]{moderncv}
%...

或者

\documentclass[...]{moderncv}
%...
\let\eth\relax
\let\digamma\relax
\let\backepsilon\relax
\usepackage{amssymb}
%...

后一个选项将删除所有已经定义的命令amssymb尝试(重新)定义。

相关内容