Quest-ce qui cause une séquence de contrôle non définie?

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

  • Dun côté notez que vous devez également inclure $ dans votre commande \ text. Où dans la commande text? Cela rend $ E_j $ etc bien.
  • Probablement pas dans \text{: E_j > E_i} le _ est un mathchar aussi bien que >. Vous avez besoin de \text{: $E_j > E_i$} à moins que iopams fasse de la magie pour vous! 🙂
  • En fait, jobtiens une forme de magie pour moi. Ou, parce que \text nest pas reconnu, il ' est ignoré et E_j est rendu correctement.
  • Votre problème initial est-il donc résolu? Puis cest bien. Jai ' t essayé la classe iopart donc je ne peux pas dire si cela change la définition de _. Cela semble juste contre les paquets TeX normaux de faire cela (sauf si cela est groupé dans les environnements mathématiques). Heureux que ça marche! 🙂
  • Je ' viens déditer le fichier iopams pour inclure la bibliothèque mathématique. Fonctionne comme un charme.

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 avec iopart.

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *