在 TikZ 中標記邊緣

在 TikZ 中標記邊緣

我是 TikZ (和 LaTeX)的新手,我正在嘗試建立一個帶有節點的圖表。

我一直在閱讀手冊,並使用圖中相同的方法建立了一個圖表。我現在想標記我的邊緣,但是當我嘗試像手冊中那樣標記它們時,它不起作用。

pgf手冊.pdf

我的程式碼如下。請幫忙!

\begin{tikzpicture}
  [node/.style = {circle,draw}]
  \node[node] (B) {B};
  \node[node] (A) [below of=B, xshift = -20mm] {A}
    edge [-]  {1} (B); % would like to label this edge "1"
  \node[node] (C) [below of=B] {C}
    edge [-] {1} (A); % would like to label this edge "1"
  \node[node] (D) [below of=C] {D}
    edge [-] {1} (A); % would like to label this edge "1"
  \node[node] (E) [below of=B, xshift =  20mm] {E}
    edge [-] {1} (B) % would like to label this edge "1"
    edge [-] {1} (C) % would like to label this edge "1"
    edge [-] {1} (D); % would like to label this edge "1"
\end{tikzpicture}

答案1

一種方法是使用quotes圖書館。 (如果使用該babel套件,您還需要載入該babel程式庫。)

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[node/.style = {circle,draw}]
  \node[node] (B) {B};
  \node[node] (A) [below of=B, xshift = -20mm] {A}
    edge [-,"1"] (B); % would like to label this edge "1"
  \node[node] (C) [below of=B] {C}
    edge [-,"1"] (A); % would like to label this edge "1"
  \node[node] (D) [below of=C] {D}
    edge [-,"1"] (A); % would like to label this edge "1"
  \node[node] (E) [below of=B, xshift =  20mm] {E}
    edge [-,"1"] (B) % would like to label this edge "1"
    edge [-,"1"] (C) % would like to label this edge "1"
    edge [-,"1"] (D); % would like to label this edge "1"
\end{tikzpicture}
\end{document}

答案2

使用 TikZ 庫automatapositioningquotes,節點和路徑是分開繪製的,在節點定位中使用positioning庫中確定的語法:

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{automata,
                positioning,
                quotes}
\begin{document}
    \begin{tikzpicture}[
node distance = 15mm, on grid,
every state/.style={semithick, minimum size=1em, inner sep=2pt},
every edge/.append style = {-},
every edge quotes/.append style = {auto, font=\footnotesize, inner sep=2pt}
                        ]
    \begin{scope}[nodes={state}]
\node (C)       {C};
\node (A) [ left=of C] {A};
\node (B) [above=of C] {B};
\node (E) [right=of C] {E};
\node (D) [below=of C] {D};
    \end{scope}
%
\path (A)   edge ["1"] (B)
      (B)   edge ["1"] (E)
      (E)   edge ["1"] (D) 
      (D)   edge ["1"] (A)
% 
      (A)   edge ["1"] (C) 
      (C)   edge ["1"] (E); 
    \end{tikzpicture}
\end{document}

在此輸入影像描述

相關內容