在乳胶文件中编写代码

如何将代码插入乳胶文档? 有没有像这样的东西:

\begin{code} ... \end{code} 

唯一真正需要的是缩进和固定宽度的字体。 语法突出显示可能是很好的,虽然它肯定不是必需的。

使用Listings包。

LaTeX标题的简单configuration(在\begin{document} ):

 \usepackage{listings} \usepackage{color} \definecolor{dkgreen}{rgb}{0,0.6,0} \definecolor{gray}{rgb}{0.5,0.5,0.5} \definecolor{mauve}{rgb}{0.58,0,0.82} \lstset{frame=tb, language=Java, aboveskip=3mm, belowskip=3mm, showstringspaces=false, columns=flexible, basicstyle={\small\ttfamily}, numbers=none, numberstyle=\tiny\color{gray}, keywordstyle=\color{blue}, commentstyle=\color{dkgreen}, stringstyle=\color{mauve}, breaklines=true, breakatwhitespace=true, tabsize=3 } 

您可以使用\lstset{language=Java}在文档中间更改默认语言。

文档中的使用示例:

 \begin{lstlisting} // Hello.java import javax.swing.JApplet; import java.awt.Graphics; public class Hello extends JApplet { public void paintComponent(Graphics g) { g.drawString("Hello, world!", 65, 95); } } \end{lstlisting} 

结果如下:

示例图像

你也可以使用逐字环境

 \begin{verbatim} your code example \end{verbatim} 

这是一个老问题,但我注意到没有人说如何添加内联代码。

您可以使用{\tt code }\texttt{ code }添加内联代码。 如果你想格式化内联代码,那么最好是制作你自己的命令

 \newcommand{\code}[1]{\texttt{#1}} 

另外请注意,代码块可以从其他文件加载

 \lstinputlisting[breaklines]{source.c} 

breaklines不是必需的,但是我觉得它很有用。 请注意,您必须为此指定\usepackage{ listing }

诸如依靠Pygments进行格式化的专用软件包,比listings软件包提供了各种优点。 引用minted手册,

与传统软件包相比,Pygments提供了远远优越的语法突出显示。 例如,列表基本上只突出显示string,评论和关键字。 另一方面,Pygments可以完全自定义,以突出显示源语言可能支持的任何令牌types。 这可能包括string内部的特殊格式化序列,数字,不同types的标识符以及诸如HTML标签之类的奇特结构。

使用铸造 。

这是一个使用强大的Pygments库在LaTeX中实现expression式语法突出显示的包。 该软件包还提供了使用fancyvrb自定义突出显示的源代码输出的选项 。

它比任何其他软件包都更加发展和定制。

使用Pygments !