Přeskočit na:

LaTeX pro web

Tato stránka vznikla jako jeden z výstupů projektu E-learning v matematice. Konkrétně se zabývá konverzí matematických skript ve formátu LaTeX do formátů vhodných pro web.

Přejít: k navigaci | na začátek stránky | na konec stránky

Nástroje pro konverzi

Na stránkách TUGu je k dispozici celá řada odkazů na různé nástroje pro konverzi (La)TeXových dokumentů do HTML a jiných formátů vhodných pro web. Za všechny jmenujme např. TeX4ht, LaTeX2HTML nebo tex2page. Na základně počátečních pokusů s různými nástroji se jako nejvhodnější jevil vysoce konfigurovatelný nástroj TeX4ht. Tato volba se ukázala jako správná a na základě řešení projektu pomocí tohoto nástroje doporučujeme jeho použití.

Překlad pomocí TeX4ht probíhá ve dvou fázích. Nejdříve je klasickým TeXem vygenerován výstup do DVI souboru, ovšem se speciálními poznámkami pro další zpracování. Na rozdíl od jiných nástrojů, které se snaží nějakým způsobem provádět expanzi TeXových příkazů vlastními prostředky, tak máme zaručeno, že expanze všech maker proběhne korektně. To je velká výhoda.

Výsledný DVI soubor je následně zpracován a transformován do HTML, XHTML, XHTML+MathML apod. Podpora mnoha různých formátů a konfiguračních voleb ovlivňujících výstup je další z předností nástroje TeX4ht.

Přejít: k navigaci | na začátek stránky | na konec stránky

Jak získat TeX4ht

Předpokladem použití nástroje TeX4ht je samozřejmě jeho přítomnost v systému. TeX4ht je možno získat na výše odkazované domovské stránce a následně jej doinstalovat do TeXové distribuce.

Jednodušší cestou je použití některé z distribucí TeXu, která již TeX4ht obsahuje. Patří mezi ně např. TeX Live, MikTeX a další. Seznam distribucí obsahujících TeX4ht je k dispozici na jeho domovské stránce.

Přejít: k navigaci | na začátek stránky | na konec stránky

Použití TeX4ht

Překlad dokumentu ve formátu LaTeX do HTML můžeme provést příkazem:

htlatex jméno_souboru.tex 'html'

Celý dokument pak bude převeden do jediného HTML souboru. Složité matematické vzorce a jiné objekty, které není možné zapsat přímo prostředky HTML, budou vykresleny do PNG obrázků a do výstupu vloženy v této formě.

Překlad do DVI souboru se speciálními příkazy TeX4ht i následné převedení tohoto souboru do výstupního formátu probíhá automaticky, a to včetně případného několikanásobného překladu dokumentu za účelem vyřešení křížových odkazů.

U rozsáhlejších dokumentů je vhodnější výstup rozdělit do několika stránek. Zavoláním příkazu

htlatex jméno_souboru.tex 'html,2'

dosáhneme rozdělení výstupního dokumentu po kapitolách do samostatných HTML souborů. Navíc bude vytvořen HTML dokument s titulní stránkou a obsahem odkazujícím na jednotlivé kapitoly. Na začátek a konec každého souboru bude vložena navigační lišta pro snadný pohyb mezi nimi.

Pro potřeby ladění výstupu může být u dokumentů s velkým množstvím matematických výrazů vhodné při překladu potlačit generování jejich PNG podob. Vytváření obrázků je možné zakázat přidáním přepínače -p jako čtvrtého argumentu při volání překladu. Překlad by pak mohl být volán např. tímto příkazem:

htlatex jméno_souboru.tex 'html,2' ' ' '-p'
Přejít: k navigaci | na začátek stránky | na konec stránky

Úpravy dokumentu pro TeX4ht

Jednou z předností použití TeX4ht je, že v dokumentu není třeba provádět žádné zásadní úpravy. To je dáno především tím, že expanzi příkazů provádí přímo TeX.

Přesto je v dokumentu nutné použít některé speciální příkazy pro jeho webovou podobu. Aby bylo možné používat pouze jeden zdrojový soubor, je vhodné definovat si patřičné IF makro.

Vložením příkazů

\newif\ifweb
\ifx\ifHtml\undefined % Mimo HTML.
    \webfalse
\else % V HTML.
    \webtrue
\fi

do našeho dokumentu zajistíme definování rozhodovacího příkazu \ifweb, jehož pravdivostní hodnota bude automaticky nastavena dle toho, zda je dokument překládán klasickým TeXem nebo TeX4ht. Zdrojový kód dokumentu tak můžeme napsat pouze jednou (s případnými \ifweb ... \else ... \fi větvemi kódu), a ten pak bez jakéhokoli zásahu do něj překládat do obou formátů.

Pro použití v českých podmínkách je např. vhodné upravit text odkazů na navigační liště přidávané do HTML souborů s jednotlivými kapitolami. Do dokumentu proto pro TeX4ht vložíme příkaz:

\Configure{crosslinks}{ [}{] }{Další}{Předchozí}{Předchozí -- na konec}{Na začátek}{Na konec}{Výše}

Pokud chceme do nějakého místa dokumentu vložit část HTML kódu, lze to provést vložením příkazu:

\HCode{HTML kód}

HTML výstup je možné oživit pomocí kaskádových stylů. Vlastní stylopis je možné definovat příkazem:

\Css{stylopis}

Kaskádové styly se dají typicky použít například pro ovlivnění vzhledu výstupu nějakého TeXového prostředí, např. textu cvičení v učebnici apod. K tomu použitý příkaz by mohl vypadat např. takto:

\ConfigureEnv{cviceni}{\HCode{<div class="cvic">}}{\HCode{</div>}}{}{}

Ve výsledném HTML souboru pak bude obsah TeXového prostředí cviceni obklopen značkami <div class="cvic"></div>. Díky tomu na něj bude uplatněn předpis kaskádového stylu pro třídu cvic.

Přejít: k navigaci | na začátek stránky | na konec stránky

Patička:

Valid XHTML 1.1   Valid CSS   Made to Dogma W4
Copyright © 2005–2009 Michal Růžička <xruzick7(zavináč)fi(tečka)muni(tečka)cz>