[texhax] Simple line numbering for tabular environments

Reinhard Kotucha reinhard.kotucha at web.de
Wed Jul 18 23:14:10 CEST 2007


James Smith writes:

 > I have tried to create an enviroment for my more abstract code listings,
 > the ones that require assertions and maths bits. Here is what I have so
 > far:
 > 
 > \begin{tabular*}{\linewidth}
 > {l>{$}l<{$}>{$}l<{$}}
 > \hline\\
 > 1&\mathsf{process\_file}(*f:file)\{\\
 > 2&\quad l:string\\
 > 3&\quad l=\mathsf{read\_line}(f)\\
 > 4&\quad\mathsf{while}(l\neq\epsilon))\{\\
 > 5&\quad\quad l=\mathsf{read\_line}(f)\\
 > 6&\quad\}\\
 > 7&\}\\
 > \\
 > \hline
 > \end{tabular*}
 > 
 > I'm almost happy with this. I need the maths environment, for a start,
 > so I can't use any packages that offer line numbering but take away the
 > maths formatting. I have found, however, that constantly renumbering the
 > lines when I change the listings becomes tiresome, so can I automate
 > this process. I'd like to keep the tabular* environment if at all
 > possible. I've had a look at the lineno package, amognst others, but
 > find them daunting. Can anyone get me started? I don't need to wrap
 > these environments over more than one page or anything like that.

You can replace line numbers by a macro which uses a count register
and increases the value of the count register by one whenever it is
called.

Related LaTeX commands are \newcounter and \addtocounter.

However, obviously you are a programmer.  Isn't it easier to write a
little program which converts the code to something which can be read
by TeX?  Almost everything can be done in TeX/LaTeX but sometimes you
can save a lot of time with a little program written in your favorite
programming language which does the conversion.

You can include LaTeX code with \input{somefile.tex}.

Regards,
  Reinhard

-- 
----------------------------------------------------------------------------
Reinhard Kotucha			              Phone: +49-511-4592165
Marschnerstr. 25
D-30167 Hannover	                      mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------



More information about the texhax mailing list