本文へ移動

Scissor LaTeX での minted

Scissor LaTeX では minted パッケージは一部のみ動作します。\begin{minted}{python} と \mintinline は Python や -shell-escape なしで動作し、固定の配色でシンタックスハイライトされます。linenos などのオプション、\setminted、\usemintedstyle、listing のキャプション、\mint、\inputminted は非対応です。

パッケージの役割

minted は Pygments ライブラリを使ってソースコードに色を付けます。\begin{minted}{python} ... \end{minted} と書くか、文中では \mintinline{python}{code} と書きます。linenos や frame=lines などのオプションでレイアウトを変え、\setminted で文書全体に設定し、\usemintedstyle で配色テーマを選びます。TeX のインストール環境では、minted には Pygments 入りの Python が必要で、文書は -shell-escape 付きでコンパイルしなければなりません。

ここで動作するもの

機能Scissor LaTeX では備考
\begin{minted}{lang} ... \end{minted}動作するPython や shell escape なしで色付けされます。
\mintinline{lang}{code}動作する等幅で、色は付きません。
オプション:[linenos, frame=lines, bgcolor=...]無視されるメッセージなしで無視されます。
\setminted{...}, \usemintedstyle{...}無視されるメッセージなしで無視されます。配色は固定です。
\caption 付きの listing 環境一部のみコードは表示され、キャプションは「Listing 1」なしの通常のテキストとして出力されます。そこへの \ref は「??」になります。
\mint{lang}|code|非対応メッセージを出してスキップされます。言語とコードは通常のテキストとして出力されます。
\inputminted{lang}{file}非対応メッセージを出してスキップされます。
\newminted, \newmintinline非対応メッセージを出してスキップされ、引数が出力されます。

言語名は listings と同じです:Python、C、C++、Java、JavaScript、Rust、Go、R、MATLAB、SQL、Bash、HTML、TeX などで、大文字でも小文字でも使えます。

例

言語を指定した minted ブロックです。

JavaScript の minted

LaTeXプリアンブル: \usepackage{minted}エディタで開く (新しいタブで開きます)
\begin{minted}{javascript}
// greet a list of people
const people = ["Erika", "Hans", "John"];
for (const name of people) {
  console.log(`Hello, ${name}!`);
}
\end{minted}
Scissor LaTeX による組版: JavaScript の minted

オプションは受け入れられて無視されるため、このブロックにはここでは行番号も枠も付きません。

linenos と frame は無視される

LaTeXプリアンブル: \usepackage{minted}エディタで開く (新しいタブで開きます)
\begin{minted}[linenos, frame=lines]{rust}
fn main() {
    let total: u32 = (1..=8).sum();
    println!("{}", total + 8); // 44
}
\end{minted}
Scissor LaTeX による組版: linenos と frame は無視される

番号付きのキャプションには、minted の listing 環境の代わりに figure を使います。ここではキャプションが「Listing 1」となり、\ref で番号が得られます。

figure の中のキャプション付き minted ブロック

LaTeXプリアンブル: \usepackage{minted}エディタで開く (新しいタブで開きます)
\begin{figure}[h]
\begin{minted}{python}
print(sum(range(44)))
\end{minted}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
Listing~\ref{lst:sum} prints 946.
Scissor LaTeX による組版: figure の中のキャプション付き minted ブロック

互換性

  • TeX のインストール環境からここへ: minted のブロックはすべて色付きで表示されます。オプションとスタイルは適用されません。\mint は \mintinline に置き換え、\inputminted のファイルのコードは文書に貼り付けてください。
  • ここから TeX のインストール環境へ: Python、Pygments、-shell-escape が使えれば、minted のブロックはコンパイルできます。minted ブロックを囲む figure のキャプションは、そこでは「Figure 1」になります。

完全なマニュアルは CTAN にあります:ctan.org/pkg/minted。LaTeX のコードリストもご覧ください。

よくある質問

minted は shell escape なしで動作しますか?

ここでは動作します。Scissor LaTeX が minted のブロックを自分で色付けするので、Python も -shell-escape も必要ありません。TeX のインストール環境では、引き続き両方が必要です。

minted と listings のどちらを使うべきですか?

ここではどちらも同じように動作します。言語は読み取られ、ほかのオプションは無視されます。文書を shell escape なしでほかの環境でもコンパイルする必要があるなら、listings のほうが安全です。

このページの例はすべて、サイトのビルド時に Scissor LaTeX で組版されています。 最終更新:2026-11-07