1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[LaTeX] mintedの設定は問題ないはずなのに何故か動かなかった話

Last updated at Posted at 2021-02-10

LaTeXでプログラムのコードの体裁を整えてくれるmintedというパッケージがある。「latex minted」で検索すれば簡単に設定の方法が出てくるため、本記事では扱わない。

遭遇したエラー

mintedが問題なく動くように設定(-shell-escapeなど)したはずなのだが、1度は成功したものの文書作成の途中で急に以下のようなエラーが発生し、以降ビルドに失敗するようになった。

Package minted: Missing Pygments output; \inputminted was
probably given a file that does not exist--otherwise, you may need 
the outputdir package option, or may be using an incompatible build tool,
or may be using frozencache with a missing file.

エラーをみると、なんとなくpygmentsが動いていないかpygmentsが作成したファイルをTeXが上手く認識していないような印象を受ける。しかし原因は違った。

[失敗]試したこと

いろいろググってみて、

\usepackage[cache=false]{minted}

\usepackage[cache=false, outputdir=hoge]{minted}

を試してみたが、残念ながら私の場合では上記のエラーは解決しなかった。cache=falseを設定すると、コンパイル自体は成功した(エラーメッセージは出ない)ものの、できたPDFファイルにはコードが一切出力されていなかった。

さらにpygments関連が悪いのではないかと考え、Python 2.7の仮想環境を別途つくりこちらでも試してみたが解決には至らなかった。

[本題]エラーの原因は?

実は途中で追加したパッケージが悪さをしていることが発覚した。なんとプリアンブルでfancyboxminted\usepackageを書く順番が重要であることが分かった。エラーが出ていた時には、

\usepackage{minted}
\usepackage{fancybox}

の順番でプリアンブルに書いていたのだが、

\usepackage{fancybox}
\usepackage{minted}

と書くことであっさりとビルドが成功した。おそらく二つのパッケージ間で何かしらの衝突が起きていたのだろう。cache=falseの設定も必要無かった。

結論

mintedfancyboxを共存させたい場合には、fancyboxを先に書きましょう。

LaTeX環境

最後におそらく今回のエラーの原因とは直接関係無いと思われるが、念のため私のLaTeX環境を書き留めておく。

  • OSはLinux version 3.10.0
  • LaTeXはtexlive2020でインストール
  • uplatexを指定。
  • VSCodeLaTeX Workshopを使用しbuild。
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?