我尝试使用以下代码在 Tikz Uml 中排版模板类属性:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\tikzumlset{font=\footnotesize}
\umlclass[x=0, y=0, type=abstract]{Class}{}{
\umlvirt{+execute(): bool}
}
\umlclass[x=-3, y=-4]{DerivedClass}
{
-variable\_: type\\
-variablePtr\_: smartPtr<variableType>
}
{
}
\umlVHVimpl[anchors=north and south]{DerivedClass}{Class}
\end{tikzpicture}
\end{document}
我得到了这个结果:
我期望的不是 smartPtr¡variableType¡
smartPointer<variableType>
我该怎么做?我尝试转义“<”字符,但出现以下错误:
! Undefined control sequence.
\tikzumlClassAttributes ...riablePtr\_: smartPtr\<
variableType\>
l.20 }
答案1
到目前为止还没有人回答,我发现使用 \textless \textgreater 可以暂时解决这个问题,所以现在是这样的:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\tikzumlset{font=\footnotesize}
\umlclass[x=0, y=0, type=abstract]{Class}{}{
\umlvirt{+execute(): bool}
}
\umlclass[x=-3, y=-4]{DerivedClass}
{
-variable\_: type\\
-variablePtr\_: smartPtr\textless variableType\textgreater
}
{
}
\umlVHVimpl[anchors=north and south]{DerivedClass}{Class}
\end{tikzpicture}
\end{document}
结果