我知道这个listings
包,但是它似乎不能放在我想要的位置(h
浮动位置)。
而且由于我可能只想插入一行代码,我真的希望它在我放置它的位置,有什么好方法吗?
答案1
选项 1:使用listings
包
LaTeX 标头的简单配置(之前\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}
结果如下:
选项 2:使用verbatim
环境
\begin{verbatim}
your
code
example
\end{verbatim}
答案2
该numberedblock
包旨在展示简短的代码块。从包的使用示例来看:
\documentclass[10pt]{article}
\usepackage{numberedblock}
\begin{document}
\parindent 0.3in
%\setlength\maxblocklabelsize{-.4in}
\setlength\blockindent{0.0in}
This is a test of the \textsf{numberedblock} style packcage, which is
specially designed to produce sequentially numbered BLOCKS of code (note
the individual code lines are not numbered, but the whole block gets a
single number, for later reference (much in the same way that equations
can get numbered in a document). While specialized for numbering code
blocks, the commands can actually number other items, as well, in fact
anything that fits in a \LaTeX{} box.
If the code block contains no special characters, one can simply use the
command form, called \verb,\numblock,. It cannot handle verbatim text,
but must use standard \LaTeX{} escape sequences (for line breaks,
contiguous spaces, special characters, etc.). It puts the output in a
tt font , which is the same used in the verbatim environment:
\numblock{This text is the\\argument to the command\\where double
slashes have been\\used for line breaks}
Most useful, however, there is also the \verb,numVblock, environment,
which handles verbatim text, as seen in the next example:
\begin{numVblock}
This is the numVblock
environment, which (<--see contiguous spaces here)
succeeds in
incorporating verbatim text like
@##$%*$%$()||}{?><\\ \end{numVblock}
As envisioned the \verb,numVblock, environment would be ideally suited
for displaying small code blocks as part of documentation. The code can
contain contiguous spaces and special characters:
\begin{numVblock}
program test
implicit none
integer a, x
c$$$$$$$$$$$$$$$$$$$$$$$$$
a = 0
x = 1
10 a = a + x
if (a .eq. 100) stop
goto 10
end
\end{numVblock}
Below, I test the \verb,\numblock, command with the argument as a
box, rather than as formatted text.
\numblock{\fbox{Testing, 1,2,3 testing a box}}
Don't forget, there are settable parameters to define the block
left-indent, the format of the label, and (if needed) the labels' max
width/placement.
\end{document}