LaTeX错误:! LaTeX Error: Command `\Finv' already defined.

quantumpo声明:

本文前半部分原作者:MiChen

本文后半部分原作者:LaTeX_Fun


by MiChen

其实amssymb这个package平时用的不多,昨天为了使用\triangleq(等号上面一个三角形,表示定义),不得不引入了这个package。引入后编译时有警告:
LaTeX Error: Command `\Finv' already defined.
Google过后发现是由于amssymb与XeLaTeX冲突,解决方法如下:
将\usepackage{amssymb}提到类似xunicode和xltxtra等packages以前,但是似乎不可将amsmath,amsfonts也提到这些packages之前,否则编译过程中途halt,没有功夫研究究竟怎么回事:(



by LaTeX_Fun

若是使用 xeCJK,就把amssymb 提到 xeCJK之前即可

我简单解释如下:
fontspec 2.1b 文档 6.2 Math(s) fonts
they also define the fonts to be used in maths mode inside the \mathrm-type commands.
This only occurs in the preamble because LATEX freezes the maths fonts
after this stage of the processing. The fontspec package must also be loaded after
any maths font packages (e.g., euler) to be successful. (Actually, it is only euler that
is the problem.)

Note that you may find that loading some maths packages won’t be as smooth
as you expect since fontspec (and X ETEX in general) breaks many of the assumptions
of TEX as to where maths characters and accents can be found. Contact me if you
have troubles, but I can’t guarantee to be able to fix any incompatibilities. The
Lucida and Euler maths fonts should be fine; for all others keep an eye out for
problems.
造成这个问题的原因是 xunicode 对几个数学符号的重定义,目前重影响的有六七个。
选自:http://bbs.ctex.org/viewthread.php?tid=58388

你可能感兴趣的:(LaTeX)