






         Building the Linux Network Administrators Guide

                            Olaf Kirch




   1.  Introduction

   The  Network  Administrators' Guide (NAG) allows you to pro-
   duce a couple of different  output  formats  from  the  same
   source.  Currently,  the  main  supported  targets  are DVI,
   PostScript(TM), and GNU roff (using the mm  macro  package).
   You can select these different formats by invoking the Make-
   file with the appropriate target name.

   The NAG is intended to compile on as many TeX  platforms  as
   possible.   To fine-tune its behavior, you have to adapt the
   main configuration file, Config.tex.  The  options  you  can
   set in this file are described below.

   As  I'm not a LaTeX guru, and as there are quite a number of
   different LaTeX version around, compiling the NAG  may  fail
   on your system.  If this happens to you, I'd be glad to hear
   from you if and how you solved your problems,  and  incorpo-
   rate your fixes in a future release.



   2.  Different output formats

   The  NAG  can be compiled for three different output formats
   at the moment. These are

   DVI
      DVI is the generic LaTeX output format.  This  should  be
      relatively  painless  on  virtually  all  systems. But it
      isn't always, which is one of the reasons this  installa-
      tion guide is so long.

      To produce the DVI output, simply go to the source direc-
      tory and type

            make dvi

      This should produce the file nag.dvi as output.

      There's a minor caveat here: The NAG contains a couple of
      figures that were produced with the xfig drawing program,
      and converted to eepic for inclusion with  the  NAG.  You
      have  to have a working epic.sty and eepic.sty macro file
      for this. The source for the NAG contains these files  in
      the  styles/latex  directory.  If these fail to work with
      your TeX installation, but you have  a  working  pair  of


                               - 1 -





   Networking Guide 1.0                            Source Notes



      style  files  installed  on  your system, you may want to
      remove the included eepic style files.  You can also find
      a set of eepic style files in the transfig package.

      To  print the DVI version, you will need a printer driver
      that understands the \special  instrutions  generated  by
      the eepic package. The drivers from Nelson Beebe's driver
      package should do. The latest version of dvieps I've seen
      (0.6)  didn't have support for these \specials. If you do
      use dvieps, you might want to print the document with it,
      and  produce the pictures separately. One possible way to
      do this is to take the EPSF versions of  them  and  print
      them with ghostscript.

   PostScript
      To  generate PostScript output, the Makefile first builds
      a DVI version of the NAG, and converts it  to  PostScript
      afterwards  using  Tom  Rokicki's dvips program. You will
      want to use dvips; I tried dvitops, but  it  didn't  work
      out  for  me.  You  should  also  use a recent version of
      dvips, a version prior to 5.512 I had didn't  work  right
      for me.

      The  DVI  version generated for PostScript output is dif-
      ferent from the version built  when  doing  ordinary  DVI
      output,  as  it  uses  the  EPSF versions of the pictures
      instead.  The EPSF versions look  much  better  than  the
      eepic versions.

      Normally,   when  converting  DVI  to  PostScript,  dvips
      includes font images of all fonts used in the DVI file in
      the resulting PS file. This greatly increases the size of
      the resulting output file, and makes it dependent on  the
      resolution  of  the output device (300dpi by default). If
      you have a printer capable of PostScript, you may  choose
      to  have  the  output  file use the real PostScript fonts
      instead of the cmr fonts. The exact requirements for this
      are discussed in a later paragraph.

      To  build  the  PostScript  version, you go to the source
      directory and type the following command:

            make ps

      This should produce the file nag.ps as output.

   GNU roff
      This output format isn't exactly the greatest thing since
      sliced bread, but it's included for the sake of those who
      don't have the disk space for a  full  TeX  installation,
      and  don't  have  access to PostScript laser printers. It
      allows you to produce an ASCII-only  output  of  the  NAG
      that  doesn't look too bad. However, there are no figures
      in the roff version. Anyone with a faible for ASCII  arts


                               - 2 -





   Networking Guide 1.0                            Source Notes



      is  invited to try his or her hand on this. I will gladly
      include the results in a future release.

      The TeX source has been converted to GNU roff  using  the
      lotex utility I wrote. The output uses the GNU version of
      the mm macro set. To format the roff source, you have  to
      have groff version 1.08 or later. To create the roff out-
      put and format it, go to the source directory and type:

            make mm
            groff -t -mgm -Tlatin1 nag.mm | less

      There is also a Makefile target that generates an `ASCII'
      version;  this  is  basically  the formatted roff version
      piped through colcrt to get  rid  of  all  the  character
      sequences  used for highlighting and such. Note that some
      printers, like the HP  Deskjet,  will  happily  grok  the
      backspacing sequences generated by groff and produce real
      underlining and boldface text.


   3.  The Config.tex file

   The Config.tex allows you to set a couple  of  options  that
   fine-tune the compilation of the NAG.  You set these options
   by defining special LaTeX macros like \footrue,  which  sets
   the foo option, or \foofalse, which unsets it.

   At  the moment, the following are valid options (showing the
   default settings):

   \latexetrue
      If you run LaTeX2e, you must set  this  option  to  true.
      Otherwise,  latex  will  choke horribly when compilig the
      NAG. (Thanks go to Peter  Williams  for  adapting  linux-
      doc.sty for LaTeX2e).

      Be  warned  that setting this option may not be enough to
      make the NAG compile cleanly on your  LaTeX  setup.   The
      dreary details are discussed in a separate section below.

   \ltxbeta
      This is yet another option dealing with  LaTeX2e.   There
      are  points in which the latest release of LaTeX2e appar-
      ently  differs  from  the  Beta  version  that  has  been
      included  in  Slackware for quite some time. The \ltxbeta
      switch determines which of these  version  the  NAG  will
      attempt to take care of.

   \veryoldtexfalse
      If  you run a very old LaTeX installation, you should set
      this to true. It disables  a  macro  (\namedlabel)  which
      latex  refused to grok on an installation I once tried it
      on.  I'm not really familiar with LaTeX version  numbers,


                               - 3 -





   Networking Guide 1.0                            Source Notes



      but  I  guess  anything prior to 1992 qualifies as old in
      this context.

   \squeezefale
      Setting this option to true will reduce the size  of  the
      output  file from about 350 pages to 250 pages. The docu-
      ment's appearance will suffer a bit, but it saves you ink
      and paper.

   \psfontsfalse
      This  option tells latex whether to use PostScript or cmr
      font metrics whene generating  the  DVI  output  for  the
      PostScript  version.  This option has no effect when com-
      piling the NAG for DVI-only output. Again,  setting  this
      option may not be the only thing you have to do to get PS
      fonts. Please stay tuned...


   4.  Building the NAG with LaTeX2e

   There are a couple of things you should check before you can
   latex the Networking Guide with LaTeX2e:

      + In  some  versions  of LaTeX2e, report.cls (and several
        other cls files) have a bug in the  definition  of  the
        makeindex option. There's a line that reads

          \newcommand\see##1##2{...

        This should actually read

          \def\see##1##2{...
        Note that this problem is likely to be gone in the lat-
        est version of LaTeX2e.

      + If latex complains about  not  finding  the  ifthen.sty
        package,     you     have     to     go     to     your
        /usr/TeX/lib/texmf/tex/latex2e directory, and  run  the
        following command:

         latex l2eextra.ins

        This  unpacks  a  couple  of extra packages, among them
        ifthen.sty.  The script asks you a couple of  questions
        about fonts, which you can answer with yes (these ques-
        tions apply to a couple of other packages, like  cyril-
        lic fonts, which the NAG doesn't use:-)

      + To  use  PostScript fonts with LaTeX2e, you may have to
        unpack yet another package.  If building the NAG  fails
        with  error  messages about not finding psfonts.sty, or
        not finding fonts like OT1pcr, then you have to  go  to
        the /usr/TeX/lib/texmf/tex/nfss2 directory and execute



                               - 4 -





   Networking Guide 1.0                            Source Notes



         latex psfonts.ins
   As a conclusion, let me vent my personal opinion on LaTeX2e.
   Although the discussion above may give  you  the  impression
   that  LaTeX2e  is a load of crap and utterly broken, this is
   not true. After coming to terms with some of  the  new  fea-
   tures, I was very pleased how well-behaved it is.  The prob-
   lems I've encountered (and which you  will  prossibly  face,
   too)  actually  seem  to be problems of Slackware. Slackware
   used to come with a Beta-testing version,  which,  in  addi-
   tion,  didn't  have  all  crucial  files unpacked. I haven't
   checked Slackware 2.0, though, so your mileage may vary.


   5.  PostScript Fonts with LaTeX 2.09 or earlier

   To use Postscript fonts with  LaTeX  version  2.09  or  even
   older,  you  have  to  have two macro files from the psfonts
   package, being psfonts.sty and times.sty.  If you don't have
   them,  get  them from the latest release of Thomas Rokicki's
   dvips package.




































                               - 5 -


