최근에 보았던 것은 에드님이 소개해주신 python과 pygmentize를 이용하는 방법이었고요. 이게 좀더 listings 패키지보다 유연할 수도 있겠다는 생각도 들었습니다. 이는 verbments 패키지를 얹고 하이라이팅은 잠깐 python에 맡긴 다음 이를 다시 호출하여 텍 문서에 삽입하는 방법으로 컴파일할 때 --shell-escape 옵션을 주어야합니다. (자세한 것은 http://www.ktug.org/xe/index.php?document_srl=175643 참고)
또 pygmentex 이라는 패키지도 최근에 개발된 것으로 알고 있습니다. http://wiki.ktug.org/wiki/wiki.php/pygmentex
소스 코드 하이라이팅에 관한 패키지는 많이 있습니다.
여기서는 listnigs 패키지를 잠깐 소개합니다.
> texdoc listings
listings 패키지는 다양한 프로그래밍 랭귀지에 대해 소스 코드 하이라이팅을 제공합니다.
\lstinputlisting 명령은 외부에 있는 stack.java 파일을 직접 넣을 때 사용합니다.
그리고 소스코드마다 줄번호를 표기하고, 본문에 언급할 때는 해당 줄번호를 참고하라는 식으로 처리하면 어떨까 싶습니다.
지금 줄번호는 2줄마다(stepnumber=2) 소스코드의 왼쪽에(numbers=left) 아주 작은 모노폰트로(numberstyle=\tiny\ttfamily) 매기게 해놨습니다.
\documentclass[a4paper]{oblivoir}
\usepackage[svgnames]{xcolor}
\usepackage{listings}
\lstset{
basicstyle=\small\ttfamily,
keywordstyle=\color{MidnightBlue},
stringstyle=\color{DarkRed},
commentstyle=\color{DarkGreen},
showspaces=false,
columns=fullflexible,
breaklines=true,
numbers=left,
numberstyle=\tiny\ttfamily,
stepnumber=2,
}
\begin{document}
\lstinputlisting[%
language=Java,
]{Stack.java}
\end{document}
===
최근에 보았던 것은 에드님이 소개해주신 python과 pygmentize를 이용하는 방법이었고요. 이게 좀더 listings 패키지보다 유연할 수도 있겠다는 생각도 들었습니다. 이는 verbments 패키지를 얹고 하이라이팅은 잠깐 python에 맡긴 다음 이를 다시 호출하여 텍 문서에 삽입하는 방법으로 컴파일할 때 --shell-escape 옵션을 주어야합니다.
(자세한 것은 http://www.ktug.org/xe/index.php?document_srl=175643 참고)
또 pygmentex 이라는 패키지도 최근에 개발된 것으로 알고 있습니다.
http://wiki.ktug.org/wiki/wiki.php/pygmentex