平均积分符号

平均积分符号

LaTeX 中是否有带水平斜线的平均积分符号或宏?我知道\strokedint,但我更喜欢将破折号设置为水平。

答案1

我找到了解决方案这里。您可以使用以下说明,这些说明必须包含在序言中。

\def\Xint#1{\mathchoice
{\XXint\displaystyle\textstyle{#1}}%
{\XXint\textstyle\scriptstyle{#1}}%
{\XXint\scriptstyle\scriptscriptstyle{#1}}%
{\XXint\scriptscriptstyle\scriptscriptstyle{#1}}%
\!\int}
\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$ }
\vcenter{\hbox{$#2#3$ }}\kern-.6\wd0}}
\def\ddashint{\Xint=}
\def\dashint{\Xint-}

执行这些宏的命令分别是\dashint代表\ddashint单破折号和双破折号。

编辑:我测试了页面中给出的代码,发现破折号在积分的左边,所以我稍微修改了一下,用 \vcenter{\hbox{$#2#3$ }}\kern-.5\wd0}}.6 替换了行中的 .5 。对我来说,这个方法有效,如果它对你不起作用,请尝试使用 .5 来找到你想要的破折号的准确位置,从数字中添加(减去)以将其放置在更靠右(左)的位置。

答案2

这个答案现在可能还帮不了你,但在将来的某个时候应该会有帮助。

该符号有一个 Unicode 条目U+2A0D 有限部分积分: ⨍(您的计算机可能会或可能不会正确显示。至少现代 Linux 发行版应该可以)。STIX 字体似乎unicode-math支持该符号,因此如果您已设置它们,则只需使用该符号即可。正如 Will Robertson 在下面评论的那样,unicode-math提供了\intbar访问该符号的命令。

答案3

以下示例定义宏

\mint{<symbol>} (\limits|\nolimits|\displaylimits)* _{...} ^{...}
  • 第一个参数是放在积分符号中间较小的数学样式的符号。
  • 然后是限制规范,任意数量和顺序。使用最后一个。
  • 然后,一个下标和/或一个上标可以按任意顺序跟随,但每种类型最多只能有一个。

实施主要包括:

  • 当前的数学风格,
  • 计算积分中间的正确位置
  • 即使下标和/或上标用 给出\limits
  • 保持符号周围的水平间距不变,并且
  • 知道\mathsurround
\documentclass{article}

\makeatletter
\newcommand*{\mint}[1]{%
  % #1: overlay symbol
  \mint@l{#1}{}%
}
\newcommand*{\mint@l}[2]{%
  % #1: overlay symbol
  % #2: limits
  \@ifnextchar\limits{%
    \mint@l{#1}%
  }{%
    \@ifnextchar\nolimits{%
      \mint@l{#1}%
    }{%
      \@ifnextchar\displaylimits{%
        \mint@l{#1}%
      }{%
        \mint@s{#2}{#1}%
      }%
    }%
  }%
}
\newcommand*{\mint@s}[2]{%
  % #1: limits
  % #2: overlay symbol
  \@ifnextchar_{%
    \mint@sub{#1}{#2}%
  }{%
    \@ifnextchar^{%
      \mint@sup{#1}{#2}%
    }{%
      \mint@{#1}{#2}{}{}%
    }%
  }%
}
\def\mint@sub#1#2_#3{%
  \@ifnextchar^{%
    \mint@sub@sup{#1}{#2}{#3}%
  }{%
    \mint@{#1}{#2}{#3}{}%
  }%
}
\def\mint@sup#1#2^#3{%
  \@ifnextchar_{%
    \mint@sup@sub{#1}{#2}{#3}%
  }{%
    \mint@{#1}{#2}{}{#3}%
  }%
}
\def\mint@sub@sup#1#2#3^#4{%
  \mint@{#1}{#2}{#3}{#4}%
}
\def\mint@sup@sub#1#2#3_#4{%
  \mint@{#1}{#2}{#4}{#3}%
}
\newcommand*{\mint@}[4]{%
  % #1: \limits, \nolimits, \displaylimits
  % #2: overlay symbol: -, =, ...
  % #3: subscript
  % #4: superscript
  \mathop{}%
  \mkern-\thinmuskip
  \mathchoice{%
    \mint@@{#1}{#2}{#3}{#4}%
        \displaystyle\textstyle\scriptstyle
  }{%
    \mint@@{#1}{#2}{#3}{#4}%
        \textstyle\scriptstyle\scriptstyle
  }{%
    \mint@@{#1}{#2}{#3}{#4}%
        \scriptstyle\scriptscriptstyle\scriptscriptstyle
  }{%
    \mint@@{#1}{#2}{#3}{#4}%
        \scriptscriptstyle\scriptscriptstyle\scriptscriptstyle
  }%
  \mkern-\thinmuskip
  \int#1%
  \ifx\\#3\\\else_{#3}\fi
  \ifx\\#4\\\else^{#4}\fi  
}
\newcommand*{\mint@@}[7]{%
  % #1: limits
  % #2: overlay symbol
  % #3: subscript
  % #4: superscript
  % #5: math style
  % #6: math style for overlay symbol
  % #7: math style for subscript/superscript
  \begingroup
    \sbox0{$#5\int\m@th$}%
    \sbox2{$#5\int_{}\m@th$}%
    \dimen2=\wd0 %
    % => \dimen2 = width of \int
    \let\mint@limits=#1\relax
    \ifx\mint@limits\relax
      \sbox4{$#5\int_{\kern1sp}^{\kern1sp}\m@th$}%
      \ifdim\wd4>\wd2 %
        \let\mint@limits=\nolimits
      \else
        \let\mint@limits=\limits
      \fi
    \fi
    \ifx\mint@limits\displaylimits
      \ifx#5\displaystyle
        \let\mint@limits=\limits
      \fi
    \fi
    \ifx\mint@limits\limits
      \sbox0{$#7#3\m@th$}%
      \sbox2{$#7#4\m@th$}%
      \ifdim\wd0>\dimen2 %
        \dimen2=\wd0 %
      \fi
      \ifdim\wd2>\dimen2 %
        \dimen2=\wd2 %
      \fi
    \fi
    \rlap{%
      $#5%
        \vcenter{%
          \hbox to\dimen2{%
            \hss
            $#6{#2}\m@th$%
            \hss
          }%
        }%
      $%
    }%
  \endgroup
}

\begin{document}
\[
  \displaystyle A\int B
  \textstyle A\int B
  \scriptstyle A\int B
  \scriptscriptstyle A\int B
\]
\[
  \displaystyle A\mint{-} B
  \textstyle A\mint{-} B
  \scriptstyle A\mint{-} B
  \scriptscriptstyle A\mint{-} B
\]
\[
  \displaystyle A\mint{-}_{123}^{456} B
  \textstyle A\mint{-}_{123}^{456} B
  \scriptstyle A\mint{-}_{123}^{456} B
  \scriptscriptstyle A\mint{-}_{123}^{456} B
\]
\[
  \displaystyle A\mint{-}\limits_{12345}^{6} B
  \textstyle A\mint{-}\limits_{12345}^{6} B
  \scriptstyle A\mint{-}\limits_{12345}^{6} B
  \scriptscriptstyle A\mint{-}\limits_{12345}^{6} B
\]
\[
  \displaystyle A\mint{-}\limits_{1}^{23456} B
  \textstyle A\mint{-}\limits_{1}^{23456} B
  \scriptstyle A\mint{-}\limits_{1}^{23456} B
  \scriptscriptstyle A\mint{-}\limits_{1}^{23456} B
\]
\[
  \displaystyle A\mint{-}\displaylimits_{0}^{\infty} B
  \textstyle A\mint{-}\displaylimits_{0}^{\infty} B
  \scriptstyle A\mint{-}\displaylimits_{0}^{\infty} B
  \scriptscriptstyle A\mint{-}\displaylimits_{0}^{\infty} B
\]
\[
  \displaystyle A\mint{=} B
  \textstyle A\mint{=} B
  \scriptstyle A\mint{=} B
  \scriptscriptstyle A\mint{=} B
\]
\[
  \displaystyle A\mint{\equiv} B
  \textstyle A\mint{\equiv} B
  \scriptstyle A\mint{\equiv} B
  \scriptscriptstyle A\mint{\equiv} B
\]
\[
  \displaystyle A\mint{\circ} B
  \textstyle A\mint{\circ} B
  \scriptstyle A\mint{\circ} B
  \scriptscriptstyle A\mint{\circ} B
\]
\end{document}

结果

答案4

非常有用的网站这类问题。这是一个手写界面,全面的 LaTeX 符号列表:您在框中绘制要查找的符号(使用鼠标等),然后软件会尝试识别它。您可以告诉软件哪一个(如果有的话)建议是您想要的,从而教会软件。

\fint我尝试使用平均积分符号,它建议使用包中的命令esint。该包似乎包含许多装饰积分符号。

相关内容