latexでコードハイライト表示マクロパッケージmintedの使い方


latexでコードハイライト表示マクロパッケージmintedの使い方
前提条件
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で設定することもできる.
一般的なオプションについて説明します.
  • langlinenosオプションを使用すると、異なる言語のハイライトコードの行数を連続的にカウントできます.
  • autogobbleオプションでは、一番前のスペース
  • を削除できます.
  • baselinestretchオプション行間隔のスケール値
  • を設定
  • beameroverlaysオプションは、\only<1>{...}
  • を使用するなど、beamerでoverlay機能を実現することができる.
  • breakafterオプションでは、行内のコードの改行可能な文字を指定できます.文字セットはbreakafter=-/d
  • などの文字列です.
    \begin{minted}[breaklines, breakafter=d]{python}
    some_string = 'SomeTextThatGoesOnAndOnForSoLongThatItCouldNeverFitOnOneLine'
    \end{minted}
    
  • breakaftergroupオプションのデフォルトはtrueです.breakafterオプションを使用する場合、ブレーク文字に隣接する同じ文字がある場合、最後の文字の後にブレークすることを示します.
  • breakaftersymbolpreおよびbreakaftersymbolpostオプションは、ブレークラインの前後に追加する文字を指定します.
  • breakanywhereオプションは、行間コード環境で使用され、breaklines=trueの場合、任意の文字で行をブレークできます.
  • 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を使用する場合は\tcbuselibrary{minted}を設定できます.その後、
  • などのtcblisting環境を直接使用します.
    \begin{tcblisting}{,
    minted language=,
    minted style=