ps2pdf - velikost papíru (delší)
Hana Skoumalova
hana.skoumalova at ff.cuni.cz
Mon May 30 23:34:29 CEST 2005
Dobrý den,
narazila jsem na záhadu. Kolega mě požádal o pomoc při převodu dokumentu
z .ps do .pdf - ve výsledném souboru byl text nahoře oříznutý a on to
chtěl spravit. To je typický příznak toho, že někde se použil parametr
"letter" místo "a4", tak jsem na ten jeho postscript pustila "ps2pdf
-sPAPERSIZE=a4" a ono to pomohlo. Jenže mně vrtá hlavou, jak se tam ten
letter předtím dostal.
V LaTeXovém zdrojáku je class article s volbou a4paper:
\documentclass[a4paper,twocolumn]{article}
Dále jsou nastaveny okraje pomocí balíku vmargin.sty:
\usepackage[A4]{vmargin}
\setmargnohfrb{0.4in}{0.4in}{0.4in}{0.4in}
\pagestyle{empty}
Soubor byl přeložen latexem a výsledný .dvi soubor byl převeden pomocí
dvips do .ps. Když si ten .ps prohlídnu programem gv, objeví se mi v
horní liště jako rozměr papíru BBox (zřejmě kvůli tomu čarování s
okraji), ale když se podívám do to postscriptu, údaj o velikosti papíru
a4 tam pořád je, i když ne na začátku:
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: abstract.dvi
%%Pages: 2
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Times-Roman Times-Italic Times-Bold
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -f abstract
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2005.05.30:1605
%%BeginProcSet: texc.pro
%!
...
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
end
%%EndSetup
Pak to proženu skrz ps2pdf a na výšku je to ořízlé. ps2pdf je script,
který volá další script atd., takže nakonec se volá toto:
exec gs $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
"-sOutputFile=$outfile"
$OPTIONS -c .setpdfwrite -f "$infile"
Do OPTIONS se postupně nabalí -dSAFER a -dCompatibilityLevel=1.2, ale o
velikosti papíru tam nic není. Měla by se tedy brát nějaká defaultní
hodnota pro gs. V logu o instalaci gs je toto:
CLASSES=none setpapersize
TZ=Europe/Prague
PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin
OAMBASE=/usr/sadm/sysadm
ARCH=sparc
PKG=CSWgs
NAME=ghostscript - PostScript and PDF interpreter for previewing,
conversion, and printing
VERSION=7.7,REV=2003.12.27
CATEGORY=application
VENDOR=http://www.ghostscript.com/ packaged for CSW by James Lee
HOTLINE=http://www.blastwave.org/bugtrack/
EMAIL=james at blastwave.org
PSTAMP=apollo20031226080613
PKGINST=CSWgs
PKGSAV=/var/sadm/pkg/CSWgs/save
PAPER=A4
INSTDATE=Feb 04 2004 14:36
Takže defaultní hodnota pro velikost papíru by měla být A4. Zkoušela
jsem se dívat i do souborů v .../ghostscript/lib/ a velikost papíru se
(zřejmě) nastavuje v gs_init.ps:
% Optionally choose a default paper size other than U.S. letter.
(a4) /PAPERSIZE where { pop pop } { /PAPERSIZE exch def } ifelse
Tohle nevím, jestli je dobře, v postscriptu se nevyznám, ale vzniklo to
zřejmě při instalaci jako výsledek konfigurace.
Mohl by mi prosím někdo vysvětlit, proč je zapotřebí dávat tomu ps2pdf
parametr -sPAPERSIZE=a4?
S pozdravem
Hana Skoumalová
More information about the csTeX
mailing list