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
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í siopart
.
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.
\text{: E_j > E_i}
_
je mathchar stejně jako>
. Potřebujete\text{: $E_j > E_i$}
, pokudiopams
pro vás nedělá kouzlo! 🙂\text
nebyl rozpoznán, ' s ignorován, takžeE_j
vykreslí správně.iopart
, takže nemohu říci, jestli to změní definici_
. Zdá se, že je to proti normálnímTeX
balíčkům (pokud to není seskupeno v matematických prostředích). Jsem rád, že to funguje! 🙂iopams
tak, aby obsahoval knihovnu matematiky. Funguje jako kouzlo.