如何在 pgf-umlsd UML 序列图实例/线程中添加换行符

如何在 pgf-umlsd UML 序列图实例/线程中添加换行符

我正在用 tikz 包编写 UML 序列图pgf-umlsd。当前代码如下:

\begin{sequencediagram}
    \newthread{controller}{Special Task Controller}
    \newinst{servicea}{Service A}
    \newinst{serviceb}{Service B}
    \newinst{servicec}{Service C}

    \begin{call}{controller}{HTTP GET /}{servicea}{}
    \end{call}
    \begin{call}{controller}{HTTP GET /}{serviceb}{}
    \end{call}
    \begin{call}{controller}{HTTP GET /}{servicec}{}
    \end{call}
\end{sequencediagram}

我的问题是,它必须嵌入到双列文档中,其中一列不是很宽,我想通过将线程名称包装Special Task Controller在框中来节省一些空间。有没有办法在其中添加换行符?

(使序列图跨越两列是不可能的,因为它的宽度不足以填满整个页面)

答案1

好的,我在这里找到了答案:在 tikz 节点内使用 \rotatebox 时如何换行?

您必须定义一个\parbox具有所需宽度的标题:

\parbox[c]{1.5cm}{\centering Line  Break}

或者也可以使用命令\shortstack{},其中\\-linebreaks 将起作用。

\shortstack{Line\\ Break}

\newthread命令如下

\newthread{controller}{\parbox[c]{1.5cm}{\centering Special Task Controller}}

分别

\newthread{controller}{\shortstack{Special Task\\ Controller}}

(简单地说\\\linebreak或者\linebreak{}不起作用。)

相关内容