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로 줄이고 node 를 정의하여 vrtc3pt로 반환합니다.

여기에 이미지 설명을 입력하세요

관련 정보