On Fri, Mar 07, 2025 at 07:48:27PM +0100, Sigfrid Lundberg wrote:
> Thank you Thomas!
>
> I had already tried \p, but it is difficult to get it to work inside the
> refer support code in the macro packages used. It seems that such code has
> to be embedded in these strings overriding the ones that are in the macro
> package you are using.
>
> .ds ref*spec!A ", " "
> .ds ref*spec!B """ " " "in \fI" "" "\fP"
> .ds ref*spec!D """ " " "(" ")"
> .ds ref*spec!E ", " " "ed. "
> .ds ref*spec!G """ " " "(" ")"
> .ds ref*spec!J ", " " "\fI" "" "\fP"
> .ds ref*spec!N """ "(" "" ")"
> .ds ref*spec!O ". " "
> .ds ref*spec!P ", " " "p.\~"
> .ds ref*spec!PP ", " " "pp.\~"
> .ds ref*spec!T ", " " "\\*Q" "" "\\*U"
> .ds ref*spec!T:0 ", " " "\fI" "" "\fP"
> .ds ref*spec!T:2 ", " " "\fI" "" "\fP"
> .ds ref*spec!V """ " " "\fB" "\fR"
> .ds ref*spec!dflt ", " "
>
> And I could find no way to execute a request inside a string.
>
> .nh 0
>
> for a single refer field, in my case for field O.
>
> My temporary solution is to override the bibliographic item start and end
> macros, which are specific for each macro package, but executed in the
> general refer code. Here I turned off the hyphenation and adjustment, but I
> do that for the entire reference, which isn't really what I want. Further,
> this breaks if there is a page break inside a reference :(
>
> .de ref*biblio-item-start
> . IP "\\$1"
> . hy 0
> . na
> ..
> .de ref*biblio-item-start-nolabel
> . XP
> . hy 0
> . na
> ..
> .de ref*biblio-item-end
> . hy
> ..
>
> Anyway, there is a lot to do for getting refer support that works with
> digital references....
>
> Yours,
>
> Sigfrid
>
>
>
> On Thu, 6 Mar 2025 at 12:10, Thomas DUPOND via GNU roff typesetting system
> discussion <[email protected]> wrote:
>
> > Le 2025-03-05 à 21:37, Sigfrid Lundberg a écrit :
> > >
> > > So, now my questions have changed:
> > >
> > > How do I make sure that a URL isn't hyphenated?
> > > And how do I enforce a break using an escape sequence rather than .br?
> >
> > You could use .nh to stop hyphenation and \p to break after the next word.
> >
> > If you need to restore hyphenation after .nh you could store \n[.hy] and
> > use it to restore hyphenation status.
> >
> > All this is in groff(7) :)
> >
Requests are generally used for global changes (or for a text block) and
escape sequences for local ones (confined to one input line).
I find the "Troff User's Manual" (CSTR #54) to be the simplest
introduction to the basis, see for example
https://troff.org/54.pdf
For extensions, the groff info or groff_* man pages are necessary.
[...]