latexでコードハイライト表示マクロパッケージmintedの使い方
19863 ワード
latexでコードハイライト表示マクロパッケージmintedの使い方
前提条件
mintedを使用するにはpython環境とPygmentsモジュールをインストールする必要があります.mintedはこのモジュールに依存して300以上の言語の構文がハイライトされているためです.
latexコンパイル時にもオプション-shell-escapeを追加する必要があります.Pygmentsプログラムを呼び出す必要があるので、このオプションでtexコンパイラに伝えます.
基本的な使い方:
完全な例は次のとおりです.
minted環境の代わりに
また、以下のように、行内で使用することもできます.
ファイルを使用して、ハイライトするコードを入力することもできます.
mintedマクロパッケージはlistingフローティング環境も提供し、コードのフローティング表示に使用されます.例:
オプション
mintedがオプションを使用する方法は
一般的なオプションについて説明します. langlinenosオプションを使用すると、異なる言語のハイライトコードの行数を連続的にカウントできます. autogobbleオプションでは、一番前のスペース を削除できます. baselinestretchオプション行間隔のスケール値 を設定 beameroverlaysオプションは、 を使用するなど、beamerでoverlay機能を実現することができる. breakafterオプションでは、行内のコードの改行可能な文字を指定できます.文字セットは などの文字列です. breakaftergroupオプションのデフォルトはtrueです.breakafterオプションを使用する場合、ブレーク文字に隣接する同じ文字がある場合、最後の文字の後にブレークすることを示します. breakaftersymbolpreおよびbreakaftersymbolpostオプションは、ブレークラインの前後に追加する文字を指定します. breakanywhereオプションは、行間コード環境で使用され、 breakanywheresymolpreおよびbreakanywheresymolpostは、breakaftersymbolpreおよびbreakaftersymbolpostオプションと類似しています. breakautoindentオプションは、断行後の行の自動インデントを設定するために使用されます. breakbeforeはbreakafterに似ています. breakbeforegroupはbreakaftergroupに似ています. breakbeforesymbolpre、breakbeforesymbolpostもbreakaftersymbolpreおよびbreakaftersymbolpostに類似している. breakbytokenオプションは、記号の内部で行を切断することを阻止します. breakbytokeanywhereオプションは、記号の内部で行をブレークすることを阻止しますが、記号のブレークラインを許可します. breakindentオプションは、1 em などの断行後に接続する行のインデント距離を設定するために使用されます. breakindentncharsオプションでは、インデント距離を2倍などの1文字幅の倍数に設定できます. breaklinesオプションは、コードのブレークラインを許可します. breaksymbolはbreaksymbolleftに等価であり、断行後の接続行の前に加わる文字を設定するために使用されます. breaksymbolrightは、ブレークラインの右側の文字を設定するために使用されます. breaksymbolindentはbreaksymbolindentleftと等価であり、breaksymbolleft文字のインデント距離 を設定する breaksymbolindencharsはbreaksymbolindentleftncharsに等価であり、breaksymbolleft文字のインデント距離を設定し、文字幅倍数で表す. breaksymbolindentrightは、breaksymbolrightにスペースを提供するために右側の追加のインデント距離です. breaksymbolindentrightncharsは、breaksymbolrightにスペースを提供するために右側の追加のインデント距離です.文字幅の倍数で表します. breaksymbolsepはbreaksymbolsepleftと等しく、breaksymbolleftと隣接テキストの間隔を設定します. breaksymbolsepncharsはbreaksymbolsepleftncharsと等しく、breaksymbolleftと隣接するテキストの間隔を設定します.文字幅の倍数で表します. breaksymbolsepright、breaksymbolrightと隣接テキストの間隔を設定します. breaksymbolseprightnchars、breaksymbolrightと隣接テキストの間隔を設定します.文字幅の倍数で表します. bgcolor背景色を設定します.より高度な色設定を使用する場合は、mdframedまたはtcolorboxのような環境にminted環境を配置し、tcolorboxを使用する場合は などのtcblisting環境を直接使用します.
前提条件
mintedを使用するにはpython環境とPygmentsモジュールをインストールする必要があります.mintedはこのモジュールに依存して300以上の言語の構文がハイライトされているためです.
latexコンパイル時にもオプション-shell-escapeを追加する必要があります.Pygmentsプログラムを呼び出す必要があるので、このオプションでtexコンパイラに伝えます.
基本的な使い方:
\begin{minted}{}
\end{minted}
完全な例は次のとおりです.
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{c}
int main() {
printf("hello, world");
return 0;
}
\end{minted}
\end{document}
minted環境の代わりに
\mint
コマンドを使用することもできます.たとえば、\mint{python}|import this|
また、以下のように、行内で使用することもできます.
words\mintinline{python}{print(x**2)}words
ファイルを使用して、ハイライトするコードを入力することもできます.
\inputminted[]{}{}.
mintedマクロパッケージはlistingフローティング環境も提供し、コードのフローティング表示に使用されます.例:
\begin{listing}[H]
\mint{cl}/(car (cons 1 '(2)))/
\caption{Example of a listing.}
\label{lst:example}
\end{listing}
\listoflistings
を用いてコードlistingのディレクトリを生成することもできる.オプション
mintedがオプションを使用する方法は
key=value
で与えられ、key
のみがデフォルトのオプションを使用する.また、文書内の同じ言語のすべてのコード表示について同じオプションを設定し、行間コードと行内コードをそれぞれコマンド\setminted
と\setmintedinline
で設定することもできる.一般的なオプションについて説明します.
\only<1>{...}
breakafter=-/d
\begin{minted}[breaklines, breakafter=d]{python}
some_string = 'SomeTextThatGoesOnAndOnForSoLongThatItCouldNeverFitOnOneLine'
\end{minted}
breaklines=true
の場合、任意の文字で行をブレークできます.\tcbuselibrary{minted}
を設定できます.その後、\begin{tcblisting}{,
minted language=,
minted style=