在路径上设置文本

在路径上设置文本

使用 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}

结果

相关内容