我正在处理一些小图形,这些图形不能有任何边框。令我惊讶的是,这段代码在左右两侧产生了小边框(1-2 毫米)。您能告诉我吗?
此代码...
\documentclass[tikz=true,border=0pt]{standalone}
\begin{document}%
\begin{tikzpicture}[x=1mm, y=1mm]%
\draw [line width=5mm, color=green] (0,0) -- +(5,0) {};
\draw [line width=5mm, color=red] (5,0) -- +(5,0) {};
\draw [line width=5mm, color=green] (10,0) -- +(5,0) {};
\draw [line width=5mm, color=red] (15,0) -- +(5,0) {};
\end{tikzpicture}%
\end{document}
..产生以下输出:
答案1
正如 OP 所要求的,这里有一个解决方案可以消除边界线,但是却没有说明为什么它们会出现在那里:
\documentclass[tikz=true,border=0pt]{standalone}
\begin{document}%
\begin{tikzpicture}[x=1mm, y=1mm]%
\draw [fill=green, color=green] (0,0) rectangle +(5,5);
\draw [fill=red, color=red] (5,0) rectangle +(5,5);
\draw [fill=green, color=green] (10,0) rectangle +(5,5);
\draw [fill=red, color=red] (15,0) rectangle +(5,5);
\end{tikzpicture}%
\end{document}
答案2
通常会将线条稍微延长一点,以适应“上限”(请参阅
薛定谔的猫的答案在这里)。
你可以使用以下命令来查看发生了什么:
\begin{tikzpicture}[x=1mm, y=1mm, line cap=round]%
你将获得:
手册中对此进行了解释:
您可以使用rect
,但输出很有趣:
添加透明度来查看发生了什么):
\documentclass[tikz=true,border=0pt]{standalone}
\begin{document}%
\begin{tikzpicture}[x=1mm, y=1mm, line cap=rect]%
\draw [line width=5mm, color=green, opacity=0.4] (0,0) -- +(5,0) {};
\draw [line width=5mm, color=red, opacity=0.4] (5,0) -- +(5,0) {};
\draw [line width=5mm, color=blue, opacity=0.4] (10,0) -- +(5,0) {};
\draw [line width=5mm, color=yellow, opacity=0.4] (15,0) -- +(5,0) {};
\end{tikzpicture}%
\end{document}