我正在和同事一起撰写一篇大量使用一种自定义运算符(这里是概率密度函数)的文档。我们还没有最终决定使用什么符号。因此,我们使用自定义运算符定义
% probability density
\newcommand{\pdensity}[1]{p\!\del{#1}}%
\del
包中的括号包装命令在哪里commath
。我认为需要使用负数细空格\!
来区分参数括号和其他出现的括号,这些括号的分隔程度要大一些。
与@morbusg 相反这里我的意见是在命令定义中收集括号;这在使用诸如期望之类的运算符时对我来说非常方便,其中共同作者后来决定从括号切换到括号。
此外,我绝对需要自动调整参数括号的大小,因此使用\del
(另一种可能的替代方案是\left(
和\right)
,我对此表示肯定commath uses internally
)。
到目前为止,这对我来说在displaymath
环境中以及中都有效inlinemath
。但是使用分数时会发生奇怪的事情(这是贝叶斯推理所必需的)。
\documentclass{article}
% http://sunsite.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/macros/latex/contrib/commath/commath.pdf
\usepackage{commath}
\usepackage{amsmath}
% probability density
\newcommand{\pdensity}[1]{p\!\del{#1}}%
\begin{document}
\begin{align*}
\int \left[ \frac{\pdensity{x^{(i)} }}{\pdensity{x^{(i)} }} \right] \dif x
&&
\frac{ \frac{\pdensity{a}}{\pdensity{b}}}{x + y}
\end{align*}
\end{document}
突然间,括号大小发生变化(问题 1)(分母和分子),我不知道为什么。此外,负薄空间太大,导致运算符名称和括号相互交叉打印(问题 2)。请参阅随附的屏幕截图。
对于问题 2,这可能通过在命令定义中分离案例来解决\pdensity
,但我不知道要查找什么属性。
问题 1 更加奇怪,我想听听关于如何解决这个问题的任何猜测。
答案1
永远不要使用commath
。它的宏充满了错误。
\DeclarePairedDelimiter
使用可以获得更好的结果mathtools
,因为它可以完全控制栅栏的大小。
\documentclass{article}
\usepackage{mathtools}
\DeclarePairedDelimiter{\paren}{(}{)}
\newcommand{\pdensity}{p\paren}
\begin{document}
\[
\int\biggl[\frac{ \pdensity{x^{(i)}} }{ \pdensity{x^{(i)}} }\biggr]\,dx
\qquad
\int\biggl[\frac{ \pdensity[\big]{x^{(i)}} }{ \pdensity[\big]{x^{(i)}} }\biggr]\,dx
\qquad
\frac{ \frac{\pdensity{a}}{\pdensity{b}}}{x + y}
\]
\end{document}
请注意,没有必要设置较大的边界;我更喜欢两个公式中的第一个带积分的公式。它比第二个公式更易读,而且更不显眼。
你可以做
\pdensity{x}
\pdensity[\big]{x}
\pdensity[\Big]{x}
\pdensity[\bigg]{x}
\pdensity[\Bigg]{x}
\pdensity*{x}
最后一个使用自动调整大小(仅在真正需要时使用它)。