Hi, Branden!
On 5/2/22 00:52, G. Branden Robinson wrote:
Hi, Alex--
At 2022-05-01T22:24:04+0200, Alejandro Colomar wrote:
On 5/1/22 13:00, Ralph Corderoy wrote:
Hi Alejandro,
https://man.openbsd.org/mandoc_char#Accents
https://man.openbsd.org/mandoc_char#Periods
Or, more generally, which may be more useful in future,
CSTR 54 §4.1, https://troff.org/54.pdf, and
info groff Requests | less -j12 +/precede
Thank you too.
Branden, any chance you may add that to any groff manual page?
Already done! I would have responded sooner but I've just completed (I
_think_) migrating my data to a new machine. Moar cores, moar fun.
I'm also being a bit randomly inactive these days.
At any rate, groff_man(7) in groff 1.22.4 does in fact cover this.
[[
\& Zero-width space. Append to an input line to prevent an
end-of-sentence punctuation sequence from being
recognized as such, or insert at the beginning of an
input line to prevent a dot or apostrophe from being
interpreted as the beginning of a roff request.
]]
Hmm, I didn't expect to find it there, since it's a groff fundamental
and not a man(7) thing. I don't remember the exact details of my
research, since that was about more than a month ago, but I guess that
since I didn't find it in my extensive search in groff(7) and
groff_char(7), I didn't put much effort in groff_man(7).
In groff 1.23.0, this material will move to groff_man_style(7), since
groff_man(7) is meant to slim itself down to a reference for the macro
package proper, and not cover *roff language fundamentals.
It makes sense.
groff 1.22.4's groff(7) has this. groff 1.23.0 is similar.
[[
\& Non-printable, zero-width glyph.
]]
You could be forgiven for not inferring its utility in this case from
such a terse description.
Yes, I was mainly looking for something 'dot' 'period' 'point' or
something like that. No way I could have considered that. Even if I
had read the whole page, I probably wouldn't have deducted that it would
be useful to this case :)
In groff 1.23.0, we'll have this in roff(7), which will include much
other introductory material.
[[
Any input line that is not a control line is a text line. See
section “Line continuation” in groff(7) for an exception to this
rule. Text lines generally become formatted output. To start a
text line with the control or no‐break control character, prefix
the character with the \& escape sequence.
]]
Hmmm. So we have the info in roff(7) and groff_man_style(7) in 1.23.0.
I'm not sure my understanding of all of the groff manual pages is
correct, but let me think out loud a bit:
roff(7) is historical stuff, right? I wouldn't open this manual page
for finding details on escaping '.'.
Since it's something related to the core language, I'd also skip
groff_man*(7) pages.
Not saying it shouldn't be on those pages; probably readers of those
pages (casual manual page maintainers) will be interested in knowing
that without having to read through the whole groff(7) documentation.
But for more seasoned manual page maintainers, who distinguish some
difference between the man(7) macro package and the basic language, will
probably be inclined to look at some core language manual page for
finding this.
My first attempt would be groff_char(7), probably looking for some
escape sequence that produces a '.' glyph. Something hypothetical like
'\.' or '\[dot]'. After finding that there's no such thing, I'd go
directly to groff(7) trying to find something that helps.
At the same time, I tend to not like having repeated documentation in 3
or 4 pages. We have similar things in the Linux man-pages, and I'd like
to change that. Buuuut, at the same time, I see some need for
documenting that in several pages, each with a different purpose. Not
sure what would be the best thing to do. But I'd propose adding a
paragraph with this info to groff(7) too. In fact that's the page that
I'd chose if I had to put it in a single place and refer from the others.
Our Texinfo manual is similarly expanded.
[[
We have now encountered almost all of the syntax there is in the 'roff'
language, with an exception already noted in passing. A "request" is an
instruction to the formatter that occurs after a control character. A
"control character" must occur at the beginning of an input line to be
recognized.(1) (*note Requests and Macros-Footnote-1::) The regular
control character has a counterpart, the "no-break control character",
which suppresses the break that is implied by some requests. The
default control characters are the dot ('.') and the neutral apostrophe
('''), the latter being the no-break control character. These
characters were chosen because it is uncommon for lines of text in
natural languages to begin them. If you require a formatted period or
apostrophe (closing single quotation mark) where GNU 'troff' is
expecting a control character, prefix the dot or neutral apostrophe with
the non-printing input break escape sequence, '\&'.
]]
Ahh, yes, GNU prefers info(1) over man(1)... I rarely read those.
Please forgive me :-)
Do you find the above responsive to your request? I sure hope so!
Sure!
Thanks!
Alex
Regards,
Branden
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/