diff options
Diffstat (limited to 'contrib/groff/man/groff_tmac.man')
-rw-r--r-- | contrib/groff/man/groff_tmac.man | 1124 |
1 files changed, 1124 insertions, 0 deletions
diff --git a/contrib/groff/man/groff_tmac.man b/contrib/groff/man/groff_tmac.man new file mode 100644 index 000000000000..c0d3421246dc --- /dev/null +++ b/contrib/groff/man/groff_tmac.man @@ -0,0 +1,1124 @@ +. +.TH GROFF_TMAC @MAN5EXT@ "@MDATE@" "Groff Version @VERSION@" +.SH NAME +groff_tmac \- macro files in the roff typesetting system +.SH DESCRIPTION +.\" The .SH was moved to this place to make `apropos' happy. +. +. +.\" -------------------------------------------------------------------- +.\" Legalize +.\" -------------------------------------------------------------------- +. +.ig +groff_tmac.5 + +File position: <groff-source>/man/groff_tmac.man + +Last update: 21 Aug 2002 + +This file is part of groff, the GNU roff type-setting system. + +Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +written by Bernd Warken <bwarken@mayn.de> and Werner Lemberg +<wl@gnu.org> + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.1 or +any later version published by the Free Software Foundation; with the +Invariant Sections being this .ig-section and AUTHOR, with no +Front-Cover Texts, and with no Back-Cover Texts. + +A copy of the Free Documentation License is included as a file called +FDL in the main directory of the groff source package. +.. +. +.\" -------------------------------------------------------------------- +.\" Setup +.\" -------------------------------------------------------------------- +. +.mso www.tmac +. +.if n \{\ +. mso tty-char.tmac +. ftr CR R +. ftr CI I +. ftr CB B +.\} +. +.ds Ellipsis \&.\|.\|.\&\" +. +.\" Global static variables for inter-macro communication +.rr @+Example_font +. +.\" -------------------------------------------------------------------- +.\" setup for the macro definitions below +.\" +.\" naming: namespace:cathegory_macro.variable_name (experimental) +. +.\" -------------------------------------------------------------------- +.\" configuration of prompt for `.Shell_cmd'* macros +.ds groffer:Shell_cmd.prompt_text sh#\" prompt for shell commands +.ds groffer:Shell_cmd+.prompt_text >\" prompt on continuation lines +.ds groffer:Shell_cmd_base.prompt_font I\" font for prompts +. +.\" automatically determine setup from the configuration above +.als @f groffer:Shell_cmd_base.prompt_font\" +.als @t groffer:Shell_cmd.prompt_text\" +.als @t+ groffer:Shell_cmd+.prompt_text\" +.ds groffer:Shell_cmd.prompt \f[\*[@f]]\*[@t]\f[]\" needed +.ds groffer:Shell_cmd+.prompt \f[\*[@f]]\*[@t+]\f[]\" needed +.nr @w \w'\*[groffer:Shell_cmd.prompt]'\" +.nr @w+ \w'\*[groffer:Shell_cmd+.prompt]'\" +.ft \*[@f] +.\" Full prompt width is maximum of texts plus 1m +.nr groffer:Shell_cmd_base.prompt_width (\n[@w]>?\n[@w+]+1m)\" needed +.ft +.rm @f +.rm @f+ +.rm @t +.rm @t+ +.rr @w +.rr @w+ +. +.\"-------------------------------------------------------------------- +.\" Ignore all arguments like a comment, even after a .eo call. +.de c +.. +.c -------------------------------------------------------------------- +.de BIR +. ie (\\n[.$] < 3) \ +. BI \\$@ +. el \{\ +. ds @tmp@ \fB\\$1\f[]\fI\\$2\f[] +. shift 2 +. Text \\*[@tmp@]\fR\\$*\f[] +. rm @tmp@ +. \} +.. +.c -------------------------------------------------------------------- +.c .Env_var (<env_var_name> [<punct>]) +.c +.c Display an environment variable, with optional punctuation. +.c +.de Env_var +. nh +. SM +. Text \f[CB]\\$1\f[]\\$2 +. hy +.. +.c -------------------------------------------------------------------- +.c .Error (<text>...) +.c +.c Print error message to terminal and abort. +.c +.de Error +. tm \\$* +. ab +.. +.c -------------------------------------------------------------------- +.de Example +. if r@+Example_font \ +. Error previous .Example was not terminated by a ./Example +. nr @+Example_font \\n[.f] +. nh +. nf +. RS +. ft CR +.. +.c -------------------------------------------------------------------- +.de /Example +. if !r@+Example_font \ +. Error no previous call to .Example +. ft \\n[@+Example_font] +. RE +. fi +. hy +. rr @+Example_font +.. +. +.c -------------------------------------------------------------------- +.c .Shell_cmd (<CR> [<CI>] ...) +.c +.c A shell command line; display args alternating in fonts CR and CI. +.c +.c Examples: +.c .Shell_cmd "groffer --dpi 100 file" +.c result: `sh# groffer --dpi 100 file' +.c with 'sh#' in font I, the rest in CR +.c +.c .Shell_cmd groffer\~--dpi\~100\~file +.c result: the same as above +.c +.c .Shell_cmd "groffer --dpi=" value " file" +.c result: sh# groffer --dpi=value file +.c with `groffer --dpi=' and `file' in CR; `value' in CI +.c +.c .Shell_cmd groffer\~--dpi= value \~file +.c result: the same as the previous example +.c +.de Shell_cmd +. groffer:Shell_cmd_base "\*[groffer:Shell_cmd.prompt]" \\$@ +.. +.c -------------------------------------------------------------------- +.c .Shell_cmd+ (<CR> [<CI>] ...) +.c +.c A continuation line for .Shell_cmd. +.c +.de Shell_cmd+ +. groffer:Shell_cmd_base "\*[groffer:Shell_cmd+.prompt]" \\$@ +.. +.c -------------------------------------------------------------------- +.c .Shell_cmd_base (<prompt> [<CR> [<CI>] ...]) +.c +.c A shell command line; display args alternating in fonts CR and CI. +.c Internal, do not use directly. +.c +.c Globals: read-only register @.Shell_cmd_width +.c +.de groffer:Shell_cmd_base +. if (\\n[.$] <= 0) \ +. return +. nr @+font \\n[.f]\" +. ds @prompt \\$1\" +. ft CR +. c gap between prompt and command +. nr @+gap \\n[groffer:Shell_cmd_base.prompt_width]-\\w'\\*[@prompt]'\" +. ds @res \\*[@prompt]\h'\\n[@+gap]u'\" +. shift +. ds @cf CR\" +. while (\\n[.$] > 0) \{\ +. as @res \\f[\\*[@cf]]\\$1\" +. shift +. ie '\\*[@cf]'CR' \ +. ds @cf I\" +. el \ +. ds @cf CR\" +. \} +. br +. ad l +. nh +. nf +. Text \\*[@res]\" +. fi +. hy +. ad +. br +. ft \\n[@+font] +. rr @+font +. rr @+gap +. rm @cf +. rm @res +.. +.c -------------------------------------------------------------------- +.c .Text (<text>...) +.c +.c Treat the arguments as text, no matter how they look. +.c +.de Text +. if (\\n[.$] == 0) \ +. return +. nop \)\\$*\) +.. +.c -------------------------------------------------------------------- +.c .Topic ([<indent>]) +.c +.c A bulleted paragraph +.c +.de Topic +. ie (\\n[.$] = 0) \ +. ds @indent 2m\" +. el \ +. ds @indent \\$1\" +. TP \\*[@indent] +. Text \[bu] +. rm @indent +.. +.c -------------------------------------------------------------------- +.c .TP+ () +.c +.c Continuation line for .TP header. +.c +.de TP+ +. br +. ns +. TP \\$1 +.. +.c -------------------------------------------------------------------- +.de 'char +. ds @tmp@ `\f(CR\\$1\f[]' +. shift +. Text \\*[@tmp@]\\$* +. rm @tmp@ +.. +.c -------------------------------------------------------------------- +.de option +. ds @tmp@ \f(CB\\$1\f[] +. shift 1 +. Text \\*[@tmp@]\\$* +. rm @tmp@ +.. +.c -------------------------------------------------------------------- +.de argument +. ds @tmp@ \f(CI\\$1\f[] +. shift 1 +. Text \\*[@tmp@]\\$* +. rm @tmp@ +.. +.c -------------------------------------------------------------------- +.de request +. ds @tmp@ \f(CB\\$1\f[] +. shift 1 +. Text .\\*[@tmp@]\\$* +. rm @tmp@ +.. +.c -------------------------------------------------------------------- +.de escape +. ds @tmp@ \f[CB]\\$1\f[] +. shift 1 +. Text \[rs]\\*[@tmp@]\\$* +. rm @tmp@ +.. +.\" -------------------------------------------------------------------- +.\" SH DESCRIPTION +.\" -------------------------------------------------------------------- +. +The +.BR roff (@MAN7EXT@) +type-setting system provides a set of macro packages suitable for +special kinds of documents. +. +Each macro package stores its macros and definitions in a file called +the package's +.BR "tmac file" . +The name is deduced from +.RB ` T\c +.IB roff MAC\c +.IR ros '. +. +.P +The tmac files are normal roff source documents, except that they +usually contain only definitions and setup commands, but no text. +. +All tmac files are kept in a single or a small number of directories, +the +.B tmac +directories. +. +. +.\" -------------------------------------------------------------------- +.SH "GROFF MACRO PACKAGES" +.\" -------------------------------------------------------------------- +. +.I groff +provides all classical macro packages, some more full packages, and +some secondary packages for special purposes. +. +. +.\" -------------------------------------------------------------------- +.SS "Man\~Pages" +.\" -------------------------------------------------------------------- +. +.TP +.B man +This is the classical macro package for UNIX manual pages +(man\~pages); it is quite handy and easy to use; see +.BR groff_man (@MAN7EXT@). +. +.TP +.B doc +.TP+ +.B mdoc +An alternative macro package for man\~pages mainly used in BSD +systems; it provides many new features, but it is not the standard for +man\~pages; see +.BR groff_mdoc (@MAN7EXT@). +. +. +.\" -------------------------------------------------------------------- +.SS "Full Packages" +.\" -------------------------------------------------------------------- +. +The packages in this section provide a complete set of macros for +writing documents of any kind, up to whole books. +. +They are similar in functionality; it is a matter of taste which one +to use. +. +. +.TP +.B me +The classical +.I me +macro package; see +.BR groff_me (@MAN7EXT@). +. +. +.TP +.B mm +The semi-classical +.I mm +macro package; see +.BR groff_mm (@MAN7EXT@). +. +. +.TP +.B mom +The new +.I mom +macro package, only available in groff. +. +As this is not based on other packages, it can be freely designed. +. +So it is expected to become quite a nice, modern macro package. +. +See +.BR groff_mom (@MAN7EXT@). +. +. +.TP +.B ms +The classical +.I ms +macro package; see +.BR groff_ms (@MAN7EXT@). +. +. +.\" -------------------------------------------------------------------- +.SS "Special Packages" +.\" -------------------------------------------------------------------- +. +The macro packages in this section are not intended for stand-alone +usage, but can be used to add special functionality to any other +macro package or to plain groff. +. +. +.TP +.B tty-char +Overrides the definition of standard troff characters and some groff +characters for tty devices. +. +The optical appearance is intentionally inferior compared to that of +normal tty formatting to allow processing with critical equipment. +. +. +.TP +.B www +Additions of elements known from the html format, as being used in the +internet (World Wide Web) pages; this includes URL links and mail +addresses; see +.BR groff_www (@MAN7EXT@). +. +. +.\" -------------------------------------------------------------------- +.SH NAMING +.\" -------------------------------------------------------------------- +. +In classical roff systems, there was a funny naming scheme for macro +packages, due to a simplistic design in option parsing. +. +Macro packages were always included by option +.option -m; +when this option was directly followed by its argument without an +intervening space, this looked like a long option preceded by a single +minus \[em] a sensation in the computer stone age. +. +To make this optically working for macro package names, all classical +macro packages choose a name that started with the letter +.'char m , +which was omitted in the naming of the macro file. +. +. +.P +For example, the macro package for the man pages was called +.IR man , +while its macro file +.IR tmac.an . +So it could be activated by the argument +.I an +to option +.option -m , +or +.option -man +for short. +. +. +.P +For similar reasons, macro packages that did not start with an +.'char m +had a leading +.'char m +added in the documentation and in talking; for example, the package +corresponding to +.I tmac.doc +was called +.I mdoc +in the documentation, although a more suitable name would be +.IR doc . +For, when omitting the space between the option and its argument, the +command line option for activating this package reads +.option "-mdoc" . +. +. +.P +To cope with all situations, actual versions of +.BR groff (@MAN1EXT@) +are smart about both naming schemes by providing two macro files +for the inflicted macro packages; one with a leading +.'char m , +the other one without it. +. +So in +.IR groff , +the +.I man +macro package may be specified as on of the following four methods: +. +.IP +.Shell_cmd "groff\~\-m\~man" +.Shell_cmd "groff\~\-man" +.Shell_cmd "groff\~\-mman" +.Shell_cmd "groff\~\-m\~an" +. +. +.P +Recent packages that do not start with +.'char m +do not use an additional +.'char m +in the documentation. +. +For example, the +.I www +macro package may be specified only as one of the two methods: +. +.IP +.Shell_cmd "groff\~\-m\~www" +.Shell_cmd "groff\~\-mwww" +. +. +.P +Obviously, variants like +.I -mmwww +would not make much sense. +. +. +.P +A second strange feature of classical troff was to name macro files +according to +.BIR tmac. name . +In modern operating systems, the type of a file is specified as +postfix, the file name extension. +. +Again, groff copes with this situation by searching both +.IB anything .tmac +and +.BI tmac. anything +if only +.I anything +is specified. +. +. +.P +The easiest way to find out which macro packages are available on a +system is to check the man\~page +.BR groff (@MAN1EXT@), +or the contents of the +.I tmac +directories. +. +. +.P +In +.IR groff , +most macro packages are described in\~man pages called +.BR groff_\f[I]name\f[] (@MAN7EXT@), +with a leading +.'char m +for the classical packages. +. +. +.\" -------------------------------------------------------------------- +.SH INCLUSION +.\" -------------------------------------------------------------------- +. +There are several ways to use a macro package in a document. +. +The classical way is to specify the troff/groff option +.option \-m +.argument name +at run-time; this makes the contents of the macro package +.I name +available. +. +In groff, the file +.IB name .tmac +is searched within the tmac path; if not found, +.BI tmac. name +will be searched for instead. +. +. +.P +Alternatively, it is also possible to include a macro file by adding +the request +.request so +.I filename +into the document; the argument must be the full file name of an +existing file, possibly with the directory where it is kept. +. +In groff, this was improved by the similar request +.request mso +.IR package , +which added searching in the tmac path, just like option +.option -m +does. +. +. +.P +Note that in order to resolve the +.request so +and +.request mso +requests, the roff preprocessor +.BR soelim (@MAN1EXT@) +must be called if the files to be included need preprocessing. +. +This can be done either directly by a pipeline on the command line or +by using the troff/groff option +.option \-s . +. +.I man +calls soelim automatically. +. +. +.P +For example, suppose a macro file is stored as +.I @MACRODIR@/macros.tmac +and is used in some document called +.IR docu.roff . +. +. +.P +At run-time, the formatter call for this is +. +.IP +.Shell_cmd "groff\~\-m\~" "macrofile\~document.roff" +. +. +.P +To include the macro file directly in the document either +. +.IP +.Example +. Text .mso macrofile.tmac +./Example +. +.P +is used or +. +.IP +.Example +. Text .so @MACRODIR@/macros.tmac +./Example +. +. +.P +In both cases, the formatter is called with +.IP +.Shell_cmd "troff\~\-s\~" docu.roff +. +. +.P +If you want to write your own groff macro file, call it +.IB whatever .tmac +and put it in some directory of the tmac path, see section +.BR FILES . +Then documents can include it with the +.request mso +request or the option +.option -m . +. +. +.ig +.\" -------------------------------------------------------------------- +.SH CONVENTION +.\" -------------------------------------------------------------------- +. +.\" This section does not fit into the framework of this document. +. +There is a convention that is supported by many modern roff +type-setters and +.BR man (1) +programs, the +.I preprocessor word +described in the following. +. +.P +If the first line in a document is a comment, the first word (after the +comment characters and a blank) constitutes the +.B preprocessor +.BR word . +That means that the letters of this word are interpreted as +abbreviations for those preprocessor commands that should be run +when formatting the document. +. +Mostly, only the letters corresponding to the options for the +preprocessors are recognized, +.'char e +(for +.BR eqn ), +.\" 'char G , +.\" 'char g , +.'char p , +(for +.BR pic ), +.'char R +(for +.BR refer ), +.'char s +(for +.BR soelim ), +and +.'char t +(for +.BR tbl ). +(see +.BR roff (@MAN7EXT@)). +. +. +.P +Besides being a good reminder for the user, some formatters (like the +.BR man (1) +program) are even able to automatically start the preprocessors +specified in the preprocessor word, but do not bet on this. +. +. +.P +The +.I man +program handles some preprocessors automatically, such that in +man\~pages only the following characters should be used: +.'char e , +.'char p , +and +.'char t . +. +. +.. +.\" -------------------------------------------------------------------- +.SH "WRITING MACROS" +.\" -------------------------------------------------------------------- +. +A +.BR roff (@MAN7EXT@) +document is a text file that is enriched by predefined formatting +constructs, such as requests, escape sequences, strings, numeric +registers, and macros from a macro package. +. +These elements are described in +.BR roff (@MAN7EXT@). +. +. +.P +To give a document a personal style, it is most useful to extend the +existing elements by defining some macros for repeating tasks; the best +place for this is near the beginning of the document or in a separate +file. +. +. +.P +Macros without arguments are just like strings. +. +But the full power of macros reveals when arguments are passed with a +macro call. +. +Within the macro definition, the arguments are available as the escape +sequences +.BR $1 , +\*[Ellipsis], +.BR $9 , +.BR $[ \*[Ellipsis] ] , +.BR $* , +and +.BR $@ , +the name under which the macro was called is in +.BR $0 , +and the number of arguments is in register +.BR \n[.$] ; +see +.BR groff (@MAN7EXT@). +. +. +.\" -------------------------------------------------------------------- +.SS "Copy-in Mode" +.\" -------------------------------------------------------------------- +. +The phase when groff reads a macro is called +.I "copy-in mode" +in roff-talk. +. +This is comparable to the C\~preprocessing phase during the development +of a program written in the C\~language. +. +. +.P +In this phase, groff interprets all backslashes; that means that all +escape sequences in the macro body are interpreted and replaced by +their value. +. +For constant expression, this is wanted, but strings and registers +that might change between calls of the macro must be protected from +being evaluated. +. +This is most easily done by doubling the backslash that introduces the +escape sequence. +. +This doubling is most important for the positional parameters. +. +For example, to print information on the arguments that were passed to +the macro to the terminal, define a macro named `.print_args', +say. +. +. +.P +.ds @1 \[rs]f[I]\[rs]\[rs]$0\[rs]f[]\" +.ds @2 arguments:\" +.Example +. Text .ds midpart was called with +. Text .de print_args +. Text .\~\~tm\~\*[@1]\~\[rs]\[rs]*[midpart]\~\[rs]\[rs]n[.$]\~\*[@2] +. Text .\~\~tm\~\[rs]\[rs]$* +. Text .. +./Example +.rm @1 +.rm @2 +. +. +.P +When calling this macro by +.P +.Example +. Text .print_args arg1 arg2 +./Example +.P +the following text is printed to the terminal: +.Example +. Text \f[CI]print_args\f[] was called with the following 2 arguments: +arg1 arg2 +./Example +. +. +.P +Let's analyze each backslash in the macro definition. +. +As the positional parameters and the number of arguments will change +with each call of the macro their leading backslash must be doubled, +which results in +.I \[rs]\[rs]$* +and +.IR \[rs]\[rs][.$] . +The same applies to the macro name because it could be called with an +alias name, so +.IR \[rs]\[rs]$0 . +. +. +.P +On the other hand, +.I midpart +is a constant string, it will not change, so no doubling for +.IR \[rs]*[midpart] . +The +.I \[rs]f +escape sequences are predefined groff elements for setting the font +within the text. +. +Of course, this behavior will not change, so no doubling with +.I \[rs]f[I] +and +.IR \[rs]f[] . +. +. +.\" -------------------------------------------------------------------- +.SS "Draft Mode" +.\" -------------------------------------------------------------------- +. +Writing groff macros is easy when the escaping mechanism is temporarily +disabled. +. +In groff, this is done by enclosing the macro definition(s) into a +pair of +.B .eo +and +.B .ec +requests. +. +Then the body in the macro definition is just like a normal part of +the document \[em] text enhanced by calls of requests, macros, +strings, registers, etc. +. +For example, the code above can be written in a simpler way by +. +. +.P +.ds @1 \[rs]f[I]\[rs]$0\[rs]f[]\" +.ds @2 arguments:\" +.Example +. Text .eo +. Text .ds midpart was called with +. Text .de print_args +. Text .\~\~tm\~\*[@1]\~\[rs]*[midpart]\~\[rs]n[.$]\~\*[@2] +. Text .\~\~tm\~\[rs]$* +. Text .. +. Text .ec +./Example +.rm @1 +.rm @2 +. +. +.P +Unfortunately, draft mode cannot be used universally. +. +Although it is good enough for defining normal macros, draft mode +will fail with advanced applications, such as indirectly defined +strings, registers, etc. +. +An optimal way is to define and test all macros in draft mode and then +do the backslash doubling as a final step; do not forget to remove the +.I .eo +request. +. +. +.\" -------------------------------------------------------------------- +.SS "Tips for Macro Definitions" +.\" -------------------------------------------------------------------- +. +.Topic +Start every line with a dot, for example, by using the groff request +.B .nop +for text lines, or write your own macro that handles also text lines +with a leading dot. +. +.IP +.Example +. Text .de Text +. Text .\~\~if (\[rs]\[rs]n[.$] == 0)\~\[rs] +. Text .\~\~\~\~return +. Text .\~nop\~\[rs])\[rs]\[rs]$*[rs]\) +. Text .. +./Example +. +.Topic +Write a comment macro that works both for copy-in and draft mode; for +as escaping is off in draft mode, trouble might occur when normal +comments are used. +. +For example, the following macro just ignores its arguments, so it +acts like a comment line: +. +.IP +.Example +. Text .de\~c +. Text .. +. Text .c\~This\~is\~like\~a\~comment\~line. +./Example +. +.Topic +In long macro definitions, make ample use of comment lines or empty +lines for a better structuring. +. +.Topic +To increase readability, use groff's indentation facility for requests +and macro calls (arbitrary whitespace after the leading dot). +. +. +.\" -------------------------------------------------------------------- +.SS "Diversions" +.\" -------------------------------------------------------------------- +. +Diversions can be used to realize quite advanced programming +constructs. +. +They are comparable to pointers to large data structures in the +C\~programming language, but their usage is quite different. +. +. +.P +In their simplest form, diversions are multi-line strings, but +they get their power when diversions are used dynamically within macros. +. +The information stored in a diversion can be retrieved by calling the +diversion just like a macro. +. +. +.P +Most of the problems arising with diversions can be avoided if you are +conscious about the fact that diversions always deal with complete +lines. +. +If diversions are used when the line buffer has not been flashed, +strange results are produced; not knowing this, many people get +desperate about diversions. +. +To ensure that a diversion works, line breaks should be added at the +right places. +. +To be on the secure side, enclose everything that has to do with +diversions into a pair of line breaks; for example, by amply using +.B .br +requests. +. +This rule should be applied to diversion definition, both inside and +outside, and to all calls of diversions. +. +This is a bit of overkill, but it works nicely. +. +. +.P +[If you really need diversions which should ignore the current partial +line, use environments to save the current partial line and/\:or use the +.B .box +request.] +. +. +.P +The most powerful feature using diversions is to start a diversion +within a macro definition and end it within another macro. +. +Then everything between each call of this macro pair is stored within +the diversion and can be manipulated from within the macros. +. +. +.\" -------------------------------------------------------------------- +.SH FILES +.\" -------------------------------------------------------------------- +. +All macro names must be named +.IB name .tmac +to fully use the tmac mechanism. +. +.BI tmac. name +as with classical packages is possible as well, but deprecated. +. +. +.P +The macro files are kept in the +.IR "tmac directories" ; +a colon separated list of these constitutes the +.IR "tmac path" . +. +. +.P +The search sequence for macro files is (in that order): +. +.Topic +the directories specified with troff/groff's +.B \-M +command line option +. +.Topic +the directories given in the +.Env_var $GROFF_TMAC_PATH +environment variable +. +.Topic +the current directory (only if in unsafe mode, which is enabled by the +.B \-U +command line switch) +. +.Topic +the home directory +. +.Topic +a platform-specific directory, being +.B @SYSTEMMACRODIR@ +in this installation +. +.Topic +a site-specific (platform-independent) directory, being +.B @LOCALMACRODIR@ +in this installation +. +.Topic +the main tmac directory, being +.B @MACRODIR@ +in this installation +. +. +.\" -------------------------------------------------------------------- +.SH ENVIRONMENT +.\" -------------------------------------------------------------------- +. +.TP +.Env_var $GROFF_TMAC_PATH +A colon separated list of additional tmac directories in which to search +for macro files. +. +See the previous section for a detailed description. +. +. +.\" -------------------------------------------------------------------- +.SH AUTHOR +.\" -------------------------------------------------------------------- +. +Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. +. +.P +This document is distributed under the terms of the FDL (GNU Free +Documentation License) version 1.1 or later. +. +You should have received a copy of the FDL on your system, it is also +available on-line at the +.URL http://\:www.gnu.org/\:copyleft/\:fdl.html "GNU copyleft site" . +. +.P +This document is part of +.IR groff , +the GNU roff distribution. +. +It was written by +.MTO bwarken@mayn.de "Bernd Warken" ; +it is maintained by +.MTO wl@gnu.org "Werner Lemberg" . +. +. +.\" -------------------------------------------------------------------- +.SH "SEE ALSO" +.\" -------------------------------------------------------------------- +. +A complete reference for all parts of the groff system is found in the +groff +.BR info (1) +file. +. +.TP +.BR groff (@MAN1EXT@) +an overview of the groff system. +. +.TP +.BR groff_man (@MAN7EXT@), +.TP+ +.BR groff_mdoc (@MAN7EXT@), +.TP+ +.BR groff_me (@MAN7EXT@), +.TP+ +.BR groff_mm (@MAN7EXT@), +.TP+ +.BR groff_mom (@MAN7EXT@), +.TP+ +.BR groff_ms (@MAN7EXT@), +.TP+ +.BR groff_www (@MAN7EXT@). +the groff tmac macro packages. +. +.TP +.BR groff (@MAN7EXT@) +the groff language. +. +. +.P +The Filesystem Hierarchy Standard is available at the +.URL http://\:www.pathname.com/\:fhs/ "FHS web site" . +. +.\" Local Variables: +.\" mode: nroff +.\" End: |