Как рисовать направления на ребрах графика

Как рисовать направления на ребрах графика

У меня есть два следующих вопроса.

Прежде всего, я хочу сказать, что предоставленный мной MWE частично отредактирован из GeoGebra.

Вопрос: 1 В этом графике я хотел бы добавить направление (например, >) на всех четырех ребрах.

Вопрос: 2 Есть ли другой способ нарисовать тот же график? Потому что я хочу изучить новые техники рисования.

МВЭ:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgf}
\usepackage{pgfplots}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
  \draw [line width=1pt] (0,0)-- (5,0);
  \draw [line width=1pt] (5,0)-- (5,5);
  \draw [line width=1pt] (5,5)-- (0,5);
  \draw [line width=1pt] (0,5)-- (0,0);
  \draw [fill=black] (0,0) circle (1.8pt);
  \draw[color=black] (0.05,-0.45) node {$D$};
  \draw [fill=black] (5,0) circle (1.8pt);
  \draw[color=black] (5.05,-0.45) node {$C$};
  \draw [fill=black] (5,5) circle (1.8pt);
  \draw[color=black] (5.0,5.4) node {$B$};
  \draw [fill=black] (0,5) circle (1.8pt);
  \draw[color=black] (0.05,5.4) node {$A$};
  \draw[color=black] (2.5,-0.45) node {$e_3$};
  \draw[color=black] (5.4,2.7) node {$e_2$};
  \draw[color=black] (2.5,5.3) node {$e_1$};
  \draw[color=black] (-0.4,2.7) node {$e_4$};
 \end{tikzpicture}

\end{document}

решение1

Ваше изображение может быть нарисовано многими разными способами. Один из способов, с использованием tikzбиблиотек positioningи quotesдает относительный короткий код:

\documentclass[tikz, margin=3pt]{standalone}
\usetikzlibrary{arrows.meta,
                positioning,
                quotes}

\begin{document}
    \begin{tikzpicture}[
dot/.style = {circle, fill, inner sep=1.6pt, outer sep=0pt,
              node contents={}},
every edge/.style = {draw, line width=1pt,-{Stealth[angle=60:3pt 3]}}
                    ]
\node (d) [dot,label=below:$D$];
\node (c) [dot,label=below:$C$, right=5 of d];
\node (b) [dot,label=$B$,above=5.4 of c];
\node (a) [dot,label=$A$,above=5.4 of d];
%
\draw   (a) edge ["$e_1$"]  (b)
        (b) edge ["$e_2$"]  (c)
        (c) edge ["$e_3$"]  (d)
        (d) edge ["$e_4$"]  (a);
    \end{tikzpicture}
\end{document}

введите описание изображения здесь

Узлы на изображении выше расположены относительно предыдущего узла, метки вершин записываются как метки к определяющим их узлам, для меток ребер используется библиотека quotes. Стрелки добавляются путем определения ребер eh, которые соединяют вершины

Редактировать:

упс, я забыл про стрелки... теперь добавил.

решение2

Вот один из способов.

введите описание изображения здесь

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[thick,>=stealth,
n/.style={circle,fill,minimum size=2mm,inner sep=0}]
\def\a{5}
\path
(0,0)      node[n] (A) {} node[above left]  {A}
++(0:\a)   node[n] (B) {} node[above right] {B}   
++(-90:\a) node[n] (C) {} node[below right] {C} 
++(180:\a) node[n] (D) {} node[below left]  {D};
\draw[->] (A)--(B) node[midway,above] {$e_1$};
\draw[->] (B)--(C) node[midway,right] {$e_2$};
\draw[->] (C)--(D) node[midway,below] {$e_3$};
\draw[->] (D)--(A) node[midway,left]  {$e_4$};
\end{tikzpicture}
\end{document}

Связанный контент