使用以下代码我没有得到预期的结果
\input tikz
\tikzpicture
\node[draw,align=center] {Hello \hfil\break World};
\endtikzpicture
\bye
之后没有换行符Hello
。我不想使用文本宽度并手动指定宽度。
答案1
不幸的是,PGF/TikZ 在与纯格式一起使用时遇到了一些问题(至少在撰写本文时;版本 2.10)。
您的示例可以按如下方式工作\tikz[draw,align=center] {Hello\\ World};
,但在某些情况下,使用纯格式会发生令人惊讶的事情:
\tikz\node[draw,align=center,text width=1cm] {Hello World};
以上将引入一个有趣的(并且令人讨厌的持久性)\parindent
。\noindent
节点开头的 A 不会执行任何操作。与 相同。与前两者的\parindent0pt
样式相同。需要在命令之前设置才能使其工作。execute at begin node
\parindent0pt
\node
使用纯格式时可能会遇到的另一个令人惊讶的事情是:
\tikz\node[draw,align=right,text width=1cm] {Hello World};
PGF/TikZ 将尝试执行\raggedleft
一个在 plain 中不存在的命令。
现在,我想我记得在某处读到过 PGF/TikZ 的 plain 问题正在被修复(或者已经修复了?),所以当前的 CVS 版本可能不会出现这些问题。