不想在 varprojlim 之上设置限制

不想在 varprojlim 之上设置限制

在 displaystyle 模式下,\varprojlim_{i \in I}^{1}使用

在此处输入图片描述

不过,我想看起来更像

在此处输入图片描述

以上内容可以通过{\varprojlim_{i \in I}}^{1}但我想知道是否有某种方法可以创建一个命令(比如说\limit),以便\limit_{i \in I}^{1}可以给出所需的结果。


梅威瑟:

\documentclass{article}
\usepackage{amsmath,amssymb}
\begin{document}
\begin{equation*} 
    \varprojlim_{i \in I}^{1} \text{ vs. } {\varprojlim_{i \in I}}^{1}
\end{equation*}
\end{document}

答案1

您希望下标以 为中心\varprojlim,而不考虑指数,因此需要进行一些测量。

我建议使用不同的名称,例如\invlim对于运算符。我还提供了一个修改版,\varprojlim其中箭头较小。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
% use a smaller arrow
\def\varprojlim{\mathop{\mathpalette\varlim@{\leftarrowfill@\scriptstyle}}\nmlimits@}

\NewDocumentCommand{\invlim}{e{^_}}{%
  \IfNoValueTF{#1}{%
    \varprojlim\IfValueT{#2}{_{#2}}%
  }{%
    % measure the exponent
    \sbox\z@{$\m@th{}^{#1}\kern-\scriptspace$}
    \IfValueT{#2}
     {% measure the subscript
      \sbox\tw@{$\m@th\scriptstyle#2$}%
      % measure the operator
      \sbox4{$\m@th\varprojlim$}%
      \dimen@=\dimexpr(\wd\tw@-\wd4)/2\relax
      % typeset the operator
      \mathop{%
        \varprojlim\nolimits^{#1}
        % backup
        \kern-\wd\z@
      }\limits_{#2}%
      \ifdim\dimen@<\z@
        % the subscript doesn't overflow
        \kern\wd\z@
      \else
        \ifdim\dimen@>\wd\z@
          % no need to kern
        \else
          \kern\dimexpr\wd\z@-\dimen@\relax
        \fi
      \fi
     }%
  }%
}
\makeatother

\begin{document}

\begin{gather}
x\invlim_{i\in I} M_i     \\
x\invlim^1_{i\in I} M_i   \\
x\invlim^1_{i\in IJ} M_i  \\
x\invlim^1_{i\in IJK} M_i
\end{gather}

\end{document}

在此处输入图片描述

这只适用于显示样式。如果需要,我们可以让它也适用于文本样式,并在侧面添加下标。

前面的“x”只是用来显示正确的间距。

答案2

我不确定我是否会这样做,但您可以使用\NewDocumentCommand e参数类型。

\documentclass{article}

\usepackage{amsmath,amssymb}
\let\oldvarprojlim\varprojlim
\RenewDocumentCommand\varprojlim{e{^_}}{%
  {\oldvarprojlim\IfNoValueF{#2}{_{#2}}}\IfNoValueF{#1}{^{#1}}}
\begin{document}
\begin{equation*} 
    \varprojlim_{i \in I}^{1} \text{ vs. } {\varprojlim_{i \in I}}^{1}
\end{equation*}
\end{document}

相关内容