-
Instalace Jade
Jade je programový balík, který slouží k převodu dokumentů ve formátu
SGML do jiných formátů, např. HTML, RTF, PostScript, apod.
Základní instalace spočívá v kompilaci zdrojových textů z distribučního
balíku a umístění dvou klíčových nástrojů nsgmls a jade do
vhodného adresáře, aby se daly snadno spouštět. Já jsem nechal vše
nainstalovat do defaultního instalačního adresáře
/opt/local/bin/ a v adresáři /usr/bin/ jsem
vytvořil 2 symbolické linky
nsgmls -> /opt/local/bin/nsgmls a
jade -> /opt/local/bin/jade.
Dále jsem vytvořil nový adresář /usr/local/sgml/jade/, do kterého jsem nakopíroval
všechny soubory z podadresáře dsssl/ z distribučního balíku
Jade.
Je možno též instalovat jade z rpm, které je např. v distribuci Redhat.
-
Instalace DocBook DTD
DocBook DTD definuje
SGML tagy pro vytváření dokumentů ve formátu DocBook.
Já jsem použil poslední verzi 4.1, vytvořil jsem nový adresář
/usr/local/sgml/dtd/, a do něj jsem nakopíroval všechny
soubory z distribučního balíku.
Dále byly potřeba jakési entities.
Opět jsem vše z tohoto distribučního balíku nakopíroval do
adresáře /usr/local/sgml/dtd/ s tím, že jsem všechny
soubory přejmenoval podle vzoru ISO* -> iso-*.gml.
Na přejmenování je možno použít např. skript
for i in ISO*; do mv $i $(echo $i | sed s/ISO/iso-/ ).gml; done
-
Instalace DSSSL
DSSSL je datový balík,
který definuje, jakým způsobem se bude převádět dokument ve formátu SGML
do daného výstupního formátu.
Vlastní datový balík má 2 části: db156.zip, což jsou
vlastní převodní pravidla a db156d.zip, kde je
dokumentace. Já jsem si vytvořil nový adresář
/usr/local/sgml/dsssl/ a do něj jsem nakopíroval všechny
soubory z obou částí.
-
Nastavení SGML_CATALOG_FILES
Proměnnou prostředí SGML_CATALOG_FILES používají nástroje z balíku
Jade pro nalezení potřebných datových souborů.
Já jsem ji nastavil příkazem export SGML_CATALOG_FILES=/usr/local/sgml/dtd/docbook.cat:/usr/local/sgml/dsssl/catalog:/usr/local/sgml/jade/catalog.
V případě že instalujete jade z rpm, nastavte proměnnou takto:
export SGML_CATALOG_FILES=/usr/local/sgml/dtd/docbook.cat:/usr/local/sgml/dsssl/catalog:/usr/doc/jade-1.2.1/dsssl/catalog
-
Počeštění instalace
Budeme předpokládat použití standardního kódování ISO-8859-2.
V úvodním tagu SGML dokumentu je potřeba uvést atribut lang="cs".
| Příklad: | <book lang="cs"> |
| | ... |
| | </book> |
Aby se do výsledného HTML dokumentu generoval do hlavičky správný META tag o použitém kódování, je potřeba modifikovat soubor /usr/local/sgml/dsssl/html/dbparam.dsl. Konkrétně se jedná o funkci html-header-tags, jejíž poslední řádek je potřeba modifikovat na:
'(("META" ("HTTP-EQUIV" "CONTENT-TYPE") ("CONTENT" "text/html; charset=ISO-8859-2"))))
-
Další možné modifikace konfigurace
-
Závěrečný test instalace
Kontrola syntaxe SGML dokumentu
nsgmls -s cgml.sgml
Mělo by proběhnout bez chyb. U mě to vypisuje 1 warning ohledně
DTDDECL. Podle dokumentace není tato položka ve verzi 1.2.1
(nejnovější dosažitelná verze) balíku Jade podporována.
Warning týkající se DTDDECL je možné potlačit modifikací souboru /usr/local/sgml/dtd/docbook.cat. V tomto souboru je potřeba zakomentovat řádek s definicí DTDDECL následovně:
-- DTDDECL "-//OASIS//DTD DocBook V4.1//EN" "docbook.dcl" --
Převod SGML dokumentu do formátu HTML
jade -b iso-8859-2 -t sgml -i html -d /usr/local/sgml/dsssl/html/docbook.dsl
cgml.sgml
Mělo by proběhnout bez chyb. Výsledkem je několik HTML souborů s
příponou htm. Vlastní dokument pak začíná souborem
cgml.htm, ze kterého vedou odkazy do ostatních vytvořených
htm souborů.
Převod SGML dokumentu do formátu TeX
jade -t tex -d /usr/local/sgml/dsssl/print/docbook.dsl
cgml.sgml
Mělo by proběhnout bez chyb. Výsledkem je soubor
cgml.tex ve formátu TeX.
Do tisknutelné podoby je nutný JadeTeX (nadstavba nad LaTeX). Instalace je
poněkud složitější, neboť je nutno zvětšit implicitní limity TeXu. Je to
dobře popsáno v instal.pdf v zdrojové distribuci. Pokusím se o
zkrácený popis při instalci z rpm.
-
Nainstalivat
jadetex*.rpm
-
Stáhnout z CTANu
passivetex a nakopírovat ho do
/usr/share/texfm/tex/latex/passivetex
Spustit texhash aby ho TeX našel.
-
Zvětšit limity v
/usr/share/texfm/web2c/texmf.cnf
extra_mem_top.latex = 400000
extra_mem_bot.latex = 400000
hash_extra.latex = 15000
pool_size.latex = 5000000
string_vacancies.latex = 45000
max_strings.latex = 55000
pool_free.latex = 47500
nest_size.latex = 500
param_size.latex = 1500
save_size.latex = 5000
stack_size.latex = 15000
% jadetex & pdfjadetex
hash_extra.jadetex = 20000
hash_extra.pdfjadetex = 20000
pool_size.jadetex = 300000
pool_size.pdfjadetex = 300000
-
Nakonec již by mělo fungovat
jadetex file.tex nebo
pdftex file.tex pro převod do tisknutelné podoby.