天地有情

[LaTeX] minted --- プログラムソースコードのハイライト表示

minted --- プログラムソースコードのハイライト表示

§1 はじめに

mintedはプログラムソースコードをフォーマットするパッケージです.構文形式を下記に示します.

   ■■■■■■■■■■■■■■■■■
   \begin{minted}{<language>}
   <code>
   \end{minted}
   ■■■■■■■■■■■■■■■■■

選択した言語 <language> でコード <code> の一部をハイライト表示します.
外観はオプションでカスタマイズすることができます.

■ サンプル: <language> = C言語の例

mint00.png

1.1 インストール

(1)TeXLive/W32TeX などには標準でインストールされていますので,インストール作業は必要ありません.
   すぐに利用できる状態にあると思われます.

(2)Pygmentsをインストールする (マニュアルpage-4,5参照)
   Pygmentsは従来のパッケージと比較して優れた構文の強調表示を提供します.
   Pygmentsは,Pythonで書かれています.Python2.6以降があることを確認してください.
   システムにインストールされているか否かは,簡単にコマンドラインからチェックできます.
   
   python --version
   Python 2.7.7 ---- (最新版は2.7.9)

   Pythonがインストールされていない場合は,PythonのWebサイトからダウンロードしてください.
   
   その後,次のコマンドを使用して,Pygmentsのをインストールすることができます.

   easy_install Pygments

(3)minted は次のパッケージを必要とします.(マニュアルpage-5参照)確認してください.

  • keyval   • ifthen   • etoolbox   • kvoptions   • calc    • xstring
  • fancyvrb  • ifplatform • xcolor    • float     • pdftexcmds • lineno

   (確認するには例えば,コマンドラインから kpsewhich keyval.sty のようにすれば良いでしょう)

1.2 マニュアル

コマンドラインから texdoc minted を実行してください.

§2.LaTeX2e 文書での指定方法

2.1 書式

(1)minted 環境
   プリアンブルに \usepackage{minted} を記述します.

mint01.png


(2)\mint[<options>] {<language>} <delim><code><delim>   
ソースコードが1行の場合,\mint コマンドで簡単な表記法が使用できます.出力は minted 環境と同等です.
   <code> を同一の文字のペアでサンドイッチします.

mint02.png

この他に次のコマンドがあります.

(3)\mintinline[<options>]{<language>}<delim><code><delim>   
\mintinlineコマンドはインラインで使用することができます.

(4)\inputminted[<options>]{<language>}{<filename>}.   
\inputmintedコマンドは<filename>を読み込みフォーマットします.

2.2 サポートしている言語

主な言語として,
c, c++, fortran, java, haskell, perl,, ruby, plolog, php, sql, html, xml , など
詳細はコマンドラインから pygmentize -L lexers を実行してください.

2.2 Floating listings

mintedはソースコードブロックを包み込むためのリスト環境を提供します.これはfloating boxにコードを入れます.
また,通常の方法でリストのための\captionと\labelを提供することができます.(表と図の環境に関して)
\listoflistings でリスト一覧を作成時に section または chapter の番号を付加します.

■■■■■■■■■■■■■■■■■■■
   \documentclass{ltjsbook}
   \usepackage[section]{minted}
   \begin{document}
    \chapter{Listing Test}
    \section{Sample}
    \begin{listing}[H]
    int main() {
    printf("hello, world");
    return 0;
    }
    \caption{Example of a listing.}
    \label{lst:example}
   \end{listing}
   Listing \ref{lst:example} contains an example of a listing.

   \listoflistings
   \end{document}
■■■■■■■■■■■■■■■■■■■

結果は次のようにありあす.
----------------------------------------------------------
mint03.png
----------------------------------------------------------

§3.いくつかのサンプル

(1)line-number を付ける

mint04.png

(2)数式モードで内部コメントを付ける

mint05.png

(3)背景色を付ける

mint06.png




スポンサーサイト
  1. 2015/03/03(火) 09:29:08|
  2. LaTeX Tools