[cstex] Diakritika v \hyphenation

Alkor mirekkluci at gmail.com
Wed Mar 4 20:46:38 CET 2015


Dne středa 4. března 2015 10:26:42 UTC+1 Zdenek Wagner napsal(a):
> Dne 4. března 2015 9:38 Michal Růžička <ruzick... at gmail.com> napsal(a):
> 
> 
> Pěkný den,
> 
> 
> 
> alternativní LaTeXové řešení je přidání
> 
> 
> 
> \AtBeginDocument{\shorthandoff{-"}} % Obcházení chyby v podpoře češtiny
> 
>                                     % v balíčku Babel
> 
> 
> 
> do hlavičky za \usepackage[czech]{babel}.
> 
> 
> 
> Toto není "bug", ale "feature". Je to dáno tím, jak je kernel babelu vytvořen. Ještě horší problémy způsobuje např. francouzština. Problém je přesně v tom, co napsal M. Fikar. Primitiv \accent zakazuje dělení slov, takže pokud používáte kódování fontů OT1, kde písmena s diakritikou nejsou, nejde to ani v plainu. LaTeX navíc z mnoha důvodů přidává diakritiku dosti komplikovanými mechanismy. A ještě horší je to v kombinaci s UTF8, protože z několika znaků skládáte jeden (8bitový TeX bez encTeXu nepracuje s Unicode, takže ě jsou pro něj na vstupu dvě písmena, z nichž se při použití kódování OT1 složí \v{e}, při použití 8bitového kódování (např. T1) složí jedno písmeno ě. Znak - má v preambuli kategorii 12, kategorii 13 získá až za \begin{document}.
> 
> 
> 
> S pozdravem,
> 
> Michal Růžička
> 
> 
> 
> 
> 
> 
> Zdeněk Wagner
> http://hroch486.icpf.cas.cz/wagner/
> http://icebearsoft.euweb.cz
> 
>  
> 
> 
> Dne 4.3.2015 v 8:12 Luboš Kloc napsal(a):
> 
> 
> 
> > Problém bude asi v tom, že při použití balíčku inputenc jsou znaky s
> 
> > diakritikou aktivní, takže to nejsou "normální" znaky.
> 
> >
> 
> > Doporučil bych místo inputenc použít encTeX, ale jako plainista nevím
> 
> > přesně, jak se to v LaTeXu udělá, takže to nechám na znalce.
> 
> >
> 
> > S pozdravem,
> 
> >
> 
> > Luboš Kloc
> 
> >
> 
> >
> 
> >
> 
> > Dne 4.3.2015 v 04:09 Alkor napsal(a):
> 
> >> Rád bych použil \hyphenation pro definování správného dělení v pdflatex verze pdfTeX 3.1415926-2.5-1.40.13 (Linux Fedora 18):
> 
> >>
> 
> >> \documentclass[draft,a4paper,12pt,openany]{book}
> 
> >> \usepackage[utf8]{inputenc}
> 
> >> \usepackage[czech]{babel}
> 
> >> \hyphenation{vy-prá-vě-ní}
> 
> >> ....
> 
> >>
> 
> >> ale dává mi to chybu:
> 
> >>
> 
> >> ! Improper \hyphenation will be flushed.
> 
> >> \leavevmode ->\unhbox
> 
> >>                        \voidb at x
> 
> >> l.20 \hyphenation{vy-prá
> 
> >>                           -vě-ní}
> 
> >>
> 
> >> Experimentováním jsem pochopil, že problém je ve znacích s diakritikou. Nevíte, prosím, co s tím? Díky.
> 
> >> _______________________________________________
> 
> >> csTeX mailing list
> 
> >> cs... at cs.felk.cvut.cz
> 
> >> https://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> >>
> 
> >
> 
> > _______________________________________________
> 
> > csTeX mailing list
> 
> > cs... at cs.felk.cvut.cz
> 
> > https://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> >
> 
> ________________________________________
> 
> csTeX mailing list
> 
> cs... at cs.felk.cvut.cz
> 
> https://lists.felk.cvut.cz/mailman/listinfo/cstex

Děkuji, uplatnil jsem radu p. Fikara. Chybové hlášení už se nevypisuje. Vím, že jsem původně víc nepožadoval, ale teď mi zase vadí, že \hyphenation nezafungoval, t.j. očekávané dělení se nedostavilo. Musel jsem opět použít konstrukci vy\-prá\-vě\-ní přímo v textu. Prosím tedy o ještě jednu radu, co dál....  Děkuji



More information about the csTeX mailing list