Tikz 文本装饰中的换行符

Tikz 文本装饰中的换行符

使用text along path装饰选项tikz,我希望能够在文本中进行换行。

显然,诸如此类的标准命令\\不起作用。

现在,我正在使用两种不同的装饰,一种叠在另一个之上(参见 MWE),这并不令人满意。

平均能量损失

\documentclass{article}

\usepackage[linguistics]{forest}
\usetikzlibrary{decorations.pathreplacing,decorations.text}

\begin{document}
    
    \begin{forest}
        [ASP,name=pol[\textit{subject}][Asp 
        [asp][POL
        [AdvP[\textit{non},roof]][Pol
        [pol, name=nab][aP
        [~][a'
        [a][root]]]]]]]
        \draw[decorate,semithick,decoration={brace,raise=36pt,amplitude=8pt}](pol)--(nab);
            \draw[decorate,semithick,decoration={text along path,text align=center,raise=50pt,text=essai}](pol)--(nab);
            \draw[decorate,semithick,decoration={text along path,text align=center,raise=50pt+\baselineskip,text=new line on top}](pol)--(nab);
    \end{forest}

\end{document}

在此处输入图片描述

答案1

如果将文本作为节点放置在括号沿线,则可以使用它\\来开始新行,但必须添加align到节点选项。

另外,我不清楚您想要将支架的底部放在哪里,但我建议您使用节点角来定义支架线。例如,(pol.north east)对于支架的顶部。您还可以添加shift以使支架更好地跟随树。

在此处输入图片描述

\documentclass{article}

\usepackage[linguistics]{forest}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}
    
    \begin{forest}
        [ASP,name=pol[\textit{subject}][Asp 
        [asp][POL
        [AdvP[\textit{non},roof]][Pol, name=nab
        [pol][aP
        [~][a'
        [a][root]]]]]]]
        \draw[decorate,semithick,decoration={brace,amplitude=8pt}](pol.north east)--
            node[sloped, above=10pt, align=center]{new line on top\\essai}([shift={(.2,.2)}]nab.south east);
    \end{forest}

\end{document}

相关内容