Dibuja un círculo opaco (con algo de texto) en una línea tikz

Dibuja un círculo opaco (con algo de texto) en una línea tikz

Tengo el siguiente código ahora mismo:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (3,0);
\draw (1.5,0) circle (5pt) node{a};
\end{tikzpicture}
\end{document}

Si vemos el resultado, el círculo tiene la línea dentro que no quiero. Además, no quiero trazar la línea en dos partes (es decir,

\begin{tikzpicture}
\draw (0,0) -- (1.3,0);
\draw (1.7,0) -- (3,0);
\draw (1.5,0) circle (5pt) node{a};
\end{tikzpicture}

)

Este código me da el resultado exactamente como quiero, pero no quiero hacer ese cálculo manualmente y dibujar tantas líneas en toda mi imagen. ¿Cómo tener un círculo opaco, pero también con algo de texto?

Respuesta1

Una forma de fuerza bruta es llenar el círculo de blanco. Para acortar el código, el círculo se dibuja como un nodo y se coloca en el medio del camino.

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw (0,0) -- node[circle,minimum size=10pt,inner sep=0pt,fill=white,draw]{a} (3,0);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Si no quieres pintar nada en blanco, aún puedes hacerlo en un solo camino,

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path (0,0) -- node[circle,minimum size=10pt,inner sep=0pt,draw](a){a} (3,0)
(a) edge (0,0)  edge  (3,0);
\end{tikzpicture}
\end{document}

Respuesta2

Dibujar líneas en dos partes no necesita el cálculo manual de sus coordenadas internas, sin embargo, no se pueden evitar dibujos de más líneas:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\path (0,0) -- node (n) [circle,draw,minimum size=10pt,inner sep=0pt] {a} (3,0);
\draw (0,0) -- (n)  (n) -- (3,0);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada