このエラーが発生します:
! 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}\\ ?
これは次のとおりです:
\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}
しかし、なぜエラーが発生するのかわかりません。これは私のヘッダーです:
\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
そして私のクラスファイルは、ここからの標準IoPファイルです
このエラーを読むのを手伝ってくれる人はいますか?
回答
間違いは、次のとおりです。 TeXも通知します。 \textコマンドが見つかりません。エラーはおそらくパッケージiopamsにあり、そこで気付くはずです。 ams mathパッケージ(フォントのみ)がロードされていないようです。したがって、そのパッケージも明示的に含める必要があります。
補足として、 \textコマンドで。
コメント
回答
マクロ\textは未定義です。 amsmathパッケージまたは少なくともamstextをロードする必要があります。
\usepackage{amsmath}
\textはamstextで定義されており、amsmathによって読み込まれます。後者をロードします。これは、整列された複数行の数式など、多くの数学機能を提供するためです。
コメント
- 今は戻ってきたばかりです余分な
{または$がないことに関する多くのエラーがあり、コンパイルが完了しません。 - @Pureferret <内のテキストを使用してくださいdiv id = "2412abef50">
それは'の目的です':数学モードのエスケープ。もう一度数学記号が必要な場合は、\text{word $\symbol$}と書くか、さらに良い方法として、\text{word } \symbol \text{ and more text}などのマクロ引数を終了します。
\text{...}マクロを削除したところ、スムーズに実行されるようになりました。 '簡単にするために、その:を犠牲にします。amsmathはiopartと互換性がありません。回答
同様の間違いは、間違ったファイルを作成しようとするような単純なことによっても引き起こされる可能性があります(たとえば、ドキュメントの一部である「抽象」ファイル内にいるときにPDFLaTeXコマンドをクリックする)。ビルドするときは、メインファイル(すべての「小さい」ファイルを呼び出して「収集」する場所)にいる必要があります。
このページのように、これで私のような初心者の時間を節約できることを願っています。このエラーを探すときの最初の提案。
\text{: E_j > E_i}にはありません_はmathcharであり>。iopamsが魔法をかけない限り、\text{: $E_j > E_i$}が必要です。 🙂\textが認識されないため、'が無視され、E_jがレンダリングされます。正しく。iopartクラスを試したことがないので、_。これを行うのは、通常のTeXパッケージに反しているようです(数学環境でグループ化されている場合を除く)。うまくいきました! 🙂iopamsファイルを編集して数学ライブラリを追加しました。チャームのように機能します。