O que está causando a sequência de controle indefinida?

Estou recebendo este erro:

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

que é a partir deste:

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

Mas não entendo por que recebo o erro. Este é meu cabeçalho:

\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 

E meu arquivo de classe é o IoP padrão de aqui

Alguém pode me ajudar a ler sobre este erro?

Resposta

O erro é, como O TeX também informa. Ele não consegue encontrar seu comando \text. O erro provavelmente está no pacote iopams e deve ser notado lá. Parece que ele não carrega o pacote ams math (apenas suas fontes) e, portanto, você precisa incluir explicitamente esse pacote também.

Em uma nota lateral, você também deve incluir $ em seu comando \text.

Comentários

  • De lado note que você também deve incluir $ em seu comando \ text. Onde no comando de texto? Ele renderiza $ E_j $ etc bem.
  • Provavelmente não em \text{: E_j > E_i} o _ é um gráfico matemático, bem como >. Você precisa de \text{: $E_j > E_i$}, a menos que iopams faça mágica para você! 🙂
  • Eu, de fato, consigo alguma forma de mágica para mim. Ou que devido ao \text não ser reconhecido, ele ' é ignorado, então E_j renderiza corretamente.
  • Então seu problema original foi resolvido? Então está bem. Eu não ' tentei a classe iopart, então não posso dizer se ela muda a definição de _. Parece contra pacotes TeX normais fazer isso (a menos que seja agrupado em ambientes matemáticos). Que bom que funciona! 🙂
  • Eu ' acabei de editar o arquivo iopams para incluir a biblioteca matemática. Funciona perfeitamente.

Resposta

A macro \text é indefinido. Você precisa carregar o pacote amsmath ou pelo menos amstext.

\usepackage{amsmath} 

\text é definido em amstext, que é carregado por amsmath. Carregue o último, porque oferece muitas funcionalidades matemáticas, como fórmulas multilinhas alinhadas e muito mais.

Comentários

  • Agora está apenas voltando muitos erros sobre { adicionais ou $ ausentes e a compilação nunca termina.
  • @Pureferret Use texto em \text{...} Isso ' é o que ' s para: escapar do modo matemático. Se precisar de símbolos matemáticos novamente, escreva \text{word $\symbol$} ou ainda melhor, termine o argumento da macro, como \text{word } \symbol \text{ and more text}.
  • Acabei de remover a macro \text{...} e agora está funcionando perfeitamente. Eu ' sacrificarei isso : por uma questão de simplicidade.
  • Nota aos leitores: amsmath não é compatível com iopart.

Resposta

Um erro semelhante também pode ser causado por algo tão simples como tentar construir o arquivo errado (por exemplo, clicar em um comando PDFLaTeX enquanto está no arquivo” abstrato “, que faz parte do seu documento). Você deve estar em seu arquivo principal (onde você chama e “reúne” todos os arquivos “menores”) quando estiver construindo.

Espero que isso economize algum tempo para iniciantes como eu, pois esta página era a primeira sugestão ao procurar este erro.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *