装饰页面上的文本的箭头

装饰页面上的文本的箭头

我想在一段(或多段)文本中间标记两个点,并从一个点画一个箭头指向下一个点。箭头可以是彩色的,具有一定的透明度,并且可以覆盖正文(正文应为黑色)。当在标记之间插入文本时,我希望箭头自动更改;我唯一能保证的是两个标记都保留在同一页上。如何实现?

答案1

我会让其他人发布涉及的答案\tikzmark

关于 TikZ 手册建议如何执行此操作。

在您想要连接的点上,您将使用以下代码

\tikz[remember picture] \node (<node name>) {};

其中<node name>是您选择的名称。您应该为每个这样的节点使用不同的名称。

要连接两个节点,您需要一个tikzpicture环境

\begin{tikzpicture}[remember picture,overlay]
  \draw[arrows=->] (node-name-1) -- (node-name-2);
\end{tikzpicture}

这里node-name-1node-name-2是您个人想要命名的两个节点。

告诉remember pictureTikZ 记住节点和图片在页面的物理布局中创建的位置(通常 TikZ 不会费心去记住这一点)。 告诉overlayTikZ 这是不应该打断页面其他内容的后续内容:换句话说,它是铺盖页面内容。

有各种各样的方法可以创建连接两个节点的线。如果你不想用直线连接节点,那么你可以使用样条线,如下所示

 \draw[arrows=->] (node-name-1) .. control ++ (<coordinate-1>) and ++ (<coordinate-2>) .. (node-name-2);

这里++使坐标像相对于当前节点位置的矢量一样运行,以创建连接两个节点的贝塞尔曲线。

如果您提供 MWE,我可以提供更好的示例。

这里有些例子。

这是一个相当无聊和乏味的例子:

\documentclass{article}
\usepackage{tikz}
\begin{document}

\tikz[remember picture] \node (gaul) {};%%
GALLIA est omnis divisa in partes tres, quarum unam incolunt Belgae,
aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli
appellantur. Hi omnes lingua, institutis, legibus inter se differunt.%%
\tikz[remember picture] \node (3-parts) {};%%

\begin{tikzpicture}[remember picture,overlay]
  \draw[arrows=->,blue,line width=2pt,opacity=0.20] (3-parts) -- (gaul);
\end{tikzpicture}

Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit.

Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque
humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe
commeant atque ea quae ad effeminandos animos pertinent important,
proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter
bellum gerunt. Qua de causa Helvetii quoque reliquos Gallos virtute
praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut
suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.

\end{document}

在此处输入图片描述

以下是使用各种操作来连接节点的更有创意的答案:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\tikz[remember picture,inner sep=0pt] \node (gaul)  {};%%
GALLIA est omnis divisa in partes tres, quarum unam incolunt Belgae,
aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli
appellantur. Hi omnes lingua, institutis, legibus inter se differunt.%%
\tikz[remember picture,inner sep=0pt] \node (3-parts) {};%%

\begin{tikzpicture}[remember picture,overlay]
  \draw[arrows=->,blue,line width=2pt,opacity=0.20] (3-parts) ++ (-0.25em,1ex) .. controls ++ (2,0) and ++(0,5) .. ($(gaul)+(4pt,1.35ex)$);
\end{tikzpicture}

Gallos ab Aquitanis Garumna flumen, a Belgis Matrona et Sequana dividit.

Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque
humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe
commeant atque ea quae ad effeminandos animos pertinent important,
proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter
bellum gerunt. Qua de causa Helvetii quoque reliquos Gallos virtute
praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut
suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.

\end{document}

在此处输入图片描述

相关内容