如何消除 tikz 绘制的线段之间的间隙?

如何消除 tikz 绘制的线段之间的间隙?

我已阅读相关问题:Tikz 理解节点和绘制之间的空白,并尝试了其中提出的解决方案。

我正在尝试绘制系统发育树。我将叶子和内部节点定义为 tikz 的\node,并将它们与 连接起来\draw

但是,我似乎无法消除绘制的图片中线段之间的间隙:

以下是我为生成上图而编写的内容:

\begin{tikzpicture}
  \tikzstyle{internal}=[inner sep=0, outer sep=0, line cap=rect]
  \node (C) at (0, 0) {$C$};
  \node (H) at (1, 0) {$H$};
  \node[internal] (CH) at (0.5, 0.5) {};
  \draw (C) -- (CH) -- (H);
\end{tikzpicture}

它包括类似问题(上面有链接)中推荐的inner sep=0、、outer sep=0和选项。line cap=rect

答案1

你可以像这样用一行来完成它:

\documentclass[tikz, border=2pt]{standalone}

\begin{document}

\begin{tikzpicture}[inner sep=2pt]
  \draw (0,0) node [below left]{$C$} -- ++(.5,.5) -- ++(.5,-.5) node[below right]{$H$};   
\end{tikzpicture}

\end{document}

在此处输入图片描述

附录:

还可以很容易地保存坐标名称以供日后参考:

\draw (0,0) coordinate[label={below left:$C$}](C) -- ++(.5,.5)coordinate(CH) -- ++(.5,-.5) coordinate[label={below right:$H$}](H);

答案2

薛定谔的猫是正确的。我应该使用坐标而不是节点来表示树的内部节点。这是我首选的解决方案阿博阿马尔++语法,因为我想保存内部节点的坐标以供以后使用。

相关内容