[Editor's Note] This is old material imported from my now-defunct Wiki
(Non-academics: just scratch your head and walk away…)
LNCS format papers from SpringerLink have always been a frustration to me. They are an odd digest size (not letter, A4, or A3, AFAIK) with wide margins. Printing them 1-to-1 on letter paper is a waste—the font blows up to almost 14 points with 2 inch margines. Printing them naively 2-to-1 landscape letter makes the font too small and the margins too big (especially down the middle).
I just spent a few minutes hacking up a solution with
pstops (part of
psutils). Here it is:
acroread -toPostScript -size letter lncsdoc.pdf pstops '2:0L@.7(8in,0)+1L@.7(8in,5in)' lncsdoc.ps lncsdoc.2up.ps ps2pdf lncsdoc.2up.ps lncsdoc.2up.pdf
I’ve tested this on a few papers and it seems to work.
Caveats: It might generate sub-optimal or even broken Postscript (Acrobat Reader seems less happy with the final PDF than it is with the original, maybe just because there’s twice as much PS data on each page). The file
lncsDoc.2up.ps doesn’t have the right size and orientation parameters in GhostView. The parameters to
pstops may be installation-specific.
pstops-curious, the second command does the following:
2:– groups the input pages by twos
0L– takes the first page of each pair and rotates it left
@.7– then scales it down by 0.7
(8in,0)– then moves it 8 inches down (the point of rotation seems to be the lower left corner, meaning without translation, the rotated (logical) page is no longer on the (physical) page)
+1L– takes the second page of each pair and rotates it left
@.7– then scales it down by 0.7
(8in,5in)– then moves it 8 inches down and 5 inches across (I guess the left/right pages start from the same point!)
Modifications to the scaling factor and translation are all that should be necessary for personal taste/local compatibility.
NOTE: This may be applicable to other Springer formats, but I’m not familiar with them.
[UPDATE 3/12/2007] The right parameters for this turn out to be a constantly moving target. Here’s the command that currently works best for me on Ubuntu Gutsy:
pstops '2:0L@.8(8.5in,-.25in)+1L@.8(8.5in,4.5in)' lncsdoc.ps lncsdoc.2up.ps
cat lncsdoc.pdf | acroread -toPostScript -size letter | pstops '2:0L@.7(8in,0)+1@.7L(8in,5in)' > lncsdoc.2up.ps
Caveats: The generated PS file doesn’t work with
ps2pdf, for some reason. It also didn’t print the last page, when I used
lpr on it. It looks like somehow the PS file doesn’t get properly closed off. Suggestions are welcome.
Alternative Non-Adobe Solution
The following works, but produces awful screen output. I guess
pdf2ps doesn’t get the right fonts or something. It also has the wrong orientation in both GhostView and Acrobat Reader.
pdf2ps lncsdoc.pdf lncsdoc.ps pstops '2:0L@.85(7.75in,0.5in)+1L@.85(7.75in,5.5in)' lncsdoc.ps lncsdoc.2up.ps ps2pdf lncsdoc.2up.ps lncsdoc.2up.pdf
I’m not sure if
pdf2ps is a standard utility or just some random thing I downloaded (from here for example). It boils down to the following:
gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pswrite -sOutputFile=lncsdoc.ps -c save pop -f lncsdoc.pdf
gs is your friendly local GhostScript install.
Windows XP to A4 paper
pstops '2:0L@.85(9.5in,-.5in)+1L@.85(9.5in,5in)' lncsdoc.ps lncsdoc.2up.ps
Or is it better to just scale up with pstops and let psnup do the rest?
pstops '2:firstname.lastname@example.org(-22mm,-58mm),email@example.com(-48mm,-58mm)' lncsdoc.ps | psnup -2 > lncsdoc.2up.ps
The former file is a little smaller. And they both look bad in GSview.
[UPDATE] So you can make up your own mind whether I’m crazy for giving this any thought at all, here’s a comparison on a paper I just happen to be reading today.
It’s totally not worth it, is it?
[UPDATE 2] I’ve created a shell script that simplifies the process described above: it takes an LNCS-formatted PDF or Postscript file and generates a 2-up Postscript using
acroread (for PDF inputs) and
pstops. Download here. Note: The script will probably have to be tweaked for system-specific
pstops settings, as above.