Re: Format inline code

Alejandro Colomar
2020-11-05T14:59:51Z

On 2020-11-05 12:36, Michael Kerrisk (man-pages) wrote:
> So, suppose I want to produce output as follows, where XXXXXXXXX is
> the start of a hanging list (.TP):
>
> [[
> xxx(2) System Calls Manual xxx(2)
>
> XXXXXXXXXX
> Lorem ipsum dolor sit amet, consectetur adipiscing elit,
> sed do eiusmod tempor incididunt ut labore et dolore magna
> aliqua. Ut enim ad minim veniam, quis nostrud exercitation
> ullamco laboris nisi ut aliquip ex ea commodo consequat.
>
> int
> main(int argc, char *argv[])
> {
> return 0;
> }
>
> zzz yyy xxx(2)
> ]]
>
> The way I currently produce that is markup something like:
>
> [[
> .TH xxx 2 yyy zzz
> .TP
> XXXXXXXXXX
> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
> eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
> enim ad minim veniam, quis nostrud exercitation ullamco laboris
> nisi ut aliquip ex ea commodo consequat.
> .IP
> .in +4n
> .EX
> int
> main(int argc, char *argv[])
> {
> return 0;
> }
> .EE
> .in
> ]]
>
> Downside: in the above, I need to know whether to use .IP or .PP,
> depending on whether I'm currently in an indented text block.
>
> I think you are suggesting that instead, I could do something like:
>
> [[
> .TH xxx 2 yyyyy zzzzz
> .TP
> XXXXXXXXXX
> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
> eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
> enim ad minim veniam, quis nostrud exercitation ullamco laboris
> nisi ut aliquip ex ea commodo consequat.
> .RS
> .PP
> .RS +4n
> .EX
> int
> main(int argc, char *argv[])
> {
> return 0;
> }
> .EE
> .RE
> .RE
> ]]
>
> I agree that this works, and has the virtue that I can consistently use
>
> .PP
> .RS +4n
> .EX
> ...
> .EE
> .RE
>
> everywhere. The downside is that I have to add an extra .RS/.RE pair,
> and that's quite a bit of mark-up to add each time (to a construct
> that is already quite mark-up heavy). I don't totally object to the
> extra mark-up, but it would be nice if there was a way to accomplish
> the desired result (consistent mark-up everywhere) without requiring
> su much mark-up.

Hi Michael,

On one hand, yes, it adds some lines of markup, i.e., a bit of noise.
On the other hand, I just see .RS/.RE as {/} in C scopes:
they clearly delimit logic blocks of text,
and also help in greatly reducing the quantity of .IP needed,
needing only .PP for most things, which simplifies logic.

Choose your poison :p

Cheers,

Alex