TexWorks の問題と誤解を招くエラー

TexWorks の問題と誤解を招くエラー

Ubuntu ソフトウェア ランチャー経由で TexWorks をインストールしました。

数式に間違いがあるとエラーが発生しますが、修正して再度実行するとエラーが発生します。! 定義されていない制御シーケンスです。l.36 \newla

これは元のコードとは全く関係がないようですが、.texファイルでnewlaを検索すると、ここに画像の説明を入力してください何もない。

この特定のコードセクションは添付ファイルに示されています。

同様に、MATH 421.synctex(busy) という空のファイルも作成されるようです。

続行するには、修正されたコードが機能する前に、.aux、.log、.syntext.gz、および .synctex(busy) ファイルを物理的に削除する必要があります。

TexWorks を削除して再インストールしてみましたが、効果はありませんでした。何かアドバイスがあれば歓迎します。ファイルを削除して TexWorks を再度実行しなければならないのは大したことではありませんが、面倒です。

答え1

画像に表示されているログ ファイルには、.auxファイルの 36 行目に、表示されているエラーを生成するMATH421.aux未定義のコマンドが実際に含まれていることが示されています。\newla

したがって、エラー メッセージは誤解を招くものではなく、実際のエラーを正確に指摘しています。

ファイルを削除すると.auxエラーは解消されます。

根本的な疑問は、なぜ.auxファイルに . があるのか​​ということです\newla。テスト ファイルなしでは答えるのが難しいのですが、TeX は書き込み中でした\newlanguageが、書き込みを完了せずにプロセスが終了しました。通常 (常にではありませんが)、これはユーザーがプロセスを強制終了したためです (たとえば、GUI ウィンドウで X をクリックするなど)。そのため、オペレーティング システムはファイルの書き込み中に tex プロセスを終了し.aux、ファイルを破損したままにします。

TeX が正常に終了できる場合 (たとえば、xエラー プロンプトに入力するなど)、プロセスが終了する前にファイルの書き込みが完了し、ファイルがフラッシュされるため、補助ファイルが破損する可能性は低くなります。

関連情報