可扩展的“评估于”栏

可扩展的“评估于”栏

我想创建某种宏,它会产生一个垂直条|,该垂直条会随其引用的对象的高度而缩放。使用物理包,它的工作原理如下:

\eval{\pdv{f}{x}}_y

不过我想使用类似的东西:

\pdv{f}{x}\eval|_x
\pdv{f}{x}\eval_x
\pdv{f}{x}\eval{x}

这是因为当我写作时,在导数后写竖线更为自然。我可能会使用 $\bigg|$ 或 $\Bigg|$,因为我的大多数表达式都有类似的高度,但我想知道是否有某种方法可以使其工作以便缩放。

答案1

我猜想,宏的作用\eval{...}是确保缩放(我一般不喜欢)。可以打补丁\pdv,将整个构造的高度保存在长度寄存器中,该寄存器稍后用于构建 par,但我不喜欢也不使用这个physics包。此外,自动缩放通常非常危险,如以下示例所示

\[
\left.\frac{\partial f}{\partial x}\right|_x
\left.\frac{\partial \tilde{f}}{\partial x}\right|_x
\]

在此处输入图片描述

我相信毫无疑问,第二种表达看起来令人震惊。

说实话,我认为没有什么区别

\frac{dy}{dx}\eval_x

更直接

\frac{dy}{dx}\biggr|_x

除了省去两次击键并使代码在我看来更难读(尽管后面的评论可能取决于我的眼睛和大脑如何解析 LaTeX 数学)。但如果你\eval几乎总是有相同的高度(比如说\bigg),那么你可以定义如下内容

\documentclass{article}

\makeatletter
\newcommand*{\eval}[1][\bigg]{%
   \if\relax\detokenize{#1}\relax
      \def\next{\mathclose|}%
   \else
      \def\next{\csname\expandafter\@gobble\string#1r\endcsname|}%
   \fi
   \next
}
\makeatother

\begin{document}

\[
\frac{\partial f}{\partial x}\eval_x \quad
a\eval[\big]_x \quad
a\eval[]_x \quad
\frac{\partial f}{\partial x}\eval[\Bigg]_x^y
\]

\end{document}

在此处输入图片描述

默认情况下\bigg使用;可以提供不同的尺寸作为可选参数。

相关内容