20.3 Info Format FAQ

Here are some questions that have been frequently asked on the project mailing lists and elsewhere.

Why when I run ‘info foo’ do I get the same output as ‘man foo’?

Check that the Info manuals are installed. Not all GNU/Linux distributions install all the Info manuals by default. This is regrettable, as often the Info manual provides more information than the provided man page.

Why not use HTML instead of Info?

Manuals are rarely written in the Info format itself, but are generated from Texinfo source by the texi2any program. texi2any can generate HTML as well as Info from Texinfo source. You can also access and download HTML manuals from the GNU website (https://www.gnu.org/manual/manual.html). Additionally, some GNU/Linux distributions provide packages for the installation of HTML manuals.

Info still has some advantages over HTML for locally installed documentation. The Info browsers support index lookup and support for links between locally installed manuals in multiple locations. It’s important to have documentation installed locally on your machine rather than relying on the Internet; this makes accessing documentation more reliable, and ensures it matches installed versions of packages. It’s hoped that support for browsing locally installed Texinfo documentation in some form of HTML can be improved in the future.

Why provide the command-line info program when the Emacs Info reader is better?

The Emacs Info reader can display images, and fully supports using a mouse. There are not many differences among the Info readers besides that. Command-line info can be configured to change the default key bindings, as well as change the color of cross-references and search results, and to enable mouse scrolling support. You should not need to be experienced with the Emacs editor to use info. (Some recommend another program called pinfo, but this lacks in important features like index lookup.)

Some prefer to be able to scroll through the entire manual at once (as happens with man pages), rather than being limited to a single ‘node’ of content at once. Of course, there is no accounting for taste, but a single, unstructured block of text becomes more awkward as a manual becomes longer and more complicated. (However, if you really want to, you can view an info manual all at once in the less pager with ‘info foo | less’.)

Why do I have ‘see’ appearing in front of all of my links?

By default, Emacs Info mode either changes the marker ‘*note’ for cross-references to ‘see’, or hides it completely. Command-line info does the same if hide-note-references is set. Unfortunately, there is no way to do this reliably, as both the @pxref and @ref commands in Texinfo output this marker in the Info output, and the ‘see’ text is only appropriate for @pxref.

Yes, but how do I get a plain link, with no extra markup?

You can’t. Info is a plain text format that is displayed mostly as-is in the viewers, and without the ‘*note’ text there would be nothing to mark text as a link.

For output formats such as HTML, you can use the @link command to produce a plain link. See @link: Plain, unadorned hyperlink. This does not produce a working cross-reference in Info output or in a printed copy of the manual, though.

Why do lines containing links appear mysteriously short?

This due to Emacs (or info with hide-note-references set to ‘On’) hiding ‘*note’ strings, as mentioned above.

Can the Info format be extended to support fonts, colors or reflowable text?

Any extension would be incompatible with existing Info-viewing programs. Extra markup added to Info files would be displayed to the user, making files ugly and unreadable.

When Texinfo files are processed into Info files, information about which Texinfo commands were used to markup text is lost. Moreover, it is not possible to reliably detect whether text can be reflowed (e.g. a paragraph of prose), or whether line breaks should be kept (e.g. a code sample, or poem).

Info’s core purpose is to display documentation on text terminals. If you want more, you are recommended to use the HTML output from texi2any instead.