带双垂直线的高斯括号

带双垂直线的高斯括号

我希望有左右高斯括号的命令,它们有双垂直线,但其他方面的行为与\lfloor和完全相同\rfloor。特别是,它们应该有各种尺寸,其他方面应该保持不变。

我找到了两个候选人,但不幸的是,他们都不是最佳的:

  • \llfloor\rrfloor在包中 stmaryrd。不幸的是,它们不理解前面的\left命令\right。我的印象是它们是固定大小的。

  • \lFloor\rFloor在包中nath。它们的大小不同,但问题是,包括包nath会引入所有括号类型符号的自动大小调整行为。这可能很有趣,但目前这种变化对我来说太过激进了。

答案1

如果你不想使用任何其他包,那么amsmath可以将两个\lfloors 并排放置,中间留出一点负空间:

在此处输入图片描述

这样做的好处是不会加厚分隔符的水平部分。

\documentclass{article}
\usepackage{amsmath}

\newcommand{\gaussbr}[1]{%
    \left\lfloor\hspace{-.33em}\left\lfloor #1\right\rfloor\hspace{-.33em}\right\rfloor%
    }

\begin{document}

\[
\gaussbr{A}\gaussbr{\sum_{n=0}^{\infty}a_n}
\]

\end{document}

当然,您可以根据自己的喜好调整负空间的数量。

答案2

感谢 Werner 提供解决方案这个类似的问题

使用一个相当快速的修复scalerel如下。

方便的是,scalerel提供\scaleleftright[<max width>]{<left obj>}{<stuff>}{<right obj>}(和类似的\stretchleftright)用于将<left obj>和缩放/拉伸<right obj>到高度<stuff>(如果需要且可选,则限制为宽度<max width>)。以下是一个简单的示例:

\documentclass{article}
\usepackage{scalerel, stmaryrd} % http://ctan.org/pkg/scalerel

\newcommand{\gaussbracket}[1]{\stretchleftright{\llfloor}{#1}{\rrfloor}}

\begin{document}
\[ \gaussbracket{\displaystyle\sum_{i=1}^n i} \]
\end{document}

相关内容