Hallo, On Fre, 19 Jan 2001, Jens Tautenhahn wrote:
Ich habe einen längeren Text (ASCII), den ich gern als Buch in DIN A5 auf einem nicht-duplex-fähigen Drucker ausgeben wollte. Also [..] Weis jemand, wie's geht?
$ cat bin/psbooklet.sh #! /bin/bash # (c)2000 David Haller # # Usage: psbooklet.sh SEITENZAHL DATEI PAGES="$1" INFILE="$2" SIGN=20 # ergibt "20 mod 4" = 5 Blaetter zum Falten und heften # Das folgende _kann_ tun... Wenn ja, oben PAGES auskommentieren # und INFILE="$1" schreiben... # PAGES=$(grep '%%Pages:' $INFILE | head -1 | sed 's/%%Pages: //') TMP="/tmp/psbooklet$$.ps" i=1 while test $[(i-1) * SIGN] -le $PAGES do START="$[($i-1) * $SIGN + 1]" END="$[$i * $SIGN]" psselect -p"$START-$END" $INFILE | psbook | psnup -2 > $TMP # Jetzt sollten in $TMP die passend sortierten Seiten # von 1 bis $SIGN bzw. (i-1) * $SIGN +1 bis i * $SIGN enthalten # sein. Also beim ersten Schleifendurchlauf die Seiten 1-20 # als 20,1; 2,19; 18,3; 4,17; 16,5; 6,15; 14,7; 8,13; 12,9; 10,11 psselect -e $TMP | lpr # gerade Seiten drucken (d.h. 2,19;4,17...) # je nach Drucker vertauschen, ggfs. ein "-r" einfuegen! psselect -o $TMP | lpr # ungerade Seiten (d.h. 20,1; 18,3...) i=$[i+1] # Und ab zum naechsten Stapel `a "$SIGN" Seiten... ;) done rm $TMP CU David -- Unix is an operating system, OS/2 is half an operating system, Windows is a shell, and DOS is a boot partition virus. -- Peter H. Coffin