
Ich weiß über das listings
Paket Bescheid, aber es scheint, dass es nicht dort platziert werden kann, wo ich es haben möchte ( h
im Float).
Und da ich vielleicht nur genau eine Codezeile einfügen möchte, möchte ich, dass sie wirklich dort steht, wo ich sie eingefügt habe. Gibt es eine gute Möglichkeit?
Antwort1
Option 1: Verwenden Sie das listings
Paket
Einfache Konfiguration für LaTeX-Header (vorher \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
}
Sie können die Standardsprache mit in der Mitte des Dokuments ändern \lstset{language=Java}
.
Anwendungsbeispiel im Dokument:
\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}
Hier ist das Ergebnis:
Option 2: Nutzen Sie die verbatim
Umgebung
\begin{verbatim}
your
code
example
\end{verbatim}
Antwort2
Das numberedblock
Paket ist für die Darstellung kurzer Codeblöcke gedacht. Aus dem Anwendungsbeispiel des Pakets:
\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}