如何在 tikz 矩阵中单独更改列的宽度

如何在 tikz 矩阵中单独更改列的宽度

我想单独更改以下矩阵中不同列的宽度:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[font=\small]
\matrix[column sep=4ex,fill=none] {
  \draw(0,0)--(1,1); & \draw(0,0)--(1,1); & \draw(0,1)--(1,0); & \draw(0,0)--(1,1); \\
};
\end{tikzpicture}

\end{document}

@{}基本上我想要的是与数组中使用的运算符等效的东西。我尝试了许多选项:@{}、、、和其他,但都没有用minimum widthminimum sizeinner sep

答案1

[]您需要的是在后面添加一个&

\documentclass{standalone}
    \usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
        \matrix[column sep=4ex,fill=none] {
          \draw(0,0)--(1,1); &[4ex] \draw(0,0)--(1,1); &[-4ex] \draw(0,1)--(1,0); &[0ex] \draw(0,0)--(1,1); \\
            };
    \end{tikzpicture}
\end{document}

它的工作方式与@{}运算符略有不同,因为括号内指定的长度不会替换,而是添加到您用 指定的宽度中column sep。因此,如果column sep=4ex,则后面&[4ex]将是8ex&[0ex]将保持宽度不变。这在手册的第 17.3.2 节中有记录

在此处输入图片描述

相关内容