The intercolumn space is \thickspace
; you can do a trick
\newenvironment{xsmallmatrix}[1]
{\renewcommand\thickspace{\kern#1}\smallmatrix}
{\endsmallmatrix}
Now you can decide for yourself what the separation is (default .2777em):
\begin{xsmallmatrix}{.5em}
a & b\\
c & d
\end{smallmatrix}
If you want a fixed different space, say .5em, define
\newenvironment{xsmallmatrix}
{\renewcommand\thickspace{\kern.5em}\smallmatrix}
{\endsmallmatrix}
Beware that \thickspace
is used in other places and it might happen in one of the small matrix entries (not very probable, though). A more robust patch might be
\usepackage{etoolbox}
\patchcmd{\smallmatrix}{\thickspace}{\kern.5em}{}{}
and from now on all smallmatrix
environments will use .5em as intercolumn space.
You could combine Werner's \colvec
with a small reduction of the interline space:
\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}
Best Answer
Three possibilities: