![如何创建直接积分宏](https://linux22.com/image/380716/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E7%9B%B4%E6%8E%A5%E7%A7%AF%E5%88%86%E5%AE%8F.png)
在我从事的数学领域中,有一个常用的符号,称为直接积分,通常写成。我认为如果实际上位于积分符号的中间,就像符号的情况一样,\int^\oplus
那么在审美上会更好,但据我所知,没有任何 LaTeX 符号可以自动执行此操作。我尝试通过编写 来为此创建自己的宏,但这仅适用于显示方程式,并且大小和位置在内联方程式中不适合。是否有任何好方法可以创建可以显示它的新 LaTeX 符号或宏?\oplus
\oint
\oplus\hspace{-1.12em}\int
答案1
我能提供的最好的建议是
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\directint}{\mathop{\mathpalette\direct@int\relax}\!\int}
\newcommand{\direct@int}[2]{%
\sbox\z@{%
\m@th
\ooalign{%
\hidewidth$\demote@style{#1}{\bigoplus}$\hidewidth\cr
$#1\phantom{\int}$\cr
}%
}%
\wd\z@=\z@\box\z@
}
\newcommand{\demote@style}[2]{%
\ifx#1\displaystyle\scriptstyle#2\else
\raise.5\fontdimen22\textfont2\hbox{$\scriptscriptstyle#2$}%
\fi
}
\makeatother
\begin{document}
$\displaystyle\directint_X$ \qquad $\directint_X$
\end{document}
它在下标中不起作用,但我不认为对其进行处理是值得的,因为该符号很丑陋,而且正如你所说,在文献中没有使用。
答案2
另一种解决方案基于stackengine
:
\documentclass {article}
\usepackage{amsmath}
\usepackage{stackengine}
\newcommand*{\dd}{\mathop{}\!\mathrm{d}}
\newcommand\directint{\mathop{\stackMath{\stackinset{c}{0.05ex}{c}{0ex}{\scriptscriptstyle\boldsymbol\oplus}{\displaystyle\int}}}}
\begin{document}
\[ \displaystyle\directint A_x\dd\mu(x) \]
\end{document}