Commit eaace74b authored by liziwl's avatar liziwl
Browse files

增加另一种源代码例子

parent 4fbbd717
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -154,10 +154,11 @@

\section{源代码}

推荐使用 \pkg{listing} 环境嵌入 \pkg{minted}高亮代码。\verb|linenos| 参数控制代码行号显示。引用效果如代码 \ref{lst:sample-code-minted}
推荐使用 \pkg{listing} 环境嵌入 \pkg{minted} 环境高亮代码。\verb|linenos| 参数控制代码行号显示。引用效果如代码 \ref{lst:sample-code-minted}
也可以使用 \pkg{listings} 环境高亮代码。参数较为复杂,请自行搜索或查阅文档。引用效果如代码 \ref{lst:sample-code-listings}。但是,\textbf{不建议}混用 \pkg{listings} 环境和 \pkg{minted} 环境,会导致如上编号重复的错误,二选一即可。

\begin{listing}[!ht]
\caption{C++ 代码示例}
\caption{C++ 代码示例(使用 \pkg{minted} 高亮)}
\label{lst:sample-code-minted}
\begin{minted}[xleftmargin=20pt,linenos]{cpp}
#include <cstdio>
@@ -174,6 +175,18 @@ int main() {
\end{minted}
\end{listing}


\begin{lstlisting}[language=java,caption={Java 代码示例(使用 \pkg{listings} 高亮)},xleftmargin=20pt,label={lst:sample-code-listings}]
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.
        for (int i = 0; i < 100; ++i) {
            System.out.println(i);
        }
    }
}
\end{lstlisting}

\section{伪代码}


+24 −1
Original line number Diff line number Diff line
@@ -134,9 +134,32 @@
% 跨页表格,必须在 hyperref 之后使用否则会报错。
\usepackage{longtable}

% 源代码高亮
% 源代码 minted 高亮,二选一即可。
%% 使用 minted 包有内置高亮颜色,需要 Python 环境编译。
\usepackage{minted}

% 源代码 listings 高亮,二选一即可。
\usepackage{listings}
%% 使用 listings 包需要自行定义高亮颜色,此处给出 Java 的例子。
\definecolor{javared}{rgb}{0.6,0,0} % for strings
\definecolor{javagreen}{rgb}{0.25,0.5,0.35} % comments
\definecolor{javapurple}{rgb}{0.5,0,0.35} % keywords
\definecolor{javadocblue}{rgb}{0.25,0.35,0.75} % javadoc

\lstset{language=Java,
  keywordstyle=\color{javapurple}\bfseries,
  stringstyle=\color{javared},
  commentstyle=\color{javagreen},
  morecomment=[s][\color{javadocblue}]{/**}{*/},
  numbers=left,
  numberstyle=\tiny\color{black},
  stepnumber=1,
  numbersep=10pt,
  tabsize=4,
  showspaces=false,
  showstringspaces=false
}

% 伪代码环境
\usepackage[ruled,linesnumbered]{algorithm2e}

+24 −0
Original line number Diff line number Diff line
@@ -5775,6 +5775,30 @@ Thesis for the degree of \degree@level@en@noun \ of \thu@degree@domain@en%
}
%    \end{macrocode}
%
% \subsubsection{\pkg{listings} 宏包}
%
%    \begin{macrocode}
\AtEndOfPackageFile*{listings}{
  \AtBeginDocument{
    \renewcommand*{\thelstlisting}{\thechapter-\arabic{lstlisting}}
    \lstset{
      basicstyle=\small\ttfamily,
      captionpos=b,
      breaklines
    }
  }
  \newcommand\thu@set@lstlisting@language{%
    \ifthu@language@chinese
      \renewcommand\lstlistingname{代码}%
    \else
      \renewcommand\lstlistingname{Listing}%
    \fi
  }
  \thu@set@lstlisting@language
  \thu@option@hook{language}{\thu@set@lstlisting@language}
}
%    \end{macrocode}
%
% \subsection{书脊}
% \label{sec:spine}
% \begin{macro}{\spine}