LaTeX 使用 listings 宏包插入代碼時,如何將代碼的字體設定為 Monaco?
我希望自定義代碼的字體,以及左邊行號的字體,如何實現呢?
用 XeLaTeX 編譯,fontspec 選字體,直接在 listings 的設置裡面改。
比如:
%!TEX program = xelatex
documentclass{article}
usepackage{listings}
usepackage{fontspec}
ewfontfamilymenlo{Menlo}
egin{document}
egin{lstlisting}[language={[ANSI]C},
numbers=left,
numberstyle= inymenlo,
basicstyle=smallmenlo]
#include &
#include &
#include &
#define SIZE 26
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 ", (char) ("A" + i), array[i]); return 0; } end{lstlisting} end{document}
我這是用了 Mac OS X 里的 Menlo,你喜歡 Monaco 的話自己修改調用就好了。
建議多看文檔。關於代碼高亮以及字體,可以參考我的
usepackage{fontspec}
setmonofont[Mapping={}]{Monaco} %英文引號之類的正常顯示,相當於設置英文字體
setsansfont{Monaco} %設置英文字體 Monaco, Consolas, Fantasque Sans Mono
setmainfont{Monaco} %設置英文字體
% setCJKmainfont{方正蘭亭黑簡體} %中文字體設置
% setCJKsansfont{華康少女字體} %設置中文字體
% setCJKmonofont{華康少女字體} %設置中文字體
代碼高亮及外形,另外行號數字字體的話,我上面全部配置成monaco,可以看下面的圖
數字也是monaco,行號應該也是。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 tfamily, % size of fonts used for the code
columns=fullflexible,
breaklines=true, % automatic line breaking only at whitespace
captionpos=b, % sets the caption-position to bottom
tabsize=4,
commentstyle=color{mygreen}, % comment style
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
keywordstyle=color{blue}, % keyword style
stringstyle=color{mymauve} tfamily, % string literal style
frame=single,
rulesepcolor=color{red!20!green!20!blue!20},
% identifierstyle=color{red},
language=c++,
}
樣例
樣例圖egin{lstlisting}
inline int gcd(int a, int b) { // 如果a&
編譯過不了怎麼辦,需要什麼宏包啊
推薦閱讀:
※xelatex編譯加粗楷體為什麼會失敗?
※TeXLive如何查看一個宏包的目錄結構(TDS)?
※如何在LaTex或Word中表示卓里奇《數學分析》基的符號?
※如何快速查看 LaTeX 的宏命令的實現?
※LaTeX 在 Mac 上無法編譯出字元「〇」, 該如何解決?