Cosa causa una sequenza di controllo indefinita?

Ricevo questo errore:

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

che deriva da questo:

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

Ma non capisco perché ricevo lerrore. Questa è la mia intestazione:

\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 

E il mio file di classe è quello standard IoP da qui

Qualcuno può aiutarmi a leggere questo errore?

Risposta

Lerrore è, come TeX informa anche. Impossibile trovare il tuo comando \text. Lerrore si trova probabilmente nel pacchetto iopams e dovrebbe essere notato lì. Sembra che non carichi il pacchetto math ams (solo i suoi caratteri) e quindi è necessario includere esplicitamente anche quel pacchetto.

In una nota a margine dovresti anche includere $ nel tuo comando \text.

Commenti

  • Da un lato nota che dovresti anche includere $ nel tuo comando \ text. Dove nel comando text? Rende $ E_j $ ecc. Bene.
  • Probabilmente non in \text{: E_j > E_i} il _ è un mathchar così come >. Hai bisogno di \text{: $E_j > E_i$} a meno che iopams non faccia la magia per te! 🙂
  • In effetti, considero una qualche forma di magia per me. Oppure, a causa del fatto che \text non viene riconosciuto, ' viene ignorato, quindi E_j esegue il rendering correttamente.
  • Quindi il tuo problema originale è stato risolto? Allora va bene. Ho ' t provato la classe iopart, quindi non posso dire se cambia la definizione di _. Sembra solo contro i normali pacchetti TeX farlo (a meno che non sia raggruppato negli ambienti matematici). Sono contento che funzioni! 🙂
  • I ' ho appena modificato il file iopams per includere la libreria matematica. Funziona a meraviglia.

Rispondi

La macro \text è indefinito. Devi caricare il amsmath pacchetto o almeno amstext.

\usepackage{amsmath} 

\text è definito in amstext, caricato da amsmath. Carica questultimo, perché offre molte funzionalità matematiche, come formule allineate su più righe e molto altro.

Commenti

  • Ora sta solo tornando molti errori su { o $ mancante e la compilazione non termina mai.
  • @Pureferret Usa il testo allinterno di \text{...} Questo è ' a cosa serve ': sfuggire alla modalità matematica. Se hai bisogno di nuovo dei simboli matematici, scrivi \text{word $\symbol$} o, ancora meglio, termina largomento macro, ad esempio \text{word } \symbol \text{ and more text}.
  • Ho appena rimosso la macro \text{...} e ora funziona senza problemi. ' sacrifico questo : per motivi di semplicità.
  • Nota per i lettori: amsmath non è compatibile con iopart.

Risposta

Un errore simile potrebbe anche essere causato da qualcosa di semplice come il tentativo di creare il file sbagliato (ad esempio, facendo clic su un comando PDFLaTeX mentre ci si trova nel file” astratto “, che fa parte del documento). Dovresti essere nel tuo file principale (dove chiami e “raccogli” tutti i file “più piccoli”) quando “stai costruendo”.

Spero che questo faccia risparmiare tempo ai neofiti come me, poiché questa pagina era il primo suggerimento quando si cerca questo errore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *