如何在书籍文档类中保持交替页边距的同时获取 TikZ 图形?

如何在书籍文档类中保持交替页边距的同时获取 TikZ 图形?

我正在尝试排版一本书,其中每一页的唯一内容都是 TikZ 图表。我希望图表填满所有可用的页面空间,因此我通过几何包使用自定义边距。文档的第一页看起来就像我想要的那样,我期望第二页看起来像镜像,但我得到的不是这样。第一页的左边距比右边距大得多,但第二页的左边距和右边距看起来大致相等。

下面是我的代码,已精简到只剩下基本内容来说明问题。为了保持代码简洁,我只用阴影标出了图表所在的位置,而没有包含整个图表。

\documentclass[letterpaper]{book}
\usepackage[top=0.1cm, bottom=0.1cm, inner=0.6cm, outer=0.106cm]{geometry}
\usepackage{tikz}

\newcommand\picturewidth{580pt}
\newcommand\pictureheight{788pt}
\definecolor{mygray}{gray}{0.8}

\begin{document}
\begin{tikzpicture}
\path (0pt,0pt);
\fill [mygray](0pt,0pt) rectangle (\picturewidth,\pictureheight);
\end{tikzpicture}


\begin{tikzpicture}
\path (0pt,0pt);
\fill [mygray](0pt,0pt) rectangle (\picturewidth,\pictureheight);
\end{tikzpicture}
\end{document}

答案1

重叠边距比更改边距更容易。不要忘记运行两次。

如果您要将它们放入浮点数中,则需要使用包ifoddpage,因为\value{page}它不可靠。

\documentclass[letterpaper]{book}
%\usepackage[top=0.1cm, bottom=0.1cm, inner=0.6cm, outer=0.106cm]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}

\definecolor{mygray}{gray}{0.8}

\begin{document}
\thispagestyle{empty}
\begin{tikzpicture}[remember picture, overlay]
\ifodd\value{page}
  \fill [mygray] ($(current page.south west)+(0.6cm,0.1cm)$) rectangle
    ($(current page.north east)+(-0.106cm,-0.1cm)$);
\else
  \fill [mygray] ($(current page.south west)+(0.106cm,0.1cm)$) rectangle
    ($(current page.north east)+(-0.6cm,-0.1cm)$);
\fi
\end{tikzpicture}
\newpage

\thispagestyle{empty}
\begin{tikzpicture}[remember picture, overlay]
\ifodd\value{page}
  \fill [mygray] ($(current page.south west)+(0.6cm,0.1cm)$) rectangle
    ($(current page.north east)+(-0.106cm,-0.1cm)$);
\else
  \fill [mygray] ($(current page.south west)+(0.106cm,0.1cm)$) rectangle
    ($(current page.north east)+(-0.6cm,-0.1cm)$);
\fi
\end{tikzpicture}
\end{document}

相关内容