![在路径上设置文本](https://linux22.com/image/294529/%E5%9C%A8%E8%B7%AF%E5%BE%84%E4%B8%8A%E8%AE%BE%E7%BD%AE%E6%96%87%E6%9C%AC.png)
使用 LuaLaTeX,我想要创建一种效果,其中文本以脚注开始但向上弯曲并最终位于正文前面。
有点难以描述,但想象一下正文在页面上过早结束(前后都有整页的正文)并且脚注文本沿着路径向上倾斜,最终“成为”正文的其余部分。
这是否只能通过 TikZ 之类的东西来实现,或者我可以破解此特定页面的几何设置来实现它?
抱歉,这里没有 MWE,因为我不知道从哪里开始。
答案1
这就是你想要的吗?我手动调整了,但如果你知道如何处理文本,应该是可行的。
\documentclass{article}
\usepackage{tikz,kantlipsum}
\usetikzlibrary{tikzmark,decorations.text}
\begin{document}
\kant[1]
Then some more text finishing randomly on the sentence in the next line and I placed a tikzmark
right HERE\tikzmark{a}\footnote{Also one tikzmark HERE\protect\tikzmark{b}} \hspace{3.5em} and
continue here%
\tikz[remember picture,overlay]\draw[
decoration={text along path,
text={
Some long text along a long curve that
I'm hoping that it would be long enough to meet the line, merge
}
},decorate] (pic cs:b) to[in=180,out=0] ([xshift=5em]pic cs:a);
\end{document}
答案2
哦,我正在研究一个解决方案,使用的想法与 percusse 相同,但他的速度更快。不过,我理解了一种不同的布局,所以我也在这里发帖。
和 percusse 的解决方案一样,“弯曲的文本”不能是任意的。它必须具有精确的长度才能填充曲线长度。
\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum}
\usetikzlibrary{decorations.text,calc}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\begin{document}
\lipsum*[1-2]
\tikzmark{last paragraph}
\footnote{\lipsum*[3]\tikzmark{last footnote line}}
\begin{tikzpicture}[overlay, remember picture, decoration={text along path,
text={
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vestibulum ultricies sollicitudin iaculis. Cum sociis natoque penatibus.
}}]
\footnotesize
\coordinate (right margin) at ($(current page.east)-(1in,0)$);
\draw[decorate, rounded corners=1cm]
(last footnote line) -- (last footnote line-|right margin) |- (last paragraph);
\end{tikzpicture}
\end{document}