这个问题与 Loop Space 用户对问题的回答直接相关矩阵破碎 - 括号内有缺口,其中amsmath
提供了一种矩阵排版的替代 TiKZ 方法。
以下请求与分隔符有关:
是否有可能有一些代码允许只排版其中一个分隔符?(我已经想出了如何“空白”不需要的分隔符,但不知道如何使其完全没有排版效果。)
使用书法分隔符(或一般分隔符)时,是否可以控制或指定矩阵框和分隔符之间的距离?
更新:经过多次调整和试验,我想出了一个可行但显然不太优雅的解决方案来解决这两个问题。当选择 tikz 矩阵分隔符类型时 --- 触发使用书法分隔符进行排版 ---,例如通过
\begin{tikzpicture}[matrix delimiter type={tikz}]%
\matrix (my_tikz_matrix) [matrix of math nodes,%
delimiters={\lbrace,\rbrace},%
ampersand replacement=\&]%
问题 #2 可以通过在矩阵第一行的开头和/或结尾(根据需要)放置附加列,然后在新列命令(此处为 \&)后使用 [spacing_expression] 语法更改水平间距来“解决”。如果相关列是第二列和第三列,我们可以这样写来控制括号的水平间距:
\&[0.5ex] \& foo \& bar \&[-0.2ex]\\
这样,我们也可以解决问题 #1(例如,通过将左分隔符放置得足够靠右,从而“侵入”矩阵主体),只要我们“空白”不需要的分隔符即可。例如,可以通过在\tikzset{}
放置在之前的命令中本地重新定义原始代码中的选项\begin{tikzpicture}...
来实现:render left tikz delimiter/.style
\tikset{%
render left tikz delimiter/.style={}%
}%
my_tikz_matrix
请注意,此选项也可以在选项中指定。
(PS:为了完整性,假设如果我们使用 tikz 来排版矩阵,那么有充分的理由这样做,让我补充一点,如果您=
在数学模式下无法水平对齐符号,例如在建立线性方程组或简单地堆叠解决方案时,您可以将等号作为节点标签以获得正确的对齐:
x\&\node(){=};\&6\\
y\& = \&12\\
)