如何更改 PDFTeX 中的字体大小

如何更改 PDFTeX 中的字体大小

除了这个解决方案之外还有其他解决方案吗此处列出?我引用一下:

一些当前的 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

相关内容