2009/09/10

[TeX] 用 listing 套件展現程式碼

listing package 專門設計用來展現程式碼或 pseudo code,以 java 為例:

\documentclass[12pt]{scrartcl}
\usepackage{CJKutf8}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\definecolor{listinggray}{gray}{0.9}
\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
\lstset{
backgroundcolor=\color{lbcolor},
tabsize=4,
rulecolor=,
language=java,
basicstyle=\scriptsize,
upquote=true,
aboveskip={1.5\baselineskip},
columns=fixed,
showstringspaces=false,
extendedchars=true,
breaklines=true,
prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=single,
showtabs=false,
showspaces=false,
showstringspaces=false,
identifierstyle=\ttfamily,
keywordstyle=\color[rgb]{0,0,1},
commentstyle=\color[rgb]{0.133,0.545,0.133},
stringstyle=\color[rgb]{0.627,0.126,0.941},
}
\begin{document}
\begin{CJK}{UTF8}{nkai}
Java 程式:
\begin{lstlisting}
import javax.swing.JFrame;
import javax.swing.JLabel;

//import statements
//Check if window closes automatically. Otherwise add suitable code
public class HelloWorldFrame extends JFrame {
 public static void main(String args[]) {
 new HelloWorldFrame();
 }
 HelloWorldFrame() {
 JLabel jlbHelloWorld = new JLabel("Hello World");
 add(jlbHelloWorld);
 this.setSize(100, 100);
 // pack();
 setVisible(true);
 }
 }
\end{lstlisting}
\end{CJK}
\end{document}

沒有留言: