From: "onf" <onf@disroot.org>
To: "Ihor Radchenko" <yantar92@posteo.net>,
"G. Branden Robinson" <g.branden.robinson@gmail.com>
Cc: <emacs-orgmode@gnu.org>, <groff@gnu.org>,
"Ingo Schwarze" <schwarze@usta.de>
Subject: Re: [BUG] "\fC" macro in ox-man.el [9.6.15 (release_9.6.15 @ /usr/share/emacs/29.2/lisp/org/)]
Date: Tue, 31 Dec 2024 19:42:52 +0100 [thread overview]
Message-ID: <D6Q3V9IUEMZM.328SXVZ0K2NXV@disroot.org> (raw)
In-Reply-To: <87bjwrhg6a.fsf@localhost>
On Tue Dec 31, 2024 at 7:15 PM CET, Ihor Radchenko wrote:
> >> And this discussion was about using \fC to represent "code" (also,
> >> "fixed width" and tables). We use \fC historically, and it is not very
> >> clear what could be a replacement that does not break Man export
> >> compared to previously produced results.
> >
> > The answer depends on how portable you want your man(7) output to be. A
> > major reason is that font names are not portable across output
> > devices;...
>
> 1. We want to avoid breaking cases when \fC did work (it is a minimum)
> 2. Ideally, we want things to work in _more_ cases
> 3. Even more ideally, we want things to work in all the cases
>
> If (1) is not possible, compromises will have to be made. I hope that we
> do not have to make compromises.
>
> Also, what if we leave \fC and add \f[CR]/.EX on top?
> AFAIU, the worst case scenario for \fC is that it does nothing. By
> leaving it there, we thus retain old working exports working while also
> adding appropriate format when \f[CR] is supported.
The \f escape sets current font. \fP restores previous font.
What this means is that doing \fC\f[CR]Lorem\fP:
(1) sets the text Lorem in Courier if font name C or CR exists
(2) restores previous font if neither font C nor CR exists
(3) sets font to Courier if both font name C and CR exist
> >> From my reading of man 7 man, .EX/.EE are more suitable for paragraph
> >> markup:
> > ...
> > Yes. `EX`/`EE` works only with "displays".
>
> May you elaborate about the meaning of "displays"?
Branden will likely provide you with a more detailed description, but
in short, displays are text that is set off from the rest. Example from
groff(7):
Long words may then look intimidating in the input; a clarifying
approach might be to use the input line continuation escape sequence
\newline to place each underlined character on its own input line.
Thus,
.nf
\&\fB: ${\fIvar\fR\c
\zo\(ul\
\zp\(ul\c
\&\fIvalue\fB}
.fi
produces
: ${varopvalue}
as output.
Checking the manpage's source shows that this is done precisely using
the EX/EE macros:
Thus,
.
.RS
.EX
\&.nf
\[rs]&\[rs]fB: ${\[rs]fIvar\[rs]fR\[rs]c
\[rs]zo\[rs](ul\[rs]
\[rs]zp\[rs](ul\[rs]c
\[rs]&\[rs]fIvalue\[rs]fB}
\&.fi
.EE
.RE
.
produces
.
.RS
.EX
.BI ": ${" var \c
\zo\(ul\
\zp\(ul\c
.IB value }
.EE
.RE
.
as output.
> Do I understand correctly that blank line is sometimes interpreted as
> vertical spacing and sometimes ignored?
A blank input line is equivalent to .sp unless the .blm request was called
to change this behavior. .blm is groff's invention (see groff_diff(7)).
~ onf
next prev parent reply other threads:[~2024-12-31 18:48 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-01 7:51 [BUG] "\fC" macro in ox-man.el [9.6.15 (release_9.6.15 @ /usr/share/emacs/29.2/lisp/org/)] Xiyue Deng
2024-03-03 13:30 ` Ihor Radchenko
2024-03-12 0:06 ` Xiyue Deng
2024-03-13 11:25 ` Ihor Radchenko
2024-03-14 21:46 ` Jeremy Sowden
2024-05-22 9:54 ` Ihor Radchenko
2024-12-18 17:20 ` G. Branden Robinson
2024-12-22 15:41 ` Ihor Radchenko
2024-12-31 17:00 ` G. Branden Robinson
2024-12-31 18:15 ` Ihor Radchenko
2024-12-31 18:42 ` onf [this message]
2024-12-31 18:54 ` onf
2025-01-01 9:38 ` Ihor Radchenko
2025-01-01 12:30 ` onf
2025-01-02 14:29 ` onf
2025-01-02 17:47 ` [BUG] ox-man: Nested markup is broken (was: [BUG] "\fC" macro in ox-man.el [9.6.15 (release_9.6.15 @ /usr/share/emacs/29.2/lisp/org/)]) Ihor Radchenko
2025-01-02 21:51 ` onf
2025-01-03 8:38 ` [BUG] "\fC" macro in ox-man.el [9.6.15 (release_9.6.15 @ /usr/share/emacs/29.2/lisp/org/)] G. Branden Robinson
2025-01-04 0:23 ` onf
2025-01-04 6:37 ` G. Branden Robinson
2025-01-04 20:10 ` onf
2025-01-05 15:24 ` Lennart Jablonka
2025-01-04 13:26 ` Ihor Radchenko
2025-01-04 16:22 ` Dave Kemper
2025-01-04 17:37 ` Ihor Radchenko
2025-01-02 12:14 ` G. Branden Robinson
2025-01-04 12:21 ` Ihor Radchenko
2025-01-02 12:38 ` G. Branden Robinson
2025-01-02 14:21 ` onf
2025-01-04 12:36 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D6Q3V9IUEMZM.328SXVZ0K2NXV@disroot.org \
--to=onf@disroot.org \
--cc=emacs-orgmode@gnu.org \
--cc=g.branden.robinson@gmail.com \
--cc=groff@gnu.org \
--cc=schwarze@usta.de \
--cc=yantar92@posteo.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).