我有一本用 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