2008年11月14日星期五

[转寄][小结]dvi->ps->pdf 转换中如何控制纸张大小

纸张大小通常由所使用的文档类的参数控制,比如:
\documentclass[a4paper]{article} 将产生 a4 大小的输出。
对于 LaTeX 的标准文档类来说,可以选择的纸型有:
a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper
不同的纸型对应不同的页面设置。
                                                                   
在 dvi-->ps 过程中,纸型仅受其配置文件
$TEXMF/dvips/config/config.ps 中有关参数的控制,默认是 a4
(有的可能为 letter)。如果希望得到其它纸型,可以修改该配置文件,
但经常修改会非常麻烦。因此,可以通过 dvips 加上合适的参数进行控制,
比如:
dvips -t letter 可以产生 letter 大小的输出,而不管文档类中的纸型
是否为 letter。
                                                                   
在 dvi-->pdf 过程中,纸型的控制与 dvi-->ps 类似。不同的是其配置文件
为 $TEXMF/dvipdfm/config/config。类似的,可以通过 dvipdfm(x) 加上
合适的参数进行控制,比如:
dvipdfm -p letter
dvipdfmx 支持的纸型较多,可通过 dvipdfmx --help 来查看。
                                                                   
ps-->pdf 过程中,似乎不用指定纸型。如果强制指定,可以用下面的命令:
ps2pdf "-sPAPERSIZE=letter" input.ps
当然,这没有什么意义。
                                                                   
对于 pdflatex 而言,除了修改
$TEXMF/tex/generic/config/pdftexconfig.tex 以外,
可以参考下面的方法。
                                                                   
在 LaTeX 中可以采用下面的方法设置特殊大小的纸张(xingxiuwen@smth):
(1) 对于dvips,\begin{document} 前加入:
\special{papersize=<paperwidth,paperheith>}

(2) 对于 dvipdfm(x), \begin{document} 前加入:
\special{pdf: pagesize width <paperwidth> height <paperheight>}

(3) 对于pdflatex,\begin{document} 前加入:
\setlength{\pdfpageheight}{<paperheight>}
\setlength{\pdfpagewidth}{<paperwidth>}

当然,除了使用默认纸张大小以外 (这种情况下,所有的页面设置都有相应
的默认值),这些纸张大小的设置还应该与页面其它参数的设置结合起来。

没有评论:

发表评论