更改 \lim 下的间距

更改 \lim 下的间距

我想增加\lim命令的下限间距,如: 在此处输入图片描述 默认(第一个)在 $x$ 和 $c$ 之间没有足够的空间,第二个是我想要的样子,目前我使用 space\;命令来放置这个空间,但是有没有更好的方法来做到这一点?

答案1

TeX 在下标或上标中不会留出关系符号的空格。

您可以通过让 TeX 认为它正在排版文本样式来修改当前情况的行为。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\RenewDocumentCommand{\lim}{e{_}}{%
  \qopname\relax m{lim}%
  \IfValueT{#1}{_{\text{\m@th\thickmuskip=3mu $#1$}}}%
}
\makeatother

\begin{document}

\[
\lim_{x\to c} f(x)
\]

\end{document}

标准值为\thickmuskip5mu,但在这里似乎太多了,因此我局部将其减少到 3mu。进行实验,看看哪个最适合您。

在此处输入图片描述

奇怪的混合物\qopname\relax m{lim}是如何\lim定义的amsmath

一次执行多个操作的方法如下:

\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}

\ExplSyntaxOn
\NewDocumentCommand{\changebigoperators}{m}
 {
  \clist_map_inline:nn { #1 }
   {
    \exp_args:Nc \appto { ##1 } { \addspacelimits }
   }
 }
\ExplSyntaxOff

\NewDocumentCommand{\addspacelimits}{e{_^}}
 {%
  \IfValueT{#1}{_{\wrap{#1}}}%
  \IfValueT{#2}{^{\wrap{#2}}}%
 }
\NewDocumentCommand{\wrap}{m}
 {%
  \text{\mathsurround=0pt\thickmuskip=3mu$#1$}%
 }

\changebigoperators{sum,prod,lim}

\begin{document}

\begin{gather*}
\sum_{i=1}^n\dots\prod_{k=1}^n \\
\lim_{x\to c}f(x)
\end{gather*}

\end{document}

在此处输入图片描述

答案2

我认为你的解决方案可能是最好的。理由如下

\lim{constraint} F(x)

该约束没有被参数化,这是您的约束,因此,如果内置假设,即存在一个变量,然后是一个符号,然后是另一个参数等,那么\lim 这将是压倒性的。\lim

例如,如果有的变体\lim,也许可以\roomylim这样工作:

% Making this up...
\roomylimitspacer{\;}
% ...
\roomylim{x}{\to}{0} F(x)

那么可以设想,新的宏可以接受设置以推动x0远离分隔符。但是,我不记得看到过\lim这样的变体。

如果您发现自己重复使用了这个习语,那么\newcommand您的文档可能需要嵌入宽敞分隔符。

我选择“LaTeX 通常知道该做什么,当它不知道时,就会有一个解决办法。”就像你所想的那样\;(如果这是你对一点点水平空间的偏好,那就这样吧。)

我找到了这篇相关文章。

关于 lim 命令中的极限和 mathtools 包中的比例的问题

答案3

我相信你的问题的答案就在这里: 任意长度的箭头

事实上,如果你考虑 AboAmmar 给出的代码,你会得到:

在此处输入图片描述

\lim_{x\,\Arrow{.2cm}\,c}f(x)\qquad\lim_{x\,\Arrow{.4cm}\,c}f(x)

相关内容