我正在尝试为我的教室设计座位表。我已经使用 完成了这项工作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}