我有一张 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 left
和trim 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}