Page MenuHomec4science

dvidvi.html
No OneTemporary

File Metadata

Created
Fri, Jul 25, 04:07

dvidvi.html

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-language" content="pl">
<meta name="Author" content="W³odzimierz Macewicz">
<meta name="Keywords" content="tex, dvidvi, Wirtualna Akademia">
<title>DVIDVI </title>
</head>
<body bgcolor=#a0F0f0>
<center>
<h2>DVIDVI </h2>
<i></i><p>
<i></i><p>
autor: <i>Maciej G³owacki </i></center>
<i></i><p>
<hr>
<p>
<code>DVIDVI</code> 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.
<h3> Format: </h3>
<pre>
d:p<sub>1</sub>[(x<sub>1</sub>,y<sub>1</sub>)][,p<sub>2</sub>[(x<sub>2</sub>,y<sub>2</sub>)]]...[,p<sub>n</sub>[(x<sub>n</sub>,y<sub>n</sub>)]] fi fo
</pre>
gdzie:
<dl>
<dd>nawiasy kwadratowe oznaczaj± nieobowi±zkowe u¿ycie tego co zawieraj±;
<dd>odstêpy, nawiasy okr±g³e i przecinki s± konieczne w kontek¶cie;
<dt><code>d</code>
<dd>dzielnik (modulo); liczba dodatnia z zakresu 1 do 32,
okre¶laj±ca rozmiar porcji (w stronach), na jakie zostanie podzielony plik
wej¶ciowy;
<dt><code>p</code>
<dd>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 <code>d</code>-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);
<dt><code>x</code> i <code>y</code>
<dd>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-u<sup><a href=#fn1>1</a></sup>; gdy <code>x</code> i <code>y</code>
równocze¶nie zerowe, mo¿na je wraz z nawiasami pomin±æ;
<dt><code>fi</code>
<dd>nazwa pliku wej¶ciowego; rozszerzenie (<code>.dvi</code>) mo¿na pomin±æ;
<dt><code>fo</code>
<dd>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!).
</dl>
<h3>Opis dzia³ania</h3>
<ul>
<li>Program czyta plik wej¶ciowy i dzieli go na porcje o <code>d</code>
stronach (ewentualnie ostatnia porcja jest uzupe³niana pustymi stronami).
Nastêpnie zaczyna budowaæ arkusze, tworz±c plik wyj¶ciowy.
<li>Dla ka¿dego tworzonego arkusza zostaje raz u¿yta ka¿da grupa
parametrów <code>p(x,y)</code>; kolejno¶æ grup w wywo³aniu nie ma znaczenia. Arkuszy
powstanie tyle, ile zosta³o utworzonych porcji.
<li>Dla pierwszego arkusza zostaj± pobrane -- okre¶lone przez kolejne
<code>p</code> z wywo³ania -- strony z pierwszej porcji
(gdy przed <code>p</code> jest
'-', to z ostatniej) i umieszczone w pierwszym arkuszu, w miejscu okre¶lonym
przez odpowiadaj±ce im <code>(x,y)</code>.
<li>Dla ka¿dego nastêpnego arkusza pobrane zostaj± strony z nastêpnej
(lub poprzedniej gdy przed <code>p</code> jest '-') porcji. I te deum.
</ul>
<h3> Ograniczenia: </h3>
<ul>
<li>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æ <code>DVIDVI</code>.
<li>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æ<sup><a href=#fn2>2</a></sup>,
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 180<sup>0</sup> 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
<code>DVIDVI</code>.
</ul>
<h3> Przyk³ady: </h3>
<ul>
<li>Ekstrakcja:<br>
<code>dvidvi</code> 30:6 we wy (ró¿ne od <code>dvidvi</code> 5 we wy)<br>
z pliku <code>we</code> do pliku <code>wy</code> zostanie przeniesiona 7 strona, pod
warunkiem, ¿e ilo¶æ stron w pliku <code>we</code> nie jest wiêksza ni¿ suma obu
u¿ytych w wywo³aniu liczb.
<li>Panie na lewo, panowie na prawo:<br>
<code>dvidvi 2:0 we wy1</code><br>
<code>dvidvi 2:-1 we wy2</code><br>
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 <code>DVIDVI</code>):
<center>
<img src=./dvistro1.gif width=470 height=320>
</center>
<p>
w pliku <code>wy1</code> znajd± siê strony nieparzyste, a w <code>wy2</code> parzyste, ale
w odwrotnej kolejno¶ci. W przypadku korzystania z drukarki laserowej wystarczy
wypu¶ciæ arkusze zadrukowane jednostronnie zawarto¶ci± pliku <code>wy1</code> 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 <code>wy2</code> (tak¿e
drukiem w górê).
<li>Broszurka w A5<sup><a href=#fn3>3</a></sup>:<br>
<code>dvidvi 4:-3,0(5.5in,0in) we wy1</code><br>
<code>dvidvi 4:1,-2(5.5in,0in) we wy2</code>
<p>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):
<center>
<img src=./dvistro2.gif width=546 height=327>
</center>
Je¶li wiêc w pliku <code>we</code> znajd± siê strony w formacie A5, to w pliku <code>wy1</code>
zostan± umieszczone ,,prawe'' strony arkuszy formatu A4, a w <code>wy2</code> --- 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æ.
<li>Po tym co napisano powy¿ej, uwa¿ny TeX-nik nie potrzebuje ju¿ chyba
wyja¶nienia (ewentualnie warto to sobie rozrysowaæ):<br>
<code>dvidvi 8:-7,0(4.12in,0in),-5(0in,5.8in),2(4.12in,5.8in) we wy1</code><br>
<code>dvidvi 8:1,-6(4.12in,0in),3(0in,5.8in),-4(4.12in,5.8in) we wy2</code>
</ul>
<h3>Przypisy</h3>
<i></i><p>
<hr width=20% align=left>
<sup><a name=fn1><b>1</b></A></sup> 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' --- <code>DVIDVI</code> od '0'. Natomiast gdy dla
TeX-a nie ma jednostki domy¶lnej, to w <code>DVIDVI</code> s± a¿ dwie: jedna to cal,
a druga --- mocniejsza --- taka, jakiej u¿yto wcze¶niej.
<hr width=20% align=left>
<sup><a name=fn2><b>2</b></a></sup> Podobno po polsku mówi siê: z³amywaæ, ale s±
tak¿e w u¿yciu s³owa: za³amywaæ, sk³adaæ.
<hr width=20% align=left>
<sup><a name=fn3><b>3</b></a></sup> 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.
<hr>
<a href=../index.html><img src="../gify/lew-7vs.gif" hspace=10 border=0 align=left></a>
<a href=mailto:W.Macewicz@ia.pw.edu.pl><img src="../gify/mail.gif" hspace=10 align=left></a>
Zredagowa³</br>
<a href=http://home.elka.pw.edu.pl/~macewicz/index.html>W³odzimierz Macewicz</a><br clear=all>
<hr>
Ostatnie zmiany: 07.04.2001 (StaW).
</body>
</html>

Event Timeline