Saltar para o conteúdo
Topos Uranos

Resumo

Esta aula ensina a declarar os idiomas de um documento e a escolher suas tipografias. Explica o que o babel muda quando se declara um idioma (a hifenização, os rótulos, as datas e as aspas) e distingue as três maneiras de mudar de idioma: \selectlanguage, \foreignlanguage e o ambiente otherlanguage. Aplica o que foi visto ao grego politônico e ao latim, com uma passagem de cada um. Apresenta em seguida o fontspec: as três famílias de um documento, \babelfont para atribuir uma tipografia a cada idioma e os recursos OpenType mais úteis (algarismos de estilo antigo, versaletes e ligaturas). Ensina a verificar se uma tipografia contém todos os caracteres do documento, lendo as advertências «Missing character» e buscando tipografias com o albatross, e explica por que convém preferir as tipografias que vêm com o TeX Live quando o documento deve compilar também no Overleaf. Termina com uma menção breve das escritas da direita para a esquerda, das asiáticas e do polyglossia.

Objetivos de aprendizagem

  1. Declarar o idioma principal e os secundários de um documento com o babel, e explicar o que cada idioma decide no resultado.
  2. Escolher entre \foreignlanguage, otherlanguage e \selectlanguage conforme o que deva mudar, e prever a data, os rótulos e as aspas que resultam.
  3. Compor passagens em grego politônico e em latim com sua hifenização e uma tipografia adequada.
  4. Atribuir tipografias com o fontspec e o babel, e ativar algarismos de estilo antigo, versaletes e ligaturas.
  5. Verificar se as tipografias escolhidas contêm todos os caracteres e estilos que o documento usa, e interpretar as advertências que indicam o contrário.
  6. Decidir entre uma tipografia do TeX Live e uma do sistema conforme o lugar onde o documento deva ser compilado.

O que muda com o idioma

As aulas anteriores carregaram sempre \usepackage[brazilian]{babel} sem se deter no que ele faz. Ora, um idioma não é só uma lista de letras: tem suas regras para dividir as palavras no fim da linha, seus nomes para as partes de um documento, sua maneira de escrever as datas e suas aspas. O pacote babel reúne essas convenções por idioma, e declarar um idioma é pedir que ele as aplique. Concretamente, o idioma decide:

  • a hifenização: com que padrões o motor procura os pontos em que uma palavra pode ser cortada;
  • os rótulos que o LaTeX escreve por conta própria, como o título do sumário ou o nome das tabelas e das figuras;
  • a data que \today imprime, que é a do dia da compilação;
  • certos atalhos de teclado, como os que o português define para as aspas angulares, que se verão nesta mesma seção.
ExemploAs mesmas instruções em três idiomas

Os três parágrafos usam as mesmas instruções; só muda o idioma em que são lidas. \tablename, \figurename e \contentsname são os rótulos das tabelas, das figuras e do sumário.

Código LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[latin, english, brazilian]{babel}\begin{document}Data: \today. Rótulos: \tablename, \figurename, \contentsname.​\begin{otherlanguage}{english}Date: \today. Captions: \tablename, \figurename, \contentsname.\end{otherlanguage}​\begin{otherlanguage}{latin}Dies: \today. Tituli: \tablename, \figurename, \contentsname.\end{otherlanguage}\end{document}
Resultado
Resultado

O latim escreve o dia e o ano em algarismos romanos. Convém notar, além disso, que as duas variantes do português diferem nos rótulos: com brazilian, o índice geral se chama «Sumário», como pede o uso brasileiro; com portuguese, que segue o português europeu, chama-se «Conteúdo».

A hifenização

A hifenização é o efeito menos visível do idioma e o mais importante. Cada idioma corta suas palavras segundo sua própria tradição: o português corta por sílabas, o inglês respeita com frequência a formação da palavra, como em stand-ing, e o latim, segundo a tradição que seus padrões seguem, passa o s seguido de consoante para a linha seguinte. Se uma passagem em outro idioma não é marcada, o motor a divide com os padrões do idioma vigente, e os cortes que propõe podem estar errados nesse idioma.

A instrução \showhyphens escreve no log os pontos de corte que o motor admitiria nas palavras que recebe, sem imprimir nada no documento. Serve para verificar que padrões regem em cada lugar.

ExemploAs mesmas palavras com padrões diferentes

A fonte pede os cortes de duas palavras inglesas e de duas latinas, primeiro com os padrões do português, que é o idioma principal, e depois com os de seu próprio idioma.

Código LaTeX
\documentclass{article}\usepackage{fontspec}\usepackage[latin, english, brazilian]{babel}\begin{document}\showhyphens{understanding knowledge}\foreignlanguage{english}{\showhyphens{understanding knowledge}}\showhyphens{nostrum conscientia}\foreignlanguage{latin}{\showhyphens{nostrum conscientia}}\end{document}

O log mostra, para cada linha, uma advertência de caixa (inofensiva: \showhyphens compõe as palavras numa linha muito larga para examiná-las) seguida das palavras com seus cortes.

Registro de compilação
Underfull \hbox (badness 10000) in paragraph at lines 5--5[] \TU/lmr/m/n/10 un-ders-tan-ding kno-wledge​Underfull \hbox (badness 10000) in paragraph at lines 6--6[] \TU/lmr/m/n/10 un-der-stand-ing knowl-edge​Underfull \hbox (badness 10000) in paragraph at lines 7--7[] \TU/lmr/m/n/10 nos-trum cons-ci-en-tia​Underfull \hbox (badness 10000) in paragraph at lines 8--8[] \TU/lmr/m/n/10 no-strum con-scien-tia

Com os padrões do português, o inglês fica cortado em sílabas portuguesas, e cortes como un-ders ou kno-wledge seriam erros visíveis num texto inglês; com os do inglês, os cortes respeitam a formação das palavras. Com o latim ocorre o mesmo: a linha 7 corta como se cortaria em português, e a linha 8, como ensina a tradição latina.

As aspas do português

O português europeu prefere as aspas angulares, «…», no primeiro nível, e as duplas, “…”, dentro delas; o uso brasileiro começa pelas duplas e usa as simples, ‘…’, no segundo nível. O babel do português define atalhos para as angulares: "< abre umas aspas angulares e "> as fecha. Os atalhos não alternam os sinais conforme a profundidade: as aspas internas são escritas pelo autor, com o sinal do nível que lhes corresponde.

ExemploTrês níveis de aspas
Código LaTeX
"<O mestre disse: ``repitam `anamnese' em voz alta''.">​``Aspas inglesas'' e `simples', escritas à mão.
Resultado
Resultado

A segunda linha mostra a forma clássica do LaTeX, que não depende do idioma: dois acentos graves abrem umas aspas duplas e dois apóstrofos as fecham; um só de cada dá as simples. A primeira linha combina os dois recursos: o atalho do português no nível exterior, a forma clássica nos interiores.

É preciso distinguir, no entanto, o atalho de uma coincidência. A tipografia, carregada pelo fontspec com o recurso de ligaturas do TeX que se verá mais abaixo, converte por si só dois sinais < seguidos numa aspa angular, em qualquer idioma; o atalho "<, por sua vez, só existe nos idiomas cujo babel o define, como o português, o alemão e o latim. Nenhum dos dois alterna os sinais conforme o nível: isso só o faz o babel do espanhol, cujos atalhos << e >> compõem <<a <<b>> c>> como «a “b” c», ao passo que em português a mesma linha imprime três pares de aspas angulares, um dentro do outro. A aula dedicada às notas, citações e versos tratará as citações com mais detalhe.