LaTeXでソースコードを掲載するためのlistingsパッケージ。¶
allttだと整形はされてもエスケープしないといけないし、verbatimだとタブが表示されないので無いかなぁと思ったら、listingsというパッケージがあることが 分かった 。参照元だと、日本語表示にはjlistingパッケージを使う必要があるとあったが、Debian GNU/Linux Sid/Squeezeの環境では特にそれは必要無かったので、usepackageの記述は変える必要があり。 1
\usepackage{listings}
(snip)
\begin{lstlisting}[label=src:json, caption=.couchapprcの設定]
{
"title": "タイトル",
"date": "2011-01-05"
}
\end{lstlisting}
といった感じで、ブレースや日本語も記述しても問題無し。ただし、このままだとフォントがserifになるので、あんまし見た目が良くないので、参照元で更に 参照している先 を参考に、begin{document}の前に次のを挿入したら、見た目もカスタマイズできてうれしい。
\lstset{%
language={Java},
backgroundcolor={\color[gray]{.85}},%
basicstyle={\footnotesize},%
identifierstyle={\footnotesize},%
commentstyle={\footnotesize\itshape},%
keywordstyle={\footnotesize\bfseries},%
ndkeywordstyle={\footnotesize},%
stringstyle={\footnotesize\ttfamily},
frame={tb},
breaklines=true,
columns=[l]{fullflexible},%
numbers=left,%
xrightmargin=0zw,%
xleftmargin=1zw,%
numberstyle={\scriptsize},%
stepnumber=1,
numbersep=0.5zw,%
lineskip=-0.5ex%
}
JavaScriptは対応してないようなのだが、CかJavaにしておけばまぁいいかなぁと。
あと、一行が長すぎて、breakline=trueで2行に巻き返しされると、2行目の背景色は指定した色にならなかったので、これはどうすれば良いか分からなかったので、とりあえずフォントサイズをfootnotesizeにして逃げた。w
部分的に変更したい場合。¶
LaTeXのソース全体ではlanguage={C}にしていて、一部をHTMLのコードにしたい場合は次のようにすればOK.
\begin{lstlisting}[language={HTML}]
- 1
jlistingを指定してもファイルがないというwarningが出る。