summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-02-16 19:25:08 +0000
committerKarl Berry <karl@freefriends.org>2009-02-16 19:25:08 +0000
commit48bdc1675c48cf0e776eccb67e28c39e7a2f2246 (patch)
treec8b4074e1b8b6644ca276c4aa7a07af2e537f482
parent427f333a60437b2607c826d72df6f8693a9d2a65 (diff)
add nopaper size for -t
git-svn-id: svn://tug.org/texlive/trunk@12172 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/dvipsk/ChangeLog7
-rw-r--r--Build/source/texk/dvipsk/config.ps27
-rw-r--r--Build/source/texk/dvipsk/dvips.texi19
-rw-r--r--Master/texmf/dvips/config/config.ps28
4 files changed, 55 insertions, 26 deletions
diff --git a/Build/source/texk/dvipsk/ChangeLog b/Build/source/texk/dvipsk/ChangeLog
index 714cf5b730e..1e33c552c32 100644
--- a/Build/source/texk/dvipsk/ChangeLog
+++ b/Build/source/texk/dvipsk/ChangeLog
@@ -1,3 +1,10 @@
+2009-02-16 Karl Berry <karl@tug.org>
+
+ * dvips.texi (Config file paper sizes): document.
+ * config.ps (nopaper): new paper size to put no paper size
+ commands in the output, e.g., for multi-page EPS.
+ Report from John Bowman for Asymptote.
+
2008-11-02 Karl Berry <karl@tug.org>
* dvips.texi (psfonts.map): apparently {somefile.pfb} was never
diff --git a/Build/source/texk/dvipsk/config.ps b/Build/source/texk/dvipsk/config.ps
index a399028b100..c0c7a80817c 100644
--- a/Build/source/texk/dvipsk/config.ps
+++ b/Build/source/texk/dvipsk/config.ps
@@ -1,3 +1,4 @@
+% $Id$
% config.ps - configuration file for dvips.
% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
@@ -51,18 +52,18 @@ j
% Remove the comment and adjust the name:
% p +myfonts.map
-% If we have setpagedevice, use that.
-% else if we have the a4 resp. letter operator, use that.
-% else do nothing to set the page size.
-%
% In the past, the a4size and letterSize definitions did not set the
-% page size, but we want to set it if we can so that ps2pdf can work
-% properly. Here, a4 and a4size, and letter and letterSize, are
-% identical, and we prefer the a4/letter names -- texconfig uses them.
-
-% 0 0 595 842 is the right bounding box that applications expect
-% for A4. Since dvips always rounds up, choose something slightly
-% smaller for our paper size.
+% paper size, but we want to set it if we can so that ps2pdf can work
+% properly. So, a4 and a4size, and letter and letterSize, are made
+% identical here, and we prefer the a4/letter names -- texconfig uses them.
+%
+% In the definitions below, if we have setpagedevice, use that.
+% Else if we have the a4 resp. letter operator, use that.
+% Else do nothing to set the page size.
+%
+% If you need to have no paper size stuff in the output at all, e.g., if
+% you are producing a multi-page document for further processing, use
+% -tnopaper (defined at end). (With a single-page document, you can use -E.)
@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
@@ -583,6 +584,10 @@ j
@+ if
@+ %%EndPaperSize
+% use -t nopaper to get no paper size stuff in the output at all.
+@ nopaper 0in 0in
+@+ % nopaper
+
% use -t unknown with a \special{papersize=...} for a nonstandard page size.
@ unknown 0in 0in
@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin {
diff --git a/Build/source/texk/dvipsk/dvips.texi b/Build/source/texk/dvipsk/dvips.texi
index 08e2cca1b6d..9ea8e42c308 100644
--- a/Build/source/texk/dvipsk/dvips.texi
+++ b/Build/source/texk/dvipsk/dvips.texi
@@ -3,7 +3,7 @@
@settitle Dvips: A DVI-to-PostScript translator
@set version 5.97
-@set month-year October 2008
+@set month-year February 2009
@copying
This manual documents Dvips version @value{version}
@@ -1086,11 +1086,15 @@ which rotates a document by 90 degrees.
can use the @samp{-t} option twice, once for the paper type, and once
for @samp{landscape}.
@item In general, you should not use any @samp{-t} option when
-using a @samp{papersize} special, as some @LaTeX{} packages do, e.g.,
-@samp{hyperref.sty}.
-@item The exception is when using a nonstandard paper size that is not
+using a @samp{papersize} special, which some @LaTeX{} packages (e.g.,
+@samp{hyperref}) insert.
+@item One exception is when using a nonstandard paper size that is not
already defined in @file{config.ps}; in this case, you need to specify
@samp{-t@tie{}unknown}.
+@item Another exception is when producing multi-page files for further
+processing; use @samp{-t@tie{}nopaper} to omit any paper size
+information in the output. (If you just have a single page document,
+you can use @samp{-E} to get pure EPSF output.)
@end itemize
@item -T @var{hsize},@var{vsize}
@@ -1789,12 +1793,19 @@ comment or two would be okay). Also, some printers want
setting the paper size. There is no solution I could find that works
for both (except maybe specifying both).
+@findex unknown@r{, paper format for @samp{-t}}
When using a paper size that is not already defined in
@file{config.ps}, you probably want to say @samp{-t@tie{}unknown} on
the command line; the @code{unknown} paper size definition in
@file{config.ps} has the requisite PostScript incantation to set the
PostScript page size, as just described.
+@findex nopaper@r{, paper format for @samp{-t}}
+If you want no paper size information in the output at all, use
+@samp{-t@tie{}nopaper}. This is useful with multi-page output that
+will be processed further. If you just have a single page document,
+you can use @samp{-E} to get pure EPSF output.
+
@flindex mkdvipspapers
The Perl 5 script @file{contrib/configs/mkdvipspapers} in the
distribution directory may help in determining appropriate paper size
diff --git a/Master/texmf/dvips/config/config.ps b/Master/texmf/dvips/config/config.ps
index 812c13910e4..c0c7a80817c 100644
--- a/Master/texmf/dvips/config/config.ps
+++ b/Master/texmf/dvips/config/config.ps
@@ -1,3 +1,4 @@
+% $Id$
% config.ps - configuration file for dvips.
% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
@@ -51,18 +52,18 @@ j
% Remove the comment and adjust the name:
% p +myfonts.map
-% If we have setpagedevice, use that.
-% else if we have the a4 resp. letter operator, use that.
-% else do nothing to set the page size.
-%
% In the past, the a4size and letterSize definitions did not set the
-% page size, but we want to set it if we can so that ps2pdf can work
-% properly. Here, a4 and a4size, and letter and letterSize, are
-% identical, and we prefer the a4/letter names -- texconfig uses them.
-
-% 0 0 595 842 is the right bounding box that applications expect
-% for A4. Since dvips always rounds up, choose something slightly
-% smaller for our paper size.
+% paper size, but we want to set it if we can so that ps2pdf can work
+% properly. So, a4 and a4size, and letter and letterSize, are made
+% identical here, and we prefer the a4/letter names -- texconfig uses them.
+%
+% In the definitions below, if we have setpagedevice, use that.
+% Else if we have the a4 resp. letter operator, use that.
+% Else do nothing to set the page size.
+%
+% If you need to have no paper size stuff in the output at all, e.g., if
+% you are producing a multi-page document for further processing, use
+% -tnopaper (defined at end). (With a single-page document, you can use -E.)
@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
@@ -583,6 +584,11 @@ j
@+ if
@+ %%EndPaperSize
+% use -t nopaper to get no paper size stuff in the output at all.
+@ nopaper 0in 0in
+@+ % nopaper
+
+% use -t unknown with a \special{papersize=...} for a nonstandard page size.
@ unknown 0in 0in
@+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin {
@+ setpageparams } stopped end } { true } ifelse { statusdict /setpage known