Lição 15

Resolvendo erros

Esta lição mostra alguns erros comuns em documentos, o que eles significam, e como resolvê-los.

Diferente de um sistema típico de processamento de texto, o LaTeX tem um ciclo de Editar/Executar/Visualizar mais próximo a uma linguagem de programação, e assim como na programação, usuários podem cometer erros no seu código e será necessário resolver os erros reportados pelo sistema.

Erros comuns

Esta página dá exemplos de diversos erros comuns. Cada exemplo de erro tem alguma discussão sobra a forma da mensagem de erro.

Pode ser instrutivo experimentar os exemplos e as funcionalidades de edição para tentar corrigir os documentos mostrados aqui, e ver se você consegue resolver os erros.

pdflatex não encontrado

Um erro inicial comum que as pessoas veem quando estão começando é:

'pdflatex' is not recognized as an internal or external command,
operable program or batch file.

no Windows (ou uma mensagem equivalente em português) ou

bash: pdflatex: command not found

no Linux.

Esse erro não é do TeX, mas do sistema operacional dizendo que o TeX não está instalado ou não foi encontrado. Um erro comum é instalar um editor, como o TeXworks ou TeXShop mas não instalar um sistema TeX, como TeX Live ou MiKTeX.

Anatomia de uma mensagem de erro do TeX

\documentclass{article}
\usepackage[T1]{fontenc}

\newcommand\mycommand{\textbold{hmmm}}

\begin{document}

My command is used here \mycommand.

\end{document}

Esse documento produz uma mensagem de erro de várias linhas no log:

! Undefined control sequence.
\mycommand ->\textbold 
                       {hmmm}
l.8 My command is used here \mycommand
                                      .
? 

Note aqui que o TeX não vê o erro no local em que o comando \mycommand é definido; de fato, se \mycommand for definido daquela forma mas não for usado, o erro não acontecerá. Então embora o erro é reportado na linha 8, o erro real está na definição na linha 4, então é importante ver a mensagem de erro completa.

Cuidado que alguns editores mostram ‘sumários’ de uma linha no relatório de erros. Isso pode ser particularmente enganoso se mostrado como:

line 8: undefined command: ...\mycommand

pois faz parecer que o comando \mycommand não está definido.

Chaves desbalanceadas

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage[leqno}{amsmath}

\begin{document}

\end{document}

Aqui o erro é uma chave } desbalanceada usado no argumento opcional. A fecha-chave faz com que a leitura de argumento opcional do LaTeX falhe e você receba um erro interno não muito informativo:

! Argument of \@fileswith@ptions has an extra }.

Enquanto a descrição do erro não é muito útil; as duas linhas seguintes mostram precisamente o local do erro por usar uma quebra de linha mostrando até onde o TeX leu:

l.4 \usepackage[leqno}
                      {amsmath}

Arquivos não encontrados

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{amsmathz}

\begin{document}

\end{document}

Esse documento causa a mensagem de erro:

! LaTeX Error: File `amsmathz.sty' not found.

Note que o mesmo erro pode ser produzido por duas causas diferentes; aqui é um simples erro de digitação, que pode ser remediado ao corrigir o nome do pacote, mas poderia ser um arquivo que realmente não existe e precisa ser instalado no sistema.

Linhas vazias em equações

\documentclass{article}
\usepackage[T1]{fontenc}

\begin{document}

Some text
\begin{equation}

  1=2

\end{equation}

\end{document}

Esse documento produz o ligeiramente misterioso erro:

! Missing $ inserted.

Mas a correção é simples: linhas vazias não são permitidas em ambientes matemáticos, e devem ser deletadas.

Exercícios

Tente corrigir os erros nos exemplos apresentados.

Crie pequenos documentos com diferentes erros e analise a forma das mensagens de erro.