带有自动缩放括号的 DeclareMathOperator

带有自动缩放括号的 DeclareMathOperator

使用“物理”包,有一个很好的行为,如果你写

\usepackage{physics}

\begin{document}

\[
\arctan(\frac{1}{\sqrt{3}})
\]

\end{document}

在此处输入图片描述

括号会自动缩放以适应较大的分数。但是,如果我使用 \DeclareMathOperator 创建新命令

\usepackage{physics}
\DeclareMathOperator{\rect}{rect}

\begin{documennt}

\[
\rect(\frac{x}{2})
\]
\[
\arctan(\frac{1}{\sqrt{3}})
\]

\end{document}

在此处输入图片描述

对于我新定义的数学运算符,这种缩放不会发生,但对于反正切函数却会发生。我想知道是否有办法声明数学运算符,使其在使用物理包时与反正切函数括号的行为相匹配。

答案1

我怀疑你正在使用physics。不要这样做,除非你认为下面的结果在印刷上是合理的。

\documentclass{article}
\usepackage{physics}

\begin{document}

\[
\arctan(\frac{1}{2})+\arctan(\sup_{x\in X}x^2)
\]

\end{document}

在此处输入图片描述

它让我的眼睛流血。

如果您仍想推行这一策略:

\documentclass{article}
\usepackage{physics}

\NewDocumentCommand{\rect}{}{\trigbraces{\operatorname{rect}}}

\begin{document}

\[
\arctan(\frac{1}{2})+\arctan(\sup_{x\in X}x^2)
\]

\[
\rect(\frac{1}{2})+\rect(\sup_{x\in X}x^2)
\]

\end{document}

在此处输入图片描述

双眼出血。

如果您想要好的排版,请格外小心地使用自动调整大小的括号。

\documentclass{article}
\usepackage{amsmath,mathtools}

\DeclarePairedDelimiter{\parentheses}{(}{)}

\RenewDocumentCommand{\arctan}{}{\operatorname{arctan}\parentheses}
\NewDocumentCommand{\rect}{}{\operatorname{rect}\parentheses}

\begin{document}

\[
\arctan*{\frac{1}{2}}+\arctan[\Big]{\,\sup_{x\in X}x^2}
\]

\[
\rect*{\frac{1}{2}}+\rect[\Big]{\,\sup_{x\in X}x^2}
\]

\end{document}

mathtools请参阅for的文档\DeclarePairedDelimiter并注意为避免符号冲突而留出的狭小空间。

在此处输入图片描述

评论。这个软件包physics看上去功能丰富,但语法复杂且漏洞百出。它的编程风格并不好,而且使用了几种不推荐使用的构造。

相关内容