Was verursacht eine undefinierte Kontrollsequenz?

Ich erhalte diesen Fehler:

! Undefined control sequence. l.64 ...p(- \frac{E_j - E_i}{k_B T}) & \quad \text {: E_j > E_i}\\ ? ! Undefined control sequence. l.65 1 & \quad \text {: E_j<E_i}\\ ? 

was davon stammt:

\begin{equation}\label{eq:hop} w_{i,j}=w_0 exp(-2 \gamma R_{i,j})\left\{ \begin{array}{l l} exp(- \frac{E_j - E_i}{k_B T}) & \quad \text{: E_j > E_i}\\ 1 & \quad \text{: E_j<E_i}\\ \end{array} \right. \end{equation} 

Aber ich verstehe nicht, warum ich den Fehler erhalte. Dies ist mein Header:

\documentclass[11pt]{iopart} %\newcommand{\gguide}{{\it Preparing graphics for IOP journals}} %Uncomment next line if AMS fonts required \usepackage{iopams} \usepackage{graphicx, wrapfig} \usepackage{fixltx2e} \graphicspath{{images/}} \DeclareGraphicsExtensions{.pdf,.png,.jpg,.gif} \makeatletter \g@addto@macro\@floatboxreset\centering %\def\@cite#1{\textsuperscript{[#1]}} \makeatother 

Und meine Klassendatei ist die Standard-IoP-Datei von hier

Kann mir jemand helfen, diesen Fehler zu lesen?

Antwort

Der Fehler ist, as TeX informiert auch. Ihr Befehl \text kann nicht gefunden werden. Der Fehler liegt wahrscheinlich im Paket iopams und sollte dort bemerkt werden. Es scheint, dass das ams math-Paket (nur seine Schriftarten) nicht geladen wird und Sie dieses Paket daher auch explizit einschließen müssen.

Nebenbei sollten Sie auch in Ihrem Befehl \text.

Kommentare

  • Auf einer Seite Beachten Sie, dass Sie auch $ in Ihren \ text-Befehl aufnehmen sollten. Wo im text-Befehl? Es macht $ E_j $ usw. in Ordnung.
  • Wahrscheinlich nicht in \text{: E_j > E_i} ist die _ sowohl ein Mathchar als auch >. Sie benötigen \text{: $E_j > E_i$}, es sei denn, iopams zaubert für Sie! 🙂
  • Ich entlasse mir tatsächlich irgendeine Form von Magie. Oder weil \text nicht erkannt wird, wird ' ignoriert, sodass E_j gerendert wird richtig.
  • Ist Ihr ursprüngliches Problem also gelöst? Dann ist es gut. Ich habe ' die iopart -Klasse nicht ausprobiert und kann daher nicht sagen, ob sie die Definition von _. Es scheint nur gegen normale TeX -Pakete zu sein, dies zu tun (es sei denn, es ist in den mathematischen Umgebungen gruppiert). Ich bin froh, dass es funktioniert! 🙂
  • Ich ' habe gerade die Datei iopams bearbeitet, um die Mathematikbibliothek einzuschließen. Funktioniert wie ein Zauber.

Antwort

Das Makro \text ist nicht definiert. Sie müssen das Paket amsmath oder mindestens amstext laden.

\usepackage{amsmath} 

\text ist in amstext definiert, das von amsmath geladen wird. Laden Sie Letzteres, da es viele mathematische Funktionen bietet, z. B. ausgerichtete mehrzeilige Formeln und vieles mehr.

Kommentare

  • Jetzt kehrt es nur noch zurück Viele Fehler bezüglich zusätzlicher { oder fehlender $ und die Kompilierung wird nie abgeschlossen.
  • @Pureferret Verwenden Sie Text in \text{...} Das ' ist das, wofür es ' ist: dem mathematischen Modus entkommen. Wenn Sie erneut mathematische Symbole benötigen, schreiben Sie \text{word $\symbol$} oder beenden Sie das Makroargument wie \text{word } \symbol \text{ and more text}.
  • Ich habe gerade das Makro \text{...} entfernt und es läuft jetzt reibungslos. Ich ' werde das : der Einfachheit halber opfern.
  • Hinweis für Leser: amsmath ist nicht kompatibel mit iopart.

Antwort

Ein ähnlicher Fehler kann auch durch einen einfachen Versuch verursacht werden, die falsche Datei zu erstellen (z. B. durch Klicken auf einen PDFLaTeX-Befehl in der“ abstrakten „Datei, die Teil Ihres Dokuments ist). Sie sollten sich in Ihrer Hauptdatei befinden (wo Sie alle „kleineren“ Dateien aufrufen und „sammeln“), wenn Sie „neu erstellen“.

Ich hoffe, dies spart Neulingen wie mir etwas Zeit, so wie diese Seite war Der erste Vorschlag bei der Suche nach diesem Fehler.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.