There are many formatting commands, all starting with a dot as
first character, and the various commands are grouped in so-called
macro packages. Example files in the old-school "man" format
and the newer "mandoc" format can be found in
man(7)
and
mdoc(7)
manpages on any NetBSD installation, templates can be found
in /usr/share/misc/man.template and .../mdoc.template.
And in /usr/share/man. :-)

Now, with the new change to man(1), you can simply type
"man /usr/share/man/man1/ls.1" and the formatted manpage
will be shown, just like it always did for "man ls".
The fine difference is that the latter command really just
shows you a preformatted file (from /usr/share/man/cat1),
while the former now really formats the given file on the
fly, and shows you the result.

Before the new change to man(1), you had to run the
formatting tool with the right set of parameters for macro
packages and possibly other options manually. Usually,
the command is something like

nroff -mandoc /usr/share/man/man1/ls.1 | more

for terminal output. NetBSD's "nroff" command is really from
the GNU *roff utilities, and using groff(1) it is also
possible to produce PostScript output for pretty-printing:

groff -Tps -mandoc /usr/share/man/man1/ls.1 >ls.ps
lp -dPS ls.ps

There are more options when running nroff(1)/groff(1),
plus manpages can be stored in compressed format, see
/etc/man.conf for some ideas. All this is now hidden
behind an easy run of man(1).

For a more in-depth introduction of the Unix documentation
tools (and many more things!), I recommend reading Kernighan/Pike's
Unix Programming Environment.

Catching up - various items (and not source-changes, this time)
Many things have happened in NetBSD-land in the past few weeks,
and as I've been slacking^Wbusy again, here's just a digest
of things that I haven't seen mentioned
elsewhere so far, in
random order:

BSD-related radio-show "bsdtalk" has published an interview
with NetBSD's Andrew Doran in its
March 2009 issue. Besides covering Andrews work,
the upcoming NetBSD 5.0 release is also discussed.
Available as
mp3
and
ogg.

Cross-compiling pkgsrc packages is a long-standing dream, and it's
yet waiting for someone to do it. For the time being, Jared McNeill
has come up with an
HowTo on how to build 32bit packages on amd64
(and probably other 64bit systems).

Jared McNeill's been hacking on more stuff recently, and one thing
includes changes to the framebuffer console support on x86 (i.e.
both i386 and amd64). In short,
the recent changes
are just a stop on the way to move the splashscreen code and
esp. image data from the kernel to userland. I.e. that you can put
something like

menu=Boot NetBSD:vesa 1280x800;splash /logo.bmp;boot netbsd

into your /boot.conf in the future. But we'll see a separate
announcement when that part is done. Let's stay tuned! :)

Martti Kumparinen has tackled generating a UFS file system on
a "large" (~5.5TB) disk. As the process is not straight forward,
he has
posted a howto that may help in the future.
Any takers for adding comments and integrating this into
The NetBSD Guide? :)

Manpages are a major component of every Unix system. If you have ever
tried to write such a manpage, you 'll have learned that they are
in a funny text-based format similar to LaTeX and HTML, with its
own processor - *roff. There are several *roff implementations, and
the one used in NetBSD currently is the GNU implementation. To provide
an alternative here is good for both removing GPL'd code from the
NetBSD codebase, and also because groff is written in C++, which
is slow to compile, and - well - requires a C++ compiler.

A change for that situation may arise eventually, as Kristaps
Dzonsons has been working on a groff replacement to format
Unix manpages recently. See
his posting
and
his homepage for further information.

I've talked about Xen support for PCI passthrough
recently,
and Manuel Bouyer has finished his work to get full support
for passing in access to specific PCI devices from the Xen
Dom0 to DomUs. See
his posting to port-xen
for more details!

The NetBSD operating system supports many different hardware
and CPU platforms. For a specific platform, binaries are
compiled with a specific compiler, and there is a set of
binaries for each platform. This results in a rather big number
of different sets of binaries - currently about 50.
A different approach
with historic precedence
is to have one binary work on may hardware platforms,
so-called "fat" binaries.

Qt is a user-interface library found in widespread use in the
Unix/Linux world. It's not exactly small, and its prerequirement
of the X Window System doesn't it make a #1 choice for embedded
systems at the first look. A Qt variant - Qt/Embedded - can be
ran without X, though, and which thus avoids all the configuration
and hardware support trouble of X in one go.

On NetBSD, Qt/Embedded could talk to the wscons driver directly,
and Valeriy 'uwe' Ushakov has posted about his work on
patches to adopt Qt/Embedded to wscons.
Who's first to post some screenshots?

P.S.:
For those wondering how to get single pages formatted, here's a little excursion
in *roff, the formatting language that Unix manual pages
are written in. Take src/bin/ls/ls.1 as an example. To get
a formatted page in ASCII output, use: