1. \lstdefinestyle 参考 https://blog.csdn.net/ProgramChangesWorld/article/details/52142313 我们在使用 listings 的时候,需要设置语言和样式。用 \lstset 会设置全局的变量,如果我们文章中有多种代码,那么
1. \lstdefinestyle
参考 https://blog.csdn.net/ProgramChangesWorld/article/details/52142313
我们在使用listings的时候,需要设置语言和样式。用\lstset会设置全局的变量,如果我们文章中有多种代码,那么就需要\lstdefinestyle,设置多种样式,在使用的时候选择对应的样式。
% system=ubuntu %soft=Tex Live2015 % complie=XeLaTeX \documentclass[a4paper,UTF8]{article} \usepackage{listings} \usepackage{ctex} \usepackage{color} \definecolor{keywordcolor}{rgb}{0.8,0.1,0.5} \definecolor{webgreen}{rgb}{0,.5,0} \definecolor{bgcolor}{rgb}{0.92,0.92,0.92} \lstdefinestyle{styleJ}{ language=[AspectJ]Java, keywordstyle=\color{keywordcolor}\bfseries, commentstyle=\color{blue} \textit, showstringspaces=false, numbers=left, numberstyle=\small } \lstdefinestyle{styleP}{ language=Python, numbers=right, frame=single, numberstyle=\small , } \begin{document} \begin{lstlisting}[style=styleJ] public int sum(int n){ int sum = 0; for(int i=0;i<n;i++){ //开始的 sum += i; } return sum; } \end{lstlisting} \begin{lstlisting}[style=styleP] def fun(): print(‘你好,世界‘) #我是注释 \end{lstlisting} \end{document}
可以看到使用lstdefinestyle
定义了两个样式,styleJ和styleP,分别是java和python的样式,在使用lstlisting
环境的时候调设置了这两个样式。
如果不想把代码放在.tex文件里,也可以把代码放在单独的文件,然后使用下面的命令即可:
\lstinputlisting[style=styleJ]{code.java}