我想在句子的两个部分之间画一个箭头:
\documentclass{article}
\begin{document}
This is a very long \underline{sentence that} appears in this very \underline{short short} document.
\end{document}
箭头基本上应该是“short short”中间和“sentence that”中间的一条弧。
我希望能够在句子下方和句子上方画它。
有任何想法吗?
答案1
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{topaths}
\tikzstyle{every picture}+=[remember picture,inner xsep=0,inner ysep=0.25ex]
\begin{document}
This is a very long \tikz[baseline=(node1.base)]\node (node1) {\underline{sentence that}}; appears
in this very \tikz[baseline=(node2.base)]\node (node2) {\underline{short short}}; document.
\begin{tikzpicture}[overlay]
% Bend above text line
\draw[-latex] (node2.north) to[bend right] (node1.north);
% Bend below text line
%\draw[-latex] (node2.south) to[bend left] (node1.south);
% Angled
\draw[-latex] (node2.south) -- ++(0,-1.5ex) -| (node1.south);
\end{tikzpicture}
\end{document}
更多信息:
- PGF 手册中的“到路径库”,第 70 章,第 745f 页。
- “引用当前图片之外的节点”,PGF 手册第 17.13 节,第 248f 页。
我设置了inner xsep=0
水平方向的字距,防止弄乱。垂直inner ysep
方向的起止点定位大家可以自行调整。
答案2
以下是如何使用 来实现pstricks
。我还建议使用 arms 的线:
\documentclass[svgnames]{article}
\usepackage{pst-node}
% \usepackage{auto-pst-pdf} to compile with pdflatex --enable-write18 (MiKTeX)
% or pdflatex --shell-escape (TeXLive, MacTeX)
\begin{document}
This is a very long\Rnode{st}{ \underline{sentence that}} appears in this very \Rnode{ss}{\underline{short short}} document.
\ncarc[arrows = ->, linecolor =LightSteelBlue, arcangle = 15, nodesep = 1pt]{st}{ss}
\ncbar[arrows = ->, linecolor =LightCoral, angle = -90, arm = 0.75em]{ss}{st}
\end{document}
对工作中用到的概念进行一些解释:两个句子定义为Rnodes
(按基线对齐),然后它们用圆弧连接(\ncarc
)或带臂的线连接(\ncbar
)连接起来。所使用的参数在 的文档中有详细说明pst-node
。请注意,这些图形元素没有 TeX 的尺寸,因此它们不会修改布局。
答案3
如果你的目的涉及语言学,你可能想要使用该tikz-dependency
软件包。它提供了许多在单词之间绘制箭头的功能。
\documentclass{article}
\usepackage{tikz-dependency}
\begin{document}
\begin{dependency}[theme = simple]
\begin{deptext}[column sep=.1em]
This is a very long \& \underline{sentence that} \&
appears in this very \& \underline{short short} \& document.\\
\end{deptext}
\depedge{4}{2}{}
\depedge[edge below]{2}{4}{}
\end{dependency}
\end{document}
请注意,这可能很麻烦,因为您需要\&
在句子的每个项目之间写下您可能需要箭头的内容,但如果您只想针对特定情况使用箭头,它应该很有用。
您可以通过阅读了解更多信息https://ctan.org/pkg/tikz-dependency?lang=en