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
。该包似乎包含许多装饰积分符号。