这个表达式$\lim^1$
经常用于同调代数,其中上标总是出现在 -项的右上角\lim
,而不是紧挨着它。当我想排版这个项时,我遇到了问题,但下标也表示极限被接管的索引。
我找不到令人满意的方法来排版这个。理想情况下,我希望有两种方法来排版 lim^1:一种用于 displaystyle,一种用于 textstyle。textstyle 版本应该呈现与 相同的效果$\lim_n^1$
。问题是,理想情况下我会有一个命令用于此操作,比如\limder
,但通过类似的东西定义它\DeclareMathOperator{\limder}{\lim^1}
会导致下标出现错误的间距(在文本模式下):
显示样式应该将索引渲染到限制以下,但是居中在单词“lim”下面(即,好像上标^1
不存在)。我尝试使用选项 5这个答案,但是这使得索引中心位于整个表达式下方,而不是仅仅位于 -term 下方lim
:
\mathop{\lim\nolimits^1}
渲染
我该如何找到一种正确排版这两种方法的方法?我想\mathchoice
我可以合并两个单独的命令,一个用于显示,另一个用于文本样式,因此两个单独的命令作为解决方案可以解决问题。
答案1
\documentclass{article}
\usepackage{mathtools}
\NewDocumentCommand\limder{e{_}}{\mathchoice
{\lim \IfValueT{#1}{_{\mathclap{#1}}}{}^{\!1\!}\mathop{}}
{\lim^1 \IfValueT{#1}{_{#1}}}
{\lim^1 \IfValueT{#1}{_{#1}}}
{\lim^1 \IfValueT{#1}{_{#1}}}}
\begin{document}
\parskip 1em
$\displaystyle\limder x$
$\displaystyle\limder_{n} x$
$\displaystyle\limder_{n\rightarrow\infty} x$
$\limder x$
$\limder_{n} x$
$\limder_{n\rightarrow\infty} x$
\end{document}
答案2
答案3
您可以\sideset
在显示样式中使用。
\documentclass{article}
\usepackage{amsmath}
\NewDocumentCommand{\derlim}{me{_}}{%
\mathchoice{\derlimdisplay{#1}{#2}}%
{\lim^{#1}\IfValueT{#2}{_{#2}}}%
{\lim^{#1}\IfValueT{#2}{_{#2}}}%
{\lim^{#1}\IfValueT{#2}{_{#2}}}%
}
\NewDocumentCommand{\derlimdisplay}{mm}{%
\!\sideset{}{^{#1}}\lim\IfValueT{#2}{_{#2}}%
}
\begin{document}
\begin{align*}
0&\to\lim_n x_n \\
0&\to\derlim{1}_n x_n \\
0&\to\derlim{11}_n x_n \\
&\to\smash{\kern-0.1pt\vrule height 2.5cm width 0.1pt} % just to show the alignment
\end{align*}
\[
\derlim{1}_{n} F \\
\]
\begin{center}% text style
$\derlim{1}_{n} F$
\end{center}
\end{document}