emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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


  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).