Debuggen Fehlendes $ Eingefügt nach \printbibliography

Debuggen Fehlendes $ Eingefügt nach \printbibliography

Ich habe ein ziemlich seltsames Problem: Nachdem ich an einem neuen Abschnitt meiner Abschlussarbeit gearbeitet habe, der Text und \autocite{}Zitate enthält, erhalte ich die folgende Fehlermeldung:

2525: Missing $ inserted.

Laut TexStudio tritt der Fehler in einer leeren Zeile auf nach\printbibliography

Beachten Sie, dass das Entfernen \printbibliographyden Fehler behebt, aber nicht mein Problem ;)

Ich ging davon aus, dass das Problem an dem neu hinzugefügten Abschnitt liegen müsse und entfernte den gesamten Abschnitt, die entsprechenden Einträge in meiner .bibDatei und alle Zusatzdateien. Dies behob den Fehler jedoch nicht.

Leider glaube ich nicht, dass ich ein relevantes Beispiel aus meinem Code einfügen kann, da meine Datei etwa 80 Seiten lang ist und das Entfernen des bearbeiteten Abschnitts meinen Fehler nicht behebt.

Hinweis: Trotz des Fehlers wird ein aktualisiertes PDF-Dokument erstellt.

TL;DR & Frage

Was ist die empfohlene Methode zum Debuggen eines solchen Problems?

Alternative:

Wenn genügend Details vorhanden sind, wo könnte hier das Problem liegen?

Antwort1

Gegebentest1.bib

@misc{foo,
title={Something bad with _x},
author={me},
date={2024}
}

@misc{bar,
title={Something good},
author={me},
date={2024}
}

Das Dokument

\documentclass{article}

\usepackage{biblatex}
\addbibresource{test1.bib}

\begin{document}

Blah blah \cite{foo,bar}.


\printbibliography
\end{document}

erzeugt einen Fehler auf dem Terminal und im Protokoll:

! Missing $ inserted.
<inserted text> 
                $
l.12 \end
         {document}
? 
! Missing $ inserted.
<inserted text> 
                $
l.12 \end
         {document}
? 

das ist ein bisschen obskur, Sie können Tex jedoch anweisen, mehr Kontext bereitzustellen, indem Sie hinzufügen \errorcontextlines=5(Sie können mehr erhalten, aber passen Sie auf, was Sie anfordern).

\documentclass{article}

\usepackage{biblatex}
\addbibresource{test1.bib}

\begin{document}

Blah blah \cite{foo,bar}.

\errorcontextlines=5
\printbibliography
\end{document}

Jetzt wird der Fehler auf dem Terminal und im Protokoll angezeigt:

! 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}
? 

wo der Zeilenumbruch

<argument> Something bad with _
                               x

hebt den Fehler hervor _ und

<argument> \printfield [titlecase]{title}

zeigt, dass es sich im Titelfeld eines Eintrags befindet.

Von dort aus sollten Sie den fehlerhaften Eintrag finden und ändern können zu

title={Something bad with \_x},

Führen Sie Biber und PDFLatex erneut aus, und der Fehler ist behoben.

verwandte Informationen