Undefined refs and citationsの解決方法

Undefined refs and citationsの解決方法

- 山田 太郎 の投稿
返信数: 5
https://github.com/bana118/latex-container-template こちらのgithubリポジトリを参考に、Dockerでの環境構築を行いました(Dockerfileを編集してtexlive-fullのパッケージのインストールを追加しています)。 サンプルとして用意されているtexファイルは、latexmkおよびsettings.jsonを変更することなく(つまりplatex -> bibtex -> platex -> dvipdfmx)pdfとして出力できました。 その上で、私は章ごとに書き上げた文章を\includeで取り込む形でコンパイルできるようにしたいと考えています。 しかしながら、何度やっても Latexmk: List of undefined refs and citations: のエラーが出るので、解決方法をご教示頂きたいです。 私はTex初心者で、エラーのこの部分が本質でない可能性もありますので、実行に用いたファイルを添付しておきます。 よろしくお願いします。
山田 太郎 への返信

Re: Undefined refs and citationsの解決方法

- 和田 勇 の投稿
添付画像を参考にしてください。
(vscode の虫眼鏡で検索窓を開き article|cite で正規表現検索(右肩の* をクリック)しています)
添付 スクリーンショット 2023-01-07 3.05.27.png
和田 勇 への返信

Re: Undefined refs and citationsの解決方法

- 山田 太郎 の投稿
返信ありがとうございます。ref.bibの内容と\citeで引いている文献が異なっているというご指摘と受け取りました。
実際にいくつかミスがあったようなので、main.texの\bibliography{references}を\bibliography{ref}に、example.texのcite{Alkauskas_2014}を\cite{example}に、example2.texの\cite{example1}を\cite{example2}に修正して(この時点では、添付画像のようにVSCodeの拡張機能によりいずれの文献情報も参照できます)再度コンパイルを試みました。
しかしながら、依然として同じエラーメッセージが出ます。これはどのように修正すれば良いでしょうか?
添付 スクリーンショット 2023-01-07 4.28.25.png
山田 太郎 への返信

Re: Undefined refs and citationsの解決方法

- 和田 勇 の投稿
速報

手動で以下の順序で操作すると問題なくできるけど

                platex main
                pbibtex main
                platex main
                mendex main.idx
                platex main
                dvipdfmx main

latexmk で行うと、platex のあと mendex に行ってしまうので、
現在 latexmkrc を検討しています。
和田 勇 への返信

Re: Undefined refs and citationsの解決方法

- 和田 勇 の投稿

原因の概要は以下の通り

1)「\makeindex」しているのに 2)「\index{..}」も 「\printindex」もない ←ここが原因 3) mendex が正常以外のステータスを返すためl 4) atexmk が処理不能で全体としてエラー

※) latexmkrc の $makeindex が mendex でなかったらスルーしていました。

そもそもは、参照したページのサンプルを元に始められたと思いますが、 main.tex は、他を参照して色々とりこんでいますね。

このような場合は、自分が組み込んだコードがまず悪さをするので、 追加したところをコメント化などを利用して 、 一つ一つ理解&組み込まれると良いと思います。

main.tex の差分は以下の通り

     diff --git a/main.tex b/main.tex
     index 97b2a4d..6035bf1 100644
     --- a/main.tex
     +++ b/main.tex
     @@ -19,7 +19,7 @@
      \usepackage{url}
      \usepackage[top=25truemm, left=25truemm, right=25truemm, includefoot]{geometry}
      \addtolength{\footskip}{25 truemm}
     -\makeindex
     +\makeindex %%%%  これ書くなら \index と \printindex を記述すること
      %
      %\setlength{\textwidth}{\fullwidth}
      \setlength{\textheight}{38\baselineskip}
     @@ -54,10 +54,16 @@
      \mainmatter

      \include{example}
     +\index{index@index} %%%% 少なくとも一つ
     +\index{さくいん@索引} %%%% 少なくとも一つ
      \include{example2}
     +\index{へいわ@平和} %%%% 少なくとも一つ
     +\index{せかい@世界} %%%% 少なくとも一つ

      %\nocite{*}
     +\bibliography{ref}
      \bibliographystyle{unsrt}
     -\bibliography{references}
     +\printindex %%%% 索引をおきたい場所に書くこと
     +\end{document}

     -\end{document}
     \ No newline at end of file
     +\end{document}
和田 勇 への返信

Re: Undefined refs and citationsの解決方法

- 山田 太郎 の投稿
ありがとうございます。索引を使っている箇所がなかったため、\makeindexを消去することで無事にコンパイルができるようになりました。