删除 tikz 图片的“白色部分”

删除 tikz 图片的“白色部分”

我有一张 tikz 图片,它由左侧的可见部分和右侧的白色部分组成(出于某些建设性原因)。现在我想重新定义尺寸,以便新图片仅由左侧部分组成(不缩放)。

你是怎样做的?

答案1

您必须明确设置图片的边界框。TikZ 提供了use as bounding box执行此操作的选项。例如

\documentclass{report}
\usepackage{tikz}

\begin{document}
a
\begin{tikzpicture}
    \path[use as bounding box, draw] (0,0) rectangle (2,2); % The draw option is given just for demonstration.
    \draw (0,0) circle [radius=1cm];
\end{tikzpicture}
b
\end{document}

如果要缩小已经建立的边界框,则必须\pgfresetboundingbox先使用以下命令重置它:

\documentclass{report}
\usepackage{tikz}

\begin{document}
a
\begin{tikzpicture}
    \draw (0,0) circle [radius=1cm];
    \pgfresetboundingbox
    \path[use as bounding box, draw] (0,0) rectangle (2,2);
\end{tikzpicture}
b
\end{document}

修改边界框的其他有用选项是trim lefttrim right选项tikzpicture。TikZ 手册 (v2.10) 的第 15.7 节“建立边界框”包含所有详细信息。

答案2

您可以使用\clip命令将图形限制在某个区域(有关详细信息,请参阅第节15.8 削波与衰落(软削波)的 pgfmanual)。一个小例子:

\documentclass{article}
\usepackage{tikz} 

\begin{document}

text \begin{tikzpicture}[line width=5pt]
\draw (0,0) -- (1,0) -- (1,1) -- cycle;
\draw (2,0) -- (3,0) -- (3,1) -- cycle;
\end{tikzpicture} text

text \begin{tikzpicture}[line width=5pt]
\clip (-0.2,-0.1) rectangle (1.2,1.2);
\draw (0,0) -- (1,0) -- (1,1) -- cycle;
\draw (2,0) -- (3,0) -- (3,1) -- cycle;
\end{tikzpicture} text

\end{document}

enter image description here

相关内容