= 和矩阵之间的 tikzmark 给出了错误的间距

= 和矩阵之间的 tikzmark 给出了错误的间距

我希望能够访问 的两侧matrix

我的问题是,tikzmark=符号和之间放置的matrix间距不正确。

当我想要第三个输出行距时,却得到了第一个输出行距。如何修复?

输出

在此处输入图片描述

平均能量损失

\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\setlength\parindent{0pt}
  $
  A
  =
  \tikzmark{gauche}
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ the \verb|\tikzmark| is grabbed by \verb|{#1}={#2}| : gives wrong spacing

  $
  A
  =
  {}
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ as if there was a \verb|{}| after the \verb|=|

  $
  A
  =
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ for reference : what I would like.
\end{document}

干杯,

答案1

您可以使用

  \mathopen{\tikzmark{gauche}}

然后间距由 tikzmark 控制,并且矩阵中的第二个打开在跟随 mathopen 时不会添加额外的空间。

答案2

不幸的是,对此没有一般的规则。

Abmatrix构成一个“内原子”,而\tikzmark插入一个空的子公式,该子公式算作一个普通原子。

\thinmuskip按照规则,TeX 会在普通原子和内部原子之间插入一个细小的空格(更准确地说是)。在其他情况下,当\tikzmark它位于另一个普通原子(通常是单个字母或数字)旁边时,不会添加空格。

对于特殊情况,您可以通过在和\!之间添加来删除添加的空格。\tizkmark{gauche}\begin{bmatrix}

另一种策略是使用全局删除具有内部原子(本质上\left是对)的附加空间。\rightmleftright

\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\begin{document}
\setlength\parindent{0pt}
  $
  A
  =
  \tikzmark{gauche}\!
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ the \verb|\tikzmark| now gives right spacing

  $
  A
  =
  {}
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ here there is a \verb|{}| after the \verb|=|

  $
  A
  =
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ for reference: what I would like.
\end{document}

在此处输入图片描述

现在序言中有了 和mleftright\mleftright请注意,在这种情况下, 的间距也正确{}

\documentclass{article}
\usepackage{mathtools,mleftright}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\mleftright

\begin{document}
\setlength\parindent{0pt}
  $
  A
  =
  \tikzmark{gauche}
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ the \verb|\tikzmark| now gives right spacing

  $
  A
  =
  {}
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ here there is a \verb|{}| after the \verb|=|

  $
  A
  =
  \begin{bmatrix}
    1 & 2 & 3 \\ 
    3 & 5 & 6 \\ 
    1 & 2 & 3 \\ 
  \end{bmatrix}
  $ for reference: what I would like.
\end{document}

在此处输入图片描述

相关内容