什么包以及如何绘制此类图形

什么包以及如何绘制此类图形

我只是不知道如何绘制这些,特别是如何任意排列线条。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

答案1

我会用 TiZ 是因为这允许您使用循环来重复元素和相对定位。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amssymb}
\begin{document}
\begin{tikzpicture}
 \draw (0,1) -- (0,4) node[above]{$\mathbb{P}^1$}
  (0,0) -- (4,4) node[above right]{$\tau_4$}
  (2,0) -- (2,4) node[above]{$U_q$};
 \foreach \Y [count=\Z starting from 0] in {0,1.5,2.5,3.5}
  {\draw (1,\Y) -- (4,\Y) \ifnum\Z=0
   node[right]{$M_{0,4}$}
  \else
   node[right]{$\tau_{\Z}$}
   (0.1,\Y) -- (-0.1,\Y) node[left]{\ifnum\Z=3
    $\infty$
   \else
   $\the\numexpr\Z-1$
   \fi}
  \fi;
   \foreach \X in {1.5,2.5,3.5}
   {\draw[fill=white] (\X,\Y) circle[radius=1.5pt];}}
\end{tikzpicture}

\begin{tikzpicture}
\draw (0,0) node[below]{$\widetilde{U}_0$} -- (0,3) 
 (-0.5,0.5) -- (3,0.5) node[pos=1.1]{$\widetilde{\tau}_2$}
 (-0.5,0.8) -- ++ (30:3) node[pos=1.1]{$\widetilde{\tau}_3$}
 (-0.2,2) -- ++ (70:3.6) node[pos=1.1]{$E_0$} coordinate[pos=0.8] (aux1)
 coordinate[pos=0.9] (aux2)
 ([xshift=-8mm]aux1) -- ++(-40:2.5) node[pos=1.1]{$\widetilde{\tau}_1$}
 ([xshift=-8mm]aux2) -- ++(-15:2.5) node[pos=1.1]{$\widetilde{\tau}_4$};
\end{tikzpicture}

\begin{tikzpicture}[bullet/.style={circle,fill,inner sep=1pt}]
 \draw (0,0) -- (45:4) node[pos=0.2,bullet,label=above:$i$]{}
 node[pos=0.4,bullet,label=above:$j$]{}
 node[pos=0.6,bullet,label=above:$k$]{}
 node[pos=0.8,bullet,label=above:$\ell$]{};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容