我使用tikz-uml
带有 MikTeX 的软件包。我将其放在 '...latex/misc' 目录中,并在设置中使用 'Refresh FNDB' 功能。
考虑这个最小的例子:
\documentclass{article}
%Tikz Stuff
\usepackage{tikz}
%Required for Tikz-UML
\usepackage{ifthen}
\usepackage{xstring}
\usepackage{calc}
\usepackage{pgfopts}
\usepackage[ngerman]{babel}
\usetikzlibrary{positioning}
%
\usepackage{tikz-uml}
%
\begin{document}
%
\begin{tikzpicture}
\umlsimpleclass{A}
\umlemptyclass[below left=2cm and 2cm of A, anchor=north]{B}
\umlclass[right=4cm of B.north, anchor=north]{C}{i : int \\ r : double}{}
\umlVHVinherit[arm2=-1.2cm]{B}{A}
\umlVHVinherit[arm2=-1.2cm]{C}{A}
\end{tikzpicture}
\end{document}
该包本身可以工作。但是,如果我使用诸如左上方或左下方之类的定位关键字,则会收到以下错误:
pdflatex> !TIKZUML 错误:在 umlclass 中,左下方的选项无效
答案1
遇到了同样的问题,相对定位功能仅在线记录,我认为它不包含在 2013 年 2 月发布的官方版本 1.0b 中。
尝试一下 2013 年 3 月的快照:
最新快照于 2013 年 3 月 19 日发布
http://www.ensta-paristech.fr/~kielbasi/tikzuml/src/tikzuml-HEAD-2013-03-19.tbz
并且您必须positioning
在序言中添加 TikZ 包:
\usepackage{tikz}
\usetikzlibrary{positioning}
答案2
对于即将发布的 tikz-uml 新版本,添加\usetikzibrary{positioning}
之前或之后都可以正常工作。\usepackage{tikz-uml}