Tenho um problema bastante estranho: depois de trabalhar em uma nova seção da minha tese que inclui texto e \autocite{}
citações. Eu recebi o seguinte erro:
2525: Missing $ inserted.
Segundo o TexStudio o erro ocorre em uma linha vazia após\printbibliography
Observe que a remoção \printbibliography
resolve o erro, mas não o meu problema;)
Calculei que o problema deveria estar na seção recém-adicionada e removi toda a seção, as entradas correspondentes em meu .bib
arquivo e todos os arquivos auxiliares, porém isso não resolveu o erro.
Infelizmente, não acho que possa incluir um exemplo relevante do meu código, pois meu arquivo tem cerca de 80 páginas e remover a seção editada não resolve meu erro.
Nota: Um documento PDF atualizado é gerado apesar do erro.
DR e pergunta
Qual é a maneira recomendada de depurar esse problema?
Alternativamente:
Se houver detalhes suficientes, qual poderia ser o problema aqui?
Responder1
Dadotest1.bib
@misc{foo,
title={Something bad with _x},
author={me},
date={2024}
}
@misc{bar,
title={Something good},
author={me},
date={2024}
}
O documento
\documentclass{article}
\usepackage{biblatex}
\addbibresource{test1.bib}
\begin{document}
Blah blah \cite{foo,bar}.
\printbibliography
\end{document}
produz um erro no terminal e no log:
! Missing $ inserted.
<inserted text>
$
l.12 \end
{document}
?
! Missing $ inserted.
<inserted text>
$
l.12 \end
{document}
?
o que é um pouco obscuro, mas você pode dizer ao tex para fornecer mais contexto adicionando \errorcontextlines=5
(você pode obter mais, mas cuidado com o que pede).
\documentclass{article}
\usepackage{biblatex}
\addbibresource{test1.bib}
\begin{document}
Blah blah \cite{foo,bar}.
\errorcontextlines=5
\printbibliography
\end{document}
Agora produz o erro no terminal e no log:
! Missing $ inserted.
<inserted text>
$
<to be read again>
_
<argument> Something bad with _
x
\blx@theformat #1->#1
<argument> ...{\csname abx@field@title\endcsname }
\blx@endunit
\@secondoftwo #1#2->#2
...
l.12 \end
{document}
?
onde a quebra de linha
<argument> Something bad with _
x
destaca que o erro ocorre em _
e
<argument> \printfield [titlecase]{title}
mostra que está no campo de título de alguma entrada.
A partir daí, você poderá encontrar a entrada incorreta e mudar para
title={Something bad with \_x},
execute novamente o biber e o pdflatex e o erro desaparecerá.