背景
在参加华数杯数学建模竞赛时,写作如果将代码块写的优雅成为我心中一个问题,word中写出美观的代码附录,我再Google一下后依然没有发现比较好的解决办法,这是我便想到了$\LaTeX$,但由于小组其他成员并不会使用$\LaTeX$,而且主题论文已经完工,我便想到:单独使用$\LaTeX$去生成附录,在使用Adobe Acrobat Pro去拼接两部分pdf,最终完成全部论文~。
代码
以$Matlab$代码为例:
\documentclass[a4paper]{article}
\usepackage{listings,ctex}
\pagenumbering{Alph}
\usepackage{textcomp} % 必须加上,否则报错
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode} % 添加matlab代码宏
\usepackage{xcolor}
\lstset{
language=Matlab, %代码语言使用的是matlab
rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色
keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体
numbers=left, % 显示行号
numberstyle=\tiny, % 行号字体
commentstyle=\color{red!10!green!70}, % 设置代码注释的颜色
showstringspaces=false,%不显示代码字符串中间的空格标记
stringstyle=\ttfamily, % 代码字符串的特殊格式
breaklines=true, %对过长的代码自动换行
extendedchars=false, %解决代码跨页时,章节标题,页眉等汉字不显示的问题
escapebegin=\begin{CJK*}{GBK}{hei},escapeend=\end{CJK*},% 代码中出现中文必须加上,否则报错
texcl=true,}
\usepackage{fancyhdr}
\pagestyle{fancy}%设置页码样式
\fancyhead[R]{附录}%设置页眉
\fancyhead[L]{Matlab代码}
\begin{document}
\section{Matlab代码}
\subsection{问题二}
\begin{lstlisting}
%%%%%%%%%%%%%%%%%%%代码%%%%%%%
%%%%%%%%%%%%%%%%%%%代码%%%%%%%
%%%%%%%%%%%%%%%%%%%代码%%%%%%%
\end{lstlisting}
\end{document}