使用 esint 样式 fourier

使用 esint 样式 fourier

我喜欢 fourier 包,但我想使用 esint 包中的积分。我尝试在 fourier 之后使用 esint,\int 和 \oint 具有来自 esint 的形式,但 \iint 和 \oiint 具有来自 fourier 包的形式,见下面的示例。三重积分也是如此。

\documentclass[aps,notitlepage]{revtex4-2}
\usepackage{fourier} 
\usepackage{esint}
\begin{document}
\begin{equation}
    \int\hspace{2em}\oint\hspace{2em} \iint\hspace{2em}\oiint
\end{equation}
\end{document}

我查看了 fourier.sty,发现有二重积分和三重积分的定义,但没有单重积分的定义。因此,esint.sty 中的定义用于单重积分。问题是 - 如何使用 esint.sty 重新定义二重积分和三重积分?通常,下一个样式是重新定义之前的定义。但为什么在这种情况下不这样做?在 esint.sty 中,\iint 的定义如下

\def\re@DeclareMathSymbol#1#2#3#4{%
    \let#1=\undefined
    \DeclareMathSymbol{#1}{#2}{#3}{#4}}
\DeclareSymbolFont{largesymbolsA}{U}{esint}{m}{n}
\re@DeclareMathSymbol{\intop}{\mathop}{largesymbolsA}{'001}
    \def\int{\intop\ilimits@}
\re@DeclareMathSymbol{\iintop}{\mathop}{largesymbolsA}{'003}
    \def\iint{\iintop\ilimits@}

在 fourier.sty

\DeclareSymbolFont{largesymbols}{FMX}{futm}{m}{n}
\DeclareMathSymbol{\iintop}{\mathop}{largesymbols}{206}
\def\iint{\DOTSI\iintop\ilimits@}

答案1

fourier.sty我们看到

\AtBeginDocument{\let\mathbb\math@bb %
\DeclareMathSymbol{\iintop}{\mathop}{largesymbols}{206}
  \DeclareMathSymbol{\iiintop}{\mathop}{largesymbols}{208}
  \DeclareMathSymbol{\oiintop}{\mathop}{largesymbols}{210}
  \DeclareMathSymbol{\oiiintop}{\mathop}{largesymbols}{212}
  \DeclareMathSymbol{\slashintop}{\mathop}{largesymbols}{214}
  \@ifpackageloaded{amsmath}{%
    \def\iint{\DOTSI\iintop\ilimits@}
    \def\iiint{\DOTSI\iiintop\ilimits@}
    \def\oiint{\DOTSI\oiintop\ilimits@}
    \def\oiiint{\DOTSI\oiiintop\ilimits@}
    \def\slashint{\DOTSI\slashintop\ilimits@}
  }{%
[...]

这意味着fourier在文档开始时重新定义二重积分和三重积分的命令,从而覆盖由 完成的命令esint。您必须撤消此设置。假设您也加载amsmath(您应该, 顺便一提),

\documentclass{article}
\usepackage{amsmath}
\usepackage{fourier} 
\usepackage{esint}

\makeatletter
\NewCommandCopy\ESINT@iintop\iintop
\NewCommandCopy\ESINT@iiintop\iiintop
\NewCommandCopy\ESINT@oiintop\oiintop
\NewCommandCopy\ESINT@oiiintop\oiiintop
\AtBeginDocument{%
  \def\iint{\DOTSI\ESINT@iintop\ilimits@}
  \def\iiint{\DOTSI\ESINT@iiintop\ilimits@}
  \def\oiint{\DOTSI\ESINT@oiintop\ilimits@}
  \def\oiiint{\DOTSI\ESINT@oiiintop\ilimits@}
}
\makeatother


\begin{document}

\begin{equation}
    \int\hspace{2em}\oint\hspace{2em} \iint\hspace{2em}\oiint
\end{equation}

\end{document}

在此处输入图片描述

我认为您不应该使用fourierwith revtex4-2,因为它被认为是提交给美国物理学会期刊的格式,如果您这样做他们会不高兴的。

如果您使用的是没有的旧版 LaTeX 版本,请在加载后将\NewCommandCopy其替换为。\LetLtxMacro\usepackage{letltxmacro}

相关内容