LaTeX 命令已定义错误

LaTeX 命令已定义错误

这是我的 LaTeX 文件的一部分,其中加载了所有包:

%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
%\usepackage[UTF8]{ctex}
\documentclass[preview]{standalone}

\RequirePackage{unicode-math}
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{dsfont}
\usepackage{setspace}
\usepackage{tipa}
\usepackage{relsize}
\usepackage{textcomp}
\usepackage{mathrsfs}
\usepackage{calligra}
\usepackage{wasysym}
\usepackage{ragged2e}
\usepackage{physics}
\usepackage{xcolor}
\usepackage{microtype}
\usepackage{mathspec}
\usepackage{fontspec}

\setmainfont{Ubuntu}
\setmathsfont(Digits,Latin,Greek){Ubuntu}

但是,它给了我错误:

("C:\Program Files\MiKTeX 2.9\tex/latex/amsfonts\amssymb.sty"
Package: amssymb 2013/01/14 v3.01 AMS font symbols
("C:\Program Files\MiKTeX 2.9\tex/latex/amsfonts\amsfonts.sty"
Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info:    Redeclaring math symbol \hbar on input line 98.
)

! LaTeX Error: Command `\eth' already defined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.240 ...ol{\eth}            {\mathord}{AMSb}{"67}

该文件包含以下内容:

\begin{document}

YourTextHere

\end{document}

答案1

一些评论和意见:

  • 最好加载数学字体包,例如amssymbdsfontmathrsfswasysym 加载中unicode-math。当然,如果你遵循这条建议,

    ! LaTeX Error: Command `\eth' already defined.
    

    错误信息将停止。

  • unicode-math软件包在 XeLaTeX 和 LuaLaTeX 下均可运行,并且会fontspec自动加载。不过,据我所知,它unicode-math与较旧的、仅适用于 XeLaTeX 的软件包并不真正兼容mathspec。我的建议是:不要fontspec加载mathspec

    即,以下是该mathspec包的用户指南的摘录:

在此处输入图片描述

  • 我将尝试在序言中提供一个更合理的结构,可能遵循以下思路。无论你做什么,请帮自己一个大忙,弄清楚哪些包是真正需要的——哪些包是纯粹无用的,因此不应该加载。

%!TEX TS-program = xelatex
\documentclass{article} % any good reason for loading 'standalone'?

%% math and physics packages:
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{physics}
\usepackage{dsfont}
\usepackage{mathrsfs}
\usepackage{wasysym}

%% other packages
\usepackage[english]{babel}
\usepackage{calligra} % are you serious?!
\usepackage{setspace}
\usepackage{relsize}
%\usepackage{textcomp} % has recently become part of LaTeX 'core'
\usepackage{tipa} % are you absolutely sure you need this package?
\usepackage{ragged2e}
\usepackage{xcolor}
\usepackage{microtype}

%\usepackage{mathspec} % conflicts with 'unicode-math'
%\usepackage{fontspec} % is loaded automatically by 'unicode-math'

\RequirePackage{unicode-math}
\setmainfont{Latin Modern Roman} % I don't have 'Ubuntu' font
\setmathfont{Latin Modern Math}

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

附录解决 OP 的后续评论。感谢您澄清声明的目的\setmathsfont(Digits,Latin,Greek){Ubuntu}。因此,让我重新表述上面给出的建议之一:加载包mathspec——不要加载包unicode-math

相关内容