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
發佈了16 篇原創文章 · 獲贊 8 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章