TikZ図のラベル距離を変更する方法

TikZ図のラベル距離を変更する方法

私は 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 に減らし、ノードを定義してvrtc、それを 3pt に戻します。

ここに画像の説明を入力してください

関連情報