[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mandoc-tech
Subject:    Re: docbook2mdoc and [sub]section links
From:       Ingo Schwarze <schwarze () usta ! de>
Date:       2019-05-20 17:45:06
Message-ID: 20190520174506.GA53563 () athene ! usta ! de
[Download RAW message or body]

Hello Anthony,

Anthony J. Bentley wrote on Sun, May 19, 2019 at 11:50:38PM -0600:

> Instances of .Sx that docbook2mdoc(1) generates in text don't match the
> case of the actual section name. The Sx's printed text (and, in HTML
> output, the href of the hyperlink) will come from the section's id in
> the DocBook source, which is not correct.

Yes, this is a known shortcoming.  The proper fix involves:

 1. During parsing, building a table of ID attributes.
 2. During parsing, record the <xref> (and possibly similar)
    attributes as-is.
 3. In a later validation phase (after parsing), iterate all
    nodes an change those pointing to ID attributes to point
    the titles associated with the ID attributes.

So far, i shied away from doing that because it is slightly complex.
But it needs to be done at some point.

> A related problem is with <sect3>. docbook2mdoc(1) generates Sy in Pp
> for the tag. While dissatisfying, I don't know what better solution
> there could be at the moment. But since this can't be treated as a
> normal section cross reference, docbook2mdoc(1) should not create Sx
> for references to <sect3>.

Thanks, i wasn't aware of that aspect yet.

You are right that mdoc(7) simply doesn't support a third level of
sections - which is more a feature than a bug, avoiding excessive
complexity of documentation.

I agree that in such a situation docbook2mdoc(1) should just not
generate the .Sx macro.  That requires selectively adding entries
to the ID table, then deleting cross references during the validation
phase when there is no match for the target.

This is all a bit on the more tedious, lower priority side of
features to implement, yet it should clearly be done.

Yours,
  Ingo
--
 To unsubscribe send an email to tech+unsubscribe@mandoc.bsd.lv

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic