In the following notes, it is important to not confuse Texinfo (texinfo
), the stand-alone info reader (info
) and the info reader embedded in GNU Emacs (M-x info
).
There are two primary Info readers: info
, a stand-alone program
designed just to read Info files (see What is Info?)
and the info
package in GNU Emacs, a general-purpose editor.
Texinfo manual: chapter Overview, section Adding Output Formats:
From time to time, proposals are made to generate traditional Unix man pages from Texinfo source. However, because man pages have a strict conventional format, creating a good man page requires a completely different source from that needed for the typical Texinfo applications of writing a good user tutorial and/or a good reference manual. This makes generating man pages incompatible with the Texinfo design goal of not having to document the same information in different ways for different output formats. You might as well write the man page directly.
An info manual has a completely different structure than a man
page, see What is GNU Info for?.
According to @Kyle Jones, see https://unix.stackexchange.com/a/77533
The original Texinfo processor and Info document browser were both written in Lisp and ran inside Emacs. The standalone Texinfo utilities came several years later.
Info standalone: chapter Stand-alone Info
Emacs Info and stand-alone Info have nearly identical user interfaces, although customization and other details are different (this manual explains the stand-alone Info reader).
Moreover, GNU Emacs may read a man
page (man package, installed by default) and the Info system (makeinfo
, info
, ...) is based on the principle of creating a documentation system¹. Look at the built-in documentation system of GNU Emacs: M-x describe-function
, type man
and Enter
.
man is an interactive autoloaded Lisp function in man.el
.
(man MAN-ARGS)
Get a Un#x manual and put it in a buffer. This command is the top-level command in the man package. It runs a Un#x command to retrieve and clean a manpage in the background and places the result in a Man-mode
browsing buffer. [...]
For a manpage from a particular section, use either of the following. "cat(1)" is how cross-references appear and is passed to man as "1 cat".
cat(1)
1 cat
To see manpages from all sections related to a subject, use an "all pages" option (which might be "-a" if it's not the default), then step through with Man-next-manpage
(M-n) etc. Add to Man-switches
to make this option permanent.
[...]
We can know which source the Info reader will use, using the options -aw
. For more information, look at the manual "info-stnd", section "Invoking Info".
prompt% info -aw dmesg
*manpages*
prompt% info -aw printf
/usr/share/info/libc.info.bz2
*manpages*
¹ For more information, read the manual Texinfo.
M-x man
if you want to display a man page ininfo
regardless of whether aninfo
entry exists for the topic or not. – Stéphane Chazelas Sep 05 '18 at 08:57