>> Rationale: The `@node` command is tightly bound with a section
>> command like `@chapter`; this gets reflected by the command
>> `@xrefautomaticsectiontitle`, which makes `@xref` and friends
>> actually print the sectioning title instead of the node name.
>> 
>> For the `@anchor` command, however, there is no such pairing.  This
>> means that currently a third argument must be added to `@xref` to
>> get the desired effect.
> 
> I get the reasoning, but it is not clear to me why one would want to
> use something else than the @anchor argument for a link.  There
> aren't much constraints on anchor content, except that it should be
> unique.  I do not get what the second argument to anchor would
> correspond to besides controlling directly the output of @ref in a
> more centralized manner (but only inside a manual not for cross
> references).

At least for the LilyPond documentation, there are various reasons.

* For translators, having the same anchor name as in the original
  document helps a lot in translation.  And vice versa, it helps
  maintainers who don't speak the particular language to still do
  various maintenance tasks easier.

* It helps avoid issues with transliteration.  All redirection file
  names are in a single language, namely English.

* With my suggestion, if a `@node` gets converted to `@anchor` for
  whatever reason, all references from external files appear exactly
  the same if `@xrefautomaticsectiontitle` is active – and LilyPond
  has *a lot* of external references...  Without it, the reference
  suddenly shows something else, and it would be necessary to modify
  the reference command by adding the old sectioning name as a third
  argument to get that back.


     Werner

Reply via email to