如何在LaTeX文档中插入代码?比如:
\begin{code}## Heading ##
...
\end{code}
我唯一真正需要的是缩进和固定宽度的字体。语法高亮显示可能很好,尽管它绝对不是必需的。
如何在LaTeX文档中插入代码?比如:
\begin{code}## Heading ##
...
\end{code}
我唯一真正需要的是缩进和固定宽度的字体。语法高亮显示可能很好,尽管它绝对不是必需的。
当前回答
下面是如何添加内联代码:
您可以使用{\tt code}或\texttt{code}添加内联代码。如果您想格式化内联代码,那么最好创建自己的命令
\newcommand{\code}[1]{\texttt{#1}}
另外,请注意,代码块可以从其他文件中加载
\lstinputlisting[breaklines]{source.c}
折线不是必需的,但我发现它很有用。注意,您必须为此指定\usepackage{listings}。
更新:清单包还包括\lstinline命令,该命令具有与\lstlisting和\lstinputlisting命令相同的语法高亮显示功能(有关配置细节,请参阅Cloudanger的回答)。正如在其他一些回答中提到的,还有一个minted包,它提供了\mintinline命令。像\lstinline一样,\mintinline提供了与常规铸造代码块相同的语法高亮显示:
\documentclass{article}
\usepackage{minted}
\begin{document}
This is a sentence with \mintinline{python}{def inlineCode(a="ipsum)}
\end{document}
其他回答
下面是如何添加内联代码:
您可以使用{\tt code}或\texttt{code}添加内联代码。如果您想格式化内联代码,那么最好创建自己的命令
\newcommand{\code}[1]{\texttt{#1}}
另外,请注意,代码块可以从其他文件中加载
\lstinputlisting[breaklines]{source.c}
折线不是必需的,但我发现它很有用。注意,您必须为此指定\usepackage{listings}。
更新:清单包还包括\lstinline命令,该命令具有与\lstlisting和\lstinputlisting命令相同的语法高亮显示功能(有关配置细节,请参阅Cloudanger的回答)。正如在其他一些回答中提到的,还有一个minted包,它提供了\mintinline命令。像\lstinline一样,\mintinline提供了与常规铸造代码块相同的语法高亮显示:
\documentclass{article}
\usepackage{minted}
\begin{document}
This is a sentence with \mintinline{python}{def inlineCode(a="ipsum)}
\end{document}
使用清单包。
乳胶头的简单配置(在\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}
使用pyggies !
与清单包相比,mint等专门的包提供了各种优势,它依赖于pyments来进行格式化。引用铸造手册的话,
与传统的包相比,pyptions提供了更优越的语法高亮显示。例如,清单基本上只突出显示字符串、注释和关键字。另一方面,pyptions可以完全自定义,以突出显示源语言可能支持的任何令牌类型。这可能包括字符串、数字、不同类型的标识符和特殊结构(如HTML标记)中的特殊格式序列。