在LaTeX中使用tikz宏包及其扩展包共同绘制UML图之备忘二
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在LaTeX中使用tikz宏包及其扩展包共同绘制UML图之备忘二相关的知识,希望对你有一定的参考价值。
本篇所举例子文件前面的内容与备忘一(在LaTeX中使用tikz宏包及其扩展包共同绘制UML图之备忘一)中的示例一是一样的,这里不再列出。
示例三
% 51CTO 陆巍的博客
egin{center}
egin{tikzpicture}
ode(PaydayTransaction)[basic_class]{ extbf{underline{Payday}\ underline{Transaction}}};
ode(Employee)[right = of PaydayTransaction, xshift = 1cm, basic_class, text height = 0.5cm, text depth = 0.2cm]{ extbf{underline{Employee}}};
ode(PaymentClassification)[below = of Employee, yshift = -1.5cm, basic_class]{ extbf{underline{Payment}\ underline{Classification}}};
%-------------
umluniassoc[draw = purple]{PaydayTransaction}{Employee}
umluniassoc[draw = purple]{Employee}{PaymentClassification}
% ------------
draw[draw = purple, o-angle 45](PaydayTransaction.east)node[xshift = 1.2cm, yshift = 1.1cm, anchor = east]{Date} ++(1.2, 1.1) -- ++(0.6, 0);
draw[draw = purple, -angle 45](PaydayTransaction.east)node[xshift = 0.8cm, yshift = 0.3cm, anchor = south]{1:Pay} ++(0.5, 0.3) -- ++(0.6, 0);
draw[draw = purple, o-angle 45](Employee.south)node[xshift = 1.6cm, yshift = -0.7cm, anchor = west]{Date} ++(1.5, -0.2) -- ++(0, -0.6);
draw[draw = purple, -angle 45](Employee.south)node[xshift = 1.8cm, yshift = -1.7cm, anchor = south]{1.1:CalculatePay} ++(0.3, -1.0) -- ++(0, -0.6);
draw[draw = purple, o-angle 45](PaymentClassification.north)node[xshift = 1.6cm, yshift = 0.5cm, anchor = west]{Pay} ++(1.5, 0.1) -- ++(0, 0.6);
end{tikzpicture}
\[0.4cm]heiti 图18.7 计算雇员薪水song
end{center}
效果如下:
说明:
1) 本例是UML中的协作图。
2) 注意线段绘制时相对坐标的表示,例如代码中的“++(0.6, 0)”,坐标前面的两个加号表示其是前面一个点的相对坐标,如果没有这两个加号,就是整个图形的绝对坐标。绘制这样的图形还是相对坐标更适合。
3) 注意在命令underline{}里面不能包含\,所以代码中多行名称是分成两段来写的。
4) 连线上的这些箭头、信息,最好是使用“... = of ...”这样的位置表示方法。使用绝对坐标也可以,但是在用到其他地方时不方便。
5) 以上在绘制箭头时的方法实际上有些繁琐,尤其是在调整位置时要反复尝试,以后有更简练的方法时再修改。
6) 注意,
ode与draw语句的最后要加分号。
以上是关于在LaTeX中使用tikz宏包及其扩展包共同绘制UML图之备忘二的主要内容,如果未能解决你的问题,请参考以下文章