
Я полный новичок в TikZ, поэтому прошу прощения за некоторую глупость с моей стороны.
Я хотел бы TikZ башни полей, однако расстояние между внутренними метками и краями слишком велико. Я хотел бы уменьшить его. Есть ли простой способ добиться этого, не переписывая весь код? Я искал ответы раньше, но все вопросы, которые я находил, были либо немного другими, либо ответы скатывались в полную и абсолютную сложность (по крайней мере для меня).
Вот минимальный рабочий пример:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc} % input encoding
\usepackage[T1]{fontenc} % use T1 fonts for font encoding
\usepackage{amsfonts} % math font
\usepackage{tikz}
\newcommand{\Fr}{\textbf{F}}
\newcommand{\F}{\mathbb{F}}
\begin{document}
\begin{center}
\begin{tikzpicture}[node distance = 2cm, auto]
\node (F3) {$\F_3$};
\node (F33) [above of=F3, left of=F3] {$\F_{3^3}$};
\node (F32) [above of=F3, right of=F3] {$\F_{3^2}$};
\node (F36) [above of=F3, node distance = 4cm] {$\F_{3^6}$};
\node (F318)[above of=F33, node distance = 4cm] {$\F_{3^{18}}$};
\node (F39) [above of=F33, left of=F33] {$\F_{3^9}$};
\draw[-] (F3) to node {3} (F33);
\draw[-] (F3) to node [swap] {2} (F32);
\draw[-] (F32) to node [swap] {3} (F36);
\draw[-] (F33) to node {2} (F36);
\draw[-] (F33) to node {3} (F39);
\draw[-] (F36) to node [swap] {3} (F318);
\draw[-] (F39) to node {2} (F318);
\draw (F3) to node [swap] {$\langle \Fr \rangle$} (F33);
\draw (F3) to node {$\langle \Fr \rangle$} (F32);
\draw (F32) to node {$\langle \Fr^2 \rangle$}(F36);
\draw (F33) to node [swap] {$\langle \Fr^3\rangle$} (F39);
\draw (F33) to node [swap] {$\langle \Fr^3\rangle$} (F36);
\draw (F36) to node {$\langle \Fr^6\rangle$} (F318);
\draw (F39) to node [swap] {$\langle \Fr^9\rangle$} (F318);
\end{tikzpicture}
\end{center}
\end{document}
решение1
Неуклюжее решение:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc} % input encoding
\usepackage[T1]{fontenc} % use T1 fonts for font encoding
\usepackage{amsfonts} % math font
\usepackage{tikz}
\newcommand{\Fr}{\textbf{F}}
\newcommand{\F}{\mathbb{F}}
\begin{document}
\begin{center}
\begin{tikzpicture}[
node distance = 2cm, auto,
every node/.style = {inner sep=1pt,outer sep=0pt},
vrtc/.style = {inner sep=3pt}]
\node (F3) [vrtc] {$\F_3$};
\node (F33) [vrtc,above of=F3, left of=F3] {$\F_{3^3}$};
\node (F32) [vrtc,above of=F3, right of=F3] {$\F_{3^2}$};
\node (F36) [vrtc,above of=F3, node distance = 4cm] {$\F_{3^6}$};
\node (F318)[vrtc,above of=F33, node distance = 4cm] {$\F_{3^{18}}$};
\node (F39) [vrtc,above of=F33, left of=F33] {$\F_{3^9}$};
\draw[-] (F3) to node {3} (F33);
\draw[-] (F3) to node [swap] {2} (F32);
\draw[-] (F32) to node [swap] {3} (F36);
\draw[-] (F33) to node {2} (F36);
\draw[-] (F33) to node {3} (F39);
\draw[-] (F36) to node [swap] {3} (F318);
\draw[-] (F39) to node {2} (F318);
\draw (F3) to node [swap] {$\langle \Fr \rangle$} (F33);
\draw (F3) to node {$\langle \Fr \rangle$} (F32);
\draw (F32) to node {$\langle \Fr^2 \rangle$}(F36);
\draw (F33) to node [swap] {$\langle \Fr^3\rangle$} (F39);
\draw (F33) to node [swap] {$\langle \Fr^3\rangle$} (F36);
\draw (F36) to node {$\langle \Fr^6\rangle$} (F318);
\draw (F39) to node [swap] {$\langle \Fr^9\rangle$} (F318);
\end{tikzpicture}
\end{center}
\end{document}
В приведенном выше коде я уменьшаю внутреннее разделение всех узлов до 1pt и определяю node vrtc
, где возвращаю его к 3pt.