DVI-OUT

Petr Olsak olsak at math.feld.cvut.cz
Wed May 7 10:50:45 CEST 1997



On Wed, 7 May 1997, Barak Josef wrote:

> Dobry den, mam nasledujici problem:
>
> vyrabim rozsahlejsi praci v LaTeXu, ve ktere jsou i grafy z
> GNUPLOTu, vytvorene pomoci terminalu "pslatex". Nasledne provadim
> prevod programem DVIPS, a tisk pomoci GHOSTVIEW. Bohuzel, pri vetsim
> rozsahu prace (cca 60 stran) zacaly problemy s prevodem do
> postscriptu. Vlastni konvertor DVIPS funguje dobre, ale problemy
> dela program DVI- OUT, ktery je volan automaticky pred vlastni
> konverzi. Po prevodu nekolika stran je hlaseno RUNTIME-ERROR, a
> vlastni konverze pak tim padem skonci nedobre (chybi nektere fonty).
> Nekdy (nahodne) se vsak prevod DVI-OUTem povede, i kdyz neprovedu
> zadnou zmenu. Rekl bych, ze to souvisi s tim, ze DVI-OUT ma malo
> pameti (jsou tam pouzivany ukazatele a vzhledem k tomu, ze kompilace
> byla asi provedena v Turbo Pascalu 6.0, vyuziva se jen konvenci
> pamet 640 kB). Nevedel by nekdo nejake jednoduche reseni, co s tim?
>
> Dekuji predem za odpoved.

Zarazeni programu dvi-out pred dvips do davek MNU je relikt z minulosti.
Pokusim se vysvetlit duvody jeho zarazeni i to, proc je mozno jej s klidem
odstranit.

Mattesovy ovladace (dviscr, dvilj, dvidot, ...) umeji cist substitucni
soubor s alisay nazvu fontu. V pripade davek z MNU je jim podstrcen
soubor emtex/data/cs.sub, kde je receno, ze pokud v dvi je nahodou
pohledavka po CM fontu, ktery ma odpovidajici CS, pouzije se ve
skutecnosti CS. Tim vznikaji na disku bitove mapy jen CS fontu a nestrasi
tam vedle sebe tez bitove mapy CM fontu, ktere jsou uplnou podmnozinou
CS fontu. To setri cas (pri generovani fontu) a prostor na disku a tim
i penize. Kdo nechce byt takto sporivy, muze volani cs.sub z davek
vyhodit.

Ovladac dvips pracuje s jinymi konfiguracnimi soubory, nez Mattesovy
ovladace a nelze mu predlozit cs.sub. Protoze jsme nechteli, aby se
dvips choval jinak, nez ostatni ovladace, ktere ctou cs.sub, byl do
davky vrazen program dvi-out, ktery substituci nazvu fontu z CM na CS
provedl na urovni dvi souboru pred pouzitim dvips. Proto take dvips
pouzije CS fonty misto (zbytecnych) CM fontu, i kdyby nahodou bylo dvi
pripraveno mimo CSTeX a obsahovalo tedy volani na CM fonty.

Vyhodite-li program dvi-out z davek pred dvips, pak:

1) pokud jste pripravil dvi pomoci cs-formatu, nic se nestane (v tom
   pripade dvi-out taky nic nedelal)

2) obsahuje-li dvi odkazy na (zbytecne) CM fonty, bude je dvips chtit
   vygenerovat, zatimco ostatni ovladace, ktere ctou cs.sub je nebudou
   chtit generovat. Po jejich vygenerovani je zase vsechno v poradku.
   Pouze obsadite trochu vice mista na disku a trochu si pockate.

Aby mohl dvips generovat chybejici fonty automaticky, je potreba jej
volat prostrednictvim dvidrv, coz ovsem je v davce emtex/mnu/prints.bat
zajisteno, takze neni potreba se o nic starat.

Poznamka: dvi-out se pouzival z davek MNU jeste v obracenem smeru, kdy
soubor dvi generovany cs-formatem chce uzivatel uvest do "transparentniho
stavu", tj. do stavu, kdy se dvi odkazuje pouze na CM fonty, ktere se
najdou ve vsech instalacich TeXu. Ovsem vstupni dvi nesmi mit odkaz na
zadny znak z CS fontu, ktery nema v CM fontech alternativu (doporucovalo
se zapisovat vyjmecne vyskyty akcentu pomoci TeX sekvenci). Ovsem dnes
ani toto reseni neni vsemohouci, protoze novy LaTeX je prilis
inteligentni a TeXove sekvence pro akcenty interpretuje ve sve rezii.
Je proto vhodnejsi pouzit dvicopy a virtualni font, ktery kresli CS fonty
pouzitmi CM fontu.

Asi bude uplne nejlepsi to dvi-out uplne vyhodit. Nedostanu-li do
tydne na svou adresu zadne hlasy proti, udelam to. Tj. pozmenim davky MNU
tak, aby dvi-out nebylo vubec pouzito.

Petr Olsak




More information about the csTeX mailing list