如何使用 tikzpicture 环境设置每个 umlusecase 的宽度

如何使用 tikzpicture 环境设置每个 umlusecase 的宽度

我在用TikZ-UML很棒的套餐我在定义 UML 图的全局配置时遇到了麻烦。

请考虑这个MWE:

\documentclass{article}

\usepackage{tikz-uml}
\tikzumlset{fill usecase=white}
\begin{document}

\begin{tikzpicture}
    \begin{umlsystem}[x=6] {Name}
        \umlusecase[width=2.5cm] {case 1}
        \umlusecase[x=5,width=2.5cm] {case 2}
        \umlusecase[x=5,y=-2,width=2.5cm] {case 3}
    \end{umlsystem}
\end{tikzpicture}

\end{document}

使用宽度命令

我想设置width=2.5cm每一个 umlusecase我尝试过

\tikzumlset{fill usecase=white,every umlusecase/.style={width=2.5cm}}

(删除所有width=2.5cmumlusecase但它不起作用:

无宽度

有谁知道如何概括该属性?

谢谢!

答案1

以下方法似乎有效。我使用了 TeXnician 的想法,修补\umlusecase宏以删除样式的重置/usecase/style,然后使用usecase/style/.style={text width=2.5cm}它而不是您的版本来设置宽度。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{xpatch}
\usepackage{tikz-uml}

\xpatchcmd{\umlusecase}
  {style/.style={}}
  {}
  {}{}

\tikzumlset{
   fill usecase=white,
   usecase/style/.style={text width=2.5cm}
   }
\begin{document}

\begin{tikzpicture}
    \begin{umlsystem}[x=6] {Name}
        \umlusecase {case 1}
        \umlusecase[x=5] {case 2}
        \umlusecase[x=5,y=-2] {case 3}
    \end{umlsystem}
\end{tikzpicture}

\end{document}

相关内容