我们可以使用\llbracket \rrbracket
来\usepackage{stmaryrd}
生成双括号。我的问题是:
我们如何生成一个带有双括号的矩阵(与\llbracket \rrbracket
版本相同的样式)?
编辑:我只是想出了以下方法来制作具有二维的矢量形式:
\providecommand{\matbrack}[2]{
\left\llbracket
\begin{matrix}
#1 \\
#2
\end{matrix}
\right\rrbracket
}
內容正文:
$\vecbrack{M}{1}$
答案1
我建议将您想到的命令概括为仅接受 1 个参数。这样,它可以用于标量、任意长度的列和行向量以及整个矩阵。我还想建议创建一个由双括号包围的smallmatrix
环境变体(由包提供amsmath
),用于内联数学设置。
\documentclass{article}
\usepackage{amsmath} % for 'matrix' env.
\usepackage{stmaryrd} % for '\llbracket' and '\rrbracket'
\newcommand{\bbrack}[1]{%
\left\llbracket \begin{matrix} #1 \end{matrix} \right\rrbracket}
% for use in inline math:
\newenvironment{bbsmallmatrix}{%
\left\llbracket\begin{smallmatrix}}{%
\end{smallmatrix}\right\rrbracket}
\begin{document}
aaa $\bbrack{ M \\ 1 }$ zzz
\quad
aaa $\begin{bbsmallmatrix} M \\ 1 \end{bbsmallmatrix}$ zzz
\end{document}
答案2
这些括号是\lBrack
和\rBrack
中的unicode-math
,stix
或stix2
。一个简单的使用示例:
\documentclass{article}
\usepackage{mathtools}
\usepackage{unicode-math}
\DeclarePairedDelimiter{\Brack}{\lBrack}{\rBrack}
\newenvironment{bbmatrix}%
{\left\lBrack\begin{matrix}}%
{\end{matrix}\right\rBrack}
\begin{document}
\[ \Brack{ \rho, \vartheta, \varphi }
\begin{bbmatrix}
a &b &c \\
d &e &f \\
\alpha & \beta & \gamma
\end{bbmatrix}
\]
\end{document}
答案3
扩展Mico 的回答以上,如果你这样做不是想要使用该stmaryrd
包,可以定义一个新的命令:
\newcommand{\bbrack}[1]{{
\mathchoice
{\left\lbrack\!\!\left\lbrack #1 \right\rbrack\!\!\right\rbrack} % display style
{\left\lbrack\!\left\lbrack #1 \right\rbrack\!\right\rbrack} % text style
{} % script style
{} % scriptscript style
}
}
处理任意长度的标量、向量和矩阵。这还有一个好处,就是看起来像\llbracket
和\rrbracket
。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\bbrack}[1]{{
\mathchoice
{\left\lbrack\!\!\left\lbrack #1 \right\rbrack\!\!\right\rbrack} % display style
{\left\lbrack\!\left\lbrack #1 \right\rbrack\!\right\rbrack} % text style
{} % script style
{} % scriptscript style
}
}
\begin{document}
Inline style: $\bbrack{\mathcal{K}, \mathcal{M}}$
With inline small matrix: $\bbrack{ \begin{smallmatrix} M \\ 1 \end{smallmatrix}}$
Finally, normal display style would look like,
\begin{equation}
\bbrack{
\begin{matrix}
0 & D & 0 & 0 & M & 0 & 0 & 0\\
M & 0 & 0 & 0 & M & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & M & 0 & 0 & 0\\
0 & 0 & 1 & 0 & M & 0 & 0 & 0\\
0 & 0 & 1 & 0 & M & 0 & 0 & 0\\
0 & 0 & 1 & \varphi & M & 0 & 0 & 0\\
0 & 0 & 1 & 0 & M & 0 & \ddots & \vdots \\
0 & 0 & 1 & 0 & M & 0 & \dots & 0\\
\end{matrix}
}
\end{equation}
\end{document}