\documentclass{article}
\usepackage[showframe, paperwidth=10cm, paperheight=12cm, margin=1cm]{geometry}
\usepackage{tikz}
\begin{document}
\noindent\begin{tikzpicture}
\draw[step=2cm,] (0,0) grid (8,10);
\node at (1,1) {B};
\node at (2,2) {C};
\end{tikzpicture}
\end{document}
为什么上面的代码(应该完全适合)会留下一个初始空白页?
答案1
您的网格比网格线的宽度高(不是 hal,因为我在评论中写错了),因此它被推到了下一页,因为它无法容纳在文本区域中。为了演示这一点,让我们将网格线弄得更粗且半透明:
\documentclass{article}
\usepackage[showframe,
paperwidth=10cm, paperheight=12cm,
margin=1cm]{geometry}
\usepackage{tikz}
\begin{document}
\noindent\begin{tikzpicture}
\draw[step=2cm, semitransparent, red, ultra thick] (0,0) grid (8,10);
\node at (1,1) {B};
\node at (2,2) {C};
\end{tikzpicture}%
\end{document}
放大的右下角:
附录: 解决问题的一种方法是减少“\pgflinewidth”的网格高度:
\documentclass{article}
\usepackage[showframe,
paperwidth=10cm, paperheight=12cm,
margin=1cm]{geometry}
\usepackage{tikz}
\begin{document}
\noindent\begin{tikzpicture}
\draw[step=2cm, semitransparent, red, ultra thick] (0,0) grid (8,\dimexpr\textheight-\pgflinewidth\relax);
\node at (1,1) {B};
\node at (2,2) {C};
\end{tikzpicture}%
\end{document}
如您所见,现在图像适合文本高度并溢出到右边框(与以前一样)\pgflinewidth
。