设 $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 sep
row sep
column 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}