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
- Declarar o idioma principal e os secundários de um documento com o babel, e explicar o que cada idioma decide no resultado.
- Escolher entre
\foreignlanguage,otherlanguagee\selectlanguageconforme o que deva mudar, e prever a data, os rótulos e as aspas que resultam. - Compor passagens em grego politônico e em latim com sua hifenização e uma tipografia adequada.
- Atribuir tipografias com o fontspec e o babel, e ativar algarismos de estilo antigo, versaletes e ligaturas.
- 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.
- 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
\todayimprime, 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.
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.
\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}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.
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.
\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.
Underfull \hbox (badness 10000) in paragraph at lines 5--5[] \TU/lmr/m/n/10 un-ders-tan-ding kno-wledgeUnderfull \hbox (badness 10000) in paragraph at lines 6--6[] \TU/lmr/m/n/10 un-der-stand-ing knowl-edgeUnderfull \hbox (badness 10000) in paragraph at lines 7--7[] \TU/lmr/m/n/10 nos-trum cons-ci-en-tiaUnderfull \hbox (badness 10000) in paragraph at lines 8--8[] \TU/lmr/m/n/10 no-strum con-scien-tiaCom 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.
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.
Carregando o conteúdo…