It is important to understand how
gtroff handles input and output
Many escapes use positioning relative to the input line. For example, this
This is a \h'|1.2i'test. This is a \h'|1.2i'test.
This is a test. This is a test.
The main usage of this feature is to define macros which act exactly at the place where called.
.\" A simple macro to underline a word .de underline . nop \\$1\l'|0\[ul]' ..
In the above example, ‘|0’ specifies a negative distance from the
current position (at the end of the just emitted argument
back to the beginning of the input line. Thus, the ‘\l’ escape
draws a line from right to left.
gtroff makes a difference between input and output line
continuation; the latter is also called interrupting a line.
This is a \ .test ⇒ This is a .test
The ‘|’ operator is also affected.
\cworks on the output level. Anything after this escape on the same line is ignored, except
\Rwhich works as usual. Anything before
\con the same line is appended to the current partial output line. The next non-command line after an interrupted line counts as a new input line.
The visual results depend on whether no-fill mode is active.
- If no-fill mode is active (using the
nfrequest), the next input text line after
\cis handled as a continuation of the same input text line..nf This is a \c test. ⇒ This is a test.
- If fill mode is active (using the
firequest), a word interrupted with
\cis continued with the text on the next input text line, without an intervening space.This is a te\c st. ⇒ This is a test.
Note that an intervening control line which causes a break is stronger than
\c, flushing out the current partial line in the usual way.
.intregister contains a positive value if the last output line was interrupted with
\c; this is associated with the current environment (see Environments).