Como funciona a hifenização (separação de sílabas) no TeX?

Todo mundo sabe o que é hifenização: nós a vemos na maioria dos livros que lemos, e (se estivermos alertas) notaremos ridículos erros ocasionais de hifenização (houve uma época em que jornais britânicos eram uma fonte fértil de tais erros).

Estilos de hifenização são determinados culturalmente, e a mesma língua pode ser hifenizada de forma diferente em diferentes países — por exemplo, os estilos britânico e americano de hifenização do Inglês são muito diferentes. Como resultado, um sistema de composição tipográfica que não esteja restrito a um único idioma em um único local precisa ser capaz de alterar suas regras de hifenização de tempos e tempos.

O TeX usa um sistema muito bom de hifenização (originalmente projetado por Frank Liang — você pode ver sua tese de Ph.D. on-line) e, embora possa errar hifenizações “delicadas”, ele raramente comete erros grosseiros. O algoritmo correlaciona candidatas à hifenização com um conjunto de “padrões de hifenização”. As candidatas à hifenização devem ser sequências de letras (ou outros caracteres que o TeX pode ser persuadido a pensar que sejam letras). O que não é letra interrompe a hifenização; isso se aplica a primitiva do TeX \accent (como em ‘système’) tanto quanto como na exclamação in‘syst!eme’.

(A hifenização ocorre nos caracteres “enviados à impressora”. O problema com \accent é evitado —no LaTeX — pelo uso do pacote fontenc, como discutido em “Palavras acentuadas não são hifenizadas”.)

Conjuntos de padrões de hifenização geralmente são derivados de análise de uma lista de hifenizações válidas (o processo de derivação, usando uma ferramenta chamada patgen, não é normalmente um esporte a ser jogado pelos mortais comuns).

Os padrões para os idiomas que um sistema TeX irá lidar só podem ser carregados quando o sistema estiver instalado. Para alterar o conjunto de padrões de hifenização reconhecidos por um sistema baseado em TeX ou por um sistema XeTeX, será necessária uma reinstalação parcial (note que o LuaTeX alivia essa restrição).

O TeX fornece dois comandos de “nível de usuário” para controle de hifenização: \language (que seleciona um estilo de hifenização) e \hyphenation (que dá instruções explícitas ao mecanismo de hifenização, que se sobrepõem ao efeito dos padrões). O usuário comum do LaTeX não precisa se preocupar com o \language, uma vez que ele é muito bem gerenciado pelo pacote babel ; o uso do \hyphenation é discutido no contexto de the context of falha de hifenização.

This answer last edited: 2012-12-03


Do you have any question? Ask on: latex.net.br - we love qood questions!