LaTeXでmintedを使えるようにするためのTeXworks設定補足説明

これまで(up)LaTeXでコードを載せるのにlisting/jvlistingを使っていましたが、あまり美しくないので良い設定方法がないかと探していたところmintedというパッケージがあることを知りました。Pygmentsというシンタックスハイライターを使っているところがポイントのようです。

公式ドキュメント

導入には次の記事が参考になると思います。参考1参考2

上記のリンク先にあるように設定にはいくつかのステップがあるのですが、AnacondaとTeX Liveを入れていればすでに整っている状態です。私にとってのハマりどころは-shell-escapeでした。みなさんコンパイルをコマンドから実行しているので、これをTexWorks使ってやるにはどうすればいいかよくわからず色々調べる羽目になりました。奥村先生のQAフォーラムにこうするといい、と書かれていたのですがそもそもTexWorksでの設定とはなんぞやとなり、さらに調べました。設定の変更方法についてはTeX Wikiで説明してくれていました。

-shell-escapeの設定方法

メニューから[編集]-[設定]を開くと下のような画面が開きます(タイプセットタブを選択したところ)。私の場合はupLaTex(ptex2pdf)を選択しこれを編集(右の編集ボタンをクリック)します。

画像1

下のような画面が開きます。次の引数を追加します。

-shell-escape -kanji=utf8 -no-guess-input-enc $synctexoption

画像2

この引数は、上図のように$fullnameの前に配置する必要があります。これで何も意識することなくmintedを使えるようになります。

副作用?

mintedをusepackageしただけで図の配置が崩れるときという記事がありました。同じ話かわかりませんが私の場合、graphicxパッケージがsubfilesで使えなくなりました。次のように、graphicxをusepackageするときにDVIドライバを明示するようにすることで解消しました。

\documentclass[a4paper, 11pt, dvipdfmx, uplatex]{jsarticle}
\usepackage[dvipdfmx]{xcolor, graphicx}
\usepackage[cache=false]{minted}

dvipdfmxはクラスオプションとして指定しているので冗長な書き方ですが、先の記事にある事情だとしょうがないかと納得させています。

この記事が気に入ったらサポートをしてみませんか?