soelim(1)
π Name π
soelim β recursively interpolate source requests in roff or other text files. This is soelim(1) from the General Commands Manual, and she's here to help, bestie. π
πΈ Synopsis πΈ
soelim [-Crt] [-I dir] [input-file ...]
soelim --help
soelim -v
soelim --version
π¦ Description π¦
Okay so GNU soelim is a preprocessor for the groff(7) document formatting system. She works as a filter to eliminate source requests in roff(7) input files; that is, she replaces lines of the form .so included-file within each text input-file with the contents of included-file, recursively. By default, she also writes lf requests to record the name and line number of each input-file and included-file, so that any diagnostics produced by later processing can be accurately traced back to the original input. The options let you suppress that information with -r, or supply it in TeX comments instead with -t. If there are no input-file arguments, soelim reads the standard input stream. Output is written to the standard output stream. Slay. β¨
If the name of a macro-file contains a backslash, use \\ or \e to embed it. To embed a space, write \ (a backslash followed by a space). Any other escape sequence in macro-file, including \[rs], prevents soelim from replacing the source request. No cap.
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 ofsoelim's understanding of the roff language; it does not, for example, replace the input line below with the contents ofotherfile.
.if 1 .so otherfile
With its -r option, therefore, soelim can be used to process text files in general, to flatten a tree of input documents.
soelim was designed to handle situations where the target of a roff source request requires a preprocessor such as eqn(1), pic(1), refer(1), or tbl(1). The usual processing sequence of groff(1) is as follows.
input sourced
file file
βͺ βͺ
β β
preprocessor β―β troff β―β 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 β―β preprocessor β―β troff β―β postprocessor
β βͺ
βͺ β
sourced output
file file
β¨ Options β¨
--helpβ displays a usage message; exits afterward.-vβ shows version information; exits afterward.--versionβ shows version information; exits afterward.-Cβ recognize an input line starting with.soeven if a character other than a space or newline follows.-Idir β search the directory dir path for input- and included-files.-Imay be specified more than once; each dir is searched in the given order. To search the current working directory before others, add-I .at the desired place; it is otherwise searched last.-rβ write files βrawβ; do not addlfrequests.-tβ emit TeX comment lines starting with%indicating the current file and line number, rather thanlfrequests for the same purpose.
If both -r and -t are given, the last one specified controls. π«Ά
π See also π
And that's the whole vibe! This page is from groff 1.23.0, dated 29 October 2024, and it's the soelim(1) manual page. Mwah π
π¦ where this page comes from
- centos-stream 10: groff-base 1.23.0-10.el10 Β· GPL-3.0-or-later AND GFDL-1.3-or-later AND BSD-4-Clause-UC AND MIT AND X11 AND LicenseRef-Fedora-Public-Domain
- Copyright (C) 1989-2020 Free Software Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms