클래스 다이어그램의 교차하지 않는 선

클래스 다이어그램의 교차하지 않는 선
\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}

산출

게시된 코드의 출력

관련 정보