我可以对点进行算术运算吗tikzmark
?例如,如果我有\tikzmark{A}
,\tikzmark{B}
我可以找到它们的中点吗?
答案1
欢迎来到 TeX.SE!您可以使用calc
。一般来说,a
和之间的中点b
由 给出($(a)!0.5!(b)$)
。一个微妙之处是您必须pic cs:
在坐标前添加\tikzmark
,但\tikzmarknode
节点则不必添加。以下 MWE 说明了这一点。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\begin{document}
Hello\tikzmark{A} something else\tikzmark{B}.\begin{tikzpicture}[overlay,remember picture]
\draw[red,latex-] ($(pic cs:A)!0.5!(pic cs:B)$) -- ++(0,-1);
\end{tikzpicture} \tikzmarknode{H}{Hello} world and \tikzmarknode{M}{marmots}!\begin{tikzpicture}[overlay,remember picture]
\draw[red,latex-] ($(H)!0.5!(M)$) -- ++(0,-1);
\end{tikzpicture}
\end{document}