使用 \SetBgAnchor 定位背景图像

使用 \SetBgAnchor 定位背景图像

我想在 B4 纸张上打印一张 A4 页面,带有裁切标记和出血方格。我使用memoir来制作裁切标记,background使用 TikZ 来制作网格。我希望(0,0)TikZ 中的 位于左下角:理想情况下是裁切区域(因为我不知道该怎么做,示例中将其放在了纸张页面的角落)。

我在使用命令将网格定位到我需要的位置时遇到了麻烦\SetBgAnchorbackground文档说典型的用法是\SetBgAnchor{north east},但这给了我

! Package pgfkeys Error: I do not know the key '/tikz/north east' and I am going to ignore it. Perhaps you misspelled it.

代码如下:

\documentclass[10pt,b4paper,showtrims]{memoir}
% a4 paper centerd on b4
\settrimmedsize{297mm}{210mm}{*} 
\settrims{28mm}{20mm}
\trimLmarks

\usepackage{background}

\SetBgScale{1}
\SetBgAngle{0}
\SetBgColor{blue!30}
% corner left bottom, span the grid over the page
% I will need about 3mm of bleed, but that's easy once bg is positioned
\SetBgContents{\tikz{\draw[step=5mm] (28mm,20mm) grid (225mm,315mm);}}
\SetBgPosition{current page.south west}
\SetBgAnchor{}  % should be {south west}

\pagestyle{empty}

\begin{document}
    Some text
\end{document}

上面的编译代码

因此,问题是:

  1. 如何修复我的代码以便网格正确定位?
  2. 有没有办法让 TikZ 坐标从裁剪页面的左下角开始而不是库存页面?

答案1

这是background软件包中的一个错误(感谢您发现它)。当我上传软件包的新版本时,作为一种解决方法,您可以将所有选项直接传递给\bg@material,如下例所示(我不确定所需的网格位置):

\documentclass[10pt,b4paper,showtrims]{memoir}
\settrimmedsize{297mm}{210mm}{*}
\settrims{28mm}{20mm}
\trimLmarks

\usepackage{background}

\makeatletter
\def\bg@material{%
\begin{tikzpicture}[remember picture,overlay]
\node [rotate=0,scale=1,opacity=0.6,color=blue!30,xshift=28mm,yshift=20mm]
at (current page.south west)  [anchor=south west]{\tikz{\draw[step=5mm] (28mm,20mm) grid (225mm,315mm);}};
\end{tikzpicture}}
\makeatother

\pagestyle{empty}

\begin{document}
Some text
\end{document}

其结果是:

在此处输入图片描述

相关内容