`\mathchoice` 下标间距错误

`\mathchoice` 下标间距错误

我听从了这里将 MnSymbol 中的符号添加到我的文档中,当符号出现时,间距很糟糕。事实上,我必须使用它\mathchoice在文本模式和显示模式下获得不同的积分,所以我需要,\mathchoice但间距很糟糕。以下是代码:

\documentclass[12pt]{article}

\DeclareFontFamily{U} {MnSymbolF}{}

\DeclareFontShape{U}{MnSymbolF}{m}{n}{
  <-6> MnSymbolF5
  <6-7> MnSymbolF6
  <7-8> MnSymbolF7
  <8-9> MnSymbolF8
  <9-10> MnSymbolF9
  <10-12> MnSymbolF10
  <12-> MnSymbolF12}{}
\DeclareFontShape{U}{MnSymbolF}{b}{n}{
  <-6> MnSymbolF-Bold5
  <6-7> MnSymbolF-Bold6
  <7-8> MnSymbolF-Bold7
  <8-9> MnSymbolF-Bold8
  <9-10> MnSymbolF-Bold9
  <10-12> MnSymbolF-Bold10
  <12-> MnSymbolF-Bold12}{}

\DeclareSymbolFont{MnSyF} {U} {MnSymbolF}{m}{n}
\DeclareMathSymbol{\tstrokedint}{\mathbin}{MnSyF}{"60}
\DeclareMathSymbol{\dstrokedint}{\mathbin}{MnSyF}{"61}

\def\strokedint{\mathchoice{\dstrokedint}{\tstrokedint}{\tstrokedint}{\tstrokedint}}

\begin{document}

$\strokedint_D$ $\tstrokedint_D$ $\dstrokedint_D$

$$\strokedint_D$$

\end{document}

输出如下:

在此处输入图片描述

红色箭头表示错误的间距(带有\mathchoice),绿色箭头表示正确的间距(直接访问符号,不带有\mathchoice)。

有人知道如何同时获得\mathchoice正确的间距吗?

答案1

如果你声明它为\mathop更大的尺寸将通过字体指标找到,你不需要\mathchoice

在此处输入图片描述

\documentclass[12pt]{article}

\DeclareFontFamily{U} {MnSymbolF}{}

\DeclareFontShape{U}{MnSymbolF}{m}{n}{
  <-6> MnSymbolF5
  <6-7> MnSymbolF6
  <7-8> MnSymbolF7
  <8-9> MnSymbolF8
  <9-10> MnSymbolF9
  <10-12> MnSymbolF10
  <12-> MnSymbolF12}{}
\DeclareFontShape{U}{MnSymbolF}{b}{n}{
  <-6> MnSymbolF-Bold5
  <6-7> MnSymbolF-Bold6
  <7-8> MnSymbolF-Bold7
  <8-9> MnSymbolF-Bold8
  <9-10> MnSymbolF-Bold9
  <10-12> MnSymbolF-Bold10
  <12-> MnSymbolF-Bold12}{}

\DeclareSymbolFont{MnSyF} {U} {MnSymbolF}{m}{n}
\DeclareMathSymbol{\strokedintop}{\mathop}{MnSyF}{"60}

\def\strokedint{\strokedintop\nolimits}


\begin{document}

$\strokedint_D$ $\strokedint_D$ $\displaystyle\strokedint_D$

$$\strokedint_D$$

\end{document}

相关内容