summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/numberedblock/testnumberedblock.tex
blob: 0e66a6a2628f9041f6eede13c3a07b824adaab65 (plain)
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}