Listings - レポートにVHDLコードを図として挿入する

TeXで,プログラムソースはどう書こう?ってこと.これで解決してやる.

  • pLaTeX2eを使うよ
  • WinShell3.1.0.10を使うよ
  • 配布されたファイル「decoder.vhd」は,スペースインデントだったけど,タブに変換したよ
  • Listingsパッケージを使うよ.入手はListings - Thor TeX: TeX/Typographyからで,バージョン番号は1.3だよ
  • 参考にしたのはさっき挙げたページ(スタイルはほぼパクリ)とListingsスタイル自体に付属のリードミーlistings-1.3.pdf」だよ.後で見つけたけれど,Yamamoto's Laboratory LaTeX(ソースリストの書き方)もイイカモよ
  • Listingsパッケージのサポートしている言語はたくさんあったよ.PDFに載っているよ

  1. Listings - Thor TeX: TeX/Typographyからlistings-1.3.zipを頂いて,「C:\tex\share\texmf-local\ptex\platex\listings」とかに展開する
  2. TeXのdocumentclass後に次のように記述する.includeは言語スタイルセットを「ref_lstset.tex」として用意するから.

    {listings,jlisting} % プログラムのソースコード掲載用
    \include{ref_lstset}
    

  3. ref_lstset.texの内容は次のとおり.backgroundはなんか使えなかったからコメントアウトした.原因究明は未だしてない.*1

    \lstset{%
     language={VHDL},
     % backgroundcolor={\color[gray]{.85}},%
     basicstyle={\small},%
     identifierstyle={\small},%
     commentstyle={\small\itshape},%
     keywordstyle={\small\bfseries},%
     ndkeywordstyle={\small},%
     stringstyle={\small\ttfamily},
     frame={tb},
     breaklines=true,
     columns=[l]{fullflexible},%
     numbers=left,%
     xrightmargin=0zw,%
     xleftmargin=3zw,%
     numberstyle={\scriptsize},%
     stepnumber=1,
     numbersep=1zw,%
     lineskip=-0.5ex,%
     tabsize=3
    }
    

  4. で,コードを挿入したいところで次のとおり記述する.

    \begin{figure}
     \lstinputlisting{../kadai1.1/decoder.vhd}
     \caption{キャプション} \label{figcode:dec}
    \end{figure}
    

「図として挿入」てヤツは,単にfigure環境に入れてしまえばできるって寸法だ.このスタイルの効果は,

  • 行番号が付く
  • コードの上下にラインが引かれる
  • 予約語がボールドになる
  • コメント中の半角英数字はイタリックになるんだけど,日本語は変わんないからちょっとかこわるい

などである.

*1:色つけのために,別途colorパッケージを利用するため.2007年3月30日