Skip to main content
この記事では、minted パッケージを使って、LaTeX ドキュメント内でプログラミング言語のソースコードを整形し、シンタックスハイライトする方法を紹介します。まずは例を見てみましょう。
この例の出力は次のとおりです。

minted パッケージの出力を示す例

ここでは 2 つの重要なコマンドがあります。プリアンブルでは、次のように記述してパッケージを読み込みます。
次に、\begin{minted}{python} と \end{minted} のタグで環境を区切ります。この環境ではテキストが等幅フォントでそのまま(verbatim)出力され、コメント、キーワード、関数に色が付けられます。パラメーター python は、ソースコードが書かれているプログラミング言語です。minted は 150 以上のプログラミング言語やマークアップ言語、設定ファイルをサポートしています。サポートされている言語の一覧はリファレンスガイドを参照してください。 注意:ローカルの LaTeX ディストリビューションで minted を動作させるには、Pygments という追加のプログラムをインストールする必要があります。Overleaf を使えば、それをインストールしたり、ドキュメントをコンパイルするために特別なコマンドを実行したりする手間が省けます。Overleaf では、minted を使用するドキュメントは「そのまますぐに」動作します。

基本的な使い方

次の例で示すように、minted 環境を設定して、組版されるコードの見た目を変更できます。ここでは、minted 環境で key=value 形式のパラメーターをカンマ区切りでいくつか使用しています。
この例の出力は次のとおりです。

minted パッケージで組版したコードに書式を適用した例

この例で使用しているパラメーターは次のとおりです。
  • frame=lines:コードの上下に 2 本の線を引いて枠を作ります。他に指定できる値は leftline、topline、bottomline、single です。
  • framesep=2mm:枠との間隔を 2mm に設定します。他の長さの単位も使用できます。
  • baselinestretch=1.2:コードの行間を 1.2 に設定します。
  • bgcolor=LightGray:背景色を LightGray に設定します。これを機能させるには xcolor パッケージを読み込む必要があります。色の操作について詳しくは LaTeX で色を使うを参照してください。
  • fontsize=\footnotesize:フォントサイズを footnotesize に設定します。他の任意のフォントサイズも設定できます。
  • linenos:行番号を有効にします。
その他の便利なオプションは次のとおりです。
  • mathescape:コードのコメント内で数式モードを有効にします。
  • rulecolor:枠の色を変更します。
  • showspaces:スペースを可視化する特殊文字を有効にします。

ファイルからコードを読み込む

コードは通常ソースファイルに保存されているため、次の例で示すように、ファイルからコードを自動的に読み込むコマンドはとても便利です。
この例の出力は次のとおりです。 minted を使ってコードファイルを読み込む コマンド \inputminted{octave}{BitXorMatrix.m} はファイル BitXorMatrix.m からコードを読み込みます。パラメーター octave は、コードのプログラミング言語を LaTeX に伝えます。このコマンドには、ファイルの一部だけを読み込むための追加パラメーターを 2 つ指定できます。たとえば、2 行目から 12 行目までのコードを読み込むには、コマンドは次のようになります。

1 行のコード

1 行だけのコードを入力したい場合は、次の例に示す構文のコマンド \mint が使えます。
この例の出力は次のとおりです。 minted を使った 1 行のコードの例 波括弧内のパラメーターはプログラミング言語(この場合はマークアップ言語の html)を指定し、実際に整形されるテキストは ’|’ 文字で区切られます。

セルフホストの Overleaf での問題

サンドボックスコンパイルを使用し、かつ Overleaf サーバーで Overleaf をデプロイしている場合、minted がうまく動作しないことがあります。詳細については issues/131 を参照してください。minted を動作させるには、arm 命令プロファイルといくつかのシステムコールを有効にする必要があります。
最終更新日 2026年10月4日