在 tikz 线上绘制一个不透明的圆圈(带有一些文字)

在 tikz 线上绘制一个不透明的圆圈(带有一些文字)

我现在有以下代码 -

\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}

如果我们看到输出,圆圈里面有一条线,这是我不想要的。另外,我不想把线画成两部分(即

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

这段代码给出了我想要的输出,但我不想手动进行计算,也不想在整个图片上画那么多线条。如何制作一个不透明的圆圈,同时还包含一些文字?

答案1

一个蛮力的方法就是把圆圈填成白色。为了缩短代码,把圆圈画成一个节点,放在路径的中间。

\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}

在此处输入图片描述

如果你不想用白色覆盖任何东西,你仍然可以在一条路径上进行操作,

\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}

答案2

分段绘制线不需要手动计算其内部坐标,但是无法避免绘制更多线:

\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}

在此处输入图片描述

相关内容