使用路径引用命名 tikz umlpackage:没有已知的名为 X 的形状

使用路径引用命名 tikz umlpackage:没有已知的名为 X 的形状

我想在umlpackage环境中声明一个包名,不仅是包名,而且是它的引用路径。似乎使用.(句号)时可能会出现问题。如果尝试运行以下代码,文档将无法编译。

以下是 mwe:

\begin{tikzpicture}[]
    \begin{umlpackage}{path/to/package}
    % swapping path/to/package with path.to.package will result in following error:
    % Package pgf Error: No shape named `path' is known.
    \umlclass[x=0, y=0]{ClassA}{
    - fieldA: Field}
    {
     + methodA(fieldA: Field ): void
    }
    \end{umlpackage}
\end{tikzpicture}

可能错误出在第tikz-uml.sty324 行:

\StrSubstitute{\tikzumlPackage@nodeName}{.}{@POINT@}{\tikzumlPackage@nodeName}%

我对配置 LaTeX 环境不是很有信心,但这个命令应该.用宏替换每个@POINT@,对吗?@POINT@到底是什么?我该如何解决这个问题?

答案1

有一个可选参数name,您可以使用它来设置节点名称,而不是使用标签作为节点名称。

梅威瑟:

\documentclass{article}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}[]
    \begin{umlpackage}[name=path/to/package]{path.to.package}
    \umlclass[x=0, y=0]{ClassA}{
    - fieldA: Field}
    {
     + methodA(fieldA: Field ): void
    }
    \end{umlpackage}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

相关内容