向旧文档添加裁切标记

向旧文档添加裁切标记

我有一本用 Plain TeX 编写的旧书,其中包含将页面置于 A4 纸中央的代码。我需要在这些 A4 页面上的正确位置添加裁剪标记,以适应目标书籍尺寸。

我有原始的 TeX 源和旧的 dvi 和 ps 文件。

我考虑过使用dvips -k,但它不允许我选择裁切标记的位置。我是否需要破解crop.pro才能将裁切标记移动到我需要的位置?

还有什么其他选项可用?使用小型包装文档,该文档使用pdf页面庄稼包裹?

如果可以避免的话我宁愿不重新编译该文档。

答案1

一种非 TeX 解决方案是在传统书籍上“盖章”:将书籍转换为 pdf,在正确的位置创建带有裁切标记的单页 pdf(使用 TeX 或绘图软件),然后使用命令行工具(如pdftk或 )在 pdf 书籍上盖章cpdf

答案2

我最终编辑了旧版 ps 文件(的副本),并在 之后添加了下面的代码%DVIPSSource。这是 @erreka 在评论中给出的建议。dvips 的输出包含钩子,这非常好;我使用了bop-hook,它会在每页的开头被调用。

代码还会移动奇数页以适应双面边距以及内边距大于外边距的情况。

也许这段代码可以帮助将来遇到这个问题的其他人。

%%BeginProcSet: crop.ps
%!
/mm { 360  mul 127 div } def
/cm { 3600 mul 127 div } def
/in { 72 mul } def
/CML 1 cm def
/CM {
    moveto
    CML neg 0 rmoveto
    CML 2 mul 0 rlineto
    CML neg CML neg rmoveto
    0 CML 2 mul rlineto
    stroke
} def
%
/bop-hook {
    gsave
    13.6 mm 1 in translate
    0.3 mm setlinewidth
    0 0 0 setrgbcolor
    0 0 CM
    175 mm 0 CM
    175 mm 240 mm CM
    0 240 mm CM
    grestore
    dup
    2 mod 1 eq
    { 1 cm neg 0 translate }
    if
} def
%%EndProcSet

相关内容