当我将一张 tikz 图片放在另一张 tikz 图片内时,空白区域会慢慢出现

当我将一张 tikz 图片放在另一张 tikz 图片内时,空白区域会慢慢出现

我正在尝试为我的教室设计座位表。我已经使用 完成了这项工作pstricks。我想在 中尝试一下tikz

我正在做的是绘制一个矩形来表示每张桌子。由于桌子被分成四组,因此我将这四个矩形组合在一起。我遇到的问题是,当我尝试将它们组合在一起时,出现了意外的空白。

以下是 MWE:

\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcommand{\mysmallbox}{%%"
  \begin{tikzpicture}
    \node (A) at (0,0) {};
    \node (B) at (6,4) {};
    \draw (A) rectangle (B);
    \draw (A.center|-B.center) -- (A.center-|B.center);
  \end{tikzpicture}}

\newcommand{\boxesInboxes}{%%'
  \begin{tikzpicture}
    \node (A) at (3,2) {\mysmallbox};
    \node (B) at (9,6) {\mysmallbox};
    \draw[color=red,line width=0.1pt] (0,0) rectangle (12,8);
  \end{tikzpicture}}

\pagestyle{empty}
\begin{document}

\mysmallbox

\boxesInboxes

\end{document}

在此处输入图片描述

空白从哪里来?

更新

我发现关于边界框的解决方案。这似乎比我想要的复杂得多。有没有更简单的方法修剪额外的空白处?

我还发现关于设置边界框的解决方案,但图片前面仍然有一点空白。

答案1

Anode将有inner sep比率。将其设为零。此外,建议coordinate在此处使用 s。

\documentclass{article}
\usepackage[margin=1in,showframe]{geometry}
\setlength{\parindent}{0pt}
\usepackage{tikz}
\usetikzlibrary{calc}

%\newcommand{\mysmallbox}{%%"
%  \begin{tikzpicture}
%    \node (A) at (0,0) {};
%    \node (B) at (6,4) {};
%    \draw (A) rectangle (B);
%    \draw (A.center|-B.center) -- (A.center-|B.center);
%  \end{tikzpicture}}


%% Use coordinate to see the difference
\newcommand{\mysmallbox}{%%
  \begin{tikzpicture}
    \coordinate (A) at (0,0) {};
    \coordinate (B) at (6,4) {};
    \draw (A) rectangle (B);
    \draw (A|-B) -- (A-|B);
  \end{tikzpicture}}

\newcommand{\boxesInboxes}{%%
  \begin{tikzpicture}
    \node[inner sep=0pt] (A) at (3,2) {\mysmallbox};
    \node[inner sep=0pt] (B) at (9,6) {\mysmallbox};
    \draw[color=red,line width=0.1pt] (0,0) rectangle (12,8);
  \end{tikzpicture}}

\pagestyle{empty}
\begin{document}

\mysmallbox

\boxesInboxes

\end{document}

在此处输入图片描述

相关内容