我有一个如下的输入文件。
% Test.tex
\documentclass{article}
\usepackage{pstricks}
\psset
{
linewidth=0.01
}
\newcommand\All{0.1}
\newcommand\Left{-\All}
\newcommand\Right{\All}
\newcommand\Bottom{-\All}
\newcommand\Top{\All}
\newlength\AllPadding\setlength{\AllPadding}{0mm}
\newlength\LeftPadding\setlength{\LeftPadding}{\AllPadding}
\newlength\RightPadding\setlength{\RightPadding}{\AllPadding}
\newlength\BottomPadding\setlength{\BottomPadding}{\AllPadding}
\newlength\TopPadding\setlength{\TopPadding}{\AllPadding}
\topmargin=\dimexpr\TopPadding-72.27pt\relax
\oddsidemargin=\dimexpr\LeftPadding-72.27pt\relax
\paperwidth=\dimexpr\Right\psxunit-\Left\psxunit+\RightPadding+\LeftPadding\relax
\paperheight=\dimexpr\Top\psyunit-\Bottom\psyunit+\TopPadding+\BottomPadding\relax
\special{papersize=\the\paperwidth,\the\paperheight}
\headheight=0pt
\headsep=0pt
\parindent=0pt
\topskip=0pt
\pagestyle{empty}
\pagecolor{yellow}
\begin{document}
\pspicture(\Left,\Bottom)(\Right,\Top)
\psframe(\Left,\Bottom)(\Right,\Top)
\endpspicture
\end{document}
它是用以下批处理文件进行编译的。
rem Automate.bat takes an input file name without extension.
latex %1
dvips %1
gswin32c -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%1.pdf %1.ps
pdftops -eps %1.pdf
我得到的结果如下。
请注意,由于计算纸张尺寸时的舍入误差,黑色边框外存在多余的条纹。根据给定的设置,多余的条纹可能出现在左侧、右侧、顶部和底部。即使肉眼无法注意到多余的条纹,但只要有办法,我就会尽可能地将其去除。
如何表达我的长度计算以摆脱多余的条带?
答案1
dvips -D10000 %1
并将gswin32c ... -r10000 ...
在转换中使用更高的精度。但仍会有舍入误差。