2010-03-19 9 views
149

Ich versuche, die folgenden in Latex zu schreiben:

\begin{itemize} 
    \item \textbf{insert(element|text)} inserts the element or text passed at the start of the selection. 
    \item \textbf{insert_after(element|text)} inserts the element or text passed at the end of the selection. 
    \item \textbf{replace(element|text)} replaces the selection with the passed text/element. 
    \item \textbf{delete()} deletes the selected text. 
    \item \textbf{annotate(name,value)} annotates the selected text with the passed name and value-pair. This can either be a hidden meta-data about the selection, or can alter the visible appearance. 
    \item \textbf{clear_annotation()} removes any annotation for this specific selection. 
    \item \textbf{update_element(value)} performs an update of the element at the selection with the passed value. 
\end{itemize} 

Aus irgendeinem Grund bekomme ich eine Reihe von Fehlern. Ich denke, es gibt etwas mit dem Wort "einfügen". Ich bekomme Fehler wie "Missing $ insert", so scheint es, als ob die Parser versucht, einige "Fehler" auf meinen Teilen zu beheben. Muss ich Wörtern wie "Einfügen" entkommen, wie mache ich das?

Antwort

271

Das "Fehlende $ eingefügt" wird wahrscheinlich durch die Unterstriche und Balken verursacht. Diese Zeichen in LaTeX haben im mathematischen Modus eine besondere Bedeutung (die durch $ Zeichen begrenzt wird). Versuche, ihnen zu entkommen; z.B. update\_element anstelle von update_element.

Allerdings, wenn Sie versuchen, Code angezeigt werden, eine bessere Lösung wäre es, die \verb command zu verwenden, die den Text in einer nichtproportionalen Schrift setzen und wird automatisch Unterstrichen und Bars korrekt verarbeiten (keine Notwendigkeit, sie zu entkommen mit \).

3

Meine erste Vermutung ist, dass LaTeX auf | erstickt außerhalb einer mathematischen Umgebung. Fehlende $ eingefügt ist normalerweise ein Symptom für so etwas.

+0

Wie @Will darauf hinweist, mag LaTeX _ nicht. Sieht nach einer besseren Erklärung als meine aus. –

33

Es ist eigentlich die Unterstriche. Verwenden Sie stattdessen \_, oder schließen Sie das Unterstrich-Paket ein.

+0

texlive-latex-recommended hat das Unterstrich-Paket. Ich musste auch den Usepackage Unterstrich meiner sphinx.sty Datei – zerocog

5

auch, ich hatte dieses Problem, aber die Bib-Datei würde nicht neu kompilieren. Ich entfernte das Problem, das ein Unterstrich in dem Notizfeld war, und kompilierte die tex-Datei erneut, aber behielt immer die gleichen Fehler. Am Ende habe ich die kompilierte Bib-Datei (.bbl denke ich) delegiert und es hat gut funktioniert. Ich musste dem _ mit einem Backslash entkommen.

+0

I hinzufügen, um einen Unterstrich in einem Notizfeld zu haben. Vielen Dank für das Angebot! – Richard

17

Ich hatte dieses Problem auch. Ich löste es durch Entfernen der unnötigen Leerzeile zwischen Gleichungs-Tags. Dies gibt den Fehler:

\begin{equation} 
P(\underline{\hat{X}} | \underline{Y}) = ... 

\end{equation} 

während dieser Code erfolgreich kompiliert:

\begin{equation} 
P(\underline{\hat{X}} | \underline{Y}) = ... 
\end{equation} 
+0

Das hat mein Problem gelöst. Ich benutzte ein \ Label innerhalb der Gleichung und ich hatte eine leere Zeile hinter ihm gelassen. – jpmorin

2

Ich hatte das gleiche Problem - und ich habe alle diese Antworten lesen, aber leider keiner von ihnen arbeitete für mich. Schließlich habe ich versucht, diese Linie zu entfernen

%\usepackage[latin1]{inputenc} 

und alle Fehler verschwunden.

0

Ich denke, es gibt den Fehler wegen des Unterstreichungssymbols.

Hinweis: Unterstreichungssymbol sollte nicht direkt geschrieben werden, Sie müssen schreiben wie \_.

So beheben Sie diese Art spezielle Symbol Fehler.

0

Sie können diesen Fehler auch erhalten, wenn Sie griechische Sonderzeichen wie \ alpha \ beta usw. außerhalb des Mathematikmodus verwenden. Nachdem ich sie in \ (... \) eingewickelt hatte, war der Fehler verschwunden.

0

Ich hatte dieses Symbol _ im Kopf einer Tabelle und der Code lief nicht, also musste ich löschen.