У меня есть математический термин, созданный двумя разными фрагментами кода:
\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(,[
etc, создает символ той же высоты, что и выражение (поправьте меня, если я ошибаюсь).
Также моим первым вопросом было, как создать линию с указанными мной характеристиками?
решение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
Чтобы сделать вертикальную полосу протяженнойточновысота дроби (как и просил ОП), пакет 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}