由于某些奇怪的原因\umlinclude
并且\umlextend
没有编译..
我已经尝试解决这个问题很长时间了,但没有任何成功。在互联网上也找不到任何东西。所以我想我会在这里问。
以下是最小的不起作用的示例:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\begin{umlsystem}[x=4, fill=gray!10]{System}
\umlusecase[name=case-1]{Case 1}
\umlusecase[x=2, y=-2, name=case-2]{Case 2}
\umlusecase[x=-2, y=-2, name=case-3]{Case 3}
\umlextend{case-1}{case-2}
\umlinclude{case-2}{case-3}
\end{umlsystem}
\end{tikzpicture}
\end{document}
产生错误消息:
! Undefined control sequence.
\save@sf@q #1->\leavevmode \begingroup \edef \@SF
{\spacefactor \the \spacef...
l.17 \umlextend{case-1}{case-2}
?
! Emergency stop.
\save@sf@q #1->\leavevmode \begingroup \edef \@SF
{\spacefactor \the \spacef...
l.17 \umlextend{case-1}{case-2}
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on uml-test.log.
这让我很困惑。
请帮忙!
答案1
正如 Ulrike Fischer 所说,添加\usepackage[T1]{fontenc}
可以解决问题。
答案2
我使用$\ll$
and$\gg$
代替\guillemotleft
and来定义 << 和 >> \guillemotright
,这样即将发布的 tikz-uml 的下一个版本就不再依赖于\usepackage[T1]{fontenc}