除了这个解决方案之外还有其他解决方案吗此处列出?我引用一下:
一些当前的 pdfTeX 发行版有一个错误(功能?),即使用
\magnification
会在打印时重新缩放纸张。结果看起来非常令人费解。这只发生在 pdf 输出中,而不会发生在 dvi 中。原因是与纸张大小相关的 pdf 尺寸已设置为 pt 而不是 truept。解决方法很简单:只需
\magnification
插入类似这样的内容即可。\pdfpagewidth=210.2truemm \pdfpageheight=297.3truemm % This is for A4 paper, use 8truein and 11truein for letter-size paper. \pdfhorigin=1truein \pdfvorigin=1truein \hsize=\pdfpagewidth \advance\hsize by -2truein \vsize=\pdfpageheight \advance\vsize by -2.1truein
有一些补丁可以帮你省去这个麻烦。Javier Bezos 的修复包含在 TeX Live 中。Ian Hutchinson 提供了另一种解决方案,它本身就是一个巧妙的小杰作。需要完整阅读才能理解,但这里有一个示例,值得列入任何 TeX Dirty Tricks 列表中。
\begingroup \catcode`P=12 \catcode`T=12 \lowercase{\endgroup\def\convert@truept#1PT{#1truept}}
答案1
我可以提供一种pdftexmagfix.tex
不会留下无用宏的变体:
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfoutput\endcsname\relax\else
\catcode`@=11
\def\m@g{%
\begingroup\lccode`?=`p \lccode`!=`t
\lowercase{\def\pdfconvert@truept##1?!{##1truept}%
\def\pdfmag@fix##1{##1=\expandafter\pdfconvert@truept\the##1\relax}}%
\edef\x{\endgroup
\mag\count@
\pdfmag@fix\pdfhorigin \pdfmag@fix\pdfvorigin
\pdfmag@fix\pdfpagewidth \pdfmag@fix\pdfpageheight}\x
\hsize6.5truein\vsize8.9truein\dimen\footins8truein}
\catcode`@=12
\fi
%%% The test
\magnification \magstep5
\hoffset -1 truein \voffset -1 truein
\parindent 0pt The top
\bye