Co způsobuje nedefinovanou řídicí sekvenci?

Zobrazuje se mi tato chyba:

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

, která je z tohoto:

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

Ale já nechápu, proč se mi zobrazuje chyba. Toto je moje záhlaví:

\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 

A můj soubor třídy je standardní IoP z zde

Může mi někdo pomoci přečíst si tuto chybu?

Odpovědět

Chyba je, jako TeX také informuje. Nelze najít váš příkaz \text. Chyba spočívá pravděpodobně v balíčku iopams a měla by si ji všimnout. Zdá se, že nenačítá balíček ams math (pouze jeho písma), a proto musíte také výslovně zahrnout i tento balíček.

Na vedlejší poznámku byste měli také zahrnout $ ve vašem \text příkazu.

Komentáře

  • Na straně Měli byste také zahrnout $ do svého \ textového příkazu. Kde v textovém příkazu? Poskytuje $ E_j $ atd. V pořádku.
  • Pravděpodobně ne v \text{: E_j > E_i} _ je mathchar stejně jako >. Potřebujete \text{: $E_j > E_i$}, pokud iopams pro vás nedělá kouzlo! 🙂
  • Ve skutečnosti pro mě nějakou formu magie uniká. Nebo že \text nebyl rozpoznán, ' s ignorován, takže E_j vykreslí správně.
  • Takže je váš původní problém vyřešen? Pak je to v pořádku. Nezkoušel jsem ' třídu iopart, takže nemohu říci, jestli to změní definici _. Zdá se, že je to proti normálním TeX balíčkům (pokud to není seskupeno v matematických prostředích). Jsem rád, že to funguje! 🙂
  • I ' jsem právě upravil soubor iopams tak, aby obsahoval knihovnu matematiky. Funguje jako kouzlo.

Odpověď

Makro \text není definováno. Musíte načíst balíček amsmath nebo alespoň amstext.

\usepackage{amsmath} 

\text je definován v amstext, který je načten amsmath. Načtěte druhou možnost, protože nabízí mnoho matematických funkcí, například zarovnané víceřádkové vzorce a mnoho dalšího.

Komentáře

  • Nyní se právě vrací spousta chyb ohledně dalších { nebo chybějících $ a kompilace nikdy nedokončí.
  • @Pureferret Použijte text v rámci \text{...} To je ' k čemu ' slouží: uniknout matematickému režimu. Pokud potřebujete matematické symboly znovu, napište \text{word $\symbol$} nebo ještě lépe, ukončete argument makra, například \text{word } \symbol \text{ and more text}.
  • Právě jsem odstranil \text{...} makro a nyní běží hladce. ' Obětuji to : pro jednoduchost.
  • Poznámka pro čtenáře: amsmath není kompatibilní s iopart.

odpověď

Podobnou chybu může způsobit i něco tak jednoduchého, jako pokus o vytvoření nesprávného souboru (např. klepnutí na příkaz PDFLaTeX v době, kdy se nacházíte v“ abstraktním „souboru, který je součástí vašeho dokumentu). Při vytváření byste měli být ve svém hlavním souboru (kde voláte a „shromažďujete“ všechny „menší“ soubory).

Doufám, že to nováčkům jako já ušetří nějaký čas, protože tato stránka byla první návrh při hledání této chyby.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *