连接来自不同绘图命令的线条,TikZ

连接来自不同绘图命令的线条,TikZ

我想知道 TikZ 中是否有办法将使用不同 \draw 命令绘制的线条整齐地连接起来。对我来说,具体来说,就是将一条线连接到一条弧。

这是我的 MWE:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw (0,0) -- (1,0);
\draw (1,0) arc (180:360:0.5);
\draw (2,0) -- (3,0);

\end{tikzpicture}
\end{document}

如果放大圆弧和直线的交接处,您会发现没有很好的斜接。有办法纠正这个问题吗?例如,让这条线成为一条连续的线?

谢谢。

答案1

像这样:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (1,0) arc (180:360:0.5) -- (3,0);
\end{tikzpicture}
\end{document}

放大关节:

飞涨

这并没有真正回答你的问题,如果你真的需要加入不同的 \draw

答案2

我同意 Heiko 所说的使用一个\draw命令进行绘图。当无法使用一个\draw命令绘制所有内容时,您可以借助line cap

\documentclass[border=5pt]{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[line cap=rect]   %% <--------

\draw (0,0) -- (1,0);
\draw (1,0) arc (180:360:0.5);
\draw (2,0) -- (3,0);

\end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

最好的解决方案是使用一个\draw命令,如下所示回答汉斯·彼得·E·克里斯蒂安森 (Hans-Peter E. Kristiansen) 著。

有时这是不可能的。例如,如果线条用不同的颜色绘制。那么必须考虑线宽,并需要进行一些即兴发挥。

例子:

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\draw
  (0,0) -- (1,0)
  (2,0) -- (3,0)
;
\draw[red]
  (1,.5\pgflinewidth) --
  (1,0) arc (180:360:0.5)
  -- (2,.5\pgflinewidth)
;

\end{tikzpicture}
\end{document}

结果

相关内容