1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
\documentclass[10pt]{article}
\usepackage{numberedblock}
\textheight 7.7in
\begin{document}
%DEFAULTS:
%\setlength\maxblocklabelsize{-.4in}
%\setlength\blockindent{0.2in}
%\renewcommand\blocklabel[1]{[\textit{\arabic{#1}}]}
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
(or is already a box), 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 as used in the verbatim environment:
\numblock{This text is the\\argument to the command\\where double
slashes have been\\used for line breaks\nblabel{nb:A}}
Most useful, however, there is also the \verb,numVblock, environment,
which handles verbatim text, as seen in the next example:
\begin{numVblock}[\nbVlabel{nb:B}]
This is a labeled 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, and I can
{\bfseries (NEW!!)} even reference
the numbered blocks~\ref{nb:A} and \ref{nb:B}. 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}
|