使用“物理”包,有一个很好的行为,如果你写
\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
看上去功能丰富,但语法复杂且漏洞百出。它的编程风格并不好,而且使用了几种不推荐使用的构造。