%20em%20uma%20linha%20tikz.png)
Eu tenho o seguinte código agora -
\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}
Se virmos a saída, o círculo terá a linha dentro dele que eu não quero. Além disso, não quero traçar a linha em duas partes (ou seja,
\begin{tikzpicture}
\draw (0,0) -- (1.3,0);
\draw (1.7,0) -- (3,0);
\draw (1.5,0) circle (5pt) node{a};
\end{tikzpicture}
)
Esse código me dá a saída exatamente como eu quero, mas não quero fazer esse cálculo manualmente e desenhar tantas linhas em toda a imagem. Como ter um círculo opaco, mas também com algum texto?
Responder1
Uma forma de força bruta é preencher o círculo de branco. Para encurtar o código, o círculo é desenhado como um nó e colocado no meio do caminho.
\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}
Se você não quiser pintar nada de branco, você ainda pode fazer isso de uma maneira,
\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}
Responder2
Desenhar linhas em duas partes não necessita de cálculo manual de suas coordenadas internas, porém desenhos de mais linhas não podem ser evitados:
\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}