Hva forårsaker udefinert kontrollsekvens?

Jeg får denne feilen:

! 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 feilen. Dette er overskriften min:

\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 klassefilen min er standard IoP-en fra her

Kan noen hjelpe meg med å lese denne feilen?

Svar

Feilen er, som TeX informerer også. Den finner ikke \text -kommandoen. Feilen ligger sannsynligvis i pakke iopams og bør legges merke til der. Det ser ut til at den ikke laster ams-mattepakken (bare skriftene), og derfor må du eksplisitt inkludere den pakken også.

På en sidemerknad bør du også inkludere $ i \text -kommandoen.

Kommentarer

  • På en side Vær oppmerksom på at du også bør inkludere $ i \ text-kommandoen. Hvor i tekstkommandoen? Det gjengir $ E_j $ etc fint.
  • Sannsynligvis ikke i \text{: E_j > E_i}, _ er også en matematikk som >. Du trenger \text{: $E_j > E_i$} med mindre iopams gjør magi for deg! 🙂
  • Jeg løfter faktisk en eller annen form for magi for meg. Eller på grunn av at \text ikke ble gjenkjent, ignorerte den ' så E_j gjengir riktig.
  • Så er ditt opprinnelige problem løst? Så er det fint. Jeg har ' t prøvd iopart klassen så kan ikke si om det endrer definisjonen av _. Det virker bare mot normale TeX -pakker å gjøre dette (med mindre det er gruppert i matemiljøene). Glad for at det fungerer! 🙂
  • Jeg ' har nettopp redigert iopams -filen for å inkludere mattebiblioteket. Fungerer som en sjarm.

Svar

Makroen \text er udefinert. Du må laste amsmath -pakken eller i det minste amstext.

\usepackage{amsmath} 

\text er definert i amstext, som er lastet av amsmath. Last inn sistnevnte, fordi den tilbyr mange matematiske funksjoner, for eksempel justerte flerlinjeformler og mye mer.

Kommentarer

  • Nå er det nettopp tilbake mange feil om ekstra { eller mangler $ og det blir aldri ferdig med å kompilere.
  • @Pureferret Bruk tekst i \text{...} At ' er hva det ' er for: unnslippe matematikkmodus. Hvis du trenger matematiske symboler igjen, skriv \text{word $\symbol$} eller enda bedre, avslutt makroargumentet, for eksempel \text{word } \symbol \text{ and more text}.
  • Jeg fjernet nettopp \text{...} makroen, og den går greit nå. Jeg ' Jeg ofrer den : for enkelhets skyld.
  • Merknad til leserne: amsmath er ikke kompatibel med iopart.

Svar

En lignende feil kan også være forårsaket av noe så enkelt som å prøve å lage feil fil (f.eks. klikke på en PDFLaTeX-kommando mens du er i» abstrakt «-filen, som er en del av dokumentet). Du bør være i hovedfilen din (hvor du ringer og «samler» alle «mindre» filer) når du bygger.

Jeg håper dette sparer litt tid for nybegynnere som meg, siden denne siden var det første forslaget når du leter etter denne feilen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *