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