我想自动\,
在上限和积分符号之间添加一个,而不必每次都手动输入。我正在使用 latexocr 来剪切方程式并将 latex 代码从 latexocr 复制到我的文档中,如果我使用\renewcommand
重新定义\int
,那么语法将变成\int{a}{b}{f}
但我想保留\int_{a}^{b}{f}
格式,其中_
和^
用于表示上限和下限。有没有办法实现这一点,或者有什么方法可以配置原始命令的默认间距\int
?
\let\st\int
\renewcommand*{\int}[3]{\st_{#1}^{\,#2}{#3}}
% but i want something like this
$\int_{a}^{b}{s}(x)dx$
% instead of this
$\int{a}{b}{s}(x)dx$
答案1
假设您确实想这样做,那么这是一个工作,\RenewDocumentCommand
并且是其e
修饰参数类型。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\RenewDocumentCommand{\int}{t{\limits}e{_^}}{%
\DOTSI\intop\ilimits@
\IfBooleanT{#1}{\limits}
\IfValueT{#2}{_{#2}}%
\IfValueT{#3}{^{\IfBooleanF{#1}{\,}#3}}%
}
% just for comparison
\newcommand{\standardint}{\DOTSI\intop\ilimits@}
\makeatother
\begin{document}
\begin{gather*}
\int\limits_{a}^{b}f(t)\,dt
\int_{a}^{b}f(t)\,dt
\\
\standardint_{a}^{b}f(t)\,dt
\end{gather*}
\end{document}
您确实使用了amsmath
,不是吗?
顺便说一句,的语法\int
并不要求在被积函数周围加上括号,正如您所认为的那样:它们实际上通常是不受欢迎的。