lgrind man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

lgrind(1)							     lgrind(1)

NAME
       lgrind - grind nice program listings using LaTeX

NOTE
       This  man page is not yet much outdated, but might be soon except some‐
       body asks me to work on it. Consider the LaTeX docs the real docs.

SYNOPSIS
       lgrind [ -e ] [ -i ] [ - ] [ -n ] [ -c ] [ -t <width> ] [ -h <header> ]
       [ -d <description file> ] [ -l<language> ] [ -s ] <name> ...

DESCRIPTION
       LGrind  formats	program	 sources in a nice style using LaTeX(1).  Com‐
       ments are placed in roman, keywords in bold face, variables in italics,
       and  strings in typewriter font. Source file line numbers appear in the
       right margin (every 10 lines).

       LGrind processes its input file(s) and writes the  result  to  standard
       output.	 This  output  can be saved for later editting, inclusion in a
       larger document, etc.

       The options are:

       -e     process a LaTeX file for embedded code.

       -i     process source code file for inclusion in a LaTeX document.

       -      take input from standard input.

       -n     don't boldface keywords.

       -c     don't treat @, etc. specially in comments.

       -t     change tab width (default 8).

       -h     specifies text to go into the header.

       -d     specifies	  the	language   definitions	 file	(default    is
	      /usr/lib/texmf/tex/latex/lgrind/lgrindef).

       -d!    same as above, but write patched executable.

       -l     specifies the language to use.

       -s     shows a list of currently known languages.

       If  LGrind  is  called without parameters, a help screen will be shown.
       If neither -e nor -i are specified, a complete LaTeX file is  produced.
       When  no	 language  is specified, LGrind tries to find out the language
       used itself; C is used when this fails.

USAGE
       For example, to include a C file named foo.c into your LaTeX  document,
       first give the command:

	   lgrind -i -lc foo.c > foo.tex

       This  will generate foo.tex, which will have the pretty-printed version
       of foo.c with a lot of LaTeX commands.

       Then include lgrind.sty as you include any other style, namely with the
       \usepackage{lgrind}  line at the beginning of your LaTeX document. Hav‐
       ing done this, within the document you can include foo.tex using one of
       the following commands:

       \lgrindfile{foo.tex}
	      which  will  simply  include the file at that point of text, and
	      will draw horizontal lines before and after the listing.

       \lagrind[htbp]{foo.tex}{caption}{label}
	      which will put the listing also  within  a  figure  environment,
	      using the float options, caption and label you gave.

       To produce a standalone LaTeX file from, say, a Yacc file:

	   lgrind -ly bary.y > bary.tex
	      This  uses  Piet	van Oostrum's fancyhdr.sty to make the headers
	      and footers.

       For  a  more  detailed  explanation  of	these	commands,   refer   to
       /usr/TeX/texmf/doc/latex/lgrind.dvi.

EMBEDDED PROGRAMS WITHIN A LaTeX FILE
       (From Jerry Leichter's notes.)

       Within  the text of your LaTeX file, you mark groups of lines as either
       text- or display-style program code:

       Text style:

	   The expression
	   %(
	   a + 3
	   %)
	   produces 10.
       prints something like:  "The expression a + 3 produces 10."  (with "a +
       3" set as a program.)

       The same effect can be achieved with inline @'s.

	   The expression @a + 3@ produces 10.

       Display style:

	   The statement
	   %[
	   a += 3;
	   %]
	   is an example of an incrementing operator.
       prints something like:

	   The statement
		 a += 3;
	   is an example of an incrementing operator.

       Important rules:

	      %	 and  the following character must be the first two characters
	      on the line to be recognized.

	      Put nothing on the line after the % and the key  character.   If
	      you do that, LGrind will provide a default environment that will
	      produce an \hbox for %( )%, and a \vbox for %[ - %].  If you put
	      stuff on the line, LGrind assumes you want to control the format
	      completely.  Doing this requires understanding exactly what  the
	      code LGrind produces is doing. (Sometimes I'm not sure I do!)

	      %)  and %] are, if I remember right, simply ignored outside of a
	      code group, but any extra %( or %[  produces  a  warning,	 so  a
	      missing %) or %] is usually caught.

       You  can	 insert	 your own code by using a line starting with %= in the
       program text.  Whatever you enter after that is	left  in  the  output,
       exactly as you typed it.	 It will be executed in a strange environment,
       so doing anything fancy is very tricky.	A macro, \Line, is provided to
       help you do simple things.  For example,

       %[
       %=\Line{________\vdots}
	       a = 1;
       %]
       produces:

	       .
	       .
	       .
	       a = 1;

       (Within	the  program  text,  _	is active and expands to a fixed-width
       space.  A whole bunch of macros are also defined.   If  you  understand
       how LGrind sets lines up, you can replace the 8 _'s with a call to \Tab
       — but I'll let you hang yourself on that one.)

       The output of LGrind always contains exactly one output line  for  each
       input  line.  Hence, you can look up line numbers in TeX error messages
       in your original file, rather than in the  lgrind'ed  (lground?)	 file.
       (Of course, if the problem is in the LGrind output....)

       Many  things  are  controllable by re-defining various macros.  You can
       change what fonts LGrind will use for various kinds of things, how much
       it  indents the output, whether it adds line numbers, and if so at what
       interval it prints them and whether it  sticks  them  on	 the  left  or
       right,  and  so	on.  This stuff is all described in lgrind.dvi, though
       probably not very well. The default settings produce output that	 looks
       reasonable  to  me,  though I can't say I'm ecstatic about it.  Doing a
       really good job would require defining some special fonts.

FILES
       /usr/bin/lgrind
	      Executable

       /usr/doc/lgrind/lgrind.dvi
	      Documentation

       /usr/lib/texmf/tex/latex/lgrind/lgrind.sty
	      LaTeX style file

       /usr/lib/texmf/tex/latex/lgrind/lgrindef
	      Language descriptions

AUTHORS
       Van Jacobson, Lawrence Berkeley Laboratory (based on "vgrind"  by  Dave
       Presotto & William Joy of UC Berkeley), wrote it for TeX.

       Jerry Leichter of Yale University modified it for LaTeX.

       George  V. Reilly of Brown University changed the name to lgrind, fixed
       up  the	man  page,  and	 added	the  program-text-within-comments  and
       @-within-LaTeX features.

       Michael	Piefel of Humboldt-University Berlin adapted it to LaTeX2e and
       wrote decent documentation.

SEE ALSO
       latex(1), tex(1), vgrind(1), lgrindef(5)

TeX/LaTeX			  25 May 1999			     lgrind(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net