感觉最近使用LaTeX遇到的问题也不多,首先先说下抄录环境。
·抄录环境verbatim对应的字体是打印机字体\ttfamilty,字体尺寸为\normalsize。
在LaTeX编译环境中,使用如下命令修改,
\makeatletter\renewcommand{\verbatim@font}{\sffamliy \slshape \small}\makeatother
在XeLaTeX编译环境中,直接使用如下命令修改,
\setmonofont[BoldFont={ "[simhei.ttf]"}]{ "[simsun.ttc]"}%设置字体时也可以直接用字体名,以下三种方式等同:%\setromanfont[BoldFont={黑体}]{宋体}%\setromanfont[BoldFont={SimHei}]{SimSun}%\setromanfont[BoldFont={ "[simhei.ttf]"}]{ "[simsun.ttc]"}%但是不推荐使用第一种方式,对于中文名称的字体,使用该方式会导致不能将%roman、sans族字体设置为同一种字体,比如将romanfont和sanfont都设置为"宋体"%将导致编译错误。但是用另外两种方式却没问题,也许是fontspec包的bug吧。推%荐直接指定字体文件名的第三种方式。
verbatim环境中,纯英文文本不能自动换行。使用verbatim宏包,可以弥补原抄录环境的某些不足。
同时,还有很多额外的宏包提供了更加丰富的功能,例如抄录宏包fancyvrb,提供了Verbatim抄录环境,可以为每行加行号、画边线、设定字体颜色尺寸等。
但是该宏包的填充颜色仅仅是在抄录文本与边线之间填充,效果很差。因此,在进一步搜索之后,发现listings宏包,其提供了lstlisting抄录环境,也具有丰富的功能,同时通过进一步导入其他宏包例如xcolor还支持语法高亮等功能。这个宏包的具体功能我就不细说了,其说明文档在,可以自己去看一下。
下面我就主要介绍添加背景色的功能。
\lstset{basicstyle=\small, stringstyle=\ttfamily,backgroundcolor=\color{gray!40},tabsize=1,numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt}\begin{lstlisting}[frame=single, caption=\textit{TimeToTrigger} information element]-- ASN1STARTTimeToTrigger ::= ENUMERATED { ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, ms5120}-- ASN1STOP\end{lstlisting}
显示效果为,