我有一个由两段不同的代码产生的数学术语:
\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}