Resumo
Esta aula ensina a compilar com segurança e a corrigir o que falha. Explica que uma compilação se faz em passagens, por que as referências cruzadas e o sumário precisam de uma segunda, e como o latexmk repete as passagens por conta própria, no Texmaker e no terminal. Ensina a ler o log: onde ele está, como se lê um erro com sua linha de exclamação, seu número de linha e seu contexto partido em dois, e o que distingue um erro de uma advertência e de um aviso de caixa transbordada. Percorre os erros mais frequentes com suas mensagens reais, os modos de interação do motor e uma estratégia de depuração: ler primeiro o primeiro erro, dividir o código-fonte ao meio, reduzir o problema a um exemplo mínimo, limpar os arquivos auxiliares e buscar o texto da mensagem. Termina com as advertências às quais convém dar atenção.
Objetivos de aprendizagem
- Explicar por que um documento com referências cruzadas ou sumário precisa de mais de uma passagem, e compilá-lo com o latexmk.
- Ler um erro do log e identificar sua mensagem, a linha em que o motor o detectou e o ponto exato dessa linha.
- Reconhecer os erros mais frequentes por sua mensagem e relacionar cada um com suas causas prováveis.
- Localizar a causa real de um erro quando ela não está na linha indicada, lendo primeiro o primeiro erro e dividindo o código-fonte ao meio.
- Distinguir as advertências que exigem uma correção das que podem ser ignoradas.
O que faz uma compilação
O motor lê o código-fonte uma única vez, do começo ao fim, e compõe cada página à medida que avança. Essa leitura única tem uma consequência: quando na segunda página aparece uma referência à seção cinco, ou quando o sumário da primeira página deve listar seções que ainda não foram lidas, o motor ainda não pode saber que número ou que página lhes corresponde. A solução do LaTeX é trabalhar em passagens. Em cada uma, ele anota no arquivo .aux o número e a página de cada rótulo (os que se colocam com \label), e no arquivo .toc os títulos das seções; na passagem seguinte, lê esses arquivos no início e usa o que foi anotado. Segue-se daí que, na primeira compilação, as referências aparecem como dois pontos de interrogação e o sumário sai vazio, e que basta compilar outra vez para que se completem. Se uma alteração desloca os números, pode ser necessária uma terceira passagem; a bibliografia, como se verá em sua unidade, acrescenta mais um programa, o Biber, entre as passagens.
Contar passagens à mão é tedioso e sujeito a esquecimentos. Para isso existe o latexmk, um programa que vem com as distribuições: executa o motor, examina o log e os arquivos auxiliares e repete as passagens, ou chama o Biber, até que nada mude. Sua opção -lualatex indica que use o LuaLaTeX, e sua opção -c apaga os arquivos auxiliares, conservando o PDF.
A primeira ordem compila tese.tex com o LuaLaTeX tantas vezes quantas forem necessárias; a segunda limpa os arquivos auxiliares.
$ latexmk -lualatex tese.tex$ latexmk -c tese.texNo Texmaker, uma das sequências predefinidas da compilação rápida usa o latexmk (LatexMk + View PDF); na lista de comandos da janela de configuração, o comando do latexmk é trocado por latexmk -lualatex -synctex=1 -interaction=nonstopmode %.tex, para que use o LuaLaTeX e conserve a sincronização com o PDF.
Carregando o conteúdo…