Tengo un problema bastante extraño: después de trabajar en una nueva sección de mi tesis que incluye texto y \autocite{}
citas. Tuve el siguiente error:
2525: Missing $ inserted.
Según TexStudio, el error se produce en una línea vacía después\printbibliography
Tenga en cuenta que eliminar \printbibliography
resuelve el error pero no mi problema;)
Calculé que el problema debía estar en la sección recién agregada y eliminé toda la sección, las entradas correspondientes en mi .bib
archivo y todos los archivos auxiliares; sin embargo, esto no resolvió el error.
Desafortunadamente, no creo que pueda incluir un ejemplo relevante de mi código ya que mi archivo tiene aproximadamente 80 páginas y eliminar la sección editada no resuelve mi error.
Nota: Se genera un documento PDF actualizado a pesar del error.
TL; DR y pregunta
¿Cuál es la forma recomendada de solucionar este problema?
Alternativamente:
Si hay suficientes detalles, ¿cuál podría ser el problema aquí?
Respuesta1
Dadotest1.bib
@misc{foo,
title={Something bad with _x},
author={me},
date={2024}
}
@misc{bar,
title={Something good},
author={me},
date={2024}
}
El documento
\documentclass{article}
\usepackage{biblatex}
\addbibresource{test1.bib}
\begin{document}
Blah blah \cite{foo,bar}.
\printbibliography
\end{document}
produce un error en la terminal y registra:
! Missing $ inserted.
<inserted text>
$
l.12 \end
{document}
?
! Missing $ inserted.
<inserted text>
$
l.12 \end
{document}
?
lo cual es un poco oscuro, sin embargo, puedes decirle a tex que brinde más contexto agregando \errorcontextlines=5
(puedes obtener más, pero ten cuidado con lo que pides).
\documentclass{article}
\usepackage{biblatex}
\addbibresource{test1.bib}
\begin{document}
Blah blah \cite{foo,bar}.
\errorcontextlines=5
\printbibliography
\end{document}
Ahora produce el error en la terminal y registra:
! 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}
?
donde el salto de línea
<argument> Something bad with _
x
resalta que el error ocurre en _
y
<argument> \printfield [titlecase]{title}
muestra que está en el campo de título de alguna entrada.
Desde allí debería poder encontrar la entrada incorrecta y cambiar a
title={Something bad with \_x},
Vuelva a ejecutar biber y pdflatex y el error desaparecerá.