![是什么原因导致我的独立 TikZ 图像左侧出现多余的空白?](https://linux22.com/image/273165/%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E6%88%91%E7%9A%84%E7%8B%AC%E7%AB%8B%20TikZ%20%E5%9B%BE%E5%83%8F%E5%B7%A6%E4%BE%A7%E5%87%BA%E7%8E%B0%E5%A4%9A%E4%BD%99%E7%9A%84%E7%A9%BA%E7%99%BD%EF%BC%9F.png)
我在以下环境中生成的 TikZ 图像左侧有多余的空白standalone
:
我不知道为什么会发生这种情况。我以为可能是左侧投影仪的边界框,但右侧投影仪是第一个投影仪的镜像\begin{scope}[xscale=-1]
,它不会在右侧产生相同的空白。
我可能可以相当轻松地裁剪它,但我想知道为什么会发生这种情况,以防止将来再次发生。
欢迎对我的代码发表评论;我是 TikZ 新手。我的工作示例:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\pgfmathsetmacro{\cubex}{1}
\pgfmathsetmacro{\cubey}{1}
\pgfmathsetmacro{\cubez}{1}
\def\projector[#1:#2:#3] {
% Angle and place the projector
\begin{scope}[rotate around={#1:(#2,#3)}]
% Projector and lens
\draw [red] (#2, #3) rectangle (#2 + 1, #3 + .5);
\draw [red] (#2 + 1, #3 + .175) rectangle (#2 + 1.25, #3 + .325);
% Field-Of-View annotation
\draw ( #2 + 1.25, #3 + .325 ) -- ( #2 + 4, #3 + 2);
\draw ( #2 + 1.25, #3 + .175 ) -- ( #2 + 4, #3 - 1);
\end{scope} }
\begin{tikzpicture}
% Draw a cube.
\draw[fill=blue] (0,0,0) -- ++(-\cubex,0,0) -- ++(0,-\cubey,0) -- ++(\cubex,0, 0) -- cycle;
\draw[fill=green] (0,0,0) -- ++(0,0,-\cubez) -- ++(0,-\cubey,0) -- ++(0,0, \cubez) -- cycle;
\draw[fill=red] (0,0,0) -- ++(-\cubex,0,0) -- ++(0,0,-\cubez) -- ++(\cubex,0, 0) -- cycle;
% Draw a projector.
\projector[-40:-4.5:2]
% Second projector is mirrored
\begin{scope}[xscale=-1]
\projector[-40:-3.5:2]
\end{scope}
\end{tikzpicture}
\end{document}
答案1
空格是由换行符引起的。如果%
在三个\pgfmathsetmacro
语句之后和行末添加\end{scope} }
,空格就会消失(或者您可以将这些内容移到之前\begin{document}
)
作为杰克已提交他的评论。