Tikz ER 图:一个实体之间的关系

Tikz ER 图:一个实体之间的关系

我正在用 TikZ 绘制简化的 ER 模型。这是目前的代码:

\documentclass[12pt,a4paper,twoside,openright]{report}
\usepackage{tikz}
\usetikzlibrary{er}
\usetikzlibrary{positioning,shapes,shadows,arrows}

\begin{document}

\begin{tikzpicture}[>=open triangle 90, thick,every node/.style={font=\footnotesize}, node distance = 6.2em]
node[entity] (page) {Page};
\node[relationship] (pageparent) [right of = page] {parent} edge node[above]{n...1} (page) edge (page);
\end{tikzpicture}

\end{document}

它创建了一个实体、一个关系对象以及两者之间的一条直边。我需要在这两个对象之间添加第二条边来完成图表,最好是这样的:

   |----------------------------|     
   |                            |
   |                            |
[ Page ] ----------------- < parent >

我如何添加具有两个 90° 角的第二条边?

答案1

coordinate您可以通过如下定义 s 来实现此目的:

\documentclass[12pt,a4paper,twoside,openright]{report}
\usepackage{tikz}
\usetikzlibrary{er}
\usetikzlibrary{positioning,shapes,shadows,arrows}

\begin{document}

\begin{tikzpicture}[>=open triangle 90, thick,every node/.style={font=\footnotesize}, node distance = 6.2em]
\node[entity](page){Page};
\node[relationship] (pageparent) [right of =page] {parent} edge node[above]{n...1} (page) edge (page);
\coordinate[above= 1cm of page] (cpage);
\coordinate[above= 0.8cm of pageparent] (cpageparent);
\draw[-] (page)--(cpage)--(cpageparent)--(pageparent);
\end{tikzpicture}

\end{document}

相关内容