Otrzymuję ten błąd:
! 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}\\ ?
, który pochodzi z tego:
\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 nie rozumiem, dlaczego pojawia się błąd. To jest mój nagłówek:
\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 plik klasy to standardowy plik IoP z tutaj
Czy ktoś może mi pomóc w odczytaniu tego błędu?
Odpowiedź
Błąd polega na tym, że TeX również informuje. Nie może znaleźć Twojego polecenia \text
. Błąd prawdopodobnie znajduje się w pakiecie iopams
i powinien zostać tam zauważony. Wygląda na to, że nie ładuje pakietu matematycznego ams (tylko jego czcionki), więc musisz wyraźnie dołączyć również ten pakiet.
Na marginesie, powinieneś również dołączyć $
za pomocą polecenia \text
.
Komentarze
Odpowiedź
Makro \text
jest niezdefiniowana. Musisz załadować pakiet amsmath
lub co najmniej amstext
.
\usepackage{amsmath}
\text
jest zdefiniowany w amstext
, który jest ładowany przez amsmath
. Załaduj to drugie, ponieważ oferuje wiele funkcji matematycznych, takich jak wyrównane formuły wielowierszowe i wiele więcej.
Komentarze
- Teraz po prostu zwraca wiele błędów dotyczących dodatkowego
{
lub brakującego$
i nigdy nie kończy się kompilacja. - @Pureferret Użyj tekstu w
\text{...}
To ' jest tym, co ' w przypadku: ucieczki z trybu matematycznego. Jeśli potrzebujesz symboli matematycznych ponownie, napisz\text{word $\symbol$}
lub nawet lepiej zakończ argument makra, na przykład\text{word } \symbol \text{ and more text}
. - Właśnie usunąłem makro
\text{...}
i teraz działa ono płynnie. ' Poświęcę to:
ze względu na prostotę. - Uwaga dla czytelników:
amsmath
nie jest zgodny ziopart
.
Odpowiedź
Podobny błąd może być również spowodowany czymś tak prostym, jak próba zbudowania niewłaściwego pliku (np. kliknięcie polecenia PDFLaTeX w pliku” abstrakcyjnym „, który jest częścią twojego dokumentu). Powinieneś być w swoim głównym pliku (w którym dzwonisz i „gromadzisz” wszystkie „mniejsze” pliki) podczas „budowania”.
Mam nadzieję, że zaoszczędzi to trochę czasu początkującym użytkownikom, takim jak ja, ponieważ ta strona była pierwsza sugestia podczas szukania tego błędu.
\text{: E_j > E_i}
_
jest również znakiem matematycznym, podobnie jak>
. Potrzebujesz\text{: $E_j > E_i$}
, chyba żeiopams
robi dla ciebie magię! 🙂\text
nie jest rozpoznawany, ' jest ignorowany, więcE_j
renderuje poprawnie.iopart
, więc nie mogę powiedzieć, czy zmieni to definicję_
. Po prostu wydaje się, że to robi przeciwko normalnym pakietomTeX
(chyba że jest zgrupowany w środowiskach matematycznych). Cieszę się, że działa! 🙂iopams
w celu dołączenia biblioteki matematycznej. Działa jak urok.