[cstex] Výstup do ePub
Michal Hoftich
michal.h21 at gmail.com
Mon Mar 23 12:30:03 CET 2015
Dobrý den
> Dobrý den,
>
> je to už nějaký pátek, kdy jsem vyráběl e-book z LaTeXu, takže možná už jsou
> dnes k dispozici lepší nástroje. Osvědčilo se mi následující:
>
> Pro převod do HTML tex4ht. Dost jsem tenkrát bojoval s dokumentací a
> parametry dohledával jen obtížně. Nakonec jsem použil
>
> htlatex soubor.tex "html,charset=utf-8,fn-in" " -cunihtf -utf8" "-p"
>
> a neptejte se mě, co to znamená ;-)
htlatex volá 3 programy, latex, tex4ht (konvertor z dvi do výstupních
formátů) a t4ht (na konverzi obrázků, volání externích programů a
generování css). každý z těchto programů má vlastní parametry, ty jsou
v dvojitých uvozovkách.
první parametr za jménem kompilovaného souboru jsou volby pro
`tex4ht.sty`, v podstatě je to ekvivalent toho, kdybyste měl v TeXovém
souboru:
\usepackage[html,charset=utf-8]{tex4ht}
`charset=utf-8` nastaví element `<meta>`:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
takže se dokument v kódování utf-8 korektně zobrazí v prohlížeči.
druhý parametr jsou volby pro program `tex4ht`, tady je to trošku složitější:
pro každý podporovaný font existuje soubor s příponou .htf, kde každý
řádek odpovídá jedné pozici v .tfm souboru. každý řádek obsahuje
hexadecimální unicode kód pro znak na dané pozici. Pokud bychom
nepoužili žádné volby pro `tex4ht`, dostali bychom soubor, kde znaky,
které nejsou v kódování Latin1, jsou kódovány jako xml entity,
například:
kůň úpěl ďábelsk
pokud bychom použili jenom volbu `utf8`, tak entity budou nahrazeny
znaky kódovanými v utf8, ale znaky s diakritikou, které byly
konvertovány přímo do Latin1, budou špatně:
kůň ?pěl ď?belsk
volba `-cunihtf` zabrání konverzi na Latin1 a text bude konečně správně:
kůň úpěl ďábelsk
mimochodem, tex4ebook a make4ht (další podobný skript) mají volbu
`-u`, která je ekvivalentní tomuto dlouhému zápisu
>
> tex4ht si generuje i obrázky. Parametry pro převod jsem měnil přímo v
> tex4ht.env, konkrétně jsem měnil rozlišení na 150 DPI a odstranil
> -transparency.
tex4ebook i make4ht podporují build soubory, kde se dá nakonfigurovat
například konverze obrázků:
https://github.com/michal-h21/make4ht#image-conversion
a trošku komplikovanější příklad:
http://tex.stackexchange.com/a/228943/2891
>
> Ve výstupu jsem rozkládal ligatury, aby se ve čtečce dalo najít třeba slovo
> "definice". To jsem dělal pěkně po staru sedem:
>
> sed -e /____/d -e s/fl/fl/g -e s/fi/fi/g -e s/ff/ff/g -e s/ffi/ffi/g soubor.html
>> vysledek.html
to je možné řešit pomocí filtrů v build souboru, konkrétně filtr fixligatures:
https://github.com/michal-h21/make4ht#filters
Zdravím,
Michal Hoftich
More information about the csTeX
mailing list