我需要写入地球的符号,该符号位于包 mathabx 中。当我编译脚本时,出现以下错误:
! LaTeX Error: Command \iint already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.505 ...d{\iint}{\DOTSI\protect\MultiIntegral{2}}.
这看起来像是不同包之间的冲突。
下面是我的 Latex 脚本的示例,其中包含我正在使用的软件包:
\documentclass[11pt,a4paper]{article}
\usepackage[pdfencoding=auto,psdextra]{hyperref}
\usepackage{mathabx}
\usepackage{amsmath}
\begin{document}
\begin{equation}
U_{\Earth}
\end{equation}
\end{document}
我不明白什么地方出了问题。
答案1
正如 egreg 所建议的,请参阅从不同字体导入单个符号用于从另一种字体导入单个字符。为了获得\Earth
,我做了以下操作。如果您在 MWE 中取消注释这两行,\usepackage{fonttable}
和\fonttable{mathb10}
,您将获得一个打印出来的字体表,从中可以确定 是\Earth
字形"43
(十六进制)。这使我能够在序言中调用\DeclareMathSymbol{\Earth}{3}{mathb}{"43}
来导入该符号。在此过程中可能需要进行一些反复试验……最初我搜索了matha
字体系列,但没有找到\Earth
,因此通过反复试验,我尝试了该mathb
系列并找到了字形。\DeclareFontShape
我从 Alan Munn 的答案中复制了所有内容,替换mathb
了matha
。
\documentclass[11pt,a4paper]{article}
\usepackage[pdfencoding=auto,psdextra]{hyperref}
%\usepackage{mathabx}
\usepackage{amsmath}
% Setup the mathb font (from mathabx.sty)
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{
<5> <6> <7> <8> <9> <10> gen * mathb
<10.95> mathb10 <12> <14.4> <17.28> <20.74> <24.88> mathb12
}{}
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}
% Define a subset character from that font (from mathabx.dcl)
% to completely replace the \subset character, you can replace
% \varsubset with \subset
\DeclareMathSymbol{\Earth}{3}{mathb}{"43}
%\usepackage{fonttable}
\begin{document}
%\fonttable{mathb10}
\begin{equation}
U_{\Earth}
\end{equation}
\end{document}