我想知道 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}