控制使用 TiKZ 排版的矩阵中的分隔符

控制使用 TiKZ 排版的矩阵中的分隔符

这个问题与 Loop Space 用户对问题的回答直接相关矩阵破碎 - 括号内有缺口,其中amsmath提供了一种矩阵排版的替代 TiKZ 方法。

以下请求与分隔符有关:

  1. 是否有可能有一些代码允许只排版其中一个分隔符?(我已经想出了如何“空白”不需要的分隔符,但不知道如何使其完全没有排版效果。)

  2. 使用书法分隔符(或一般分隔符)时,是否可以控制或指定矩阵框和分隔符之间的距离?

更新:经过多次调整和试验,我想出了一个可行但显然不太优雅的解决方案来解决这两个问题。当选择 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\\

相关内容