Jobtiens cette erreur:
! 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}\\ ?
qui provient de ceci:
\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}
Mais je ne comprends pas pourquoi jobtiens lerreur. Voici mon en-tête:
\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
Et mon fichier de classe est le fichier IoP standard de ici
Quelquun peut-il maider à comprendre cette erreur?
Réponse
Lerreur est, comme TeX informe également. Il ne trouve pas votre commande \text
. Lerreur se trouve probablement dans le package iopams
et doit être remarquée ici. Il semble quil ne charge pas le package ams math (uniquement ses polices) et que vous devez donc également inclure explicitement ce package.
Sur une note latérale, vous devez également inclure $
dans votre commande \text
.
Commentaires
Réponse
La macro \text
nest pas défini. Vous devez charger le package amsmath
ou au moins amstext
.
\usepackage{amsmath}
\text
est défini dans amstext
, qui est chargé par amsmath
. Chargez ce dernier, car il offre de nombreuses fonctionnalités mathématiques, telles que des formules multilignes alignées et bien plus encore.
Commentaires
- Maintenant, il ne fait que revenir beaucoup derreurs concernant
{
ou manquant$
et la compilation ne se termine jamais. - @Pureferret Utilisez du texte dans
\text{...}
Que ' est ce quil ' s pour: échapper au mode mathématique. Si vous avez à nouveau besoin de symboles mathématiques, écrivez\text{word $\symbol$}
ou, mieux encore, terminez largument de macro, comme\text{word } \symbol \text{ and more text}
. - Je viens de supprimer la macro
\text{...}
, et elle fonctionne correctement maintenant. Je ' Je sacrifierai cela:
par souci de simplicité. - Note aux lecteurs:
amsmath
nest pas compatible aveciopart
.
Réponse
Une erreur similaire peut également être causée par quelque chose daussi simple que dessayer de créer le mauvais fichier (par exemple en cliquant sur une commande PDFLaTeX tout en étant dans le fichier » abstrait « , qui fait partie de votre document). Vous devriez être dans votre fichier principal (où vous appelez et «rassemblez» tous les fichiers «plus petits») lorsque vous «construisez».
Jespère que cela fera gagner du temps aux débutants comme moi, car cette page était la première suggestion lors de la recherche de cette erreur.
\text{: E_j > E_i}
le_
est un mathchar aussi bien que>
. Vous avez besoin de\text{: $E_j > E_i$}
à moins queiopams
fasse de la magie pour vous! 🙂\text
nest pas reconnu, il ' est ignoré etE_j
est rendu correctement.iopart
donc je ne peux pas dire si cela change la définition de_
. Cela semble juste contre les paquetsTeX
normaux de faire cela (sauf si cela est groupé dans les environnements mathématiques). Heureux que ça marche! 🙂iopams
pour inclure la bibliothèque mathématique. Fonctionne comme un charme.