打印裁切边距以进行装订偏移

打印裁切边距以进行装订偏移

我希望有一个模板,可以重新格式化任意\LaTeX文档,以便我可以打印和剪切它,并将其粘贴到我的实验室手册中。为此,输出应该

  • 引入绑定偏移,

  • 显示装订偏移的裁剪边距,因为这里将裁切纸张,

  • 理想情况下,文本宽度不会改变,而只会移动(因此格式得以保留)。

虽然第一点很容易bindingoffset=2cm通过几何学包,另外两点更难实现:

虽然\geometry{showframe}打印所有帧,但我没有找到将其限制为仅装订偏移边距的方法。

此外,我想对抗\textwidth引入绑定偏移时的变化,无论documentclass使用什么。

\documentclass[10pt]{article}

\usepackage{geometry}
  \geometry{twoside}
  % use 20mm narrower paper than A4
  \geometry{paperheight=297mm,paperwidth=190mm}
  % still use the A4 layout
  \geometry{layout=a4paper}

\usepackage[cam,a4]{crop}
  % print crop marks on odd pages (as printout is duplex)
  \crop[cross,odd]

\usepackage[utf8]{inputenc}

\begin{document}
blablub
\end{document}

但是,这样就留下了左侧的布局和右侧的空白 - 与 binding-offset 相反。crop 提供的唯一选项是center。那么我该如何将布局对齐到右侧呢?

当然,我可以采用以下示例,但那感觉像是作弊......

\documentclass[10pt]{article}

\usepackage{geometry}
  \geometry{twoside}
  % use 40mm narrower paper than A4, cheating
  \geometry{paperheight=297mm,paperwidth=**170mm**}
  % still use the A4 layout
  \geometry{layout=a4paper}

\usepackage[cam,a4,**center**]{crop}
  % print crop marks on odd pages (as printout is duplex)
  \crop[odd]

\usepackage[utf8]{inputenc}

\begin{document}
blablub
\end{document}

答案1

\documentclass[a4paper]{article}
\usepackage[noaxes,pdflatex,mount2]{crop}

\makeatletter

删除以下行以查看真实文档!此处\pagecolor仅用于标记页面尺寸。庄稼通常会将页面背景绘制在页面边缘的一点点,这在裁剪时是有意义的,但我只是想标记(精确的)页面尺寸。

\gdef\CROP@overlap{0truemm}%
\makeatother

\newlength\mybindingoffset
\setlength{\mybindingoffset}{20mm}

\RequirePackage{everyshi}
\AtBeginDocument{\EveryShipout{%

这会将页面内容 \mybindingoffset(此处:20 毫米)移动到第一页(右页)的右侧,然后\mybindingoffset移动到下一页(左页)的左侧,依此类推。

  \hoffset\mybindingoffset\relax%
  \global\multiply\mybindingoffset by -1}%
  }

\newlength\mybindingrule
\setlength{\mybindingrule}{1mm}% probably too thick

\usepackage{pdfpages}

\AddToShipoutPictureBG{%

对于正片\mybindingoffset(即右侧),\rule具有厚度\mybindingrule和高度的\paperheight位于\hspace*{-\mybindingrule}页面左侧( )(\rlap我们假装它不存在):

\ifdim\mybindingoffset>0pt\relax%
  \rlap{\hspace*{-\mybindingrule}{\color{black}{\rule{\mybindingrule}{\paperheight}}}}%
\else%

对于左侧,\rule放置在页面的右侧:

  \rlap{\hspace*{\paperwidth\relax}{\color{black}{\rule{\mybindingrule}{\paperheight}}}}%
\fi%
}%

\usepackage{lipsum}
\begin{document}
\pagecolor{green}% just to better show the original page
\lipsum[1-57]
\end{document}

请注意,页面布局根本没有改变,但您会损失\mybindingoffset(此处:20mm)右页的右侧和左页的左侧,因为它可以说是移到了页面之外。如果那是“空白”,那么它可能是可以接受的。

示例输出

相关内容