1GROFFER(1)                  General Commands Manual                 GROFFER(1)
2
3
4

NAME

6       groffer - display groff files and man pages on X and tty
7

SYNOPSIS

9       groffer [option ...]  [--] [filespec ...]
10
11       groffer -h|--help
12
13       groffer -v|--version
14

DESCRIPTION

16       The groffer program is the easiest way to use groff(1).  It can display
17       arbitrary documents written in the groff  language,  see  groff(7),  or
18       other  roff languages, see roff(7), that are compatible to the original
19       troff language.  It finds and runs all necessary  groff  preprocessors,
20       such as chem.
21
22       The  groffer program also includes many of the features for finding and
23       displaying the Unix manual pages (man pages), such that it can be  used
24       as a replacement for a man(1) program.  Moreover, compressed files that
25       can be handled by gzip(1) or bzip2(1) are decompressed on-the-fly.
26
27       The normal usage is quite simple by supplying a file name or name of  a
28       man  page  without  further  options.  But the option handling has many
29       possibilities for creating special behaviors.  This can be done  either
30       in   configuration   files,   with   the   shell  environment  variable
31       $GROFFER_OPT, or on the command line.
32
33       The output can be generated and viewed in several different ways avail‐
34       able  for  groff.   This  includes  the  groff  native  X Window viewer
35       gxditview(1), each Postcript, pdf, or dvi display program, a web brows‐
36       er by generating html in www mode, or several text modes in text termi‐
37       nals.
38
39       Most of the options that must be named when running groff directly  are
40       determined  automatically for groffer, due to the internal usage of the
41       grog(1) program.  But all parts can also be controlled manually by  ar‐
42       guments.
43
44       Several  file  names  can  be  specified on the command line arguments.
45       They are transformed into a single document in the normal way of groff.
46
47       Option handling is done in GNU style.  Options and file  names  can  be
48       mixed  freely.  The option `--' closes the option handling, all follow‐
49       ing arguments are treated as file names.  Long options can be  abbrevi‐
50       ated in several ways.
51

OPTION OVERVIEW

53       breaking options
54
55               [-h~| --help] [-v~| --version]
56
57       groffer mode options
58
59               [--auto] [--default] [--default-modes mode1,mode2,...]  [--dvi]
60               [--dvi-viewer prog] [--groff] [--html] [--html-viewer prog]
61               [--mode display_mode] [--pdf] [--pdf-viewer prog] [--ps]
62               [--ps-viewer prog] [--source] [--text] [--to-stdout] [--tty]
63               [--tty-viewer prog] [--www] [--www-viewer prog] [--x --X]
64               [--x-viewer --X-viewer]
65
66       options related to groff
67
68              [-T~| --device device] [-Z~| --intermediate-output~| --ditroff]
69
70              All further groff short options are accepted.
71
72       options for man pages
73
74        [--apropos] [--apropos-data] [--apropos-devel] [--apropos-progs]
75        [--man] [--no-man] [--no-special] [--whatis]
76
77       long options taken over from GNU man
78
79         [--all] [--ascii] [--ditroff] [--extension suffix]
80         [--locale language] [--local-file] [--location~| --where]
81         [--manpath dir1:dir2:...]  [--no-location] [--pager program]
82         [--sections sec1:sec2:...]  [--systems sys1,sys2,...]  [--troff-
83         device device]
84
85        Further long options of GNU man are accepted as well.
86
87       X Window Toolkit options
88
89         [--bd~| --bordercolor pixels] [--bg~| --background color]
90         [--bw~| --borderwidth pixels] [--display X-display]
91         [--fg~| --foreground color] [--fn~| --ft~| --font font_name]
92         [--geometry size_pos] [--resolution value] [--rv] [--title string]
93         [--xrm X-resource]
94
95       options for development
96
97         [--debug] [--debug-filenames] [--debug-grog] [--debug-keep]
98         [--debug-params] [--debug-tmpdir] [--do-nothing] [--print text] [-V]
99
100       filespec arguments
101
102        The filespec parameters are all arguments that are neither  an  option
103        nor  an  option argument.  They usually mean a file name or a man page
104        searching scheme.
105
106        In the following, the term section_extension is used.  It means a word
107        that  consists  of  a  man  section  that is optionally followed by an
108        extension.  The name of a man  section  is  a  single  character  from
109        [1-9on], the extension is some word.  The extension is mostly lacking.
110
111        No filespec parameters means standard input.
112
113        -         stands for standard input (can occur several times).
114
115        filename  the path name of an existing file.
116
117        man:name(section_extension)
118        man:name.section_extension
119        name(section_extension)
120        name.section_extension
121        section_extension name
122                  search the man page name in the section with optional exten‐
123                  sion section_extension.
124
125        man:name  man page in the lowest man section that has name.
126
127        name      if name is not an existing file search for the man page name
128                  in the lowest man section.
129

OPTION DETAILS

131       The  groffer program can usually be run with very few options.  But for
132       special purposes, it supports many options.  These can be classified in
133       5 option classes.
134
135       All  short  options of groffer are compatible with the short options of
136       groff(1).  All long options of groffer are  compatible  with  the  long
137       options of man(1).
138
139       Arguments  for  long  option  names can be abbreviated in several ways.
140       First, the argument is checked whether it can be prolonged as is.  Fur‐
141       thermore, each minus sign - is considered as a starting point for a new
142       abbreviation.  This leads to a set of multiple abbreviations for a sin‐
143       gle argument.  For example, --de-n-f can be used as an abbreviation for
144       --debug-not-func, but --de-n works as well.  If the abbreviation of the
145       argument leads to several resulting options an error is raised.
146
147       These  abbreviations  are  only  allowed  in  the  environment variable
148       $GROFFER_OPT, but not in the configuration  files.   In  configuration,
149       all long options must be exact.
150
151   groffer breaking Options
152       As soon as one of these options is found on the command line it is exe‐
153       cuted, printed to standard output, and the running groffer is terminat‐
154       ed thereafter.  All other arguments are ignored.
155
156       [-h|--help]
157              Print  a  helping information with a short explanation of option
158              sto standard output.
159
160       [-v--version]
161              Print version information to standard output.
162
163   groffer Mode Options
164       The display mode and the viewer programs are determined  by  these  op‐
165       tions.   If  none of these mode and viewer options is specified groffer
166       tries to find a suitable display mode automatically.  The default modes
167       are mode pdf, mode ps, mode html, mode x, and mode dvi in X Window with
168       different viewers and mode tty with device latin1 under less on a  ter‐
169       minal; other modes are tested if the programs for the main default mode
170       do not exist.
171
172       In X Window,  many  programs  create  their  own  window  when  called.
173       groffer  can  run  these viewers as an independent program in the back‐
174       ground.  As this does not work in text mode on a terminal  (tty)  there
175       must  be  a  way to know which viewers are X Window graphical programs.
176       The groffer script has a small set of information on some viewer names.
177       If  a  viewer  argument  of the command-line chooses an element that is
178       kept as X Window program in this list it is treated as  a  viewer  that
179       can run in the background.  All other, unknown viewer calls are not run
180       in the background.
181
182       For each mode, you are free to choose whatever viewer you  want.   That
183       need  not  be some graphical viewer suitable for this mode.  There is a
184       chance to view the output source; for example, the combination  of  the
185       options  --mode=ps  and --ps-viewer=less shows the content of the Post‐
186       script output, the source code, with the pager less.
187
188       --auto Equivalent to --mode=auto.
189
190       --default
191              Reset all configuration from previously processed  command  line
192              options  to  the default values.  This is useful to wipe out all
193              former  options  of  the  configuration,  in  $GROFFER_OPT,  and
194              restart  option  processing  using  only the rest of the command
195              line.
196
197       --default-modes mode1,mode2,...
198              Set the sequence of modes for auto mode to the  comma  separated
199              list  given  in  the argument.  See --mode for details on modes.
200              Display in the default manner; actually, this means to  try  the
201              modes x, ps, and tty in this sequence.
202
203       --dvi  Equivalent to --mode=dvi.
204
205       --dvi-viewer prog
206              Choose  a  viewer program for dvi mode.  This can be a file name
207              or a program to be searched in $PATH.  Known X Window dvi  view‐
208              ers  include xdvi(1) and dvilx(1) In each case, arguments can be
209              provided additionally.
210
211       --groff
212              Equivalent to --mode=groff.
213
214       --html Equivalent to --mode=html.
215
216       --html-viewer
217              Choose a web browser program for viewing in html mode.   It  can
218              be  the  path  name of an executable file or a program in $PATH.
219              In each case, arguments can be provided additionally.
220
221       --modevalue
222              Set the display mode.  The following mode values are recognized:
223
224              auto   Select the automatic determination of the  display  mode.
225                     The  sequence of modes that are tried can be set with the
226                     --default-modes  option.   Useful   for   restoring   the
227                     default mode when a different mode was specified before.
228
229              dvi    Display  formatted input in a dvi viewer program.  By de‐
230                     fault, the formatted input is displayed with the  xdvi(1)
231                     program.  --dvi.
232
233              groff  After  the  file determination, switch groffer to process
234                     the input like groff(1)  would  do.   This  disables  the
235                     groffer viewing features.
236
237              html   Translate  the input into html format and display the re‐
238                     sult in a web browser program.  By default, the existence
239                     of  a sequence of standard web browsers is tested, start‐
240                     ing with konqueror(1)  and  mozilla(1).   The  text  html
241                     viewer is lynx(1).
242
243              pdf    Display  formatted input in a PDF (Portable Document For‐
244                     mat) viewer program.  By default, the input is  formatted
245                     by  groff  using the Postscript device, then it is trans‐
246                     formed  into  the  PDF  file  format  using   gs(1),   or
247                     ps2pdf(1).   If  that's not possible, the Postscript mode
248                     (ps) is used instead.  Finally it is displayed using dif‐
249                     ferent  viewer programs.  pdf has a big advantage because
250                     the text is displayed graphically and  is  searchable  as
251                     well.
252
253              ps     Display  formatted  input in a Postscript viewer program.
254                     By default, the formatted input is displayed  in  one  of
255                     many viewer programs.
256
257              text   Format in a groff text mode and write the result to stan‐
258                     dard output without a pager or viewer program.  The  text
259                     device, latin1 by default, can be chosen with option -T.
260
261              tty    Format in a groff text mode and write the result to stan‐
262                     dard output using a text  pager  program,  even  when  in
263                     X Window.
264
265              www    Equivalent to --mode=html.
266
267              x      Display  the formatted input in a native roff viewer.  By
268                     default,  the  formatted  input  is  displayed  with  the
269                     gxditview(1)  program  being  distributed  together  with
270                     groff.  But the standard X Window  tool  xditview(1)  can
271                     also  be chosen with the option --x-viewer .  The default
272                     resolution is 75 dpi, but 100 dpi are also possible.  The
273                     default  groff  device  for  the  resolution of 75 dpi is
274                     X75-12, for 100 dpi it is X100.  The corresponding  groff
275                     intermediate  output  for  the actual device is generated
276                     and  the  result  is  displayed.   For  a  resolution  of
277                     100 dpi, the default width of the geometry of the display
278                     program is chosen to 850 dpi.
279
280              X      Equivalent to --mode=x.
281
282              The following modes do not use  the  groffer  viewing  features.
283              They are only interesting for advanced applications.
284
285              groff  Generate device output with plain groff without using the
286                     special viewing features of groffer.  If  no  device  was
287                     specified by option -T the groff default ps is assumed.
288
289              source Output  the  roff  source code of the input files without
290                     further processing.
291
292       --pdf  Equivalent to --mode=pdf.
293
294       --pdf-viewer prog
295              Choose a viewer program for pdf mode.  This can be a  file  name
296              or  a program to be searched in $PATH; arguments can be provided
297              additionally.
298
299       --ps   Equivalent to --mode=ps.
300
301       --ps-viewer prog
302              Choose a viewer program for ps mode.  This can be a file name or
303              a  program  to  be searched in $PATH.  Common Postscript viewers
304              inlude gv(1), ghostview(1), and gs(1), In each  case,  arguments
305              can be provided additionally.
306
307       --source
308              Equivalent --mode=source.
309
310       --text Equivalent to --mode=text.
311
312       --to-stdout
313              The  file  for  the  chosen mode is generated and its content is
314              printed to standard output.  It will not be displayed in graphi‐
315              cal mode.
316
317       --tty  Equivalent to --mode=tty.
318
319       --tty-viewer prog
320              Choose  a  text  pager  for  mode  tty.   The  standard pager is
321              less(1).  This option is eqivalent to man  option  --pager=prog.
322              The  option  argument  can  be  a  file  name or a program to be
323              searched in $PATH; arguments can be provided additionally.
324
325       --www  Equivalent to --mode=html.
326
327       --www-viewer prog
328              Equivalent to --html-viewer .
329
330       --X~| --x
331              Equivalent to --mode=x.
332
333       --X-viewer -- x-viewer prog
334              Choose a viewer program for x mode.   Suitable  viewer  programs
335              are  gxditview(1) which is the default and xditview(1).  The ar‐
336              gument can be any executable file or a program in  $PATH;  argu‐
337              ments can be provided additionally.
338
339       --     Signals  the  end  of option processing; all remaining arguments
340              are interpreted as filespec parameters.
341
342       Besides these, groffer accepts all short options that are valid for the
343       groff(1) program.  All non-groffer options are sent unmodified via grog
344       to groff.  So postprocessors, macro packages, compatibility with  clas‐
345       sical troff, and much more can be manually specified.
346
347   Options related to groff
348       All  short  options of groffer are compatible with the short options of
349       groff(1).  The following of groff options  have  either  an  additional
350       special meaning within groffer or make sense for normal usage.
351
352       Because  of  the  special  outputting  behavior  of the groff option -Z
353       groffer was designed to be switched into groff mode ; the groffer view‐
354       ing features are disabled there.  The other groff options do not switch
355       the mode, but allow to customize the formatting process.
356
357       --a    This  generates  an  ascii  approximation  of  output   in   the
358              text  modes.   That  could  be important when the text pager has
359              problems with control sequences in tty mode.
360
361       --mfile
362              Add file as a groff macro file.  This is useful in case it  can‐
363              not be recognized automatically.
364
365       --Popt_or_arg
366              Send  the argument opt_or_arg as an option or option argument to
367              the actual groff postprocessor.
368
369       --T devname ~|  --device devname
370              This option determines groff's output device.  The  most  impor‐
371              tant  devices  are  the text output devices for referring to the
372              different character sets, such as ascii, utf8, latin1, and  oth‐
373              ers.   Each of these arguments switches groffer into a text mode
374              using this device, to mode tty if  the  actual  mode  is  not  a
375              text  mode.   The  following devname arguments are mapped to the
376              corresponding groffer --mode=devname option: dvi, html, and  ps.
377              All X* arguments are mapped to mode x.  Each other devname argu‐
378              ment switches to mode groff using this device.
379
380       --X    is equivalent to groff -X.  It displays the  groff  intermediate
381              output  with  gxditview.   As the quality is relatively bad this
382              option is deprecated; use --X instead because the x mode uses an
383              X* device for a better display.
384
385       -Z~| --intermediate-output~| --ditroff
386              Switch  into  groff mode and format the input with the groff in‐
387              termediate  output  without  postprocessing;  see  groff_out(5).
388              This is equivalent to option --ditroff of man, which can be used
389              as well.
390
391       All other groff options are supported by groffer,  but  they  are  just
392       transparently  transferred  to groff without any intervention.  The op‐
393       tions that are not explicitly  handled  by  groffer  are  transparently
394       passed to groff.  Therefore these transparent options are not document‐
395       ed here, but in groff(1).  Due to the automatism in  groffer,  none  of
396       these groff options should be needed, except for advanced usage.
397
398   Options for man pages
399       --apropos
400              Start the apropos(1) command or facility of man(1) for searching
401              the filespec arguments within all man page  descriptions.   Each
402              filespec argument is taken for search as it is; section specific
403              parts are not handled, such that 7 groff searches  for  the  two
404              arguments  7  and  groff,  with a large result; for the filespec
405              groff.7 nothing will be found.  The language locale  is  handled
406              only  when  the called programs do support this; the GNU apropos
407              and man -k do not.  The display differs from the apropos program
408              by the following concepts:
409
410              · Construct a groff frame similar to a man page to the output of
411                apropos,
412
413              · each filespec argument is searched on its own.
414
415              · The restriction by --sections is handled as well,
416
417              · wildcard characters are allowed and handled without a  further
418                option.
419
420       --apropos-data
421              Show only the apropos descriptions for data documents, these are
422              the man(7) sections 4, 5, and 7.   Direct  section  declarations
423              are ignored, wildcards are accepted.
424
425       --apropos-devel
426              Show  only  the  apropos descriptions for development documents,
427              these are the man(7) sections 2, 3, and 9.  Direct section  dec‐
428              larations are ignored, wildcards are accepted.
429
430       --apropos-progs
431              Show  only  the  apropos descriptions for documents on programs,
432              these are the man(7) sections 1, 6, and 8.  Direct section  dec‐
433              larations are ignored, wildcards are accepted.
434
435       --whatis
436              For  each  filespec  argument  search  all man pages and display
437              their description — or say that it is not a man page.   This  is
438              written from anew, so it differs from man's whatis output by the
439              following concepts
440
441              · each retrieved file name is added,
442
443              · local files are handled as well,
444
445              · the language and system locale is supported,
446
447              · the display is framed by a groff output format  similar  to  a
448                man page,
449
450              · wildcard characters are allowed without a further option.
451
452       The  following  options  were added to groffer for choosing whether the
453       file name arguments are interpreted as names for local files  or  as  a
454       search  pattern  for  man  pages.   The default is looking up for local
455       files.
456
457       --man  Check the non-option command line arguments (filespecs) first on
458              being  man  pages, then whether they represent an existing file.
459              By default, a filespec is first tested whether it is an existing
460              file.
461
462       --no-man~| --local-file
463              Do  not  check for man pages.  --local-file is the corresponding
464              man option.
465
466       --no-special
467              Disable former calls of --all , --apropos* , and --whatis .
468
469   Long options taken over from GNU man
470       The long options of groffer were synchronized with the long options  of
471       GNU  man.   All  long options of GNU man are recognized, but not all of
472       these options are important to groffer, so most of them  are  just  ig‐
473       nored.  These ignored man options are --catman , --troff , and --update
474       .
475
476       In the following, the man options  that  have  a  special  meaning  for
477       groffer are documented.
478
479       If your system has GNU man installed the full set of long and short op‐
480       tions of the GNU man program can be passed via the environment variable
481       $MANOPT; see man(1).
482
483       --all  In  searching man pages, retrieve all suitable documents instead
484              of only one.
485
486       -7--ascii
487              In text modes, display ASCII translation of  special  characters
488              for  critical  environment.   This  is  equivalent to groff -mt‐
489              ty_char; see groff_tmac(5).
490
491       --ditroff
492              Produce  groff  intermediate  output.   This  is  equivalent  to
493              groffer -Z .
494
495       --extensionsuffix
496              Restrict man page search to file names that have suffix appended
497              to their  section  element.   For  example,  in  the  file  name
498              /usr/share/man/man3/terminfo.3ncurses.gz  the man page extension
499              is ncurses.
500
501       --localelanguage
502              Set the language for man pages.  This has the same  effect,  but
503              overwrites $LANG
504
505       --location
506              Print the location of the retrieved files to standard error.
507
508       --no-location
509              Do  not  display  the location of retrieved files; this resets a
510              former call to --location .  This was added by groffer.
511
512       --manpath'dir1:dir2:...'
513              Use the specified search path for retrieving man  pages  instead
514              of  the  program  defaults.  If the argument is set to the empty
515              string "" the search for man page is disabled.
516
517       --pager
518              Set the pager program in tty mode; default  is  less.   This  is
519              equivalent to --tty-viewer .
520
521       --sections'sec1:sec2:...'
522              Restrict searching for man pages to the given sections, a colon-
523              separated list.
524
525       --systems'sys1,sys2,...'
526              Search for man pages for the given operating systems; the  argu‐
527              ment systems is a comma-separated list.
528
529       --where
530              Eqivalent to --location .
531
532   X Window Toolkit Options
533       The   following  long  options  were  adapted  from  the  corresponding
534       X Window Toolkit options.  groffer will pass them to the actual  viewer
535       program  if it is an X Window program.  Otherwise these options are ig‐
536       nored.
537
538       Unfortunately these options use the old style of  a  single  minus  for
539       long  options.  For groffer that was changed to the standard with using
540       a double minus for long options, for example, groffer uses  the  option
541       --font for the X Window option -font .
542
543       See X(7) and the documentation on the X Window Toolkit options for more
544       details on these options and their arguments.
545
546       --backgroundcolor
547              Set the background color of the viewer window.
548
549       --bdpixels
550              This is equivalent to --bordercolor .
551
552       --bgcolor
553              This is equivalent to --background .
554
555       --bw pixels
556              This is equivalent to --borderwidth .
557
558       --bordercolorpixels
559              Specifies the color of the border surrounding the viewer window.
560
561       --borderwidthpixels
562              Specifies the width in pixels  of  the  border  surrounding  the
563              viewer window.
564
565       --displayX-display
566              Set  the  X  Window display on which the viewer program shall be
567              started, see the X Window documentation for the  syntax  of  the
568              argument.
569
570       --foregroundcolor
571              Set the foreground color of the viewer window.
572
573       --fgcolor
574              This is equivalent to -foreground .
575
576       --fn font_name
577              This is equivalent to --font .
578
579       --fontfont_name
580              Set  the  font  used  by  the viewer window.  The argument is an
581              X Window font name.
582
583       --ftfont_name
584              This is equivalent to --font .
585
586       --geometrysize_pos
587              Set the geometry of the display window, that means its size  and
588              its starting position.  See X(7) for the syntax of the argument.
589
590       --resolutionvalue
591              Set  X  Window  resolution in dpi (dots per inch) in some viewer
592              programs.  The only supported dpi values are 75 and 100.   Actu‐
593              ally,  the default resolution for groffer is set to 75 dpi.  The
594              resolution also sets the default device in mode x.
595
596       --rv   Reverse foreground and background color of the viewer window.
597
598       --title'some text'
599              Set the title for the viewer window.
600
601       --xrm'resource'
602              Set X Window resource.
603
604   Options for Development
605       --debug
606              Enable all debugging options --debug-type .  The temporary files
607              are  kept  and not deleted, the grog output is printed, the name
608              of the temporary directory is printed, the displayed file  names
609              are printed, and the parameters are printed.
610
611       --debug-filenames
612              Print the names of the files and man pages that are displayed by
613              groffer.
614
615       --debug-grog
616              Print the output of all grog commands.
617
618       --debug-keep
619              Enable two debugging informations.  Print the name of the tempo‐
620              rary  directory and keep the temporary files, do not delete them
621              during the run of groffer.
622
623       --debug-params
624              Print the parameters, as obtained from the configuration  files,
625              from GROFFER_OPT, and the command line arguments.
626
627       --debug-tmpdir
628              Print the name of the temporary directory.
629
630       --do-nothing
631              This  is  like  --version , but without the output; no viewer is
632              started.  This makes only sense in development.
633
634       --print=text
635              Just print the argument to standard error.  This is good for pa‐
636              rameter check.
637
638       -V     This  is an advanced option for debugging only.  Instead of dis‐
639              playing the formatted input, a lot of groffer specific  informa‐
640              tion is printed to standard output:
641
642              · the output file name in the temporary directory,
643
644              · the display mode of the actual groffer run,
645
646              · the display program for viewing the output with its arguments,
647
648              · the  active parameters from the config files, the arguments in
649                $GROFFER_OPT, and the arguments of the command line,
650
651              · the pipeline that would be run by the groff program, but with‐
652                out executing it.
653
654       Other   useful   debugging   options   are  the  groff  option  -Z  and
655       --mode=groff.
656
657   Filespec Arguments
658       A filespec parameter is an argument that is not an option or option ar‐
659       gument.   In groffer, filespec parameters are a file name or a template
660       for searching man pages.  These input sources are  collected  and  com‐
661       posed into a single output file such as groff does.
662
663       The  strange  POSIX  behavior  to regard all arguments behind the first
664       non-option argument as filespec arguments is ignored.  The GNU behavior
665       to  recognize  options  even when mixed with filespec arguments is used
666       througout.  But, as usual, the double minus argument -- ends the option
667       handling  and interprets all following arguments as filespec arguments;
668       so the POSIX behavior can be easily adopted.
669
670       The options --apropos* have a special handling of  filespec  arguments.
671       Each  argument  is  taken as a search scheme of its own.  Also a regexp
672       (regular expression) can be used in the filespec.  For example, groffer
673       --apropos  '^gro.f$' searches groff in the man page name, while groffer
674       --apropos groff searches groff somewhere in the name or description  of
675       the man pages.
676
677       All  other  parts  of groffer, such as the normal display or the output
678       with --whatis have a different scheme for filespecs.   No  regular  ex‐
679       pressions  are used for the arguments.  The filespec arguments are han‐
680       dled by the following scheme.
681
682       It is necessary to know that on each system the man  pages  are  sorted
683       according  to  their  content into several sections.  The classical man
684       sections have a single-character name, either a digit from 1  to  9  or
685       one of the characters n or o.
686
687       This  can  optionally be followed by a string, the so-called extension.
688       The extension allows to store several man pages with the same  name  in
689       the same section.  But the extension is only rarely used, usually it is
690       omitted.  Then the extensions are searched automatically by alphabet.
691
692       In the following, we use the name section_extension  for  a  word  that
693       consists of a single character section name or a section character that
694       is followed by an extension.  Each filespec parameter can have  one  of
695       the following forms in decreasing sequence.
696
697       · No  filespec  parameters means that groffer waits for standard input.
698         The minus option - always stands for standard  input;  it  can  occur
699         several  times.   If  you want to look up a man page called - use the
700         argument man:-.
701
702       · Next a filespec is tested whether it is the path name of an  existing
703         file.   Otherwise  it  is  assumed  to  be  a searching pattern for a
704         man page.
705
706       · man:name(section_extension),              man:name.section_extension,
707         name(section_extension),   or   name.section_extension   search   the
708         man  page  name  in   man   section   and   possibly   extension   of
709         section_extension.
710
711       · Now  man:name  searches for a man page in the lowest man section that
712         has a document called name.
713
714       · section_extension name is a pattern of 2  arguments  that  originates
715         from  a  strange  argument  parsing  of the man program.  Again, this
716         searches the man page name with section_extension, a combination of a
717         section character optionally followed by an extension.
718
719       · We are left with the argument name which is not an existing file.  So
720         this searches for the man page called name in the lowest man  section
721         that has a document for this name.
722
723       Several  file  name arguments can be supplied.  They are mixed by groff
724       into a single document.  Note that the set of option arguments must fit
725       to  all of these file arguments.  So they should have at least the same
726       style of the groff language.
727

OUTPUT MODES

729       By default, the groffer program collects all input into a single  file,
730       formats it with the groff program for a certain device, and then choos‐
731       es a suitable viewer program.  The device and viewer process in groffer
732       is  called a mode.  The mode and viewer of a running groffer program is
733       selected automatically, but the user can also choose it  with  options.
734       The  modes are selected by option the arguments of --mode=anymode.  Ad‐
735       ditionally, each of this argument can be specified as an option of  its
736       own, such as anymode.  Most of these modes have a viewer program, which
737       can be chosen by an option that is constructed like --anymode-viewer.
738
739       Several different modes are offered,  graphical  modes  for  X  Window,
740       text modes, and some direct groff modes for debugging and development.
741
742       By  default,  groffer  first  tries  whether  x  mode is possible, then
743       ps mode,  and  finally  tty  mode.   This  mode  testing  sequence  for
744       auto  mode can be changed by specifying a comma separated list of modes
745       with the option --default-modes.
746
747       The searching for man pages and the decompression of the input are  ac‐
748       tive in every mode.
749
750   Graphical Display Modes
751       The graphical display modes work mostly in the X Window environment (or
752       similar implementations within other windowing environments).  The  en‐
753       vironment variable $DISPLAY and the option --display are used for spec‐
754       ifying the X Window display to be used.  If this  environment  variable
755       is  empty  groffer assumes that no X Window is running and changes to a
756       text mode.  You can change this automatic behavior by the option  --de‐
757       fault-modes.
758
759       Known  viewers  for  the  graphical  display  modes  and their standard
760       X Window viewer progams are
761
762       · in a PDF viewer (pdf mode),
763
764       · in a web browser (html or www mode).
765
766       · in a Postscript viewer (ps mode),
767
768       · X Window  roff  viewers  such  as  gxditview(1)  or  xditview(1)  (in
769         x mode),
770
771       · in a dvi viewer program (dvi mode),
772
773       The  pdf  mode  has a major advantage — it is the only graphical diplay
774       mode that allows to search for text within the viewer; this  can  be  a
775       really  important feature.  Unfortunately, it takes some time to trans‐
776       form the input into the PDF format, so it was not chosen as  the  major
777       mode.
778
779       These   graphical   viewers   can  be  customized  by  options  of  the
780       X Window Toolkit.  But the groffer options use a leading  double  minus
781       instead of the single minus used by the X Window Toolkit.
782
783   Text modes
784       There are two modes for text output, mode text for plain output without
785       a pager and mode tty for a text output on a text  terminal  using  some
786       pager program.
787
788       If  the  variable $DISPLAY is not set or empty, groffer assumes that it
789       should use tty mode.
790
791       In the actual implementation, the groff output device latin1 is  chosen
792       for  text  modes.  This can be changed by specifying option -T or --de‐
793       vice.
794
795       The pager to be used can be specified by one of the options --pager and
796       --tty-viewer, or by the environment variable $PAGER.  If all of this is
797       not used the less(1) program with the option -r for correctly  display‐
798       ing control sequences is used as the default pager.
799
800   Special Modes for Debugging and Development
801       These modes use the groffer file determination and decompression.  This
802       is combined into a single input file that is fed  directly  into  groff
803       with  different strategy without the groffer viewing facilities.  These
804       modes are regarded as advanced, they are useful for debugging  and  de‐
805       velopment purposes.
806
807       The source mode with option --source just displays the decompressed in‐
808       put.
809
810       Otion --to-stdout does not display in a graphical mode.  It just gener‐
811       ates  the file for the chosen mode and then prints its content to stan‐
812       dard output.
813
814       The groff mode passes the input to groff using only some  suitable  op‐
815       tions provided to groffer.  This enables the user to save the generated
816       output into a file or pipe it into another program.
817
818       In groff mode, the option -Z disables post-processing,  thus  producing
819       the  groff  intermediate output.  In this mode, the input is formatted,
820       but not postprocessed; see groff_out(5) for details.
821
822       All groff short options are supported by groffer.
823

MAN PAGE SEARCHING

825       The default behavior of groffer is to first test whether a file parame‐
826       ter  represents a local file; if it is not an existing file name, it is
827       assumed to represent the name of a man page.  The following options can
828       be  used  to  determine whether the arguments should be handled as file
829       name or man page arguments.
830
831       --man  forces to interpret all file parameters as filespecs for search‐
832              ing man pages.
833
834       --no-man
835       --local-file
836              disable the man searching; so only local files are displayed.
837
838       If  neither a local file nor a man page was retrieved for some file pa‐
839       rameter a warning is issued on standard error, but processing  is  con‐
840       tinued.
841
842   Search Algoritm
843       Let us now assume that a man page should be searched.  The groffer pro‐
844       gram provides a search facility for man pages.  All long  options,  all
845       environment  variables, and most of the functionality of the GNU man(1)
846       program were implemented.  The search algorithm shall  determine  which
847       file is displayed for a given man page.  The process can be modified by
848       options and environment variables.
849
850       The only man action that is omitted in  groffer  are  the  preformatted
851       man  pages,  also  called cat pages.  With the excellent performance of
852       the actual computers, the preformatted man pages aren't  necessary  any
853       longer.  Additionally, groffer is a roff program; it wants to read roff
854       source files and format them itself.
855
856       The algorithm for retrieving the file for a man page needs first a  set
857       of  directories.   This  set starts with the so-called man path that is
858       modified later on by adding names of  operating  system  and  language.
859       This  arising set is used for adding the section directories which con‐
860       tain the man page files.
861
862       The man path is a list of directories that are separated by colon.   It
863       is generated by the following methods.
864
865       · The environment variable $MANPATH can be set.
866
867       · It  can  be  read  from  the  arguments  of  the environment variable
868         $MANOPT.
869
870       · The man path can be manually specified by using the option --manpath.
871         An empty argument disables the man page searching.
872
873       · When no man path was set the manpath(1) program is tried to determine
874         one.
875
876       · If this does not work a reasonable default path from $PATH is  deter‐
877         mined.
878
879       We  now  have  a  starting set of directories.  The first way to change
880       this set is by adding names of operating systems.   This  assumes  that
881       man pages for several operating systems are installed.  This is not al‐
882       ways true.  The names of such operating systems can be  provided  by  3
883       methods.
884
885       · The environment variable $SYSTEM has the lowest precedence.
886
887       · This can be overridden by an option in $MANOPT.
888
889       · This again is overridden by the command line option --systems.
890
891       Several  names  of  operating  systems  can be given by appending their
892       names, separated by a comma.
893
894       The man path is changed by appending each system name  as  subdirectory
895       at  the end of each directory of the set.  No directory of the man path
896       set is kept.  But if no system name is specified the man path  is  left
897       unchanged.
898
899       After  this,  the  actual set of directories can be changed by language
900       information.  This assumes that there exist man pages in different lan‐
901       guages.  The wanted language can be chosen by several methods.
902
903       · Enviroment variable $LANG.
904
905       · This is overridden by $LC_MESSAGES.
906
907       · This is overridden by $LC_ALL.
908
909       · This can be overridden by providing an option in $MANOPT.
910
911       · All  these  environment  variables are overridden by the command line
912         option --locale.
913
914       The default language can be specified by specifying one of the  pseudo-
915       language parameters C or POSIX.  This is like deleting a formerly given
916       language information.  The man pages in the default language are usual‐
917       ly in English.
918
919       Of  course,  the language name is determined by man.  In GNU man, it is
920       specified in the POSIX 1003.1 based format:
921
922       <language>[_<territory>[.<character-set>[,<version>]]],
923
924       but the two-letter code in <language> is sufficient for most  purposes.
925       If  for  a  complicated  language  formulation  no  man pages are found
926       groffer searches the country part consisting of these first two charac‐
927       ters as well.
928
929       The  actual  directory  set is copied thrice.  The language name is ap‐
930       pended as subdirectory to each directory in the first copy of the actu‐
931       al directory set (this is only done when a language information is giv‐
932       en).  Then the 2-letter abbreviation of the language name  is  appended
933       as subdirectories to the second copy of the directory set (this is only
934       done when the given language name has more than 2 letters).  The  third
935       copy of the directory set is kept unchanged (if no language information
936       is given this is the kept directory set).  These maximally 3 copies are
937       appended to get the new directory set.
938
939       We  now  have  a  complete set of directories to work with.  In each of
940       these directories, the man files are separated in sections.   The  name
941       of  a  section  is represented by a single character, a digit between 1
942       and 9, or the character o or n, in this order.
943
944       For each available section, a subdirectory man<section> exists contain‐
945       ing all man files for this section, where <section> is a single charac‐
946       ter as described before.  Each man file in a section directory has  the
947       form  man<section>/<name>.<section>[<extension>][.<compression>], where
948       <extension> and <compression> are optional.  <name> is the name of  the
949       man  page  that  is  also specified as filespec argument on the command
950       line.
951
952       The extension is an addition to the section.  This postfix acts like  a
953       subsection.   An extension occurs only in the file name, not in name of
954       the section subdirectory.  It can be specified on the command line.
955
956       On the other hand, the compression is just an information  on  how  the
957       file  is  compressed.  This is not important for the user, such that it
958       cannot be specified on the command line.
959
960       There are 4 methods to specify a section on the command line:
961
962       · Environment variable $MANSECT
963
964       · Command line option --sections
965
966       · Appendix to the name argument in the form <name>.<section>
967
968       · Preargument before the name argument in the form <section> <name>
969
970       It is also possible to specify several sections by appending the single
971       characters separated by colons.  One can imagine that this means to re‐
972       strict the man page search to only some sections.   The  multiple  sec‐
973       tions are only possible for $MANSECT and --sections.
974
975       If no section is specified all sections are searched one after the oth‐
976       er in the given order, starting with section 1, until a  suitable  file
977       is found.
978
979       There  are  4 methods to specify an extension on the command line.  But
980       it is not necessary to provide the whole extension name, some abbrevia‐
981       tion is good enough in most cases.
982
983       · Environment variable $EXTENSION
984
985       · Command line option --extension
986
987       · Appendix  to  the  <name>.<section> argument in the form <name>.<sec‐
988         tion><extension>
989
990       · Preargument before the name argument in the form <section><extension>
991         <name>
992
993       For further details on man page searching, see man(1).
994
995   Examples of man files
996       /usr/share/man/man1/groff.1
997              This  is  an  uncompressed  file  for the man page groff in sec‐
998              tion 1.  It can be called by
999              sh# groffer groff
1000              No  section  is  specified  here,  so  all  sections  should  be
1001              searched,  but  as section 1 is searched first this file will be
1002              found first.  The file name is composed of the following  compo‐
1003              nents.   /usr/share/man must be part of the man path; the subdi‐
1004              rectory man1/ and the part .1 stand for the  section;  groff  is
1005              the name of the man page.
1006
1007       /usr/local/share/man/man7/groff.7.gz
1008              The   file   name  is  composed  of  the  following  components.
1009              /usr/local/share/man must be part of the man path; the subdirec‐
1010              tory  man7/  and the part .7 stand for the section; groff is the
1011              name of the man page; the final part .gz stands for  a  compres‐
1012              sion  with gzip(1).  As the section is not the first one it must
1013              be specified as well.  This can be done by one of the  following
1014              commands.
1015              sh# groffer groff.7
1016              sh# groffer 7 groff
1017              sh# groffer --sections=7 groff
1018
1019       /usr/local/man/man1/ctags.1emacs21.bz2
1020              Here  /usr/local/man must be in man path; the subdirectory man1/
1021              and the file name part .1 stand for section 1; the name  of  the
1022              man page is ctags; the section has an extension emacs21; and the
1023              file is compressed as .bz2  with  bzip2(1).   The  file  can  be
1024              viewed with one of the following commands
1025              sh# groffer ctags.1e
1026              sh# groffer 1e ctags
1027              sh# groffer --extension=e --sections=1 ctags
1028              where e works as an abbreviation for the extension emacs21.
1029
1030       /usr/man/linux/de/man7/man.7.Z
1031              The  directory  /usr/man is now part of the man path; then there
1032              is a subdirectory for an  operating  system  name  linux/;  next
1033              comes   a  subdirectory de/ for the German language; the section
1034              names man7 and .7 are known so far;  man  is  the  name  of  the
1035              man  page;  and .Z signifies the compression that can be handled
1036              by gzip(1).  We want now show how to provide several values  for
1037              some  options.  That is possible for sections and operating sys‐
1038              tem names.  So we use as sections 5 and 7 and  as  system  names
1039              linux and aix.  The command is then
1040
1041              sh# groffer --locale=de --sections=5:7 --systems=linux,aix man
1042              sh# LANG=de MANSECT=5:7 SYSTEM=linux,aix groffer man
1043

DECOMPRESSION

1045       The  program has a decompression facility.  If standard input or a file
1046       that was retrieved from the command line parameters is compressed  with
1047       a  format  that is supported by either gzip(1) or bzip2(1) it is decom‐
1048       pressed on-the-fly.  This includes the GNU .gz, .bz2,  and  the  tradi‐
1049       tional  .Z  compression.  The program displays the concatenation of all
1050       decompressed input in the sequence that was specified  on  the  command
1051       line.
1052

ENVIRONMENT

1054       The  groffer  program  supports  many system variables, most of them by
1055       courtesy of other programs.  All environment variables of groff(1)  and
1056       GNU man(1) and some standard system variables are honored.
1057
1058   Native groffer Variables
1059       $GROFFER_OPT
1060              Store  options  for  a run of groffer.  The options specified in
1061              this variable are overridden by the options given on the command
1062              line.   The  content  of  this variable is run through the shell
1063              builtin `eval'; so arguments containing white-space  or  special
1064              shell characters should be quoted.  Do not forget to export this
1065              variable, otherwise it does not exist during the run of groffer.
1066
1067   System Variables
1068       The following variables have a special meaning for groffer.
1069
1070       $DISPLAY
1071              If this variable is set this indicates that the X Window  system
1072              is  running.  Testing this variable decides on whether graphical
1073              or text output  is  generated.   This  variable  should  not  be
1074              changed  by the user carelessly, but it can be used to start the
1075              graphical groffer on a remote X Window terminal.   For  example,
1076              depending  on  your system, groffer can be started on the second
1077              monitor by the command
1078
1079              sh# DISPLAY=:0.1 groffer  what.ever &
1080
1081       $LC_ALL
1082       $LC_MESSAGES
1083       $LANG  If one of these variables is set (in the  above  sequence),  its
1084              content  is  interpreted as the locale, the language to be used,
1085              especially when retrieving man pages.  A locale name is typical‐
1086              ly  of the form language[_territory[.codeset[@modifier]]], where
1087              language is an ISO 639 language code, territory is an  ISO  3166
1088              country code, and codeset is a character set or encoding identi‐
1089              fier like ISO-8859-1 or UTF-8;  see  setlocale(3).   The  locale
1090              values  C and POSIX stand for the default, i.e. the man page di‐
1091              rectories without a language prefix.  This is the same  behavior
1092              as when all 3 variables are unset.
1093
1094       $PAGER This  variable  can be used to set the pager for the tty output.
1095              For example, to disable the use of a pager completely  set  this
1096              variable to the cat(1) program
1097
1098              sh# PAGER=cat groffer  anything
1099
1100
1101       $PATH  All  programs  within  the  groffer  script are called without a
1102              fixed path.  Thus this environment variable determines  the  set
1103              of programs used within the run of groffer.
1104
1105   Groff Variables
1106       The  groffer  program  internally calls groff, so all environment vari‐
1107       ables documented in groff(1) are  internally  used  within  groffer  as
1108       well.  The following variable has a direct meaning for the groffer pro‐
1109       gram.
1110
1111       $GROFF_TMPDIR
1112              If the value of this variable is an existing, writable  directo‐
1113              ry,  groffer  uses  it  for storing its temporary files, just as
1114              groff does.
1115
1116   Man Variables
1117       Parts of the functionality of  the  man  program  were  implemented  in
1118       groffer; support for all environment variables documented in man(1) was
1119       added to groffer, but the meaning was slightly modified due to the dif‐
1120       ferent  approach  in  groffer; but the user interface is the same.  The
1121       man environment variables can be overwritten by options  provided  with
1122       $MANOPT, which in turn is overwritten by the command line.
1123
1124       $EXTENSION
1125              Restrict  the  search  for man pages to files having this exten‐
1126              sion.  This is overridden by option --extension; see  there  for
1127              details.
1128
1129       $MANOPT
1130              This  variable  contains options as a preset for man(1).  As not
1131              all of these are relevant for groffer only the  essential  parts
1132              of its value are extracted.  The options specified in this vari‐
1133              able overwrite the values of  the  other  environment  variables
1134              that  are  specific to man.  All options specified in this vari‐
1135              able are overridden by the options given on the command line.
1136
1137       $MANPATH
1138              If set, this variable contains  the  directories  in  which  the
1139              man  page trees are stored.  This is overridden by option --man‐
1140              path.
1141
1142       $MANSECT
1143              If this is a colon separated list of section names,  the  search
1144              for man pages is restricted to those manual sections in that or‐
1145              der.  This is overridden by option --sections.
1146
1147       $SYSTEM
1148              If this is set to a comma separated list of names these are  in‐
1149              terpreted  as  man  page  trees for different operating systems.
1150              This variable can be overwritten by option --systems; see  there
1151              for details.
1152
1153       The  environment variable $MANROFFSEQ is ignored by groffer because the
1154       necessary preprocessors are determined automatically.
1155

CONFIGURATION FILES

1157       The groffer program can be preconfigured by two configuration files.
1158
1159       /etc/groff/groffer.conf
1160              System-wide configuration file for groffer.
1161
1162       $HOME/.groff/groffer.conf
1163              User-specific configuration file for groffer,  where  $HOME  de‐
1164              notes  the user's home directory.  This file is called after the
1165              system-wide configuration file to enable overriding by the user.
1166
1167       Both files are handled for the  configuration,  but  the  configuration
1168       file  in  /etc comes first; it is overwritten by the configuration file
1169       in the home directory; both configuration files are overwritten by  the
1170       environment  variable  $GROFFER_OPT;  everything  is overwritten by the
1171       command line arguments.
1172
1173       The configuration files contain options that should be  called  as  de‐
1174       fault  for  every groffer run.  These options are written in lines such
1175       that each contains either a long option, a short option, or a short op‐
1176       tion cluster; each with or without an argument.  So each line with con‐
1177       figuration information starts with a minus character `-'; a line with a
1178       long  option starts with two minus characters `--', a line with a short
1179       option or short option cluster starts with a single minus `-'.
1180
1181       The option names in the configuration files  may  not  be  abbreviated,
1182       they must be exact.
1183
1184       The  argument  for  a long option can be separated from the option name
1185       either by an equal sign `=' or by whitespace, i.e. one or several space
1186       or  tab  characters.   An  argument  for a short option or short option
1187       cluster can be directly appended to the option  name  or  separated  by
1188       whitespace.   The end of an argument is the end of the line.  It is not
1189       allowed to use a shell environment variable in an option name or  argu‐
1190       ment.
1191
1192       It  is not necessary to use quotes in an option or argument, except for
1193       empty arguments.  An empty argument can be provided by appending a pair
1194       of  quotes to the separating equal sign or whitespace; with a short op‐
1195       tion, the separator can be omitted as well.  For a long option  with  a
1196       separating equal sign `=', the pair of quotes can be omitted, thus end‐
1197       ing the line with the separating equal sign.  All other  quote  charac‐
1198       ters are cancelled internally.
1199
1200       In  the configuration files, arbitrary whitespace is allowed at the be‐
1201       ginning of each line, it is just ignored.   Each  whitespace  within  a
1202       line is replaced by a single space character ` ' internally.
1203
1204       All  lines  of  the  configuration lines that do not start with a minus
1205       character are ignored, such that comments starting with `#' are  possi‐
1206       ble.  So there are no shell commands in the configuration files.
1207
1208       As  an  example,  consider the following configuration file that can be
1209       used either in /etc/groff/groffer.conf or ~/.groff/groffer.conf.
1210
1211       # groffer configuration file
1212       #
1213       # groffer options that are used in each call of groffer
1214       --foreground=DarkBlue
1215       --resolution 100
1216       --x-viewer=gxditview -geometry 900x1200
1217       --pdf-viewer xpdf -z 150
1218
1219       The lines starting with # are just ignored,  so  they  act  as  command
1220       lines.   This configuration sets four groffer options (the lines start‐
1221       ing with `-').  This has the following effects:
1222
1223       · Use a text color of DarkBlue in all viewers that support  this,  such
1224         as gxditview.
1225
1226       · Use a resolution of 100 dpi in all viewers that support this, such as
1227         gxditview.  By this, the default device in x mode is set to X100.
1228
1229       · Force gxditview(1) as the x-mode viewer using the geometry option for
1230         setting the width to 900 dpi and the height to 1200 dpi.  This geome‐
1231         try is suitable for a resolution of 100 dpi.
1232
1233       · Use xpdf(1) as the pdf-mode viewer with the argument -Z 150.
1234

EXAMPLES

1236       The usage of groffer is very easy.  Usually, it is just called  with  a
1237       file  name  or  man  page.   The following examples, however, show that
1238       groffer has much more fancy capabilities.
1239       sh# groffer /usr/local/share/doc/groff/meintro.ms.gz
1240       Decompress, format and display the compressed file meintro.ms.gz in the
1241       directory   /usr/local/share/doc/groff,   using   the  standard  viewer
1242       gxditview as graphical viewer when in X Window, or  the  less(1)  pager
1243       program when not in X Window.
1244
1245       sh# groffer groff
1246
1247       If  the  file  ./groff exists use it as input.  Otherwise interpret the
1248       argument as a search for the man page named groff in the smallest  pos‐
1249       sible man section, being section 1 in this case.
1250
1251       sh# groffer man:groff
1252
1253       search for the man page of groff even when the file ./groff exists.
1254
1255       sh# groffer groff.7
1256       sh# groffer 7 groff
1257
1258       search  the  man  page  of groff in man section 7.  This section search
1259       works only for a digit or a single character from a small set.
1260
1261       sh# groffer fb.modes
1262
1263       If the file ./fb.modes does not exist interpret this as  a  search  for
1264       the man page of fb.modes.  As the extension modes is not a single char‐
1265       acter in classical section style the argument is not split to a  search
1266       for fb.
1267
1268       sh# groffer groff ’troff(1)’ man:roff
1269
1270       The  arguments that are not existing files are looked-up as the follow‐
1271       ing man pages: groff (automatic search, should be  found  in  man  sec‐
1272       tion 1), troff (in section 1), and roff (in the section with the lowest
1273       number, being 7 in this case).  The quotes around troff(1) are neces‐
1274       sary  because  the  paranthesis  are special shell characters; escaping
1275       them with a backslash character \( and \) would be possible, too.   The
1276       formatted files are concatenated and displayed in one piece.
1277
1278       sh# LANG=de groffer --man --www --www-viever=galeon ls
1279
1280       Retrieve  the  German man page (language de) for the ls program, decom‐
1281       press it, format it to html format (www mode) and view  the  result  in
1282       the  web browser galeon.  The option --man guarantees that the man page
1283       is retrieved, even when a local file ls exists in the actual directory.
1284
1285       sh# groffer --source 'man:roff(7)'
1286
1287       Get the man page called roff in man section 7, decompress it, and print
1288       its unformatted content, its source code.
1289
1290       sh# groffer --de-p --in --ap
1291
1292       This is a set of abbreviated arguments, it is determined as
1293
1294       sh# groffer --debug-params --intermediate-output --apropos
1295
1296
1297       sh# cat file.gz | groffer -Z -mfoo"
1298
1299       The  file  file.gz is sent to standard input, this is decompressed, and
1300       then this is transported to the groff intermediate output mode  without
1301       post-processing  (groff option -Z ), using macro package foo (groff op‐
1302       tion -m ) .
1303
1304       sh# echo '\f[CB]WOW!' |
1305       > groffer --x --bg red --fg yellow --geometry 200x100 -
1306
1307       Display the word WOW! in a small window in constant-width
1308       bold font, using color yellow on red background.
1309

COMPATIBILITY

1311       The groffer program is written in Perl, the Perl version during writing
1312       was v5.8.8.
1313
1314       groffer  provides  its  own  parser  for command line arguments that is
1315       compatible to both POSIX getopts(1) and GNU getopt(1).  It  can  handle
1316       option  arguments and file names containing white space and a large set
1317       of special characters.  The following standard  types  of  options  are
1318       supported.
1319
1320       · The option consisting of a single minus - refers to standard input.
1321
1322       · A  single  minus  followed by characters refers to a single character
1323         option or a combination thereof; for example, the groffer  short  op‐
1324         tion combination -Qmfoo is equivalent to -Q -m foo .
1325
1326       · Long  options  are options with names longer than one character; they
1327         are always preceded by a double minus.  An option argument can either
1328         go  to  the  next  command line argument or be appended with an equal
1329         sign to the  argument;  for  example,  --long=arg  is  equivalent  to
1330         --long arg.
1331
1332       · An argument of -- ends option parsing; all further command line argu‐
1333         ments are interpreted as filespec parameters, i.e. file names or con‐
1334         structs for searching man pages).
1335
1336       · All  command line arguments that are neither options nor option argu‐
1337         ments are interpreted as filespec parameters and stored until  option
1338         parsing has finished.  For example, the command line
1339
1340         sh# groffer file1 -a -o arg file2
1341
1342         is equivalent to
1343
1344         sh# groffer -a -o arg -- file1 file2
1345
1346
1347       The  free  mixing  of  options  and filespec parameters follows the GNU
1348       principle.  That does not fulfill the strange option behavior of  POSIX
1349       that  ends  option  processing as soon as the first non-option argument
1350       has been reached.  The end of option processing can be  forced  by  the
1351       option `--' anyway.
1352

BUGS

1354       Report bugs to the bug-groff mailing list ⟨bug-groff@gnu.org⟩.  Include
1355       a complete, self-contained example that will allow the bug to be repro‐
1356       duced, and say which version of groffer you are using.
1357
1358       You  can  also use the groff mailing list ⟨groff@gnu.org⟩, but you must
1359       first subscribe to this list.  You can do that by  visiting  the  groff
1360       mailing list web page ⟨http://lists.gnu.org/mailman/listinfo/groff⟩.
1361
1362       See groff(1) for information on availability.
1363

SEE ALSO

1365       groff(1), troff(1)
1366              Details  on  the  options and environment variables available in
1367              groff; all of them can be used with groffer.
1368
1369       groff(7)
1370              Documentation of the groff language.
1371
1372       grog(1)
1373              Internally, groffer  tries  to  guess  the  groff  command  line
1374              options from the input using this program.
1375
1376       chem(1)
1377              Preprocessor of groff that is run automatically.
1378
1379       groff_out(5)
1380              Documentation on the groff intermediate output (ditroff output).
1381
1382       groff_tmac(5)
1383              Documentation on the groff macro files.
1384
1385       man(1) The  standard  program  to  display  man pages.  The information
1386              there is only useful if it is the man page for GNU man.  Then it
1387              documents  the  options  and environment variables that are sup‐
1388              ported by groffer.
1389
1390       gxditview(1), xditview(1x)
1391              Viewers for groffer's x mode.
1392
1393       kpdf(1), kghostview(1), evince(1), ggv(1), gv(1), ghostview(1), gs(1)
1394              Viewers for groffer's ps mode.
1395
1396       kpdf(1),  acroread(1),  evince(1),  xpdf(1),  gpdf(1),   kghostview(1),
1397       ggv(1)
1398              Viewers for groffer's pdf mode.
1399
1400       kdvi(1), xdvi(1), dvilx(1)
1401              Viewers for groffer's dvi mode.
1402
1403       konqueror(1), epiphany(1), firefox(1), mozilla(1), netscape(1), lynx(1)
1404              Web-browsers for groffer's html or www mode.
1405
1406       less(1)
1407              Standard pager program for the tty mode .
1408
1409       gzip(1), bzip2(1)
1410              The decompression programs supported by groffer.
1411

AUTHOR

1413       This file was written by Bernd Warken.
1414

COPYING

1416       Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009
1417         Free Software Foundation, Inc.
1418
1419       This  file  is part of groffer, which is part of groff, a free software
1420       project.  You can redistribute it and/or modify it under the  terms  of
1421       the  GNU  General  Public  License  as  published  by the Free Software
1422       Foundation, either version 3 of the License, or (at  your  option)  any
1423       later version.
1424
1425       You should have received a copy of the GNU General Public License along
1426       with groff, see the files COPYING and LICENSE in the top  directory  of
1427       the  groff  source package.  Or read the man page gpl(1).  You can also
1428       visit <http://www.gnu.org/licenses/>.
1429
1430
1431
1432Groff Version 1.20.1            21 January 2011                     GROFFER(1)
Impressum