|
樓主 |
發表於 2011-7-20 22:36:23
|
顯示全部樓層
上一個程式列出來的方式可能不滿意,再加了些修飾的方法。
- \documentclass[12pt]{article}
- \usepackage{fontspec}
- \usepackage{xeCJK}
- \setCJKmainfont{cwTeX 楷書}
- \XeTeXlinebreaklocale "zh"
- \XeTeXlinebreakskip = 0pt plus 1pt
- \setmainfont{Times New Roman}
- \usepackage[left=2.54cm,right=2.54cm,top=3.17cm,bottom=3.17cm]{geometry}
- \usepackage{listings}
- \usepackage{framed}
- \newenvironment{mylisting}
- {\begin{list}{}{\setlength{\leftmargin}{1em}}\item\scriptsize\bfseries}
- {\end{list}}
- \begin{document}
- 遇到程式碼怎麼辦?
- 這個是用 listings 的巨集來做出來的效果
- \begin{lstlisting}
- int main()
- {
- printf("Hello\r\n");
- return 0;
- }
- \end{lstlisting}
- 這跟剛才的
- \begin{verbatim}
- int main()
- {
- printf("Hello\r\n");
- return 0;
- }
- \end{verbatim}
- 是不是有不同了?是不是多了程式的縮排?
- 可是程式碼沒有"框起來"不夠味道。跟本文無法區隔,所以我們把它加一個框。寫法如下。
- 要用到框,就要有 framed 的巨集,所以在 $\backslash$ begin\{document\}之前加上 $\backslash$usepackage\{framed\}。
- \begin{framed}
- \begin{lstlisting}
- int main()
- {
- printf("Hello\r\n");
- return 0;
- }
- \end{lstlisting}
- \end{framed}
- 我們再來看那個程式碼,看起來是不是醜醜的? \\
- 我們再來修飾一下,所以要在$\backslash$begin\{document\}前面加上這一個新環境的設定。這是參考自 http://www.kronto.org/thesis/tips/listings.html
- \begin{verbatim}
- \newenvironment{mylisting}
- {\begin{list}{}{\setlength{\leftmargin}{1em}}\item\scriptsize\bfseries}
- {\end{list}}
- \end{verbatim}
- 然後我們再試一次
- \begin{mylisting}
- \begin{lstlisting}
- int main()
- {
- printf("Hello\r\n");
- return 0;
- }
- \end{lstlisting}
- \end{mylisting}
- 再加上個框
- \begin{framed}
- \begin{mylisting}
- \begin{lstlisting}
- int main()
- {
- printf("Hello\r\n");
- return 0;
- }
- \end{lstlisting}
- \end{mylisting}
- \end{framed}
- \end{document}
複製代碼
tech04.pdf
(76.8 KB, 下載次數: 47)
|
|