写实验报告常常要罗列代码,但是lstlisting宏包默认的格式又太丑了,所以自己配置了一下,让代码好看一些
在Latex导言区内设置如下:
\usepackage{fontspec}
\newfontfamily\menlo{MONACO.ttf}
\usepackage{listings}
\lstset{
breaklines, % 自动将长的代码行换行排版
extendedchars=false, % 解决代码跨页时,章节标题,页眉等汉字不显示的问题
backgroundcolor=\color[rgb]{0.96,0.96,0.96},% 背景颜色
keywordstyle=\color{blue}\bfseries, % 关键字颜色
identifierstyle=\color{black}, % 普通标识符颜色
commentstyle=\color[rgb]{0,0.6,0}, % 注释颜色
stringstyle=\color[rgb]{0.58,0,0.82}, % 字符串颜色
showstringspaces=false, % 不显示字符串内的空格
numbers=left, % 显示行号
numberstyle=\tiny\menlo, % 设置数字字体
basicstyle=\small\menlo, % 设置基本字体
captionpos=t, % title在上方(在bottom即为b)
frame=single, % 设置代码框形式
rulecolor=\color[rgb]{0.8,0.8,0.8}, % 设置代码框颜色
}
其中用到了MONACO字体,点这里下载
下载后解压,找到ttf文件,右键,选择“为所有用户安装”,安装后就可以跑代码了!
实现效果
测试代码
\begin{lstlisting}[language=XML,title=xml]
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true"></meta-data>
\end{lstlisting}
\begin{lstlisting}[language=python,title=python]
def main():
print("我是你爸爸!")
main()
\end{lstlisting}
\begin{lstlisting}[language=C++,title=C++]
#include<iostrem>
using namespace std;
int main(){
cout << "我是你爸爸!" << endl;
return 0;
}
\end{lstlisting}