降低竖线右侧的下标

降低竖线右侧的下标

我想要标准代码的输出

$x \left.\right|_{x\gets 5}$

标准

但可以降低下标并向下延伸垂直线。 Stack Exchange 上有几个相关页面,但我找不到一个能做到这一点的。例如

$x \left.\rule[-4mm]{0mm}{4mm}\right|_{x\gets 5}$

但代价是垂直条也会向上延伸:

更好的

我想避免这种情况。具体来说,我希望垂直条的顶部与标准代码给出的高度相同。

答案1

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\evalat}[2]{\mathpalette\eval@at{{#1}{#2}}}
\newcommand{\eval@at}[2]{\eval@@at#1#2}
\newcommand{\eval@@at}[3]{%
  #2\,
  {%
   \sbox0{$#1\left|#2\right|$}%
   \vrule height \ht0 depth \dimexpr\dp0+1ex\relax
  }_{\,#3}
}
\makeatother

\begin{document}

\[
\evalat{x}{x\gets5}
\qquad
\evalat{\frac{x+1}{x-1}}{x\gets2}
\]

\end{document}

在此处输入图片描述

相关内容