可扩展的多集或包分隔符

可扩展的多集或包分隔符

stmaryrd包提供两种类型的多集或包分隔符:\lbag\rbag;和\Lbag\Rbag

当我将这些命令与分隔符大小调整命令\left\right(甚至\bigl\bigr)一起使用时,我收到“缺少分隔符”错误。有没有办法使用不同大小的多集分隔符?

如果有必要,我愿意使用来自其他包的符号。

答案1

包的和宏提供\scaleleftright了与语法类似的功能。在这种情况下,可选参数给出了比例允许的最大宽度。如果超出宽度,则调整纵横比以保留限制宽度。stretchleftrightscalerel\left ... \right

\documentclass{arlticle}
\usepackage{stmaryrd,scalerel}
\begin{document}
\[\Lbag xyz \Rbag\ = \scaleleftright[1.2ex]{\Lbag}{\frac{xyz}{XYZ}}{\Rbag}\]
\end{document}

在此处输入图片描述

\strut如果在的分子和分母上添加一个\frac,它将看起来像这样:

在此处输入图片描述


在评论讨论中,我提出了一个问题,这个字形的可扩展版本可能是什么样子。为了好玩,我手工构建了一个。我不推荐这种实现,但我认为在视觉外观上与我上面提出的解决方案进行比较会很有趣:

\documentclass{arlticle}
\usepackage{stmaryrd,scalerel,stackengine}
\setstackgap{S}{0pt}
\usepackage{adjustbox}
\def\LbagT{\clipbox{0pt 2.6pt 0pt 0pt}{$\Lbag$}}
\def\LbagB{\clipbox{0pt 0pt 0pt 8.5pt}{$\Lbag$}}
\def\RbagT{\clipbox{0pt 2.6pt 0pt 0pt}{$\Rbag$}}
\def\RbagB{\clipbox{0pt 0pt 0pt 8.5pt}{$\Rbag$}}
\begin{document}
\[\Lbag xyz \Rbag\ = \scaleleftright[1.2ex]{\Lbag}{\frac{xyz}{XYZ}}{\Rbag}\]

\[
\raisebox{-6pt}{\Shortstack{{\LbagT} {\rule{1pt}{2ex}\kern3pt} {\LbagB}}}
\frac{xyz}{XYZ}
\raisebox{-6pt}{\Shortstack{{\RbagT} {\kern2.95pt\rule{1pt}{2ex}} {\RbagB}}}
\]
\end{document}

在此处输入图片描述

相关内容