Eisenbud 的 $\operatorname{Spec} \mathbb Z[x]/(x^2-3)$ 图片

Eisenbud 的 $\operatorname{Spec} \mathbb Z[x]/(x^2-3)$ 图片

有人知道如何重现 Eisenbud 和 Harris 所著《The Geometry of Schemes》中 $\operatorname{Spec} \mathbb Z[x]/(x^2-3)$ 的图像吗?该图像如下,可在第 86 页的 II.4 节中找到: 在此处输入图片描述

答案1

他们可能没有使用pins,但这可能足够接近:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}

\tikzset{
    dot/.style={
        node contents={},
        circle,
        fill,
        inner sep=1pt,
    },
    big dot/.style={
        node contents={},
        circle,
        fill=gray,
        inner sep=2.5pt,
    },
    fuzzy/.style={
        node contents={},
        circle,
        inner color=black,
        outer color=white,
        inner sep=6pt,
    },
    every label/.style={
        inner sep=1pt,
    },
    every pin/.style={
        pin edge={thin, black, shorten <=3pt},
        pin distance=1cm,
        anchor=north,
        inner sep=1pt,
    }
}

\begin{document}
\begin{tikzpicture}[font=\tiny]

    \draw[thick] (1,0) -- (15,0) node[fuzzy, label={below right:{(0)}}];
    \foreach \x in {2,3,5,7,11,13} {
        \path (\x,0) node[dot, label={below:{(\x)}}];

        \ifnum\x<12\relax
            \draw[thick] (\x,1) -- ++(0,2) 
                \ifnum\x=2\relax
                    node[fuzzy, label={above left:{(\x)}}];
                \else
                    node[fuzzy, label={above right:{(\x)}}];
                \fi
        \fi
    }

    \draw[thick] (15,1) -- ++(0,2) 
        node[fuzzy, inner sep=9pt, label={above right:{(0)}}];

    \draw[thick] 
        (2,1.75) 
        to[out=270, in=270, distance=15pt] 
        (3,1.75) 
        to[out=270, in=180, distance=25pt] 
        (5,1.75) 
        to[out=0, in=180] (6,1.375) to[out=0, in=180]
        (7,1.75)
        to[out=0, in=180] (11,1.375) 
        node[dot, pin={330:{$(11, x+5)$}}] 
        to
        (13,1.375) node[dot]
        to[out=0, in=180]
        (15,1.75);
    
    \draw[thick] 
        (2,1.75) node[dot, pin={240:{$(2, x-1)$}}]
        to[out=90, in=90, distance=15pt] 
        (3,1.75) node[dot, pin={300:{$(3, x)$}}]
        to[out=90, in=180, distance=25pt] 
        (5,1.75) node[big dot, pin={300:{$(5, x^2-3)$}}]
        to[out=0, in=180] (6,2.125) to[out=0, in=180]
        (7,1.75) node[big dot]
        to[out=0, in=180] (11,2.175) 
        node[dot, pin={30:{$(11, x-5)$}}]
        to
        (13,2.175) node[dot]
        to[out=0, in=180]
        (15,1.75)
        node[fuzzy, pin={240:{$(x^2-3)$}}];

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容