\documentclass{article}
\usepackage{listings}
\usepackage{fontspec}
\newfontfamily\monaco{Monaco}
\begin{document}
\begin{lstlisting}[language={[ANSI]C},
numbers=left,
numberstyle=\tiny\monaco,
basicstyle=\small\monaco]
int
main (int argc, char *argv[])
{
int array[SIZE];
int i;
char c;
for (i = 0; i < SIZE; i++)
array[i] = 0;
while ((c = getchar ()) != EOF)
{
if (isupper (c))
{
array[c - 'A']++;
}
}
for (i = 0; i < 26; i++)
printf ("%c:%5d\n", (char) ('A' + i), array[i]);
return 0;
}
\end{lstlisting}
\end{document}
复制代码
\documentclass[UTF-8]{article}
\usepackage{listings}
\usepackage{color,xcolor}
\usepackage{fontspec}
\usepackage{xeCJK}
\setmonofont[Mapping={}]{Monaco} %英文引号之类的正常显示,相当于设置英文字体
\setsansfont{Monaco} %设置英文字体 Monaco, Consolas, Fantasque Sans Mono
\setmainfont{Monaco} %设置英文字体
\setCJKmainfont{微软雅黑} %中文字体设置
%\setCJKsansfont{楷体} %设置中文字体
%\setCJKmonofont{} %设置中文字体
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}
\lstset{
backgroundcolor=\color{white}, % choose the background color
basicstyle=\footnotesize\monaco, % size of fonts used for the code或改成\small\monaco稍大
numbers=left, % 设置行号
numberstyle=\tiny\monaco, % 设置行号字体大小
columns=fullflexible,
breaklines=true, % automatic line breaking only at whitespace
captionpos=b, % sets the caption-position to bottom
tabsize=4,
commentstyle=\color{mygreen}, % 设置注释颜色
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
keywordstyle=\color{blue}, % 设置keyword颜色
stringstyle=\color{mymauve}\monaco, % string literal style
frame=single, % 设置有边框
rulesepcolor=\color{red!20!green!20!blue!20},
% identifierstyle=\color{red},
language=c++,
}
\begin{document}
\begin{lstlisting}
inline int gcd(int a, int b) {
// 如果a<b,则递归得gcd(b,a%b)即gcd(b, a),即交换了位置,时间复杂度O(log max(a, b))
return b==0?a:gcd(b,a%b)
}
inline int lcm(int a, int b) {
return a/gcd(a,b)*b;
}
\end{lstlisting}
\end{document}
复制代码