> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/ja/narejjibsu/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

# 生成ファイルに報告されたエラーを見つけて修正する方法

## はじめに

Overleaf では、次のような名前のファイルに由来するエラーが報告されることがあります。 `output.toc`, `output.bbl`、などですが、それらのファイルは *そもそもあなたのプロジェクトには存在しません*。では、そのようなファイルはどこから *来るのでしょうか* そして、さらに重要なのは、どうやって *を見つけ* や *修正する* のでしょうか？

> ![Gen-toc-error.png](/files/8d97cd0c783131429baae22278d9c4a2afbb4b1c) 「でも、私はそもそも **必要があるなら** この `output.toc` ファイルをプロジェクトに持っていないのに！」

これらの「謎のファイル」は成果物です。つまり、LaTeX のコンパイル過程で生成される補助ファイルですが、通常はプロジェクトのソースファイル内のコーディング上の問題に起因するエラーを引き起こすこともあります。この記事では、 [実際の、エラーだらけの例](#playing-detective-locating-errors-in-generated-files) を使って、そのようなエラーをプロジェクトのソースファイル内でどこが発生源かまで追跡する方法を示します。

## LaTeX のコンパイル過程で生成されるファイル

出力 `.pdf` ファイル以外にも、LaTeX のコンパイル過程では、ラベル、相互参照、ページ番号などに関する情報を含むいくつかの種類のファイルが生成されます。補助ファイルの中には、LaTeX コンパイラが直接作成するのではなく、組版時に使われる別の処理ツールによって作成されるものもあります。たとえば、整形された参考文献一覧や索引です。これらの生成ファイルは、最終的な `.pdf` ファイルに正しい一覧、引用、相互参照が反映されるよう、以降の実行でコンパイラに読み込まれる必要があります。

LaTeX および関連する処理ツールが補助データファイルに書き込み、読み込みを行う必要があるため、最終的な組版済みの（安定した） `.pdf` ファイルを生成するまでに、いくつかのコンパイル／処理ステップが必要になる場合があります。典型的な組版サイクルは次のとおりです。

`pdflatex`$$\mapsto$$`bibtex`$$\mapsto$$`pdflatex`$$\mapsto$$`pdflatex`

ローカルの LaTeX 環境では、各中間ステップを自分で実行する必要があるかもしれませんし、 [make](https://www.gnu.org/software/make/manual/), [latexmk](https://ctan.org/pkg/latexmk) または [arara](https://ctan.org/pkg/arara)などのビルドツールを使って、この一連の処理を自動化することもできます。 [Overleaf では latexmk を使用しています](/latex/ja/narejjibsu/064-how-does-overleaf-compile-my-project.md)。この動画では、Overleaf プロジェクトで「再コンパイル」ボタンをクリックするたびに何が起こるかを示しています。

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/Uo3I2FXEI8H6aFPBZq171/e2139f9575a4db6955dc2278dc08283c/latexmk-ol.mp4>" %}

通常、生成ファイルのファイル名は `.tex` コンパイル対象のファイルと同じです。たとえば、 `**main**.tex`をコンパイルしている場合、生成されるファイル名は `**main**.aux`, `**main**.toc`, `**main**.lof` などになります。ただし、 *Overleaf 上で* コンパイル `\jobname` は常に `**output**`に設定されるため、 [生成ファイルは](/latex/ja/narejjibsu/150-view-generated-files.md) Overleaf プロジェクトでは常に次のように名付けられます。 `**output**.aux`, `**output**.toc`, `**output**.lof` などです。これらの生成ファイルは Overleaf プロジェクトからダウンロードできますが、Overleaf 上で表示したり編集したりすることはできません。

## 生成ファイルから報告されるコンパイルエラー

メインプロジェクト内のコーディングエラー `.tex` ファイルのエラーが生成ファイルに引き継がれることがあります。たとえば、エスケープされていない `&` を `\section{Introduction & Background}` が生成される `.toc` ファイルに入り込んでしまいます。生成された `.toc` ファイルがその後次の `pdflatex` コンパイル実行時に読み込まれると、「.toc ファイルから来た」としてエラーメッセージが出ます。ただし、現在の LaTeX のログやエラー報告では、 `.toc` ファイル（および他の生成ファイル）の各行と、その元となったソース `.tex` ファイル上の場所とを結び付けてくれないため、元のエラーをどこで修正すべきかがすぐには分からないことがあります。

以下は、別の LaTeX エディタでエラーがどのように表示されるかの例です。エラーメッセージをクリック `.toc` または `.aux` ファイル内の該当行を開くことはできますが、エラーから元の `.tex` ファイル内の場所へたどる道筋はありません。そして、 `&` と `\&` を `.toc` に置き換えてエラーを修正したとしても、それで問題が本当に解決したわけではありません。次に `.tex` ファイルをコンパイルすると、 `.toc` ファイルは再生成され、同じエラーが再び `.toc` ファイル。

![Texstudio-errors-generated-files.gif](/files/ce6eefacdba8ae60566067b4fb508404e5f1a5d0)

生成ファイルからエラーが報告された場合、正しい解決方法は、ソースファイル内で実際の発生源となっているエラーを見つけて修正することです。エラーメッセージには通常、エラー周辺の文脈、つまりエラーの前後にあるテキストやコードが含まれているので、ソースファイル内をテキスト検索するとその場所を見つけやすくなります。エラー自体はよくあるものが多く、 [このヘルプページ](/latex/ja/latexno/05-errors.md)いくつかの一般的なエラーは [TeX FAQ 一覧](https://texfaq.org/#errors).

## まず、生成ファイルを消去してみてください

生成ファイル内のエラーは、前回のコンパイルの残りかすであることがあります。たとえ `.tex` ファイルでエラーを修正して再コンパイルしても、まだエラーを含んだ生成ファイルがコンパイラに読み込まれ、以前と同じエラーが出ることがあります。再コンパイルする前に生成ファイルを削除してみてください。Overleaf での方法は [こちら](/latex/ja/narejjibsu/028-clearing-the-cache.md).

すべての生成ファイルを削除して再コンパイルしても同じエラーが出るなら、ソースファイルに本物のエラーがある可能性が高いです。

## 探偵になってみよう：生成ファイル内のエラーを見つける

以下の節では、そのようなエラーをどこで探せばよいかのヒントを紹介します。次の *意図的にエラーを含んだ* サンプルプロジェクトを使って探偵ごっこをしましょう。準備はいいですか？さあ、始めましょう！

[開いて *エラーだらけの* Overleaf プロジェクトを！](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demo+of+LaTeX+compile+errors+reported+from+generated+files\&main_document=main.tex\&snip_uri=https%3A%2F%2Fassets.ctfassets.net%2Fnrgyaltdicpt%2F5qdEqgUidaYDHjOlBoKM7K%2F55395921a114edb36ed3d51d7b1c6edb%2Fdemoerrors.zip) プロジェクトはこんな感じになっているはずです 😲:

![LaTeX プロジェクトのエラーを示す画像](/files/785f3c8bad0f304a505f011bb7b593b519a76ea3)

### .aux ファイルからのエラー

この `.aux` ファイルには、 `\label{...}` 宣言と `\cite{...}` を `.tex` ファイルの使用に関する情報が含まれているので、確認すると役立つポイントです。

まずは、エラーだらけのサンプルプロジェクトから最初のエラーを見てみましょう。

![不適切な \label 宣言による .aux ファイルの例示的なエラー](/files/a1c5cb6ec190922b27f91fe552eb58ac92e10997)

エラー `Missing \endcsname inserted.` という `\alpha` は、ぱっと見ではかなり不可解に見え、デバッグの助けにはあまりならないように思えます。しかし、エラーメッセージのテキスト（文脈）を見ると、何らかのコードの近くで発生しており、そのコードには `sec:\alpha`があり、それは番号 1.1 の何らかのラベルまたはカウンタに関連しています。したがって、 `\label{...}` この `.tex` その断片を含むファイルを注意深く確認するとよいでしょう。 `sec:\alpha`.

すぐにサンプルプロジェクトの 37 行目にたどり着けるはずです。

```latex
\label{sec:\alpha}
```

〜に渡される引数には `\label{...}` LaTeX コマンドや制御シーケンスを含めてはいけません。たとえば `\alpha`などです。したがって、 `\label{sec:alpha}`。同様に、それに対応する `\ref{...}`も修正すれば、このエラーは解消されます。

別のエラーも、 `.aux` ファイルから報告されています。サンプルプロジェクトでは次のとおりです。

![引用キー \cite{...} に空白があることによる .aux ファイルの例示的なエラー](/files/69059bff02fd26b6b210f795974e953833f7a296)

今回はコンパイラが、 `\citation`の中に空白があると指摘しています。キーは「That」で始まっています。そこで、 `\cite{That ...}` この `.tex` ファイルを検索すると…… 23 行目に見つかります。

```latex
... justo \cite{That mandatory talk} eget magna ...
```

引用キーに空白文字を含めてはいけません。したがって、この `\cite{...}`の空白も、対応する `.bib` ファイル内の BIBTeX キーと同様に削除する必要があります。

### .toc ファイルからのエラー

この `.toc` ファイルには `\tableofcontents`への項目が含まれています。これらは LaTeX 文書内のセクション見出し、たとえば `\chapter{...}`, `\section{...}`などから作成されます。したがって、 `.toc` ファイルからエラーが報告された場合は、エラーメッセージに表示されているテキストを含むセクション見出しを確認するとよいでしょう。

![エスケープされていない & が \section{...} にあることによる .toc ファイルの例示的なエラー](/files/d1fe5848898429fd3fc8ec8fb27c0214ad7d0644)

これは「1」と番号付けされる見出しのようで、次のテキストを含んでいます。 `Introduction & Welcome`。 `.tex` ファイル内を素早く検索すると、12 行目にたどり着きます。

```latex
\section{Introduction & Welcome}
```

この `&` ここではエスケープされていないので、次のように変更する必要があります。 `\&` を `.tex` ファイル。

別の似た例です。

![数式コマンドが数式モードになっていないことによる .toc ファイルの例示的なエラー（\section{...} のキー内）](/files/caf9a3d2889a2e5de940ea044f8c4ee069671ac6)

同様に、私たちの推測では「1.1」と番号付けされる見出しを探し、そこに `Setting \alpha`が含まれているはずです。私たちの推測は正しく、 `.tex` ファイル：

```latex
\subsection{Setting \alpha}
```

`\alpha` は数式コマンドですが、ここで数式モードに入れるのを忘れていました。したがって、次のように修正する必要があります。

```latex
\subsection{Setting $\alpha$}
```

または

```latex
\subsection{Setting \(\alpha\)}
```

エラーは、ときには `.toc` ファイル内で、目次の項目を装飾するために使われるコードのエラーによって発生します。

![ToC 項目のスタイル設定時の不適切なコードによる .toc ファイルの例示的なエラー](/files/76317344197f77ea3526a0d8ea062ba06914bc99)

ここでは、 `\itshae` で検索すると、サンプル `.tex`の 5 行目の টাইपोにたどり着きます。正しくは `\itshape` です。この場合、エラーの場所は `.tex` ファイルのプリアンブルにあるため、そのまま修正できます。ただし、 `.cls` または `.sty` 所属機関から提供されたファイルを使っていて、エラーが提供ファイルの設定ミスに起因すると疑われる場合は、テンプレートやパッケージの作者または保守担当者に連絡して、テンプレートを更新してもらうべきです。

### .lof および .lot ファイルからのエラー

この `.lof` ファイルには `\listoffigures`は `\caption{...}` のトークン値は次のようになります。 `figure` 環境によって生成されます。

同様に、 `.lot` ファイルは `\caption{...}` です `table` 環境を使って、 `\listoftables`.

したがって、 `.lof` または `.lot` ファイルから LaTeX エラーが出る場合は、 `\caption{...}` 関連するテキスト断片を含む

ここでのエラーメッセージに基づいて、 `Effects of \alpha and var_coeff` この `\caption{...}`s、特に `figure`s について検索します。

![図の \caption{...} キー内で数式コマンドが数式モードになっていないことによる .lof ファイルの例示的なエラー](/files/975e5f037873cb5cc290b4201deb0587d2d50260)

そして、サンプル `.tex` ファイル：

```latex
\caption{Effects of \alpha and var_coeff}
```

この `\alpha` は数式モードに入れるべきです。また、もし `var_coeff` が変数名であるなら、アンダースコアはエスケープする必要があります。 `\verb|var_coeff|` を使わないでください。これは `\caption{...}`でもかなり大変なことになり得ます！

```latex
\caption{Effects of $\alpha$ and \texttt{var\_coeff}}
```

同様に、このエラーを見ると、 `n^i を含むサンプルデータ` を `table` `\caption{...}`を探し、 `n^i` も数式モードに入れ忘れたのではないかと推測します。

![表の \caption{...} キー内で上付き文字が数式モードになっていないことによる .lot ファイルの例示的なエラー](/files/514af1bfdff4a58fb0aa208b20b8f9a7b3672f5e)

そこで 31 行目を修正します

```latex
\caption{Some sample data with n^i}
```

から

```latex
\caption{Some sample data with $n^i$}
```

### .bbl ファイルからのエラー

この `.bbl` ファイルには参考文献リスト（bibliography）の項目が含まれており、 `.bib` ファイルを処理した後、 `.bst` ファイルのスタイル情報を使って BIBTeX により生成されます。 `.bbl` から報告されるエラーは通常、 `.bib` ファイル。

Overleaf サポートでよく見かける一般的なエラーを紹介します。

![.bib ファイルのエスケープされていない & による .bbl ファイルの例示的なエラー](/files/27bc99e75a198d2637de3956e669127d9e554e55)

次を検索すると `This & that` を `.bib` サンプルプロジェクトのファイルでは 13 行目にたどり着き、そこで `&` は次のようにエスケープすべきだと分かります。 `\&` または単語 `や`.

```bibtex
    title   = {This & That},
```

著者はしばしば、Unicode 文字に関連するエラーに遭遇します。 `.bbl` （したがって `.bib`）ファイルで、特に情報源が別の場所からコピー＆ペーストされている場合です。

![.bib ファイルのサポートされていない Unicode 文字による .bbl ファイルの例示的なエラー](/files/f1b0ad17ca2f2b8771235216ea8b488dc353f735)

エラーメッセージから ♣ 文字をコピー＆ペーストして、 `.bib` ファイル内で検索すると、3 行目にたどり着きます。

```bibtex
    title   = {Research ♣ Development},
```

一部の Unicode 文字は `latex` や `pdflatex` コンパイラでサポートされていません。このエラーを避けるには、 [プロジェクトのコンパイラを変更してみることができます](/latex/ja/narejjibsu/026-changing-compiler.md) から `XeLaTeX` または `LuaLaTeX`。ただしその場合でも、プロジェクトがそのコンパイラと互換性があること、そして ♣ を表すグリフを含むフォントを使用して、出力 PDF で正しく表示されることを確認する必要があります。したがって、関連する LaTeX コマンドを使うほうがよいでしょう。

```bibtex
    title   = {Research $\clubsuit$ Development},
```

とはいえ、ときにはその文字を見つけるのがずっと難しいこともあります。

![.bib ファイルのサポートされていない、印字不能な Unicode 文字による .bbl ファイルの例示的なエラー](/files/8ca541265037e5f138412222dcb3b0cbc8f4efdf)

ここで U+3000 は [Unicode 文字 `IDEOGRAPHIC SPACE`](https://www.fileformat.info/info/unicode/char/3000/index.htm)で、実際に空白文字です。エラーメッセージからこの正確な文字をコピーして、 `.bib` ファイル内で検索するのは難しいかもしれません。そこで、別の方法で見つける必要があります。 `\DeclareUnicodeCharacter` を使って `U+3000` を、より見えるものに置き換えます。プロジェクトのプリアンブルの次の行を、 `\begin{document}`:

```latex
\usepackage{xcolor}
\DeclareUnicodeCharacter{3000}{\textcolor{red}{BAD!!}}
```

これでプロジェクトをコンパイルするとエラーは消えますが、出力 PDF 内に BAD!! がないか注意深く確認してください。

![U+3000 を赤い BAD!! に置き換えた出力 PDF](/files/f9a9ca483b73e72a13e7dfe83556b660fdc5bcbd)

これで、問題の文字が `のトークン値は次のようになります。` や `Wondrous`と知ることができます。これは「An Author」による参考文献項目のためです。 `.bib` ファイルの 5 行目では見た目がかなり無害に見えます。なぜなら見えないからです。しかし、その `...of Wondrous...` 部分を普通のスペースバーで手入力し直せば、再コンパイル後にエラーは消えます。

```bibtex
    journal = {Journal of　Wondrous Musings},
```

#### biblatex についての注記

もし次を使用しているなら `biblatex` パッケージを使っている場合、 `.bib` ファイル内の同様のエラーは、すべて `\printbibliography` あなたの `.tex` ファイル内の行から報告される形になる可能性が高いです。デバッグ手順は同じで、エラーメッセージ中の短いテキスト断片を使ってあなたの `.bib` ファイルを検索し、問題の行を見つけて修正します。

### .bst ファイルからのエラー

`.bst` ファイルは、参考文献リストの処理と整形に BIBTeX が使う bibliography スタイルです。 `.bst` ファイルからエラーが出る場合、それは `.bst` 自体のバグが原因かもしれません。特に、非常に古いスタイルファイルで、最近の LaTeX パッケージと互換性がなくなっている可能性がある場合です。ただし、実際には `.bib` ファイルのエラーが原因であることもあります。このカテゴリで最もよくあるエラーは次のようなものです。

![Bst-error-example-01.png](/files/f441d5a891a34438903e831df52df5daee7b1efa)

BIBTeX キー `Someone:etal:2008` を持つ項目には `著者` の 12 行目にある `.bib` ファイル：

```bibtex
    author  = {Strange Someone, Night Stranger, and Random Person},
```

ある `.bib` ファイルの [複数の名前の一覧は](/latex/ja/to-1/01-bibliography-management-with-bibtex.md#multiple-authors) で区切るべきであり、 `や`カンマでも `&`でもありません。したがって、この `著者` フィールドは次のように修正する必要があります。

```bibtex
    author  = {Strange Someone and Night Stranger and Random Person},
```

### .ttt および .fff ファイルからのエラー

これらのファイルタイプは、 [`endfloat` パッケージ](https://www.ctan.org/pkg/endfloat)を読み込んだ場合にのみ生成されます。これは、論文投稿時に一部の学術誌の要件に従って、すべての表と図の環境を文書末尾へ移動させるために使われます。

これらの生成ファイルの例示的なエラーを見るには、3 行目のコメントを外してください `\usepackage{endfloat}` におけるパラメーターを含みます `.tex` サンプルプロジェクト内のファイルで。

![Ttt-error-example-01.png](/files/a4e72a146b4daccecd3abd2b89ed1dd763fb1483)

この `.ttt` ファイルには、文書内のすべての `table` 環境の内容が含まれているため、 `dummy & data` を `.tex` を、表に注意しながらファイル内で検索します。 `.tex` ファイルの 29 行目にたどり着き、そこで問題が見えます。3 列ありますが、宣言されている 2 列より 1 列多いのです。したがって、余分な 1 列を削除する必要があるかもしれません。あるいは、 `\\` 後に `dummy` 新しい行を開始する必要があるかもしれません。あるいは、そもそも 3 列を宣言するつもりだったのかもしれません。 `c | c | c` 結局のところ！

![Fff-error-example-01.png](/files/76b0a3e6622b62ba3ebe3499cd339ba7f77c7f8e)

同様に、 `.fff` ファイルには、すべての `figure` 環境の内容が含まれており、その টাইポした `\includegraphcs` を検索すると、 `.tex` ファイルの 18 行目にたどり着き、そこで次のように修正できます。 `\includegraphics`.

## さらに読む

* [Overleaf はどのように私のプロジェクトをコンパイルするのですか？](/latex/ja/narejjibsu/064-how-does-overleaf-compile-my-project.md)
* [よくある LaTeX エラー](/latex/ja/latexno/05-errors.md)
* [TeX FAQ 一覧](https://texfaq.org/#errors)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/ja/narejjibsu/066-how-to-find-and-fix-errors-reported-in-generated-files.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
