我想在 内注释一个方程式tikzpicture
,并尝试使用库subnode
来tikzmark
实现此目的。问题是包装数学公式subnode
不会保持预期的字体大小:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{tikzpicture}[remember picture]
\node[align=left] {$A_A$ (no subnode) \\
$\subnode{n1}{$A$}_{\subnode{n2}{$A$}}$ (with subnode)};
\draw[<-] (n2) -- ++(0,-5mm);
\end{tikzpicture}
\end{document}
此示例显示下标,但其他数学命令frac
也会受到影响。
如何使用subnode
或其他命令使带注释的方程式与未注释的方程式相匹配?
答案1
免责声明:我对 没什么经验subnode
。我也不知道下面的建议是否绝对安全。我真的希望 @LoopSpace 能告诉我们这里到底应该怎么做。我想你想读这个答案小心。
同时,这只是要报告一下,这个已经非常不错的tikzmark
库又增加了一个新\tikzmarknode
成员,让这个令人惊叹的库变得更加强大。至少在这种情况下,它似乎有效。
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{tikzpicture}[remember picture]
\node[align=left] {$A_A$ (no subnode) \\
$\tikzmarknode{n1}{A}_{\tikzmarknode{n2}{A}}$ (with tikzmarknode)};
\draw[<-] (n2) -- ++(0,-5mm);
\end{tikzpicture}
\end{document}
答案2
最新版本的 tikzmark 现已发布卡坦并且现在位于 TeXLive 中。它包含新的数学感知版本,\subnode
它将匹配其内容周围的数学模式。您的原始代码将正常工作,但您需要在 内切换到数学模式,\subnode
但您不应该这样做,因为\subnode
现在它会自行处理。
\documentclass{standalone}
%\url{https://tex.stackexchange.com/q/459497/86}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\begin{document}
\begin{tikzpicture}[remember picture]
\node[align=left] {\(A_A\) (no subnode) \\
\(\subnode{n1}{A}_{\subnode{n2}{A}}\) (with subnode)};
\draw[<-] (n2) -- ++(0,-5mm);
\end{tikzpicture}
\end{document}