how can draw this picture

itlo 07/11/2018. 2 answers, 989 views
tikz-pgf tikz-arrows

I tried to do that but :(

enter image description here

\begin{center}
\begin{figure}[!h]
\begin{tikzpicture}[>=stealth,line width=0.8pt]
%les sommets
\draw (0,0)node (0)[]{$\bf 0$};
\draw (2,0)node (1)[]{$\bf 1$};
\draw (4,0)node (2)[]{$\bf 2$};
\draw (6,0)node (x)[]{$\bf x$};
\draw (8,0)node (n-1)[]{$\bf n-1$};
\draw (10,0)node (n)[]{$\bf n$};
\draw (11,0)node (n+1)[]{$\bf n+1$};
%les fleches
\draw [->] (n)to [bend right] (n-1);
\draw [->] (n)to [bend right] (x);
\draw [->] (n)to [bend right] (1);
\draw [->] (n)to [bend right] (2);
\draw [->] (n)to [bend right] (0);
\draw [->] (4)to [bend right] (n+1);
%\draw (-3.5,3.7) node [scale=0.7] {$\alpha_{1}$};
%\draw (-2.5,3.7) node [scale=0.7] {$\alpha_{n-2}$};
%\draw (-1.5,3.7) node [scale=0.7] {$\alpha_{n-1}$};
%\draw (-0.5,3.7) node [scale=0.7] {$\alpha_{n}$};
\end{tikzpicture}
\end{figure}
\end{center}

2 Answers


Torbjørn T. 07/11/2018.

Here is a slightly different approach, using a \foreach loop to place the nodes, and the quotes library to add the edge nodes. \bf has been deprecated for about 25 years, so I used \mathbf{..} instead.

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{quotes}
\begin{document}

\begin{tikzpicture}[
  >=stealth,line width=0.8pt,
  every edge quotes/.style={font=\footnotesize,pos=0.7,above}
]
%les sommets
\foreach [count=\i] \txt in {0,1,2,\dots,n-1,n,n+1}
   \node (n-\i) at (\i*2,0) {$\mathbf{\txt}$};


\draw [->] (n-6) to[bend right,"$\alpha_n$"] (n-1);
\draw [->] (n-6) to[bend right,"$\alpha_{n-1}$"] (n-2);
\draw [->] (n-6) to[bend right,"$\alpha_{n-2}$"] (n-3);
\draw [->] (n-6) to[bend right,"$\alpha_n$"above left] (n-5);

\draw [->] (n-6) to[bend right,"$\lambda$"{midway,below}] (n-7);

\end{tikzpicture}
\end{document}

Max 07/11/2018.

Apart from a complete MWE, you already did most of the work! I only added nodes in the \draw ... to commands.

Additionally, you shouldn't use \bf, instead use \bfseries. And I've added some scopes to make changing options for all nodes in that scope easier.

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}[>=stealth,line width=0.8pt]
%les sommets
\begin{scope}[every node/.style={font=\bfseries}]
    \draw (0,0)  node (0)   {$ 0 $};
    \draw (2,0)  node (1)   {$ 1 $};
    \draw (4,0)  node (2)   {$ 2 $};
    \draw (6,0)  node (x)   {$ x $};
    \draw (8,0)  node (n-1) {$ n-1 $};
    \draw (10,0) node (n)   {$ n $};
    \draw (12,0) node (n+1) {$ n+1 $};
\end{scope}
%les fleches
\begin{scope}[every node/.style={font=\small,midway,below}]
    \draw [->] (n)to [bend right] node{$ a_{1} $} (n-1);
    \draw [->] (n)to [bend right] node{$ a_{n-x} $} (x);
    \draw [->] (n)to [bend right] node{$ a_{n-2} $} (1);
    \draw [->] (n)to [bend right] node{$ a_{n-1} $} (2);
    \draw [->] (n)to [bend right] node{$ a_n $} (0);
    \draw [->] (n)to [bend right] node{$ \lambda $} (n+1);
\end{scope}
\end{tikzpicture}
\end{document}

enter image description here

Related questions

Hot questions

Language

Popular Tags