画出素数理想位于素数理想之上的图

画出素数理想位于素数理想之上的图

设 $K$ 为数域,$L$ 为 $K$ 的有限扩张。然后设 $\mathfrak{p}$ 为 $K$ 中的素数,$\mathfrak{P}$ 为 $\mathfrak{p}$ 上的素数。我想画出下面的图:

      L              \mathfrak{P}             R_L/\mathfrak{P}
      |finite             |unramified                 |extension of
      |extension          |prime                      |finite fields
      K              \mathfrak{p}             R_K/\mathfrak{p}

我该怎么做?我可以用 useamscd或来做吗tikz?还是我必须使用更高级的软件包?

答案1

带有 的 TikZ 解决方案。可以使用和键matrix更改条目之间的距离。使用,距离是从列的中心而不是边缘测量的。这应该确保线条之间的距离相同,无论其上方/下方的“标签”的大小如何。column seprow sepcolumn sep={3cm,between origins}

\documentclass{standalone}
\usepackage{amssymb}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
  \matrix (m) [matrix of math nodes,column sep={3cm,between origins},row sep=2cm] {
    L & \mathfrak{P} & R_L/\mathfrak{P} \\
    K & \mathfrak{p} & R_K/\mathfrak{p} \\};

  \draw (m-1-1) -- node[right,align=left] {finite\\extension} (m-2-1);
  \draw (m-1-2) -- node[right,align=left] {unramified\\prime} (m-2-2);
  \draw (m-1-3) -- node[right,align=left] {extension of\\finite fields} (m-2-3);
\end{tikzpicture}
\end{document} 

在此处输入图片描述

答案2

不需要 tikz。如果您需要更长的“棒”,\mid可以添加更多 s,或者只需使用 a,\rule如我所示。该\useanchorwidth设置可确保诸如此类的宽度{R_L/\mathfrak{P}}不会影响后续文本的间隙。模式\stackMath指示默认情况下stackengine以数学形式处理其参数,而指示将堆叠参数作为文本处理。指示是否将堆栈左对齐、居中或(此处未使用)右对齐。\textstyle\stackText\stackalignments

\stackon从基线向上构建,\stackunder从基线向下构建,同时stackanchor在基线上分割堆栈。

\documentclass{article}
\usepackage{stackengine}
\usepackage{amsfonts}
\begin{document}
\stackMath
\def\useanchorwidth{T}
% FOR SHORTER STICK
%\savestack{\stick}{\stackon[0pt]{\stackunder[0pt]{\mid}{\mid}}{\mid}}
% FOR LONGER STICK
\savestack{\stick}{\rule[-.3in]{.5pt}{.6in}}
\[
\stackMath\def\stackalignment{c}
\stackunder{\stackon{\stick}{L}}{K}
\stackText\def\stackalignment{l}\,
\stackanchor{finite}{extension}
\qquad
\stackMath\def\stackalignment{c}
\stackunder{\stackon{\stick}{\mathfrak{P}}}{\mathfrak{p}}
\stackText\def\stackalignment{l}\,
\stackanchor{unramified}{prime}
\qquad
\stackMath\def\stackalignment{c}
\stackunder{\stackon{\stick}{R_L/\mathfrak{P}}}{R_K/\mathfrak{p}}
\stackText\def\stackalignment{l}\,
\stackanchor{extension of}{finite fields}
\]
\end{document}

在此处输入图片描述

答案3

一个tikz-cd办法:

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsfonts}
\usepackage{mathtools}

\begin{document}     
    \begin{tikzcd}[every arrow/.append style={dash}, row sep = 8ex, column sep = {6em,between origins}]
    L \arrow{d}{\text{\oalign{finite\cr extension}}}& \mathfrak{P} \arrow{d}{\text{\oalign{unramified\cr prime}}} & R_L/\mathfrak{P} \arrow{d}{\text{\oalign{extension of\cr finite fields\hfil}}} \\
    K & \mathfrak{p} & R_K/\mathfrak{p}
    \end{tikzcd}
\end{document}

在此处输入图片描述

答案4

只是为了完整性,使用古老picture模式(不需要额外的包):

\documentclass{article}
\usepackage{amssymb}
\newcommand\mycenter[1]{\makebox[0pt][c]{#1}}
\newcommand\mylabel[1]{\parbox[c][1cm][c]{3cm}{#1\strut}}

\begin{document}
\setlength{\unitlength}{1cm}
\begin{picture}(8.5,3)(-1,0)
  \put(0,1){\line(0,1){1}}
  \put(3,1){\line(0,1){1}}
  \put(6,1){\line(0,1){1}}
  \put(0,0.6){\mycenter{$K$}}
  \put(0,2.2){\mycenter{$L$}}
  \put(3,0.6){\mycenter{$\mathfrak{p}$}}
  \put(3,2.2){\mycenter{$\mathfrak{P}$}}
  \put(6,0.6){\mycenter{$R_K/\mathfrak{p}$}}
  \put(6,2.2){\mycenter{$R_L/\mathfrak{P}$}}
  \put(0.1,1.35){\mylabel{finite\\extension}}
  \put(3.1,1.35){\mylabel{unramified\\prime}}
  \put(6.1,1.35){\mylabel{extension of\\finite fields}}
\end{picture}
\end{document}

在此处输入图片描述

相关内容