我发现以下代码小尺寸矩阵
\documentclass{article}
\usepackage{graphicx,amsmath}
\newcommand{\colvec}[2][.8]{%
\scalebox{#1}{%
\renewcommand{\arraystretch}{.8}%
$\begin{bmatrix}#2\end{bmatrix}$%
}
}
\begin{document}
\[
\mathbf{a}+\colvec{x\\y\\z}+\begin{bmatrix}x\\y\\z\end{bmatrix}+\colvec[.7]{x\\y\\z}
\]
\end{document}
现在我正在使用
\colvec[1]{1 \enskip \mathbf{q}^{T}}
写入行向量。但一定有更好的方法来实现这一点。
答案1
由于\colvec
仅使用手动缩放的bmatrix
来制作行向量,因此只需将\\
分隔符更改为&
,如中所示\colvec{x&y&z}
。
\documentclass{article}
\usepackage{graphicx,amsmath}
\newcommand{\colvec}[2][.8]{%
\scalebox{#1}{%
\renewcommand{\arraystretch}{.8}%
$\begin{bmatrix}#2\end{bmatrix}$%
}
}
\begin{document}
\[
\mathbf{a}+\colvec{x&y&z}^T+\begin{bmatrix}x\\y\\z\end{bmatrix}+\colvec[.7]{x\\y\\z}
\]
\end{document}
答案2
由于语法统一,因此只需更改命令即可轻松地从 更改\rowvec
为:\colvec
\documentclass{article}
\usepackage{graphicx,amsmath}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\colvec}{O{0.8}m}
{
\scalebox{#1}{$\generalvec{#2}{\\}$}
}
\NewDocumentCommand{\rowvec}{O{0.8}m}
{
\scalebox{#1}{$\generalvec{#2}{&}$}
}
\NewDocumentCommand{\generalvec}{mm}
{
\clist_set:Nn \l_tmpa_clist { #1 }
\renewcommand{\arraystretch}{.8}
\begin{bmatrix}
\clist_use:Nn \l_tmpa_clist { #2 }
\end{bmatrix}
}
\ExplSyntaxOff
\begin{document}
\[
\mathbf{a}+\rowvec{x,y,z}^T+\colvec{x,y,z}+\colvec[.7]{x,y,z}
\]
\end{document}