[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch updating Info format specification
From: |
Karl Berry |
Subject: |
Re: Patch updating Info format specification |
Date: |
Thu, 24 Jul 2014 18:07:59 GMT |
There is a similar question for whether you need punctuation after a
short-form cross-reference, e.g. from the texinfo manual "*Note
Tropical Storms::, for more info." It says that "it's a common mistake
to follow an '@xref' command with a space, but this is never correct."
I don't see why this is necessary because the name of the referenced
node is terminated here with a colon, not a comma or a full stop.
It's not because of Info format/parsing, but because of the TeX output,
which looks like
See Tropical Storms, p.6, for more info.
Because of the "p.N", the @ref has to be followed by some kind of
punctuation, not a space, or it's grammatically wrong.
But we don't have to embed this rule into the Info format. People who
don't care about the TeX output don't have to follow it.
Main use of not having a tag table would be writing Info files by
hand.
I agree ("rare but occasionally useful"). So we can leave the tag table
as optional.
It's worth mentioning this because otherwise it would mean that we
were looking for a node that was actually called "(dir)" within the
same file.
Sure, no question.
I have a UTF-8 manual installed that is
unusable in an ISO-8859-1 locale
Yes, it's a fundamental problem. As you say, nothing we can do about
the past releases, of course. It's great that you have it working now.
* Does anyone know how this would affect menus in texinfo source,
which are info menus in a @menu block? (Same question for @direntry)?
By "this" I presume you mean the node quoting? makeinfo would have to
generate the quoted form when needed, of course. (Plus see below.)
Patrice, are you there?
* Are cross-references like *Note (file)node:: allowed?
Yes, that's always been the standard way to make a reference to another
manual.
I have seen them in several files. They seem to work at the moment
but there could be some confusion with a node actually called
"(file)node" in the same file.
Indeed, a same-manual node named "(file)node" would have to be
DEL-quoted at the Info level to get the right interpretation by the Info
readers. The same is true for a node named "Foo:" or "Foo," or any of
the other myriad ambiguous cases that arise once any character is
allowed in node names.
Whether we need something at the user level to disambiguate ... I don't
know. Maybe we have to, but I'd rather not, for simplicity. What comes
to mind is that if a local node exists, it gets used. If a user wants
to have a local node named "(file)node" *and* refer to "node" in the
external "file", well, they can't. Rename the local node. This does
not seem like an onerous burden to me.
I think whether there are any practical cases that require user-level
quoting will become clear when Patrice (I hope) implements this in
makeinfo.
* I noticed that in the "info.info" file there was a section about how
to write an Info file by hand (which has been removed now).
We could add it back into the Texinfo manual if you think it'd be useful.
I have always been underwhelmed by that section.
Most of it is covered in the texinfo spec, but I noticed that it
mentioned that node separators could contain form feed characters:
Ah yes. I surmise that rms did that because when he was writing Info
files by hand, he wanted each node to be a separate page in Emacs
(delimited by C-l) and didn't want to change the default page-delimiter :).
/* A node is started by [^L]^_[^L]\n. That is to say, the C-l's are
optional, but the DELETE and NEWLINE are not.
I agree that the C-l's are probably not used nowadays, but as long as
Info accepts them, I think we should mention it in the reference.
That's what references are for, after all ...
Thanks,
Karl