DVIDVI
autor: Maciej G�owacki
DVIDVI
jest programem sygnowanym przez Radical Eye Software (co w praktyce
oznacza autorstwo Tomasa Rokickiego). Program ten, operuj�c na pliku typu DVI
wybiera strony, zmienia ich wzajemne po�o�enie i pozycjonuje na arkuszu druku.
Format:
d:p1[(x1,y1)][,p2[(x2,y2)]]...[,pn[(xn,yn)]] fi fo
gdzie:
- nawiasy kwadratowe oznaczaj� nieobowi�zkowe u�ycie tego co zawieraj�;
- odst�py, nawiasy okr�g�e i przecinki s� konieczne w kontek�cie;
d
- dzielnik (modulo); liczba dodatnia z zakresu 1 do 32,
okre�laj�ca rozmiar porcji (w stronach), na jakie zostanie podzielony plik
wej�ciowy;
p
- pozycja; liczba okre�laj�ca pozycj� strony w ramach porcji
(pierwsza strona w porcji jest okre�lana liczb� 0, a wi�c najwy�sza mo�liwa
pozycja to
d
-1); gdy liczba ta jest poprzedzona znakiem '-',
w przetwarzaniu brane b�d� pod uwag� porcje w odwrotnej kolejno�ci, czyli
pocz�wszy od ostatniej (nie znaczy to �e liczba jest ujemna!); w szczeg�lno�ci
wi�c mo�liwy jest zapis '-0' znacz�cy co innego ni� '0'; mo�na okre�li�
pozycje tylko niekt�rych stron, mo�na te� powtarza� specyfikacje tych samych
stron (wtedy w pliku wyj�ciowym te strony pojawi� si� wielokrotnie);
x
i y
- wsp�rz�dna pozioma i pionowa lewego g�rnego rogu
strony z pliku wej�ciowego na arkuszu pliku wyj�ciowego; specyfikacja -- tak
jak w TeX-u1; gdy
x
i y
s�
r�wnocze�nie zerowe, mo�na je wraz z nawiasami pomin��;
fi
- nazwa pliku wej�ciowego; rozszerzenie (
.dvi
) mo�na pomin��;
fo
- nazwa pliku wyj�ciowego; w podpowiedzi przy wywo�aniu programu
z b��dnymi parametrami czytamy, �e parametr ten mo�na pomin��; jest to nieprawda
przynajmniej w u�ywanej przeze mnie wersji 0.5 -- gdy nie zostanie podany ten
parametr, pierwsza pr�ba zapisu do tego pliku ko�czy si� zawieszeniem programu,
czyli konieczno�ci� restartu systemu (sic!).
Opis dzia�ania
- Program czyta plik wej�ciowy i dzieli go na porcje o
d
stronach (ewentualnie ostatnia porcja jest uzupe�niana pustymi stronami).
Nast�pnie zaczyna budowa� arkusze, tworz�c plik wyj�ciowy.
- Dla ka�dego tworzonego arkusza zostaje raz u�yta ka�da grupa
parametr�w
p(x,y)
; kolejno�� grup w wywo�aniu nie ma znaczenia. Arkuszy
powstanie tyle, ile zosta�o utworzonych porcji.
- Dla pierwszego arkusza zostaj� pobrane -- okre�lone przez kolejne
p
z wywo�ania -- strony z pierwszej porcji
(gdy przed p
jest
'-', to z ostatniej) i umieszczone w pierwszym arkuszu, w miejscu okre�lonym
przez odpowiadaj�ce im (x,y)
.
- Dla ka�dego nast�pnego arkusza pobrane zostaj� strony z nast�pnej
(lub poprzedniej gdy przed
p
jest '-') porcji. I te deum.
Ograniczenia:
- Program z ca�ego dost�pnego pliku produkuje jedn� zszywk�. Chc�c
wi�c utworzy� wi�cej zszywek, nale�y najpierw plik wej�ciowy podzieli� na
mniejsze (o ilo�ci stron takiej, jak pojemno�� jednej zszywki). Nie znam
sposobu, w jaki m�g�by to zrobi�
DVIDVI
.
- Przy tworzeniu arkuszy zawieraj�cych pi�trowo umieszczone strony,
program nie potrafi ich obraca� w�osami w d�, a jest to potrzebne gdy trzeba
arkusz falcowa�2,
a potem dopiero przycina�; mo�na
temu zaradzi� na trzy sposoby: --> poci�� najpierw arkusze na
poziome pasy o wysoko�ci jednej strony, a potem dopiero falcowa�;
--> wydrukowa� cz�ciowo strony, obr�ci� o 1800 i wydrukowa�
reszt� po tej samej stronie kartek, jednak wtedy trudno (szczeg�lnie na
drukarce laserowej) uzyska� powtarzalno�� pozycjonowania; -->
(najmniej fizyczny) sprz�g z TeX-em: mo�na w obs�udze procesu zrzutu stron
(output routine) oprogramowa� obr�t wybranych stron. Oczywi�cie w ka�dym
z tych trzech przypadk�w trzeba przygotowa� inne parametry dla programu
DVIDVI
.
Przyk�ady:
- Ekstrakcja:
dvidvi
30:6 we wy (r�ne od dvidvi
5 we wy)
z pliku we
do pliku wy
zostanie przeniesiona 7 strona, pod
warunkiem, �e ilo�� stron w pliku we
nie jest wi�ksza ni� suma obu
u�ytych w wywo�aniu liczb.
- Panie na lewo, panowie na prawo:
dvidvi 2:0 we wy1
dvidvi 2:-1 we wy2
Je�li za�o�ymy, �e plik wej�ciowy zawiera� 27 lub 28 stron, to program
poprzestawia je nast�puj�co (strza�ki unaoczniaj� machinacje programu DVIDVI
):
w pliku wy1
znajd� si� strony nieparzyste, a w wy2
parzyste, ale
w odwrotnej kolejno�ci. W przypadku korzystania z drukarki laserowej wystarczy
wypu�ci� arkusze zadrukowane jednostronnie zawarto�ci� pliku wy1
do
odbiornika drukiem w g�r� (na og� s�u�y do tego tacka z przodu drukarki),
i nie odwracaj�c (tak, by ostatnio wydrukowany arkusz sta� si� pierwszym
drukowanym z drugiej strony) podstawi� pod druk zawarto�ci pliku wy2
(tak�e
drukiem w g�r�).
- Broszurka w A53:
dvidvi 4:-3,0(5.5in,0in) we wy1
dvidvi 4:1,-2(5.5in,0in) we wy2
Przy za�o�eniu, �e na wej�ciu by�o od 37 do 40 stron, zostan� one
poprzemieszczane i po��czone jak ni�ej (strza�ki kropkowane ��cz� przeciwne
strony kartki przysz�ej ksi��eczki):
Je�li wi�c w pliku we
znajd� si� strony w formacie A5, to w pliku wy1
zostan� umieszczone ,,prawe'' strony arkuszy formatu A4, a w wy2
--- w tej
samej kolejno�ci arkuszy --- ,,lewe''. Tym razem nale�y w pierwszym przebiegu
wypu�ci� arkusze do odbiornika drukiem w d�, po czym ca�y pakiet odwr�ci�
,,na grzbiet'' wzd�u� osi r�wnoleg�ej do kr�tszego boku kartek i tak podstawi�
do druku z drugiej strony. Dodatkowo po zako�czeniu drukowania trzeba arkusze
odpowiednio potasowa�.
- Po tym co napisano powy�ej, uwa�ny TeX-nik nie potrzebuje ju� chyba
wyja�nienia (ewentualnie warto to sobie rozrysowa�):
dvidvi 8:-7,0(4.12in,0in),-5(0in,5.8in),2(4.12in,5.8in) we wy1
dvidvi 8:1,-6(4.12in,0in),3(0in,5.8in),-4(4.12in,5.8in) we wy2
Przypisy
1 Z t� zgodno�ci� z TeX-em nie jest tak
rado�nie. Na przyk�ad nie mo�na pomin�� w liczbie cyfry '0' przed kropk�
dziesi�tn�. W og�le p. Rokicki sprawia wra�enie jakby si� troch� d�sa� na
TeX-a --- np. TeX numeruje strony od '1' --- DVIDVI
od '0'. Natomiast gdy dla
TeX-a nie ma jednostki domy�lnej, to w DVIDVI
s� a� dwie: jedna to cal,
a druga --- mocniejsza --- taka, jakiej u�yto wcze�niej.
2 Podobno po polsku m�wi si�: z�amywa�, ale s�
tak�e w u�yciu s�owa: za�amywa�, sk�ada�.
3 Podane w tym i nast�pnym
przyk�adzie wielko�ci wsp�rz�dnych oczywi�cie �ci�le zale�� od lokalnych cech
�rodowiska systemowego i parametr�w drukarki.
Zredagowa�:
W�odzimierz Macewicz