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