LaTeXでC言語などのソースコードを色付きで貼り付けるには,
jlistingパッケージを使うといいです.
インストール方法については省略します.
使い方の例
texファイル
% (省略) \usepackage{color} \usepackage{listings,jlisting} \lstset{ language={C}, backgroundcolor={\color[gray]{.85}}, basicstyle={\small}, identifierstyle={\small}, commentstyle={\small\ttfamily \color[rgb]{0,0.5,0}}, keywordstyle={\small\bfseries \color[rgb]{1,0,0}}, ndkeywordstyle={\small}, stringstyle={\small\ttfamily \color[rgb]{0,0,1}}, frame={tb}, breaklines=true, columns=[l]{fullflexible}, numbers=left, xrightmargin=0zw, xleftmargin=3zw, numberstyle={\scriptsize}, stepnumber=1, numbersep=1zw, morecomment=[l]{//} } \begin{document} % ソースコードが別ファイルの場合 \lstinputlisting[caption=キャプション,label=ラベル]{test.c} % ソースコードを直接記入 \begin{lstlisting}[caption=キャプション,label=ラベル] #include <stdio.h> int main(void) { // コメント printf("Hello World"); return 0; } \end{lstlisting} % (省略)
実行例
オプション
\lstsetで指定できる主なオプションは次のようになります.
language
言語の指定.C言語ならCとします.
標準で使える言語は以下だそうです.
ABAP (R/2 4.3, R/2 5.0, R/3 3.1, R/3 4.6C, R/3 6.10), ACM, ACMscript, ACSL, Ada (2005, 83, 95), Algol (60, 68), Ant, Assembler (Motorola68k, x86masm), Awk (gnu, POSIX), bash, Basic (Visual), C (ANSI, Handel, Objective, Sharp), C++ (ANSI, GNU, ISO, Visual) Caml (light, Objective), CIL, Clean, Cobol (1974, 1985, ibm), Comal 80, command.com (WinXP), Comsol, csh, Delphi, Eiffel, Elan, erlang, Euphoria, Fortran (03, 08, 77, 90, 95), GAP, GCL, Gnuplot, hansl, Haskell, HTML, IDL (empty, CORBA), inform, Java (empty, AspectJ), JVMIS, ksh, Lingo, Lisp (empty, Auto), LLVM, Logo, Lua (5.0, 5.1, 5.2), make (empty, gnu), Mathematica (1.0, 3.0, 5.2), Matlab, Mercury, MetaPost, Miranda, Mizar, ML, Modula-2, MuPAD, NASTRAN, Oberon-2, OCL (decorative, OMG), Octave, Oz, Pascal (Borland6, Standard, XSC), Perl, PHP, PL/I, Plasm, PostScript, POV, Prolog, Promela, PSTricks, Python, R, Reduce, Rexx, RSL, Ruby, S (empty, PLUS), SAS, Scilab, sh, SHELXL, Simula (67, CII, DEC, IBM), SPARQL, SQL, tcl (empty, tk), TeX (AlLaTeX, common, LaTeX, plain, primitive), VBScript, Verilog, VHDL (empty, AMS), VRML (97), XML, XSLT
numbers
行番号表示位置.デフォルト:none(行番号なし),
他オプション:left,right
stepnumber
行番号をいくつとばしで表示するか.
5行ごとに行番号を表示したいときなど
numberstyle
行番号の書体
numbersep
行番号と本文の間隔.デフォルト:10pt
breaklines
行が長くなったときの自動改行.デフォルト:false
breakindent
breaklinesで改行した時のインデント量.デフォルト:20pt
frame
枠.デフォルト:none
他オプション:leftline,topline,bottomline,lines,single,shadowbox
framesep
frameまでの間隔
basicstyle
標準の書体
identifierstyle
キーワードでない文字の書体
commentstyle
コメントの書体
stringstyle
""で囲まれたなどの"文字"の書体
keywordstyle
キーワード(int, ifなど)の書体
ndkeywordstyle
キーワードその2の書体
columns
書体による列幅の違いを調整するか.
オプション:fixed,flexible,spaceflexible,fullflexible
その他
- コメントの後には1文字スペースが必要です
- \lstsetを使い途中で書体を変えることもできます.