TikZ의 노드 위 라벨

TikZ의 노드 위 라벨

이미 라벨이 포함된 노드 위에 라벨을 추가하고 싶습니다.

\begin{tikzpicture}[scale=0.8,every node/.style={draw=black,circle}]
    \node (a) at (0,0) {a};
    \node (b) at (2,0) {b};
    \draw[->] (a) to (b);
\end{tikzpicture}

위의 마크업은 다음을 제공합니다.

tikzpicture1

하지만 나는 다음과 같은 것을 원합니다 :

tikz2

이 문제를 해결하는 쉬운 방법이 있나요? 그래요~ 아니다다음을 사용하여 솔루션을 찾고 있습니다.\tikzlibrary{background}

답변1

실제로 tikz 노드에는 내부에 텍스트가 있고 외부에 레이블이 있습니다.

상표

\documentclass{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[scale=0.8,every node/.style={draw=black,circle}]
    \node[label={\small 1/16}] (a) at (0,0) {a};
    \node (b) at (2,0) {b};
    \draw[->] (a) to (b);
\end{tikzpicture}

\end{document}

답변2

PSTricks 솔루션은 다음을 사용합니다.pst-node패키지:

\documentclass{article}

\usepackage{pst-node}

\def\labelSep{\fpeval{28.75*\radius+3.375}} % found by experimenting

% parameters
\def\arrowLength{1.8}
\def\radius{0.3}

\begin{document}

\begin{pspicture}(\fpeval{4*\radius+\arrowLength},\fpeval{2*\radius+0.35})
% change `0.35` in the calculation of the height of the bounding box
% according to the contents on top of the node
  \cnode(\radius,\radius){\radius}{A}
  \rput(A){a}
  \cnode(\fpeval{3*\radius+\arrowLength},\radius){\radius}{B}
  \rput(B){b}
  \ncline{->}{A}{B}
  \uput{\labelSep pt}[90](A){\small\texttt{1/16}}
\end{pspicture}

\end{document}

산출

매개변수 값을 선택하기만 하면 도면(경계 상자 포함)이 그에 따라 조정됩니다.

관련 정보