我可以在 \pgftext 中放置换行符吗?

我可以在 \pgftext 中放置换行符吗?

简单问题:我正在使用 PGF(基本层,不是 TikZ)制作图片,我想使用 添加一些文本\pgftext。问题是文本中的任何\\\newline换行符似乎都被忽略了。有什么方法可以强制显示换行符吗?

\documentclass{minimal}
\usepackage{pgf}

\begin{document}
 \begin{pgfpicture}
  \pgftext{can haz line \\ break plz?}
  \pgftext[y = -20pt]{i made u a line \newline break but tex eated it}
 \end{pgfpicture}
 \end{document}

手册中根本没有提到这一点,我能找到的唯一其他讨论是这篇帖子来自 comp.tex.pgf.user它实际上并不包含解决方案,只有使用 TikZ 节点的解决方法[align=...]。但是,主要是出于好奇,假设使用 TikZ 是不可能的。是否仍然可以进行换行?(我认为可以,因为 TikZ 本身必须以某种方式做到这一点)

答案1

egreg 的解决方案或者可能是迷你页面

\pgftext[y=-20pt]{\begin{minipage}{5cm}can haz line \\ break plz?\end{minipage}} 

答案2

只是猜测:\pgftext适用于\hbox。所以答案可能是

\pgftext{\vbox{\hbox{can haz line}\hbox{break plz?}}}

但可能

\pgftext{\begin{tabular}{@{}l@{}}can haz line\\break plz?\end{tabular}}

更方便(并且可以包含在宏中)。

相关内容