Hvad forårsager udefineret kontrolsekvens?

Jeg får denne fejl:

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

som er fra dette:

\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} 

Men jeg forstår ikke, hvorfor jeg får fejlen. Dette er min overskrift:

\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 

Og min klassefil er standard IoP-en fra her

Kan nogen hjælpe mig med at læse denne fejl?

Svar

Fejlen er som TeX informerer også. Den kan ikke finde din \text kommando. Fejlen ligger sandsynligvis i pakke iopams og skal bemærkes der. Det ser ud til, at den ikke indlæser ams-matematikpakken (kun dens skrifttyper), og derfor skal du også eksplicit inkludere den pakke.

På en sidebemærkning skal du også inkludere $ i din \text kommando.

Kommentarer

  • På en side bemærk, at du også skal medtage $ i din \ text-kommando. Hvor i tekstkommandoen? Det gengiver $ E_j $ etc fint.
  • Sandsynligvis ikke i \text{: E_j > E_i} _ er såvel en mathchar som >. Du har brug for \text{: $E_j > E_i$} medmindre iopams tryller for dig! 🙂
  • Jeg fjerner faktisk en eller anden form for magi for mig. Eller fordi \text ikke blev genkendt, blev det ' s ignoreret, så E_j gengiver korrekt.
  • Så er dit oprindelige problem løst? Så er det fint. Jeg har ' t prøvet iopart klassen, så kan ikke sige, om det ændrer definitionen af _. Det virker bare imod normale TeX pakker at gøre dette (medmindre det er grupperet i matematiske miljøer). Glad for at det fungerer! 🙂
  • Jeg ' har lige redigeret iopams -filen for at inkludere matematikbiblioteket. Fungerer som en charme.

Svar

Makroen \text er udefineret. Du skal indlæse amsmath -pakken eller i det mindste amstext.

\usepackage{amsmath} 

\text er defineret i amstext, som indlæses af amsmath. Indlæs sidstnævnte, fordi det tilbyder mange matematiske funktioner, såsom justerede multi-line formler og meget mere.

Kommentarer

  • Nu vender det lige tilbage masser af fejl om ekstra { eller manglende $, og det afsluttes aldrig med at kompilere.
  • @Pureferret Brug tekst inden for \text{...} At ' er, hvad det ' er til: undslipper matematisk tilstand. Hvis du har brug for matematiske symboler inden igen, skal du skrive \text{word $\symbol$} eller endnu bedre, afslut makroargumentet, såsom \text{word } \symbol \text{ and more text}.
  • Jeg har lige fjernet \text{...} makroen, og den kører problemfrit nu. Jeg ' Jeg ofrer det : for enkelheds skyld.
  • Bemærk til læserne: amsmath er ikke kompatibel med iopart.

Svar

En lignende fejl kan også være forårsaget af noget så simpelt som at prøve at opbygge en forkert fil (f.eks. klikke på en PDFLaTeX-kommando, mens du er i” abstrakt “-filen, som er en del af dit dokument). Du skal være i din hovedfil (hvor du ringer og “samler” alle de “mindre” filer), når du “bygger”.

Jeg håber, det sparer lidt tid for nybegyndere som mig, da denne side var det første forslag, når du leder efter denne fejl.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *