用数学术语来说,调整“|”的高度

用数学术语来说,调整“|”的高度

我有一个由两段不同的代码产生的数学术语:

\displaystyle H\left(\frac{1}{2},\frac{1}{2}\left|_{C_{k}=1}\right.\right)

在此处输入图片描述

\displaystyle H\left(\frac{1}{2},\frac{1}{2}\Big|_{C_{k}=1}\right)

在此处输入图片描述

我想要实现的目标(这也是我尝试多种方法的原因)是生成与分数高度相同的垂直线。

正如您所见,第一段代码明显更短,而第二段代码虽然更好,但仍然很短。

通过尝试以前的方法,我感到困惑,为什么第一种方法没有产生与等相同高度的线,\left(,[而产生与表达式相同高度的符号(如果我错了,请纠正我)。

另外,我最初担心的是如何生产出符合我所提到的规格的生产线?

答案1

第一行代码会产生一条正常高度的线,因为它包围的\left|_{C_{k}=1}\right.不是分数。所以你必须使用\left.\kern-\nulldelimiterspace\frac{1}{2}\right|。至于\Big|尺寸不合适,使用\bigg|

\documentclass{article}
\usepackage{amsmath}
\begin{document}
  $\displaystyle H\left(\frac{1}{2},\left.\kern-\nulldelimiterspace\frac{1}{2}\right|_{C_{k}=1}\right)$

  $\displaystyle H\left(\frac{1}{2},\frac{1}{2}\bigg|_{C_{k}=1}\right)$
\end{document}

在此处输入图片描述

答案2

我会使用\bigg和朋友;\left并且\right括号太大了。

\documentclass{article}
\usepackage{mleftright}
\newcommand{\fakeleft}{\mleft.\kern\nulldelimiterspace}
\begin{document}
\[
H\mleft(\fakeleft\frac{1}{2},\frac{1}{2}\mright|_{C_{k}=1}\mright)
\]
\[
H\biggl(\frac{1}{2},\frac{1}{2}\bigg|_{C_{k}=1}\,\biggr)
\]
\end{document}

在此处输入图片描述

不幸的是,\middle在这种情况下不起作用,因为它的实现方式像\left,所以它不带下标。

答案3

以下解决方案仅使用\vrule,它给出了分数的精确高度和深度。(另一方面,\left...\right不提供精确高度。)不需要额外的包。

$$
H\left(\frac{1}{2},{\frac{1}{2}\,\vrule\,}_{C_{k}=1}\right)
$$

在此处输入图片描述

答案4

使垂直条延伸确切地分数的高度(按照OP的要求),scalerel包可以提供帮助。

\documentclass{article}
\usepackage{scalerel}
\begin{document}
$\displaystyle H\left(\frac{1}{2},\frac{1}{2}
  {\stretchrel*{\vert}{\frac{1}{2}}}_{C_{k}=1}\right)$
\end{document}

在此处输入图片描述

相关内容