Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F123128283
dvidvi.html
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Jul 25, 04:07
Size
7 KB
Mime Type
text/html
Expires
Sun, Jul 27, 04:07 (2 d)
Engine
blob
Format
Raw Data
Handle
27643109
Attached To
R232 fabrepos2
dvidvi.html
View Options
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>
s±
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
Log In to Comment