![類別圖上的不相交線](https://rvso.com/image/254720/%E9%A1%9E%E5%88%A5%E5%9C%96%E4%B8%8A%E7%9A%84%E4%B8%8D%E7%9B%B8%E4%BA%A4%E7%B7%9A.png)
\documentclass{article}
\usepackage[shellescape]{gmp}
\begin{document}
\begin{mpost}[use,mpsettings={input metauml;}]
Class.A("A")()();
Class.B("B")()();
Class.C("C")()();
Class.D("D")()();
B.n = A.s + (0,-80);
C.w = D.w + (-80,0);
A.s = C.w + (50,40);
drawObjects(A, B, C, D);
clink(association)(A,B);
clink(association)(C,D);
\end{mpost}
\end{document}
我得到的輸出:
正如你所看到的,線 A--B 和 C--D 相交。
我真的需要這樣的東西:
我怎樣才能做到這一點?
答案1
請查看第 8 節,特別是第 8.5 節metauml
手動的。
程式碼
\documentclass{article}
\usepackage[shellescape]{gmp}
\begin{document}
\begin{mpost}[use,mpsettings={input metauml;}]
Class.A("A")()();
Class.B("B")()();
Class.C("C")()();
Class.D("D")()();
B.n = A.s + (0,-80);
C.w = D.w + (-80,0);
A.s = C.w + (50,40);
drawObjects(A, B, C, D);
clink(association)(A,B);
%clink(association)(C,D);
path cool;
cool := C.e -- C.c+(38,0) .. C.c+(40,2) .. D.c+(-38,0) -- D.w;
link(association)(cool);
\end{mpost}
\end{document}