
Мне бы хотелось иметь команды для левых и правых скобок Гаусса, которые имеют двойную вертикальную линию, но в остальном ведут себя точно так же, как \lfloor
и \rfloor
. В частности, они должны быть разных размеров, а другие вещи должны оставаться неизменными.
Я нашел два кандидата, которые, к сожалению, не являются оптимальными:
\llfloor
и\rrfloor
в пакетеstmaryrd
. К сожалению, они не понимают предшествующие\left
и\right
команды. У меня такое впечатление, что они фиксированного размера.\lFloor
и\rFloor
в пакетеnath
. Они бывают разных размеров, но проблема в том, что включение пакетаnath
вводит автоматическое поведение изменения размера всех символов типа скобок. Это может быть интересно, но на данный момент это изменение слишком радикально на мой вкус.
решение1
Если вы не хотите использовать никаких других пакетов, amsmath
можно поместить два символа \lfloor
s рядом друг с другом с небольшим отрицательным пробелом между ними:
Преимущество этого метода заключается в том, что горизонтальная часть разделителя не утолщается.
\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
Спасибо Вернеру за предоставленное решениеэтот похожий вопрос.
Довольно быстрое решение с помощью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}