如何创建直接积分宏

如何创建直接积分宏

在我从事的数学领域中,有一个常用的符号,称为直接积分,通常写成。我认为如果实际上位于积分符号的中间,就像符号的情况一样,\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}

在此处输入图片描述

相关内容