我有以下两个问题。
首先我要说的是,我提供的 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
。通过定义连接顶点的边来添加箭头
编辑:
哎呀,我忘了箭头......现在添加了。
答案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}