![Tikz 的高亮显示偏离了应有的位置](https://linux22.com/image/355576/Tikz%20%E7%9A%84%E9%AB%98%E4%BA%AE%E6%98%BE%E7%A4%BA%E5%81%8F%E7%A6%BB%E4%BA%86%E5%BA%94%E6%9C%89%E7%9A%84%E4%BD%8D%E7%BD%AE.png)
我正在排版我的讲义,需要突出显示矩阵中的某些条目,以表明我正在谈论哪些条目。在三个矩阵中的两个中,突出显示的位置恰好正确,但在第三个矩阵中,突出显示关闭了。两个红点应该突出显示第三个矩阵第一列和第二列中的 1。
我运行了几次代码(注意,如果矩阵的位置发生变化,tex 需要再运行一次才能创建正确的突出显示坐标)。我还删除了其他文件(.tex 文件除外),以确保这不是导致问题的原因。现在我不知道还能尝试什么。
有人能告诉我我的代码出了什么问题吗?谢谢!
\noindent\begin{minipage}{\textwidth}
\vspace{0.3cm}
\noindent\begin{minipage}[b]{.32\textwidth}
\begin{tabular}{c}
$
\begin{bmatrix}
1 & \tikzmark{notleadingone}{1} \\
0 & 1 \\
0 & 0 \\
0 & 0
\end{bmatrix} $
\begin{tikzpicture}[overlay,remember picture]
\draw[opacity=.2,line width=4mm,line cap=round,color=red] (notleadingone.center) -- (notleadingone.center);\end{tikzpicture} \\
\\
\begin{tabular}{ c }
There is a nonzero\\ entry in a column \\ of a leading 1 \\
\end{tabular}
\end{tabular}
\end{minipage}
\begin{minipage}[b]{.32\textwidth}
\begin{tabular}{c}
$\begin{bmatrix}
\tikzmark{leftzerorow}{0} & 0 & 0 & \tikzmark{rightzerorow}{0} \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0
\end{bmatrix}$ \begin{tikzpicture} [overlay,remember picture]
\draw[opacity=.2,line width=4mm,line cap=round,color=red] (leftzerorow.center) -- (rightzerorow.center);\end{tikzpicture}\\
\\
\begin{tabular}{ c }
Not all \\ zero rows\\ are at the bottom \\
\end{tabular}
\end{tabular}
\end{minipage}
\begin{minipage}[b]{.32\textwidth}
\begin{tabular}{c}
$\begin{bmatrix}
0 & 0 & 1 \\
\tikzmark{oneone}{1} & 0 & 0 \\
0 & \tikzmark{twoone}{1} & 0 \\
0 & 0 & 0
\end{bmatrix}$
\begin{tikzpicture}
\draw[opacity=.2,line width=4mm,line cap=round,color=red] (oneone.center) -- (oneone.center);
\draw[opacity=.2,line width=4mm,line cap=round,color=red] (twoone.center) -- (twoone.center);\end{tikzpicture} \\
\\
\begin{tabular}{ c }
Some leading 1s are \\not to the right from \\ the leading 1s above them \\
\end{tabular}
\end{tabular}
\end{minipage}
\end{minipage}
答案1
首先,恐怕我无法在没有序言的情况下测试您的代码 - 特别是,您的版本\tikzmark
看起来不像是来自 CTAN 上的当前版本,但我不能确定。
尽管如此,我还是发现了一些显而易见的东西,(从评论来看)这似乎是缺失的部分。tikzpicture
提供突出显示的 s 都需要应用remember picture,overlay
选项,而第三个则不需要。
顺便说一句,使用 CTAN 的最新版本,tikzmark
你可以将突出显示的代码前这样\tikzmark
突出显示就会出现在文本下方而不是文本上方。