精确选择节点之间的线的出发点

精确选择节点之间的线的出发点

我想选择这些锚点之间的某处作为节点之间的线的出发点,例如,我想选择东北和东之间的一个锚点。我该怎么做?

在此处输入图片描述

\documentclass[a4paper,12pt]{article}
\usepackage[papersize={216mm,330mm},tmargin=20mm,bmargin=20mm,lmargin=20mm,rmargin=20mm]{geometry}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes.multipart,shapes,fit}
\usepackage{hyperref}
\usepackage[fleqn]{amsmath}
\usepackage{array}
\usepackage{parskip}
\usepackage{float}

\tikzset{
    basic/.style={
        draw,
        rectangle split,
        rectangle split parts=2,
        rectangle split part fill={blue!20,white},
        text width=0.3\textwidth,
        align=center,
        font=\itshape
    },
    Ellipse/.style={
        ellipse, 
        draw, 
        shape aspect=2, 
        inner sep=5pt,
        text centered,
        fill=blue!10!white,
        font=\itshape
    },
    splitEllipse/.style={
        draw, 
        fill=blue!10!white,
        shape=ellipse split,
        align=center,
        minimum width=1cm,
        inner sep=5pt,
    }
}

\begin{document}
\begin{figure}[H]
    \centering
    \begin{tikzpicture}[every node/.style={scale=0.5}]
\node[basic] (Abonné) {Abonné
        \nodepart{second}
        \underline{IdA}\\
        Nom\\
        Prénom\\
        Date de Naissance
        };
    \node[Ellipse, above right= 0.1cm and 1.5cm of Abonné] (Adhère) {Adhère};
    \node[basic, below right= 0.1cm and 1.5
cm of Adhère] (Club) {Club
        \nodepart{second}
        \underline{NumClub}\\
        Nom\\
        Adresse\\
        };
 \node[splitEllipse, below right= 0.2cm and 1.2cm of Abonné] (Evènement) {Evènement};
     \node[Ellipse, below right= 0cm and 3.5cm of Evènement] (Implante) {Implante};
  \node[basic, below left= 0.1cm and 0.7cm of Implante] (Ville) {Ville
        \nodepart{second}
        \underline{CP}\\
        Nom\\
        Superficie\\
        };
       \node[basic, below= 0.7cm of Abonné] (Activité) {Activité
        \nodepart{second}
        \underline{NumActivité}\\
        Nom\\ 
        Prix\\
        Durée
        };


          
\draw (Abonné.north east) to [bend left] node[midway, above] {0,1} (Adhère.west);
\draw (Adhère.east) to [bend left] node[midway, above] {0,1} (Club.west);
\draw (Abonné.east) to [bend right] node[midway, below left] {0,1} (Evènement.west);
\draw (Evènement.east) to [bend right] node[midway, below right] {0,1} (Club.west);
\draw (Evènement.west) to [bend left] node[midway, below right] {0,1} (Activité.east);


\end{tikzpicture}
    \caption{Modèle E/A concernant le déroulement d'une année scolaire dans une université}
  
\end{figure}
\end{document}

答案1

您可以使用nodename.angle来指定线应该开始的节点边缘的位置:

\documentclass{article}
\usepackage{tikz}

\begin{document}

    \begin{tikzpicture}
      \node[draw,minimum height=2cm,minimum width=2cm] (Abonné) {Abonné};
      \draw (Abonné.25) -- ++ (2,2);
    \end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容