Content-type: text/html; charset=UTF-8
If the name of a macro-file contains a backslash, use \\ or \e to embed it. To embed a space, write "\~" (backslash followed by a space). Any other escape sequence in macro-file, including "\[rs]", prevents soelim from replacing the source request.
The dot must be at the beginning of a line and must be followed by "so" without intervening spaces or tabs for soelim to handle it. This convention allows source requests to be "protected" from processing by soelim, for instance as part of macro definitions or "if" requests.
There must also be at least one space between "so" and its macro-file argument. The -C option overrides this requirement.
The foregoing is the limit of soelim's understanding of the roff language; it does not, for example, replace the input line
soelim was designed to handle situations where the target of a roff source request requires a preprocessor such as or The usual processing sequence of is as follows.
input sourced
file file
| |
↓ ↓
preprocessor an→ troff an→ postprocessor
|
↓
output
file
That is, files sourced with "so" are normally read only by the formatter, troff. soelim is not required for troff to source files.
If a file to be sourced should also be preprocessed, it must already be read before the input file passes through the preprocessor. soelim, normally invoked via groff's -s option, handles this.
input
file
|
↓
soelim an→ preprocessor an→ troff an→ postprocessor
↑ |
| ↓
sourced output
file file
If both -r and -t are given, the last one specified controls.