接我的另一个问题Linux 上有哪个 DVI 查看器?,现在我可以轻松查看 DVI 文件,我得出的结论是,我用于文档的不寻常文档类定义了一些非标准边距和/或页面大小。这与我的编译链latex --> dvips --> ps2pdf
(我使用的是 PSTricks)相冲突:dvi 文件的格式看起来不错,但dvips
无法正确设置页面大小,并且边距看起来发生了偏移。
我正在使用的类文件位于这里(在里面投稿格式部分FSTTCS 会议页面还有一个包含自述文件和示例的 zip 文件。你可以通过编译这个最小示例来查看我的问题:
\documentclass{fsttcs}
\begin{document}
\title{My document}
\runningtitle{My document}
\runningauthors{A, B, C}
\author{A, B, C}
\affiliation{XYZ}
\section{Sect. 1}
This is the section 1 of the test file.
This is the section 1 of the test file.
This is the section 1 of the test file.
\newpage
\section{Sect. 2}
This is the section 2 of the test file.
This is the section 2 of the test file.
This is the section 2 of the test file.
\newpage
\section{Sect. 3}
This is the section 3 of the test file.
This is the section 3 of the test file.
This is the section 3 of the test file.
\end{document}
使用简单的pdflatex test.tex
一切看起来都很好,但是当我运行时latex test.tex && dvips test.dvi && ps2pdf test.ps
,页面的比例会略有改变,页面内容也会发生偏移。我尝试使用指定所有支持的格式dvips
(letter、legal、ledger、a4、a3)dvips -t <size>
,但它们都无法正常工作。
我确信pdflatex
给出了正确的输出,因为它与示例 zip 文件中包含的预编译 pdf 相同,但由于 PSTricks,我无法使用它,并且我无法为指定正确的格式dvips
。请问我该怎么办?
答案1
通过明确说明我们想要 A4 纸,我得到了与所提供的示例相同的结果:
\documentclass{fsttcs}
\usepackage{ifpdf}
\ifpdf\else
\AtBeginDvi{\special{papersize=21cm,29.7cm}}
\fi
\begin{document}
但是这个类写得很糟糕,因为它使用geometry
但设置\paperwidth
和\paperheight
的方式不兼容。不清楚他们想要什么页面尺寸:类发出letterpaper
,但随后还使用a4
选项crop
并随后定义甚至不同的尺寸。