我的矩阵中的负数存在以下问题:
\begin{tikzpicture}[>=latex]
\matrix (m) [matrix of math nodes,
left delimiter=(,right delimiter=),
inner ysep=0pt, column sep=0.8em, row sep = 0.65em,
nodes={inner sep=0.3em,text width=0.85em,align=center}
]
{
1 & 2 & 1 & 0\\
0 & -2 & 1 & 0\\
0 & 0 & 0 & 0\\
};
\path ($(m-1-3.north east)+(0.3em,0)$) edge[thick] ($(m-3-3.south east -| m-1-3.north east)+(0.3em,0)$);
\end{tikzpicture}
我尝试了 anchor = center 以及 align = center,但负数看起来仍然很别扭。它没有居中。
我遗漏了哪个选项?谢谢你的帮助!
答案1
这里的问题不是文本对齐,你在这一侧所做的是正确的。问题来自文本宽度太小,无法容纳 -2。减少内部分隔符并使用更大的文本宽度:
\documentclass[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{matrix,calc}
\begin{document}
\begin{tikzpicture}[>=latex]
\matrix (m) [matrix of math nodes,
left delimiter=(,right delimiter=),
inner ysep=0pt, column sep=0.8em, row sep = 0.65em,
nodes={inner sep=0.1em,outer sep=0,text width=1.2em,align=center}
]
{
1 & 2 & 1 & 0\\
0 & -2 & 1 & 0\\
0 & 0 & 0 & 0\\
};
\path ($(m-1-3.north east)+(0.3em,0)$) edge[thick] ($(m-3-3.south east -| m-1-3.north east)+(0.3em,0)$);
\end{tikzpicture}
\end{document}
如果您想要获得更宽或更高的矩阵,也可以分别使用inner ysep
和。inner xsep