mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-17 15:27:36 +00:00
Virgin import of FSF groff v1.18.1
This commit is contained in:
parent
427fbef087
commit
cb16e62e58
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/groff/dist/; revision=104862
File diff suppressed because it is too large
Load Diff
@ -41,9 +41,10 @@ If you want to compile and install gxditview (an X11 previewer),
|
||||
follow the instructions in the INSTALL file in the src/xditview
|
||||
subdirectory.
|
||||
|
||||
To get PostScript versions of the documentation resp. reference files
|
||||
for the `me' macros and the `pic' preprocessor, simply say `make' in
|
||||
the `doc' subdirectory.
|
||||
To get a DVI, PDF, or HTML version of the groff texinfo manual, say `make
|
||||
groff.dvi', `make groff.pdf', or `make groff.html', respectively, in the
|
||||
`doc' subdirectory (after compiling the groff package). Note that you
|
||||
need texinfo version 4.2 or newer as a prerequisite.
|
||||
|
||||
If you have problems, read the PROBLEMS file. If this doesn't help
|
||||
send a bug report using the form in the file BUG-REPORT.
|
||||
|
@ -8,20 +8,27 @@ various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. (Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You only need
|
||||
`configure.ac' if you want to change it or regenerate `configure' using
|
||||
a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
@ -55,14 +62,15 @@ Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
You can give `configure' initial values for variables by setting
|
||||
them in the environment. You can do that on the command line like this:
|
||||
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
|
||||
*Note Environment Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
@ -75,7 +83,7 @@ directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
If you have to use a `make' that does not support the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
@ -122,22 +130,36 @@ you can use the `configure' options `--x-includes=DIR' and
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
a message saying it cannot guess the host type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the host
|
||||
platform (i.e., that on which the generated programs will eventually be
|
||||
run) with `--host=TYPE'. In this case, you should also specify the
|
||||
build platform with `--build=TYPE', because, in this case, it may not
|
||||
be possible to guess the build platform (it sometimes involves
|
||||
compiling and running simple test programs, and this can't be done if
|
||||
the compiler is a cross compiler).
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
@ -150,20 +172,44 @@ default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
Environment Variables
|
||||
=====================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to configure. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
will cause the specified gcc to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
@ -175,9 +221,6 @@ operates.
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
||||
|
152
contrib/groff/MANIFEST
Normal file
152
contrib/groff/MANIFEST
Normal file
@ -0,0 +1,152 @@
|
||||
MANIFEST
|
||||
|
||||
Last update: 21 Dec 2001
|
||||
|
||||
This file is part of groff, the GNU roff type-setting system.
|
||||
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
written by Bernd Warken <bwarken@mayn.de>
|
||||
maintained by Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1 or
|
||||
any later version published by the Free Software Foundation; with the
|
||||
Invariant Sections being this .ig-section and AUTHORS, with no
|
||||
Front-Cover Texts, and with no Back-Cover Texts.
|
||||
|
||||
A copy of the Free Documentation License is included as a file called
|
||||
FDL in the main directory of the groff source package.
|
||||
|
||||
########################################################################
|
||||
|
||||
This file gives an overview of the directories and the main files of
|
||||
the groff source distribution.
|
||||
|
||||
|
||||
1) The top directory.
|
||||
|
||||
BUG-REPORT A template for bug-reports.
|
||||
ChangeLog Log of the changes in the different groff versions.
|
||||
COPYING The GNU General Public License (GPL).
|
||||
FDL The Free Documentation License (FDL).
|
||||
INSTALL Information on compiling and installing groff.
|
||||
INSTALL.gen Generic information on configuration and compiling.
|
||||
MANIFEST The file you are reading.
|
||||
MORE.STUFF Useful stuff in other packages.
|
||||
NEWS Recent user-visible changes in groff.
|
||||
PROBLEMS Tips to handle known critical situations.
|
||||
PROJECTS Long-term additions to groff.
|
||||
README Availability and contact information for groff.
|
||||
README.WIN32 Documentation of the Win32 port of groff.
|
||||
TODO Things planned for future groff versions.
|
||||
|
||||
All other files in the top directory are related to the configuration,
|
||||
compilation, and install processes.
|
||||
|
||||
|
||||
2) The directory structure
|
||||
|
||||
./arch Data that is special for different architectures.
|
||||
djgpp Data special for the 32-bit DOS compiler djgpp.
|
||||
|
||||
./contrib Part of groff, but maintained by other people.
|
||||
groffer A wrapper to conveniently view roff files.
|
||||
mm The groff mm macro package.
|
||||
mom The groff mom macro package.
|
||||
pic2graph Convert PIC diagrams into different graphical formats.
|
||||
|
||||
./doc Manuals and tutorials to groff aspects.
|
||||
|
||||
./font Device information and fonts.
|
||||
devX100 100dpi device for X Window System.
|
||||
devX100-12 100dpi device with narrower font (for 12pt base font).
|
||||
devX75 75dpi device for X Window System.
|
||||
devX75-12 75dpi device with narrower font (for 12pt base font).
|
||||
devascii Text device for ASCII output.
|
||||
devcp1047 EBCDIC device.
|
||||
devdvi TeX DVI device.
|
||||
devhtml HTML device.
|
||||
devlatin1 Text device for latin-1 (ISO 8859-1) output.
|
||||
devlbp Device for Canon CAPSL laser printers.
|
||||
devlj4 Device for HP Laserjet 4, PCL 5, and compatible printers.
|
||||
devps PostScript device.
|
||||
devutf8 Text device for Unicode output.
|
||||
|
||||
./man Some groff manual pages of more general character.
|
||||
|
||||
./src Everything written in programming languages.
|
||||
|
||||
./src/devices The postprocessors.
|
||||
grodvi TeX DVI output.
|
||||
grohtml HTML output.
|
||||
grolbp Canon printers.
|
||||
grolj4 HP Laserjet 4, PCL 5, and compatible printers.
|
||||
grops PostScript output.
|
||||
grotty Text output.
|
||||
|
||||
./src/include The *.h C/C++ include files.
|
||||
|
||||
./src/libs C++ code common to several parts of the groff sources.
|
||||
libbib Library of bibliographic functions.
|
||||
libdriver Parser for intermediate output and postprocessor code.
|
||||
libgroff Library for general support functions used everywhere.
|
||||
snprintf An implementation of snprintf() and friends.
|
||||
|
||||
./src/preproc Preprocessors.
|
||||
eqn Mathematical formulae.
|
||||
grn Gremlin pictures.
|
||||
html The preprocessor part of grohtml.
|
||||
pic Diagram drawer.
|
||||
refer Bibliographic references.
|
||||
soelim File inclusion using tmac path.
|
||||
tbl Tables.
|
||||
|
||||
./src/roff Front-end programs.
|
||||
groff Wrapper around troff. This is the main user program.
|
||||
grog Guess groff command line options.
|
||||
nroff Emulate classical nroff text formatter.
|
||||
troff Main roff formatter program.
|
||||
|
||||
./src/xditview A groff (pre)viewer for the X Window System.
|
||||
|
||||
./src/utils Utility programs around groff.
|
||||
addftinfo Add information to old troff font files for use with groff.
|
||||
afmtodit Create font description files for the PostScript device.
|
||||
hpftodit Create font description files for the LJ4 device.
|
||||
indxbib Make inverted index for bibliographic databases.
|
||||
lkbib Search bibliographic databases.
|
||||
lookbib Interactively search bibliographic databases.
|
||||
pfbtops Translate a PostScript font in .pfb format to ASCII.
|
||||
tfmtodit Create font description files for TeX DVI device.
|
||||
|
||||
./tmac Macro files.
|
||||
|
||||
|
||||
3) Documentation
|
||||
|
||||
The groff documentation is scattered upon several places.
|
||||
|
||||
- The main directory contains documents related to the groff source.
|
||||
The README file contains the information needed to get the groff
|
||||
package, report bugs, and contact the developers.
|
||||
|
||||
- The man-page of each program (section 1) is kept in the source
|
||||
directory of the program.
|
||||
|
||||
- The man-pages for the other sections are found in `src/man'.
|
||||
|
||||
- Documentation in other formats are located in the `doc' directory,
|
||||
including the groff info file, tutorials, and manuals.
|
||||
|
||||
|
||||
4) The roff parser
|
||||
|
||||
The parsing of the roff language is done by troff. The input is
|
||||
transformed into "nodes" by `src/roff/troff/node.cc'. From these, the
|
||||
intermediate output is generated.
|
||||
|
||||
|
||||
5) Postprocessing
|
||||
|
||||
The parser for the intermediate output and the postprocessing is in
|
||||
`src/libs/libdriver/input.cc'. This is used by all postprocessors.
|
@ -14,14 +14,14 @@ Here two ports using the gcc compiler and other GNU tools:
|
||||
|
||||
http://sources.redhat.com/cygwin/mirrors.html
|
||||
|
||||
At any of this mirrors, groff can be found in the directory
|
||||
At any of those mirrors, groff can be found in the directory
|
||||
latest/groff.
|
||||
|
||||
. Kees Zeelenberg <c.zeelenberg@hccnet.nl>:
|
||||
|
||||
http://gnuwin32.sourceforge.net/packages/groffl.htm
|
||||
|
||||
This port includes grap-1.10 and deroff-1.7.
|
||||
This port includes recent versions of grap and deroff.
|
||||
|
||||
dos
|
||||
---
|
||||
@ -117,13 +117,24 @@ Win95, Win98, WinNT) is available from
|
||||
|
||||
and its mirrors.
|
||||
|
||||
A win32 port of version 1.7 is available from
|
||||
A win32 port of version 1.8 is available from
|
||||
|
||||
http://gnuwin32.sourceforge.net/
|
||||
|
||||
David Frey <dfrey@debian.org> has also written a deroff implementation
|
||||
for Debian; it is available from
|
||||
|
||||
ftp://ftp.debian.org/debian/pool/main/d/deroff/
|
||||
|
||||
miscellaneous
|
||||
-------------
|
||||
|
||||
. Ralph Corderoy's excellent page on troff:
|
||||
|
||||
www.troff.org
|
||||
|
||||
There are links for virtually everything related to troff.
|
||||
|
||||
. Dr. Robert Hermann's groff gems are available from
|
||||
|
||||
http://www.eas.slu.edu/People/RBHerrmann/GROFF/index.html
|
||||
@ -163,6 +174,19 @@ miscellaneous
|
||||
|
||||
http://perso.libertysurf.fr/baruchel/
|
||||
|
||||
. gpresent, written by Bob Diertens <bobd@science.uva.nl>. From the README
|
||||
file:
|
||||
|
||||
gpresent is a package for making presentation with groff and acroread.
|
||||
It consist of a set of macros to be used with groff and a post-processor
|
||||
for manipulating the PostScript output of groff. Without the use of the
|
||||
PAUSE macro, it can also be used for making slides.
|
||||
|
||||
It is available from
|
||||
|
||||
www.science.uva.nl/~bobd/useful/gpresent/
|
||||
|
||||
|
||||
documentation
|
||||
-------------
|
||||
|
||||
|
@ -24,7 +24,7 @@ TAGS_src: $(CCSRCS) $(CSRCS) $(GRAM) $(HDRS)
|
||||
Makefile: $(MAKEFILEPARTS)
|
||||
Makefile.dep:
|
||||
touch Makefile.dep
|
||||
$(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
|
||||
pure: $(PROG).pure
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1989-2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1989-2000, 2002 Free Software Foundation, Inc.
|
||||
# Written by James Clark (jjc@jclark.com)
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -25,7 +25,7 @@ INCLUDES=-I. -I$(srcdir) \
|
||||
ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
|
||||
COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
|
||||
ALL_CFLAGS=$(INCLUDES) $(CDEFINES) $(CFLAGS) $(CPPFLAGS)
|
||||
COMPILE.c=$(CC) $(ALL_CFLAGS) -c
|
||||
COMPILE.c=$(CC) $(ALL_CFLAGS) -c
|
||||
LINK.cc=$(CCC) $(CCFLAGS) $(LDFLAGS)
|
||||
LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
|
||||
LIBGROFF=$(top_builddir)/src/libs/libgroff/libgroff.a
|
||||
@ -38,6 +38,8 @@ YTABC=
|
||||
GRAM=
|
||||
LIBCLEAN=
|
||||
CLEANADD=
|
||||
CLEANDIRADD=
|
||||
CLEANNOTSRCDIRADD=
|
||||
MOSTLYCLEANFILES=$(MANCLEAN) $(PROG) $(OBJS) $(GENSRCS) $(GENHDRS) \
|
||||
depend.temp core y.output $(CLEANADD)
|
||||
CLEANFILES=$(LIBCLEAN)
|
||||
@ -69,23 +71,32 @@ prefix_must_exist:
|
||||
|
||||
mostlyclean:
|
||||
-rm -f $(MOSTLYCLEANFILES)
|
||||
-rm -rf $(CLEANDIRADD)
|
||||
-@if test `cd $(srcdir); pwd` = `pwd`; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(CLEANNOTSRCDIRADD); \
|
||||
fi
|
||||
|
||||
clean:
|
||||
-rm -f $(CLEANFILES) $(MOSTLYCLEANFILES)
|
||||
clean: mostlyclean
|
||||
-rm -f $(CLEANFILES)
|
||||
|
||||
distclean:
|
||||
-rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES)
|
||||
distclean: clean
|
||||
-rm -f $(DISTCLEANFILES)
|
||||
-@if test `cd $(srcdir); pwd` = `pwd`; then \
|
||||
:; \
|
||||
else \
|
||||
rm -f $(YTABC) $(YTABH); \
|
||||
fi
|
||||
|
||||
realclean:
|
||||
-rm -f $(REALCLEANFILES) $(DISTCLEANFILES) $(CLEANFILES) \
|
||||
$(MOSTLYCLEANFILES)
|
||||
realclean: distclean
|
||||
-rm -f $(REALCLEANFILES)
|
||||
|
||||
extraclean:
|
||||
-rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES) \
|
||||
\#* *~ =* core junk grot old temp tmp tem
|
||||
extraclean: distclean
|
||||
-rm -f \#* *~ =* core junk grot old temp tmp tem
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .o .cc .c .y .man .n
|
||||
.SUFFIXES: .o .obj .cc .c .y .man .n
|
||||
|
||||
.cc.o:
|
||||
$(COMPILE.cc) $<
|
||||
@ -93,6 +104,12 @@ extraclean:
|
||||
.c.o:
|
||||
$(COMPILE.c) $<
|
||||
|
||||
.cc.obj:
|
||||
$(COMPILE.cc) $<
|
||||
|
||||
.c.obj:
|
||||
$(COMPILE.c) $<
|
||||
|
||||
.y.cc:
|
||||
if test -n "$(YTABH)"; then \
|
||||
$(YACC) $(YACCFLAGS) -d $<; \
|
||||
@ -101,31 +118,36 @@ extraclean:
|
||||
fi
|
||||
-test -f y.tab.h && mv y.tab.h y_tab.h
|
||||
-test -f y.tab.c && mv y.tab.c y_tab.c
|
||||
mv y_tab.c $@
|
||||
# Avoid ending up with two versions of $(YTABH).
|
||||
if test -n "$(YTABH)"; then \
|
||||
if test -f $(srcdir)/$(YTABH); then \
|
||||
rm -f $(YTABH); \
|
||||
mv y_tab.h $(srcdir)/$(YTABH); \
|
||||
else \
|
||||
mv y_tab.h $(YTABH); \
|
||||
fi; \
|
||||
fi
|
||||
mv y_tab.c $(YTABC)
|
||||
if test -n "$(YTABH)"; then mv y_tab.h $(YTABH); fi
|
||||
|
||||
version=`cat $(top_srcdir)/VERSION`
|
||||
# No additional number for the groff archive if revision is zero
|
||||
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
|
||||
# The next rule is needed for make of Solaris 2.5.1 to override its
|
||||
# built-in .y.o rule (which takes precedence over the .y.cc rule above).
|
||||
.y.o:
|
||||
if test -n "$(YTABH)"; then \
|
||||
$(YACC) $(YACCFLAGS) -d $<; \
|
||||
else \
|
||||
$(YACC) $(YACCFLAGS) $<; \
|
||||
fi
|
||||
-test -f y.tab.h && mv y.tab.h y_tab.h
|
||||
-test -f y.tab.c && mv y.tab.c y_tab.c
|
||||
mv y_tab.c $(YTABC)
|
||||
if test -n "$(YTABH)"; then mv y_tab.h $(YTABH); fi
|
||||
$(COMPILE.cc) $(YTABC)
|
||||
|
||||
.man.n:
|
||||
@echo Making $@ from $<
|
||||
@-rm -f $@
|
||||
@sed -e "s|@BINDIR@|$(bindir)|g" \
|
||||
-e "s|@FONTDIR@|$(fontdir)|g" \
|
||||
-e "s|@FONTPATH@|$(fontpath)|g" \
|
||||
-e "s|@LOCALFONTDIR@|$(localfontdir)|g" \
|
||||
-e "s|@LEGACYFONTDIR@|$(legacyfontdir)|g" \
|
||||
-e "s|@MACRODIR@|$(tmacdir)|g" \
|
||||
-e "s|@SYSTEMMACRODIR@|$(systemtmacdir)|g" \
|
||||
-e "s|@LOCALMACRODIR@|$(localtmacdir)|g" \
|
||||
-e "s|@MACROPATH@|$(tmacpath)|g" \
|
||||
-e "s|@DOCDIR@|$(docdir)|g" \
|
||||
-e "s|@EXAMPLEDIR@|$(exampledir)|g" \
|
||||
-e "s|@HTMLDOCDIR@|$(htmldocdir)|g" \
|
||||
-e "s|@DEVICE@|$(DEVICE)|g" \
|
||||
-e "s|@DEFAULT_INDEX@|$(indexdir)/$(indexname)|g" \
|
||||
-e "s|@DEFAULT_INDEX_NAME@|$(indexname)|g" \
|
||||
@ -239,7 +261,7 @@ depend_src: depend.temp
|
||||
|
||||
depend.temp: FORCE
|
||||
> depend.temp;
|
||||
test -z "$(CCSRCS)$(YTABC)" \
|
||||
test -z "$(CCSRCS)$(YTABC)" \
|
||||
|| $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $(YTABC) >>depend.temp
|
||||
test -z "$(CSRCS)" \
|
||||
|| $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
|
||||
@ -254,6 +276,7 @@ TAGS_src:
|
||||
test -z "$(GRAM)$(HDRS)" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
|
||||
|
||||
# This rule is only considered for the subdir_Makefile target.
|
||||
Makefile:
|
||||
-rm -f Makefile
|
||||
echo srcdir=$(srcdir) >>Makefile
|
||||
|
@ -24,4 +24,4 @@ TAGS_src: $(CCSRCS) $(CSRCS) $(GRAM) $(HDRS)
|
||||
Makefile: $(MAKEFILEPARTS)
|
||||
Makefile.dep:
|
||||
touch Makefile.dep
|
||||
$(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1989-2000, 2001 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
# Written by James Clark (jjc@jclark.com)
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -20,10 +20,10 @@
|
||||
srcdir=@srcdir@
|
||||
top_srcdir=@top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
top_builddir=@top_builddir@
|
||||
top_builddir=@groff_top_builddir@
|
||||
|
||||
version=`cat $(top_srcdir)/VERSION`
|
||||
# No additional number if revision is zero
|
||||
# No additional number if revision is zero.
|
||||
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
|
||||
|
||||
# Define `page' to be letter if your PostScript printer uses 8.5x11
|
||||
@ -54,18 +54,22 @@ PAGE=@PAGE@
|
||||
# with a printer that requires page reversal.
|
||||
BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@
|
||||
|
||||
# DEVICE is the default device.
|
||||
# `DEVICE' is the default device.
|
||||
DEVICE=ps
|
||||
|
||||
# TTYDEVDIRS is either `font/devascii font/devlatin1 font/devutf8' (for
|
||||
# ASCII) or `font/devcp1047' (for EBCDIC).
|
||||
TTYDEVDIRS=@TTYDEVDIRS@
|
||||
# `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for
|
||||
# ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8.
|
||||
TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8
|
||||
|
||||
# PSPRINT is the command to use for printing a PostScript file,
|
||||
# `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or
|
||||
# empty (for EBCDIC).
|
||||
OTHERDEVDIRS=@OTHERDEVDIRS@
|
||||
|
||||
# `PSPRINT' is the command to use for printing a PostScript file,
|
||||
# for example `lpr'.
|
||||
PSPRINT=@PSPRINT@
|
||||
|
||||
# DVIPRINT is the command to use for printing a TeX dvi file,
|
||||
# `DVIPRINT' is the command to use for printing a TeX dvi file,
|
||||
# for example `lpr -d'.
|
||||
DVIPRINT=@DVIPRINT@
|
||||
|
||||
@ -82,44 +86,62 @@ g=@g@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
|
||||
# bindir says where to install executables.
|
||||
# `bindir' says where to install executables.
|
||||
bindir=@bindir@
|
||||
|
||||
# libdir says where to install platform-dependent data
|
||||
# `libdir' says where to install platform-dependent data.
|
||||
libdir=@libdir@
|
||||
libprogramdir=$(libdir)/groff
|
||||
|
||||
# datasubdir says where to install platform-independent data files
|
||||
# `datasubdir' says where to install platform-independent data files.
|
||||
datadir=@datadir@
|
||||
dataprogramdir=$(datadir)/groff
|
||||
datasubdir=$(dataprogramdir)/$(version)$(revision)
|
||||
|
||||
# fontdir says where to install dev*/*.
|
||||
# `infodir' says where to install info files.
|
||||
infodir=@infodir@
|
||||
|
||||
# `docdir' says where to install documentation files.
|
||||
docdir=$(datadir)/doc/groff/$(version)$(revision)
|
||||
|
||||
# `exampledir' says where to install example files.
|
||||
exampledir=$(docdir)/examples
|
||||
|
||||
# `htmldocdir' says where to install documentation in HTML format.
|
||||
htmldocdir=$(docdir)/html
|
||||
|
||||
# `fontdir' says where to install dev*/*.
|
||||
fontdir=$(datasubdir)/font
|
||||
|
||||
# fontpath says where to look for dev*/*.
|
||||
fontpath=$(fontdir):/usr/lib/font
|
||||
# `localfontdir' says where local fonts will be installed (as dev*/*).
|
||||
localfontdir=$(dataprogramdir)/site-font
|
||||
|
||||
# tmacdir says where to install macros.
|
||||
# `legacyfontdir' is for compatibility with non-GNU troff.
|
||||
legacyfontdir=/usr/lib/font
|
||||
|
||||
# `fontpath' says where to look for dev*/*.
|
||||
fontpath=$(localfontdir):$(fontdir):$(legacyfontdir)
|
||||
|
||||
# `tmacdir' says where to install macros.
|
||||
tmacdir=$(datasubdir)/tmac
|
||||
|
||||
# systemtmacdir says where to install platform-dependent macros
|
||||
# `systemtmacdir' says where to install platform-dependent macros.
|
||||
systemtmacdir=$(libprogramdir)/site-tmac
|
||||
|
||||
# localtmacdir says where local files will be installed
|
||||
# `localtmacdir' says where local files will be installed.
|
||||
localtmacdir=$(dataprogramdir)/site-tmac
|
||||
|
||||
# tmacpath says where to look for macro files.
|
||||
# `tmacpath' says where to look for macro files.
|
||||
# The current directory will be prepended in unsafe mode only; the home
|
||||
# directory will be always added.
|
||||
# `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
|
||||
# current nor in the home directory.
|
||||
tmacpath=$(systemtmacdir):$(localtmacdir):$(tmacdir)
|
||||
|
||||
# sys_tmac_prefix is prefix (if any) for system macro packages
|
||||
# `sys_tmac_prefix' is prefix (if any) for system macro packages.
|
||||
sys_tmac_prefix=@sys_tmac_prefix@
|
||||
|
||||
# tmac_wrap is list of system macro packages that should be made
|
||||
# `tmac_wrap' is list of system macro packages that should be made
|
||||
# available to groff by creating a corresponding macro package
|
||||
# in the groff macro directory that references the system macro
|
||||
# package.
|
||||
@ -157,51 +179,78 @@ indexname=Ind
|
||||
# otherwise the supplied eign file will be used.
|
||||
common_words_file=$(datasubdir)/eign
|
||||
|
||||
# manroot is the root of the man page directory tree.
|
||||
# `manroot' is the root of the man page directory tree.
|
||||
mandir=@mandir@
|
||||
manroot=$(mandir)
|
||||
|
||||
# man1ext is the man section for user commands.
|
||||
# `man1ext' is the man section for user commands.
|
||||
man1ext=1
|
||||
man1dir=$(manroot)/man$(man1ext)
|
||||
|
||||
# man5ext is the man section for file formats.
|
||||
# `man5ext' is the man section for file formats.
|
||||
man5ext=5
|
||||
man5dir=$(manroot)/man$(man5ext)
|
||||
|
||||
# man7ext is the man section for macros.
|
||||
# `man7ext' is the man section for macros.
|
||||
man7ext=7
|
||||
man7dir=$(manroot)/man$(man7ext)
|
||||
|
||||
# The configure script checks whether all necessary utility programs for
|
||||
# grohtml are available -- only then we can build the HTML documentation.
|
||||
make_html=@make_html@
|
||||
make_install_html=@make_install_html@
|
||||
|
||||
# DEFINES should include the following:
|
||||
# -DHAVE_MMAP if you have mmap() and <sys/mman.h>
|
||||
# -DARRAY_DELETE_NEEDS_SIZE if your C++ doesn't understand `delete []'
|
||||
# -DHAVE_SYS_SIGLIST if you have sys_siglist[]
|
||||
# -DSYS_SIGLIST_DECLARED if you have sys_siglist[]
|
||||
# -DWCOREFLAG=0200 if the 0200 bit of the status returned by
|
||||
# wait() indicates whether a core image was
|
||||
# produced for a process that was terminated
|
||||
# by a signal
|
||||
# -DHAVE_UNISTD_H if you have <unistd.h>
|
||||
# -DHAVE_CC_OSFCN_H if you have a C++ <osfcn.h>
|
||||
#
|
||||
# -DHAVE_DIRENT_H if you have <dirent.h>
|
||||
# -DHAVE_LIMITS_H if you have <limits.h>
|
||||
# -DHAVE_CC_LIMITS_H if you have a C++ <limits.h>
|
||||
# -DHAVE_SYS_DIR_H if you have <sys/dir.h>
|
||||
# -DHAVE_MATH_H if you have <math.h>
|
||||
# -DHAVE_CC_OSFCN_H if you have a C++ <osfcn.h>
|
||||
# -DHAVE_STDINT_H if you have <stdint.h>
|
||||
# -DHAVE_STDLIB_H if you have <stdlib.h>
|
||||
# -DHAVE_STRING_H if you have <string.h>
|
||||
# -DHAVE_STRINGS_H if you have <strings.h>
|
||||
# -DHAVE_RENAME if you have rename()
|
||||
# -DHAVE_SYS_DIR_H if you have <sys/dir.h>
|
||||
# -DHAVE_SYS_TIME_H if you have <sys/time.h>
|
||||
# -DHAVE_UNISTD_H if you have <unistd.h>
|
||||
#
|
||||
# -DHAVE_FMOD if you have fmod()
|
||||
# -DHAVE_GETCWD if you have getcwd()
|
||||
# -DHAVE_GETTIMEOFDAY if you have gettimeofday()
|
||||
# -DHAVE_ISATTY if you have isatty()
|
||||
# -DHAVE_MKSTEMP if you have mkstemp()
|
||||
# -DHAVE_STRDUP if you have strdup()
|
||||
# -DHAVE_STRSEP if you have strsep()
|
||||
# -DHAVE_MMAP if you have mmap()
|
||||
# -DHAVE_PUTENV if you have putenv()
|
||||
# -DHAVE_RENAME if you have rename()
|
||||
# -DHAVE_SNPRINTF if you have snprintf()
|
||||
# -DHAVE_STRCASECMP if you have strcasecmp()
|
||||
# -DHAVE_STRNCASECMP if you have strncasecmp()
|
||||
# -DHAVE_STRERROR if you have strerror()
|
||||
# -DHAVE_STRSEP if you have strsep()
|
||||
# -DHAVE_STRTOL if you have strtol()
|
||||
#
|
||||
# -DNEED_DECLARATION_GETTIMEOFTODAY
|
||||
# if your C++ <sys/time.h> doesn't declare
|
||||
# gettimeofday()
|
||||
# -DNEED_DECLARATION_HYPOT if your C++ <math.h> doesn't declare hypot()
|
||||
# -DNEED_DECLARATION_PUTENV if your C++ <stdlib.h> doesn't declare putenv()
|
||||
# -DNEED_DECLARATION_POPEN if your C++ <stdio.h> doesn't declare popen()
|
||||
# -DNEED_DECLARATION_PCLOSE if your C++ <stdio.h> doesn't declare pclose()
|
||||
# -DNEED_DECLARATION_POPEN if your C++ <stdio.h> doesn't declare popen()
|
||||
# -DNEED_DECLARATION_PUTENV if your C++ <stdlib.h> doesn't declare putenv()
|
||||
# -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare
|
||||
# strcasecmp()
|
||||
# -DNEED_DECLARATION_STRNCASECMP
|
||||
# if your C++ <string.h> doesn't declare
|
||||
# strncasecmp()
|
||||
# -DRET_TYPE_SRAND_IS_VOID if your srand() returns void or int
|
||||
#
|
||||
# -DRET_TYPE_SRAND_IS_VOID if srand() returns void not int
|
||||
# -DHAVE_SYS_NERR if you have sysnerr in <errno.h> or <stdio.h>
|
||||
# -DHAVE_SYS_ERRLIST if you have sys_errlist in <errno.h> or
|
||||
# <stdio.h>
|
||||
@ -211,13 +260,17 @@ man7dir=$(manroot)/man$(man7ext)
|
||||
# -DHAVE_STRUCT_EXCEPTION if <math.h> defines struct exception
|
||||
# -DRETSIGTYPE=int if signal handlers return int not void
|
||||
# -DIS_EBCDIC_HOST if the host's encoding is EBCDIC
|
||||
# -DPAGEA4 if the the printer's page size is A4
|
||||
DEFINES=@DEFS@
|
||||
|
||||
# Include fmod.o, strtol.o, getcwd.o, strerror.o, putenv.o in LIBOBJS if
|
||||
# your C library is missing the corresponding function.
|
||||
# Include
|
||||
#
|
||||
# {fmod,getcwd,mkstemp,putenv,snprintf,strerror,strtol}.$(OBJEXT)
|
||||
#
|
||||
# in LIBOBJS if your C library is missing the corresponding function.
|
||||
LIBOBJS=@LIBOBJS@
|
||||
|
||||
# CCC is the compiler for C++ (.cc) files.
|
||||
# `CCC' is the compiler for C++ (.cc) files.
|
||||
CCC=@CXX@
|
||||
CC=@CC@
|
||||
# CCDEFINES are definitions for C++ compilations.
|
||||
@ -231,6 +284,8 @@ LDFLAGS=@LDFLAGS@
|
||||
YACC=@YACC@
|
||||
YACCFLAGS=-v
|
||||
|
||||
EXEEXT=@EXEEXT@
|
||||
OBJEXT=@OBJEXT@
|
||||
LIBS=@LIBS@
|
||||
LIBM=@LIBM@
|
||||
RANLIB=@RANLIB@
|
||||
@ -238,6 +293,7 @@ INSTALL=@INSTALL@
|
||||
INSTALL_PROGRAM=@INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT=@INSTALL_SCRIPT@
|
||||
INSTALL_DATA=@INSTALL_DATA@
|
||||
INSTALL_INFO=@INSTALL_INFO@
|
||||
LN_S=@LN_S@
|
||||
AR=ar
|
||||
ETAGS=etags
|
||||
@ -249,7 +305,7 @@ PERLPATH=@PERLPATH@
|
||||
# Sed command with which to edit sh scripts.
|
||||
SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@
|
||||
|
||||
# the program to create directory hierarchies
|
||||
# The program to create directory hierarchies.
|
||||
mkinstalldirs=$(top_srcdir)/mkinstalldirs
|
||||
|
||||
PURIFY=purify
|
||||
@ -266,8 +322,11 @@ MDEFINES= \
|
||||
"BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
|
||||
"DEVICE=$(DEVICE)" \
|
||||
"TTYDEVDIRS=$(TTYDEVDIRS)" \
|
||||
"OTHERDEVDIRS=$(OTHERDEVDIRS)" \
|
||||
"PSPRINT=$(PSPRINT)" \
|
||||
"DVIPRINT=$(DVIPRINT)" \
|
||||
"version=$(version)" \
|
||||
"revision=$(revision)" \
|
||||
"top_srcdir=$(top_srcdir)" \
|
||||
"top_builddir=$(top_builddir)" \
|
||||
"prefix=$(prefix)" \
|
||||
@ -276,10 +335,16 @@ MDEFINES= \
|
||||
"datadir=$(datadir)" \
|
||||
"dataprogramdir=$(dataprogramdir)" \
|
||||
"datasubdir=$(datasubdir)" \
|
||||
"infodir=$(infodir)" \
|
||||
"docdir=$(docdir)" \
|
||||
"exampledir=$(exampledir)" \
|
||||
"htmldocdir=$(htmldocdir)" \
|
||||
"libdir=$(libdir)" \
|
||||
"libprogramdir=$(libprogramdir)" \
|
||||
"bindir=$(bindir)" \
|
||||
"fontdir=$(fontdir)" \
|
||||
"localfontdir=$(localfontdir)" \
|
||||
"legacyfontdir=$(legacyfontdir)" \
|
||||
"fontpath=$(fontpath)" \
|
||||
"tmacdir=$(tmacdir)" \
|
||||
"systemtmacdir=$(systemtmacdir)" \
|
||||
@ -296,12 +361,16 @@ MDEFINES= \
|
||||
"man5dir=$(man5dir)" \
|
||||
"man7ext=$(man7ext)" \
|
||||
"man7dir=$(man7dir)" \
|
||||
"make_html=$(make_html)" \
|
||||
"make_install_html=$(make_install_html)" \
|
||||
"mkinstalldirs=$(mkinstalldirs)" \
|
||||
"tmac_wrap=$(tmac_wrap)" \
|
||||
"sys_tmac_prefix=$(sys_tmac_prefix)" \
|
||||
"tmac_an_prefix=$(tmac_an_prefix)" \
|
||||
"tmac_s_prefix=$(tmac_s_prefix)" \
|
||||
"tmac_m_prefix=$(tmac_m_prefix)" \
|
||||
"EXEEXT=$(EXEEXT)" \
|
||||
"OBJEXT=$(OBJEXT)" \
|
||||
"CCC=$(CCC)" \
|
||||
"CC=$(CC)" \
|
||||
"CCDEFINES=$(CCDEFINES)" \
|
||||
@ -319,6 +388,7 @@ MDEFINES= \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_INFO=$(INSTALL_INFO)" \
|
||||
"ETAGS=$(ETAGS)" \
|
||||
"ETAGSFLAGS=$(ETAGSFLAGS)" \
|
||||
"ETAGSCCFLAG=$(ETAGSCCFLAG)" \
|
||||
@ -364,9 +434,7 @@ DEVDIRS=\
|
||||
font/devX75-12 \
|
||||
font/devX100 \
|
||||
font/devX100-12 \
|
||||
font/devlj4 \
|
||||
font/devhtml \
|
||||
font/devlbp
|
||||
font/devhtml
|
||||
ALLTTYDEVDIRS=\
|
||||
font/devascii \
|
||||
font/devlatin1 \
|
||||
@ -378,16 +446,30 @@ OTHERDIRS=\
|
||||
src/utils/afmtodit \
|
||||
src/roff/grog \
|
||||
src/roff/nroff \
|
||||
contrib/mm
|
||||
contrib/mm \
|
||||
contrib/pic2graph \
|
||||
contrib/eqn2graph \
|
||||
contrib/groffer \
|
||||
contrib/mom \
|
||||
doc
|
||||
ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
|
||||
$(DEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
|
||||
$(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
|
||||
EXTRADIRS=\
|
||||
font/devps/generate \
|
||||
font/devdvi/generate \
|
||||
font/devlj4/generate \
|
||||
src/xditview \
|
||||
doc
|
||||
DISTDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
|
||||
$(DEVDIRS) $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS)
|
||||
NOMAKEDIRS=\
|
||||
arch/djgpp \
|
||||
contrib/mm/examples \
|
||||
contrib/mm/mm \
|
||||
contrib/mom/examples \
|
||||
contrib/mom/momdoc \
|
||||
src/libs/snprintf
|
||||
DISTDIRS=\
|
||||
$(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDEVDIRS) \
|
||||
$(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS)
|
||||
TARGETS=all install install_bin install_data clean distclean mostlyclean \
|
||||
realclean extraclean distfiles TAGS depend uninstall_sub
|
||||
|
||||
@ -460,7 +542,7 @@ $(CCPROGDIRS): FORCE
|
||||
-f $(top_srcdir)/Makefile.ccpg \
|
||||
-f Makefile.dep $(do)
|
||||
|
||||
$(DEVDIRS) $(TTYDEVDIRS): FORCE
|
||||
$(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE
|
||||
@$(ENVSETUP); \
|
||||
if test $(srcdir) = .; \
|
||||
then srcdir=.; \
|
||||
@ -498,10 +580,14 @@ dist:
|
||||
cd tmp; \
|
||||
$(LN_S) ../Makefile .; \
|
||||
$(LN_S) $$srcdir/* . 2>/dev/null || true; \
|
||||
rm -rf CVS; \
|
||||
for d in $(DISTDIRS); do \
|
||||
(cd $$d; $(LN_S) $$srcdir/$$d/* . 2>/dev/null || true); \
|
||||
(cd $$d; \
|
||||
$(LN_S) $$srcdir/$$d/* . 2>/dev/null; \
|
||||
rm -rf CVS || true); \
|
||||
done; \
|
||||
$(MAKE) srcdir=$$srcdir VPATH=$$srcdir extraclean; \
|
||||
$(MAKE) srcdir=. VPATH=. distfiles; \
|
||||
$(MAKE) srcdir=. VPATH=. extraclean; \
|
||||
for d in $(EXTRADIRS); do \
|
||||
(cd $$d; $(MAKE) extraclean); \
|
||||
done; \
|
||||
@ -519,6 +605,8 @@ dist:
|
||||
|
||||
.PHONY: $(ALLDIRS) dot $(TARGETS) FORCE
|
||||
|
||||
# Create a Makefile in $(subdir). This is useful for development since it
|
||||
# avoids running make recursively.
|
||||
subdir_Makefile: Makefile.cfg
|
||||
$(MAKE) do=Makefile $(subdir)
|
||||
|
||||
@ -536,10 +624,12 @@ uninstall: uninstall_sub uninstall_dirs
|
||||
|
||||
.PHONY: uninstall_dirs
|
||||
uninstall_dirs:
|
||||
# Use rmdir here so that the directories are only removed if they're empty
|
||||
# Use `rmdir' here so that the directories are only removed if they are empty.
|
||||
-rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \
|
||||
$(tmacdir) $(systemtmacdir) $(localtmacdir) $(fontdir) $(bindir) \
|
||||
$(datasubdir) $(dataprogramdir) $(datadir) \
|
||||
$(tmacdir) $(systemtmacdir) $(localtmacdir) \
|
||||
$(fontdir) $(localfontdir) $(bindir) \
|
||||
$(datasubdir) $(dataprogramdir) $(datadir) $(infodir) \
|
||||
$(exampledir) $(htmldocdir) $(docdir) \
|
||||
$(libprogramdir) $(libdir)
|
||||
|
||||
|
||||
|
@ -2,4 +2,4 @@ all: $(MANPAGES)
|
||||
install_data: install_man
|
||||
install_man: $(MANPAGES)
|
||||
uninstall_sub: uninstall_man
|
||||
$(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
$(top_builddir)/stamp-h $(MANPAGES): $(top_srcdir)/VERSION $(top_srcdir)/REVISION
|
||||
|
@ -1,8 +1,27 @@
|
||||
DISTCLEANFILES=config.status config.log config.cache Makefile \
|
||||
src/xditview/Imakefile
|
||||
DISTCLEANFILES=\
|
||||
config.status \
|
||||
config.log \
|
||||
config.cache \
|
||||
stamp-h \
|
||||
Makefile \
|
||||
src/xditview/Imakefile \
|
||||
src/include/config.h
|
||||
CLEANADD=Makefile.cfg conftest*
|
||||
|
||||
distfiles: configure
|
||||
|
||||
configure: configure.in aclocal.m4
|
||||
cd $(srcdir); autoconf
|
||||
$(scrdir)/configure: configure.ac aclocal.m4
|
||||
cd $(srcdir) && autoconf
|
||||
|
||||
config.status: configure
|
||||
$(SHELL) config.status --recheck
|
||||
|
||||
# autoheader might not change config.hin, so touch a stamp file.
|
||||
$(srcdir)/config.hin: stamp-h.in
|
||||
$(srcdir)/stamp-h.in: configure.ac aclocal.m4
|
||||
cd $(srcdir) && autoheader
|
||||
echo timestamp > $(srcdir)/stamp-h.in
|
||||
|
||||
config.h: stamp-h
|
||||
stamp-h: config.hin config.status
|
||||
$(SHELL) config.status
|
||||
|
@ -1,5 +1,513 @@
|
||||
This file describes recent user-visible changes in groff. Bug fixes are not
|
||||
described. There are more details in the man pages.
|
||||
described. There are more details in the man and info pages.
|
||||
|
||||
VERSION 1.18.1
|
||||
==============
|
||||
|
||||
Troff
|
||||
-----
|
||||
|
||||
o The non-slanted PostScript font definition files have been regenerated to
|
||||
include left and right italic correction values. Applying those to a glyph
|
||||
(this is, prepending the glyph with `\,' and appending `\/' to the glyph)
|
||||
sets the glyph width to the real value given by the horizontal bounding
|
||||
box values. Without those escapes, the advance width for the particular
|
||||
glyph is used (which can differ considerably).
|
||||
|
||||
Most users will neither need this feature nor notice a difference in
|
||||
existing documents (provided \, and \/ is used as advertised, namely for
|
||||
italic fonts only); its main goal is to improve image generation with
|
||||
grohtml.
|
||||
|
||||
This is an experimental change, and feedback is welcome.
|
||||
|
||||
Tbl
|
||||
---
|
||||
|
||||
o Added global option `nospaces' to ignore leading and trailing spaces in
|
||||
data items.
|
||||
|
||||
Grolbp
|
||||
------
|
||||
|
||||
o The option -w (--linewidth) has been added (similar to other device
|
||||
drivers) to set the default line width.
|
||||
|
||||
Grn
|
||||
---
|
||||
|
||||
o Support for b-spline and Bezier curves has been added.
|
||||
|
||||
Groffer
|
||||
-------
|
||||
|
||||
o New option `--shell' to select the shell under which groffer shall run.
|
||||
|
||||
Macro Packages
|
||||
--------------
|
||||
|
||||
o The string `Am' (producing an ampersand) has been added to mdoc for
|
||||
compatibility with NetBSD.
|
||||
|
||||
o `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit)
|
||||
instead.
|
||||
|
||||
o In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal
|
||||
and vertical movements; please refer to contrib/mom/NEWS for more
|
||||
details.
|
||||
|
||||
o New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers.
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
o The `papersize' keyword in the DESC file now accepts multiple arguments.
|
||||
It is scanned from left to the right, and the first valid argument is
|
||||
used. This makes it possible to provide a fallback paper size.
|
||||
|
||||
Example:
|
||||
|
||||
papersize /etc/papersize a4
|
||||
|
||||
o A local font directory has been prepended to the default font path; it
|
||||
defaults to /usr/local/share/groff/site-font. Similar to the normal
|
||||
font searching process, files must be placed into a devXXX subdirectory,
|
||||
e.g.
|
||||
|
||||
/usr/local/share/groff/site-font/devps/FOO
|
||||
|
||||
for a PostScript font definition file FOO.
|
||||
|
||||
|
||||
VERSION 1.18
|
||||
============
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* PLEASE READ THE CHANGES BELOW REGARDING GROTTY, GROFF'S TTY FRONTEND. *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Troff
|
||||
-----
|
||||
|
||||
o Color support has been added to troff and pic (and to the device drivers
|
||||
grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will
|
||||
follow). A new function `defcolor' defines colors; the escape sequence
|
||||
`\m' sets the drawing color, the escape sequence `\M' specifies the
|
||||
background color for closed objects created with \D'...' commands.
|
||||
`\m[]' and `\M[]' switch back to the previous color. `\m' and `\M'
|
||||
correspond to the new troff output command sets starting with `m' and
|
||||
`DF'. The device-specific default color is called `default' and can't be
|
||||
redefined.
|
||||
|
||||
Use the `color' request to toggle the usage of colors (default is on); the
|
||||
read-only register `.color' is 0 if colors are not active, and non-zero
|
||||
otherwise.
|
||||
|
||||
The old `Df' output command is mapped onto `DFg'; all color output
|
||||
commands don't change the current font position (consequently, `Df'
|
||||
doesn't either).
|
||||
|
||||
Outputting color can be disabled in troff and groff with the option -c
|
||||
(it is always disabled in compatibility mode). See the section on grotty
|
||||
for the GROFF_NO_SGR environment variable also.
|
||||
|
||||
For defining color components as fractions between 0 and 1, a new scaling
|
||||
indicator `f' has been introduced: 1f = 65536u. For testing whether a
|
||||
color is defined (with .if and .ie), a new conditional operator `m' is
|
||||
available.
|
||||
|
||||
More details can be found in the groff_diff.7 manual page and in
|
||||
groff.texinfo.
|
||||
|
||||
o Similar to \m and \M, \f[] switches back to the previous font. \fP
|
||||
(and \f[P]) is still valid for backwards compatibility.
|
||||
|
||||
o The new escape \F is the same as `.fam'; \F[] switches back to previous
|
||||
family -- \F[P] selects family `P'.
|
||||
|
||||
o Two new glyph symbols are available: `eu' is the official Euro symbol;
|
||||
`Eu' is a font-specific glyph variant.
|
||||
|
||||
o The new glyph symbols `t+-', `tdi', and `tmu' are textual variants of
|
||||
`+-', `di', and `mu', respectively.
|
||||
|
||||
o Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has
|
||||
got the troff glyph name `mc'.
|
||||
|
||||
o -Tutf8 is now available on EBCDIC hosts.
|
||||
|
||||
o Strings can take arguments, using this syntax: \*[foo arg1 arg2 ...].
|
||||
Example:
|
||||
|
||||
.ds xxx This is a \\$1 test.
|
||||
\*[xxx nice]
|
||||
|
||||
o It is now possible to have whitespace between the first and second dot (or
|
||||
the name of the ending macro) to end a macro definition. Example:
|
||||
|
||||
.de !
|
||||
..
|
||||
.
|
||||
.de foo
|
||||
. nop Hello, I'm `foo'.
|
||||
. nop I will now define `bar'.
|
||||
. de bar !
|
||||
. nop Hello, I'm `bar'.
|
||||
. !
|
||||
..
|
||||
|
||||
o `.fn' is a new string-valued register which returns the (internal) real
|
||||
font name; styles and families are properly concatenated.
|
||||
|
||||
o Three new read/write registers `seconds', `minutes', and `hours' contain
|
||||
the current time, set at start-up of troff. Use the `af' request to
|
||||
control their output format.
|
||||
|
||||
o The new request `fchar' can be used to provide fallback characters. It
|
||||
has the same syntax as the `char' request; the only difference is that a
|
||||
character defined with `.char' hides the glyph with the same name in the
|
||||
current font, whereas a character defined with `.fchar' is checked only if
|
||||
the particular glyph isn't found in the current font. This test happens
|
||||
before checking special fonts.
|
||||
|
||||
o In analogy to the `tmc' request, `.writec' is the same as `.write' but
|
||||
doesn't emit a final newline.
|
||||
|
||||
o The new request `itc' is a variant of `.it' for which a line interrupted
|
||||
with \c counts as one input line.
|
||||
|
||||
o Two new requests `ds1' and `as1' which are similar to `ds' and `as' but
|
||||
with compatibility mode disabled during expansion of strings defined by
|
||||
them.
|
||||
|
||||
o The syntax of the `substring' request has been changed: The first
|
||||
character in a string now has index 0, the last character has index -1.
|
||||
Note that this is an incompatible change.
|
||||
|
||||
o To emit strings directly to the intermediate output, a new `output'
|
||||
request has been added; it is similar to `\!' used at the top level.
|
||||
|
||||
o `.hpf' has been extended. It can now handle most TeX hyphenation
|
||||
pattern files without modification. To do that, the commands \patterns,
|
||||
\hyphenation, and \endinput are recognized. Please refer to groff_diff.7
|
||||
for more information.
|
||||
|
||||
o `hpfcode' is a new request to provide an input encoding mapping for the
|
||||
`hpf' request.
|
||||
|
||||
o The new request `hpfa' appends hyphenation patterns (`hpf' replaces
|
||||
already existing patterns).
|
||||
|
||||
o A new request `ami' (append macro indirect) has been added. The first and
|
||||
second parameter of `ami' are taken from string registers rather than
|
||||
directly; this very special request is needed to make `trace.tmac'
|
||||
independent from the escape character (which might even be disabled).
|
||||
|
||||
o The new request `sizes' is similar to the `sizes' command in DESC files.
|
||||
It expects the same syntax; the data must be on a single line, and the
|
||||
final `0' can be omitted.
|
||||
|
||||
o `trin' (translate input) is a new request which is similar to `tr' with
|
||||
the exception that the `asciify' request will use the character code (if
|
||||
any) before the character translation. Example:
|
||||
|
||||
.trin ax
|
||||
.di xxx
|
||||
a
|
||||
.br
|
||||
.di
|
||||
.xxx
|
||||
.trin aa
|
||||
.asciify xxx
|
||||
.xxx
|
||||
|
||||
The result is `x a'. Using `tr', the result would be `x x'.
|
||||
|
||||
o The request `pvs' isn't new, but hasn't been documented before. It
|
||||
adds vertical space after a line has been output. This makes it an
|
||||
alternative to the `ls' request to produce double-spaced documents.
|
||||
The read-only register `.pvs' holds the current amount of the
|
||||
post-vertical line space.
|
||||
|
||||
o For compatibility with plan 9's troff, multiple `pi' requests are
|
||||
supported:
|
||||
|
||||
.pi foo
|
||||
.pi bar
|
||||
|
||||
is now equivalent to
|
||||
|
||||
.pi foo | bar
|
||||
|
||||
o A new escape sequence `\O' is available to disable and enable glyph
|
||||
output. Please see groff_diff.7 and groff.texinfo for more details.
|
||||
|
||||
o The escapes `\%', `\&', `\)', and `\:' no longer cause an error in \X;
|
||||
they are ignored now. Additionally `\ ' and `\~' are converted to
|
||||
single space characters.
|
||||
|
||||
o The default tab distance in nroff mode is now 0.8i to be compatible
|
||||
with UNIX troff.
|
||||
|
||||
o Using the latin-1 input character 0xAD (soft hyphen) for the `shc'
|
||||
request was a bad idea. Instead, it is now translated to `\%', and
|
||||
the default hyphenation character is again \[hy]. Note that the glyph
|
||||
\[shc] is not useful for typographic purposes; it only exists to have
|
||||
glyph names for all latin-1 characters.
|
||||
|
||||
Macro Packages
|
||||
--------------
|
||||
|
||||
o Peter Schaffter <df191@ncf.ca> has contributed a new major macro package
|
||||
called `mom', mainly for non-scientific writers, which takes care of
|
||||
many typographic issues. It comes with a complete reference (in HTML
|
||||
format) and some examples. `mom' has been designed to format documents
|
||||
for PostScript output only.
|
||||
|
||||
o Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to
|
||||
the man macros for compatibility with older BSD releases.
|
||||
|
||||
o Both the man and mdoc macro packages now use the LL and LT registers for
|
||||
setting the line and title length, respectively (similar to those
|
||||
registers in the ms macro package). If not set on the command line or
|
||||
in a macro file loaded before the macro package itself, they default to
|
||||
78n in nroff mode and 6.5i in troff mode.
|
||||
|
||||
o The `-xwidth' specifier in the mdoc macro package has been removed. Its
|
||||
functionality is now integrated directly into `-width'. Similarly,
|
||||
`-column' has been extended to provide this functionality also.
|
||||
|
||||
o A new macro `Ex' has been added to the mdoc macro package to document an
|
||||
exit status.
|
||||
|
||||
o The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is
|
||||
now automatically loaded for -Tdvi), using a dvips special to load the EPS
|
||||
file.
|
||||
|
||||
o The trace.tmac package now traces calls to `am' also. Additionally, it
|
||||
works in compatibility mode.
|
||||
|
||||
o `troff.1' has been split. Differences to UNIX troff are now documented
|
||||
in the new man page `groff_diff.7'.
|
||||
|
||||
o `groff_mwww.7' has been renamed to `groff_www.7'. The file mwww.tmac
|
||||
has been removed.
|
||||
|
||||
o `groff_ms.7' has been completely rewritten. It now contains a complete
|
||||
reference to the ms macros.
|
||||
|
||||
o `groff_trace.7' documents the trace macro package.
|
||||
|
||||
o Changes in www.tmac:
|
||||
|
||||
Note that HTML support is still in alpha change, so it is rather likely
|
||||
that both macro names and macro syntax will change. Some of the macros
|
||||
mentioned below aren't really new but haven't been documented properly
|
||||
before.
|
||||
|
||||
The following macros have been renamed:
|
||||
|
||||
MAILTO -> MTO
|
||||
IMAGE -> IMG
|
||||
LINE -> HR
|
||||
|
||||
For consistency, the macros `URL', `FTL', and `MTO' now all have the
|
||||
address as the first parameter followed by the description.
|
||||
|
||||
By default, grohtml generates links to all section headings at the top
|
||||
of the document. Use the new `LK' macro to specify a different place.
|
||||
|
||||
For specifying the background color and a background image, use the
|
||||
new macros `BCL' and `BGIMG', respectively.
|
||||
|
||||
The macro `NHR' has been added; it suppresses the generation of top and
|
||||
bottom rules which grohtml emits by default.
|
||||
|
||||
The new macro `HX' determines the cut-off point for automatic link
|
||||
generation to headings.
|
||||
|
||||
The image position parameter names in `IMG' have been changed to `-L',
|
||||
`-R', and `-C'.
|
||||
|
||||
New macro `PIMG' for inclusion of a PNG image (it will automatically
|
||||
convert it into an EPS file if not -Thtml is used).
|
||||
|
||||
New macro `MPIMG' for putting a PNG image into the left or right margin
|
||||
(it will automatically convert it into an EPS file if not
|
||||
-Thtml is used).
|
||||
|
||||
New macros `HnS', `HnE' to start and end a header line block.
|
||||
|
||||
New macro `DC' to produce dropcap characters.
|
||||
|
||||
New macro `HTL' to generate an HTML title line only but no H1 heading.
|
||||
|
||||
New macros `ULS' and `ULE' to start and end an unordered list. The new
|
||||
macro `LI' inserts a list item.
|
||||
|
||||
Groff
|
||||
-----
|
||||
|
||||
o The new command line option `-c' disables color output (which is always
|
||||
disabled in compatibility mode).
|
||||
|
||||
Nroff
|
||||
-----
|
||||
|
||||
o Two new command line options `-c' and `-C'; the former passes `-c' to
|
||||
grotty (switching to the old output scheme); the latter passes `-C' to
|
||||
groff (enabling compatibility mode).
|
||||
|
||||
Pic
|
||||
---
|
||||
|
||||
o New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
|
||||
`outlined'), and `shaded' are available. `outline' sets the color of the
|
||||
outline, `shaded' the fill color, and `color' sets both. Example:
|
||||
|
||||
circle shaded "green" outline "black" ;
|
||||
|
||||
Filled arrows always use the outline color for filling.
|
||||
|
||||
Color support for TeX output is not implemented yet.
|
||||
|
||||
Pic2graph
|
||||
---------
|
||||
|
||||
o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It
|
||||
converts a PIC diagram into a cropped image. Since it uses gs and the PNM
|
||||
library, virtually all graphics formats are available for output.
|
||||
|
||||
Eqn2graph
|
||||
---------
|
||||
|
||||
o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It
|
||||
converts an EQN diagram into a cropped image. Since it uses gs and the PNM
|
||||
library, virtually all graphics formats are available for output.
|
||||
|
||||
Groffer
|
||||
-------
|
||||
|
||||
o A new script contributed by Bernd Warken <bwarken@mayn.de>. It displays
|
||||
groff files and man pages on X and tty, taking care of most parameters
|
||||
automatically.
|
||||
|
||||
Grog
|
||||
----
|
||||
|
||||
o Documents using the mom macro package are recognized.
|
||||
|
||||
Grops
|
||||
-----
|
||||
|
||||
o Color support has been added.
|
||||
|
||||
o A new option `-p' is available to select the output paper size. It has
|
||||
the same syntax as the new `papersize' keyword in the DESC file.
|
||||
|
||||
Grodvi
|
||||
------
|
||||
|
||||
o By default, font sizes are now available in the range 5-10000pt, similar
|
||||
to PS fonts. If you want the old behaviour (i.e., font sizes at discrete
|
||||
values only), insert the following at the start of your document:
|
||||
|
||||
.if '\*[.T]'dvi' \
|
||||
. sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \
|
||||
1728 1800 2000 2074 2200 2400 2488 2800 3600
|
||||
|
||||
o A new font file HBI (using cmssbxo10; this is slanted sans serif bold
|
||||
extended) has been added.
|
||||
|
||||
o Two font families are now available: `T' and `H'.
|
||||
|
||||
o EC and TC fonts have been integrated. Use `-mec' (calling the file
|
||||
ec.tmac) to switch to them. Those fonts give a much better coverage of
|
||||
the symbols defined by groff than the CM fonts.
|
||||
|
||||
Note that ec.tmac must be called before any language-specific files; it
|
||||
doesn't take care of hcode values.
|
||||
|
||||
o Color support has been added. For drawing commands, colors are translated
|
||||
to gray values currently.
|
||||
|
||||
Grotty
|
||||
------
|
||||
|
||||
o Color support has been added, using the SGR (ISO 6429, sometimes called
|
||||
ANSI color) escape sequences.
|
||||
|
||||
o SGR escape sequences are now used by default for underlining and bold
|
||||
printing also, no longer using the backspace character trick. To revert
|
||||
to the old behaviour, use the `-c' switch.
|
||||
|
||||
Note that you have to use the `-R' option of `less' to make SGR escapes
|
||||
display correctly. On the other hand, terminal programs and consoles like
|
||||
`xterm' which support SGR sequences natively can directly display the
|
||||
output of grotty. Consequently, the options `-b', `-B', `-u', and `-U'
|
||||
work only in combination with `-c' and are ignored silently otherwise.
|
||||
|
||||
For the `man' program, it may be necessary to add the `-R' option of
|
||||
`less' to the $PAGER environment variable; alternatively, you can use
|
||||
`man's `-P' option (or adapt its configuration file accordingly). See
|
||||
man(1) for more details.
|
||||
|
||||
o If the environment variable GROFF_NO_SGR is set, SGR output is disabled,
|
||||
reverting to the old behaviour.
|
||||
|
||||
o A new special \X'tty: sgr n' has been added; if n is non-zero or missing,
|
||||
enable SGR output (the default).
|
||||
|
||||
o If the new option `-i' is used (only in SGR mode), grotty sends escape
|
||||
sequences to set the italic font attribute instead of the underline
|
||||
attribute for italic fonts. Note that many terminals don't have support
|
||||
for this (including xterm).
|
||||
|
||||
Grohtml
|
||||
-------
|
||||
|
||||
o Color support for glyphs has been added.
|
||||
|
||||
o New option `-h' to select the style of headings in HTML output.
|
||||
|
||||
o New option `-b' to set the background colour to white.
|
||||
|
||||
o New options `-a' and `-g' to control the number of bits for anti-aliasing
|
||||
used for text and graphics, respectively. Default value is 4; 0 means
|
||||
no anti-aliasing.
|
||||
|
||||
o groff character/glyph entities now map onto HTML 4 character entities.
|
||||
|
||||
Grolbp
|
||||
------
|
||||
|
||||
o Valid paper sizes are now specified as with the new `papersize' keyword
|
||||
in the DESC file. Specifically, the old custom paper type format
|
||||
`custAAAxBBB' is no longer supported.
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
o A new manual page `ditroff.7' is available.
|
||||
|
||||
o The groff texinfo manual will now be installed, together with a bunch
|
||||
of examples.
|
||||
|
||||
o A new keyword `papersize' has been added to the DESC file format. Its
|
||||
argument is either
|
||||
|
||||
. a predefined paper format (e.g. `A4' or `letter')
|
||||
|
||||
. a file name pointing to a file which must contain a paper size
|
||||
specification in its first line (e.g. `/etc/papersize')
|
||||
|
||||
. a custom paper size definition like `35c,4i'
|
||||
|
||||
See groff_font(5) for more details. This keyword only affects the
|
||||
physical dimensions of the output medium; grops, grolj4, and grolbp use it
|
||||
currently. troff completely ignores it.
|
||||
|
||||
VERSION 1.17.2
|
||||
==============
|
||||
@ -27,8 +535,8 @@ o Two new requests `de1' and `am1' which are similar to `de' and `am' but
|
||||
|
||||
o Added request `brp'. This is the same as `\p'.
|
||||
|
||||
o Similar to other versions of troff, `.ns' now works in all diversions,
|
||||
not only in the top-level one.
|
||||
o Similar to other versions of troff, the `ns' request now works in all
|
||||
diversions, not only in the top-level one.
|
||||
|
||||
o New read-only number register `.ns'. Returns 1 if in no-space mode,
|
||||
0 otherwise.
|
||||
@ -58,15 +566,15 @@ Groff
|
||||
o `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The
|
||||
old behaviour has been changed to overcome problems with platforms which
|
||||
have an 8+3 file name limit, and platforms which have other versions of
|
||||
troff installed also. Additionally, all macro files have been renamed
|
||||
troff installed also. Additionally, all macro files have been renamed
|
||||
using the latter scheme to avoid 8+3 name clashes.
|
||||
|
||||
o The new environment variable GROFF_BIN_PATH is checked for programs groff
|
||||
is calling (preprocessors, troff, and output devices) before PATH. If not
|
||||
set, it defaults to the directory where the groff binary is located.
|
||||
set, it defaults to the directory where the groff binary is located.
|
||||
Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH
|
||||
to find the groff binary but passes both the GROFF_BIN_PATH and PATH
|
||||
environment variable to groff.
|
||||
environment variables to groff.
|
||||
|
||||
Troff
|
||||
-----
|
||||
@ -75,11 +583,11 @@ o The mdoc package has been completely rewritten, using the full power of
|
||||
GNU troff to remove limitations of Unix troff (which is no longer
|
||||
supported). Most important changes are:
|
||||
|
||||
. No argument limit.
|
||||
. Almost all macros are parsed and callable (if it makes sense).
|
||||
. No argument limit
|
||||
. Almost all macros are parsed and callable (if it makes sense)
|
||||
. `.Lb': prints library names
|
||||
. `.Nm <punctuation>' now works as expected; `.Nm "" <punctuation>' has
|
||||
been withdrawn.
|
||||
been withdrawn
|
||||
. Updated `.St' command
|
||||
. `.Fx': prints FreeBSD
|
||||
. `.Ox': prints OpenBSD
|
||||
@ -87,18 +595,18 @@ o The mdoc package has been completely rewritten, using the full power of
|
||||
. `.Brq', `.Bro', `.Brc': brace enclosure macros
|
||||
. `.Bd -centered': center lines
|
||||
. `.Bl -xwidth <string>': interpret <string> and use the resulting width
|
||||
. support for double-sided printing (-rD1 command line switch)
|
||||
. support for 11pt and 12pt document sizes (-rS11, -rS12 command line
|
||||
. Support for double-sided printing (-rD1 command line switch)
|
||||
. Support for 11pt and 12pt document sizes (-rS11, -rS12 command line
|
||||
switches)
|
||||
|
||||
`groff_mdoc.man' replaces `groff_mdoc.samples.man'; it now completely
|
||||
`groff_mdoc.7' replaces `groff_mdoc.samples.7'; it now completely
|
||||
documents the mdoc package.
|
||||
|
||||
Great care has been taken to assure backwards compatibility. If you
|
||||
encounter any abnormal results, please report them to bug-groff@gnu.org.
|
||||
|
||||
o A new command line option for the `man' macros (similar to the `mdoc'
|
||||
package has been implemented: `-rcR=1' (now the default in nroff mode)
|
||||
package) has been implemented: `-rcR=1' (now the default in nroff mode)
|
||||
produces one single, very long page instead of multiple pages. `-rcR=0'
|
||||
deactivates it.
|
||||
|
||||
@ -194,6 +702,17 @@ o Two new requests `tm1' and `tmc' have been added to improve writing
|
||||
messages to the terminal. `tm1' is similar to `tm' but allows leading
|
||||
whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline.
|
||||
|
||||
o For compatibility with sqtroff, the request `output' has been added.
|
||||
The behaviour is similar to `\!' at the top-level, that is, it directly
|
||||
inserts its argument into the intermediate output format. The syntax
|
||||
is similar to .tm1, allowing leading whitespace.
|
||||
|
||||
o The new `spreadwarn' request will make troff warn if spaces in an output
|
||||
line are widened by a given limit or more.
|
||||
|
||||
o Use `warnscale' to change the scaling indicator troff will use for
|
||||
warning messages.
|
||||
|
||||
o A new request `dei' (define indirect) has been added. The first and
|
||||
second parameter of `dei' are taken from string registers rather than
|
||||
directly; this very special request is needed to make `trace.tmac'
|
||||
@ -239,12 +758,12 @@ o The grog script now works in non-compatibility mode also (which is the
|
||||
Grops
|
||||
-----
|
||||
|
||||
A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has been
|
||||
added to select a different prologue file.
|
||||
o A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has
|
||||
been added to select a different prologue file.
|
||||
|
||||
The effect of the former `-mpsnew' option to access more Type 1 characters
|
||||
is now the default and no longer available. To get the old behaviour (i.e.,
|
||||
emulation of some glyphs by composition) use `-mpsold'.
|
||||
o The effect of the former `-mpsnew' option to access more Type 1 characters
|
||||
is now the default and no longer available. To get the old behaviour
|
||||
(i.e., emulation of some glyphs by composition) use `-mpsold'.
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
@ -259,7 +778,7 @@ o For security reasons the following changes have been done:
|
||||
. Files specified with the .mso request or given with the `-m' command
|
||||
line option, and hyphenation patterns loaded with `.hpf' are no longer
|
||||
searched in the current directory by default (besides the usual tmac
|
||||
path). Instead, the home directory is used. To add the current
|
||||
path). Instead, the home directory is used. To add the current
|
||||
directory, either use the `-U' or `-M' command line option or set the
|
||||
GROFF_TMAC_PATH environment variable to an appropriate value.
|
||||
|
||||
@ -446,8 +965,8 @@ roff language), and roff.7 (a general survey on GNU troff).
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
A port to win32 (for use with Microsoft Visual C++ 6.0) is now part of the
|
||||
distribution. It has been contributed by Blake McBride
|
||||
A partial port to win32 (for use with Microsoft Visual C++ 6.0) is now part
|
||||
of the distribution. It has been contributed by Blake McBride
|
||||
<blake@florida-software.com>.
|
||||
|
||||
More information about programs, macros, documentation, etc., which is
|
||||
@ -462,44 +981,43 @@ VERSION 1.12
|
||||
============
|
||||
|
||||
Finally, there are new maintainers for groff. Mailing lists and a CVS
|
||||
repository are available also. See the file README for details. Not
|
||||
all reported bug could be fixed, so please send mails again if
|
||||
something is still not working.
|
||||
repository are available also. See the file README for details. Not all
|
||||
reported bugs could be fixed, so please send mails again if something is
|
||||
still not working.
|
||||
|
||||
Most of the installation problems should have vanished now (most
|
||||
notably the $(tmac_wrap) bug).
|
||||
|
||||
There is now a man page called groff_man.man which documents the
|
||||
basics of the -man macros. It has been originally written by Susan
|
||||
G. Kleinmann <sgk@debian.org>.
|
||||
There is now a man page called groff_man.7 which documents the basics of the
|
||||
-man macros. It has been originally written by Susan G. Kleinmann
|
||||
<sgk@debian.org>.
|
||||
|
||||
A (still incomplete) groff reference manual in texinfo format
|
||||
originally contributed by Trent A. Fisher <trent@gnurd.portland.or.us>.
|
||||
A (still incomplete) groff reference manual in texinfo format originally
|
||||
contributed by Trent A. Fisher <trent@gnurd.portland.or.us>.
|
||||
|
||||
me.man and msafer.man have been renamed to groff_me.man
|
||||
resp. groff_msafer.man for consistency.
|
||||
|
||||
Default strings for macros in doc-common resp. tmac.an no longer
|
||||
contain the word `UNIX'.
|
||||
Default strings for macros in doc-common resp. tmac.an no longer contain the
|
||||
word `UNIX'.
|
||||
|
||||
groff should now be Y2k safe (fixes contributed by Paul Eggert
|
||||
<eggert@twinsun.com>).
|
||||
|
||||
Following the GNU standards, groff will now use the prefix
|
||||
`/usr/local/' as the default instead of replacing an existent groff
|
||||
binary.
|
||||
Following the GNU standards, groff will now use the prefix `/usr/local/' as
|
||||
the default instead of replacing an existent groff binary.
|
||||
|
||||
groff, troff, nroff, and pic now support the -U flag to activate unsafe
|
||||
behaviour (without -msafer); the -S flag for using the -msafer macros
|
||||
is now the default.
|
||||
behaviour (without -msafer); the -S flag for using the -msafer macros is now
|
||||
the default.
|
||||
|
||||
Grohtml
|
||||
-------
|
||||
|
||||
This is a new output device for producing HTML output contributed by
|
||||
Gaius Mulley <gaius@glam.ac.uk>. It is still very alpha but has been
|
||||
included into the distribution so that a lot of people have a chance
|
||||
to test it. Bug reports are highly welcome.
|
||||
This is a new output device for producing HTML output contributed by Gaius
|
||||
Mulley <gaius@glam.ac.uk>. It is still very alpha but has been included
|
||||
into the distribution so that a lot of people have a chance to test it. Bug
|
||||
reports are highly welcome.
|
||||
|
||||
Grolj4
|
||||
------
|
||||
|
@ -4,6 +4,13 @@ other improvements to this file are welcome.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Generic Problems
|
||||
================
|
||||
|
||||
|
||||
|
||||
* My document says that the current year is 19100, not 2000.
|
||||
|
||||
In groff, as in traditional troff, the yr number register yields the
|
||||
@ -28,151 +35,8 @@ or, if you want to be portable to older troff versions, as follows:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get lots of `numeric overflow' error messages whenever I run
|
||||
groff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler.
|
||||
|
||||
Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level
|
||||
Makefile. If that doesn't solve the problem, define INT_MIN as
|
||||
-INT_MAX in libgroff/lib.h.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with Sun C++ version 5.0
|
||||
or 5.1.
|
||||
|
||||
This is a known problem; see Sun bug #4301919. As of this writing, no
|
||||
patch is available. Use GCC 2.95.2 or later instead.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with Sun C++ version 3 or
|
||||
earlier.
|
||||
|
||||
Groff requires header files that are moderately compatible with AT&T
|
||||
C++ and ANSI C. With some versions of Sun C++, the supplied header
|
||||
files need some of the following changes to meet this requirement:
|
||||
<string.h> must declare the mem* functions, (just add `#include
|
||||
<memory.h>' to <string.h>); the first argument to fopen and freopen
|
||||
should be declared as `const char *'; the first argument to fread
|
||||
should be declared as `void *'; the first argument to fwrite should be
|
||||
declared as `const void *'; malloc should be declared to return
|
||||
`void *'; in <alloca.h>, the declaration `extern "C" { void
|
||||
*__builtin_alloca(int); }' should be added; in <sys/signal.h> the
|
||||
return type and the second argument type of signal() should be changed
|
||||
to be `void (*)(int)'.
|
||||
|
||||
You can either change them in place, or copy them to some other
|
||||
directory and include that directory with a -I option.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* The configure script fails on OS/390 Unix.
|
||||
|
||||
There is a bug in the Language Environment (LE) whereby the test
|
||||
program for static destructors fails. You will see the message
|
||||
'configure: error: a working C++ compiler is required'
|
||||
|
||||
Applying PTF UQ42006 is supposed to fix this, but the test program is
|
||||
still returning the wrong value (1). To work around this problem, you
|
||||
can comment out the following in the configure script (near line 956).
|
||||
This will effectively bypass the test (static constructors and
|
||||
destructors do actually work properly):
|
||||
|
||||
#if { (eval echo configure:957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
#then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
#else
|
||||
# echo "configure: failed program was:" >&5
|
||||
# cat conftest.$ac_ext >&5
|
||||
# rm -fr conftest*
|
||||
# echo "$ac_t""no" 1>&6;{ echo "configure: error: a working C++ compiler is required" 1>&2; exit 1; }
|
||||
#fi
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with DEC C++.
|
||||
|
||||
Fix the declaration of write() in <unistd.h> so that the second
|
||||
argument is a const char *. Fix the declaration of open() in
|
||||
<sys/file.h> so that the first argument is a const char *.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On a host using Unix make (e.g. Solaris), if you are compiling for
|
||||
multiple architectures by building in a subdirectory, the make stops
|
||||
with a message like this:
|
||||
|
||||
make: Fatal error: Don't know how to make target `assert.o'
|
||||
|
||||
or like this:
|
||||
|
||||
make: Fatal error: Can't find /u/src/groff/src/include/Makefile.sub': No such file or directory
|
||||
|
||||
This occurs because GNU make and Unix make handle VPATH differently,
|
||||
and the groff build relies on GNU make's VPATH handling.
|
||||
|
||||
Use GNU make to work around the problem. In Solaris 8, GNU make is
|
||||
on the Software Companion CD and is installed as /opt/sfw/bin/gmake.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On Ultrix, the make stops with the message
|
||||
|
||||
*** Error code 1
|
||||
|
||||
Stop.
|
||||
|
||||
for no apparent reason.
|
||||
|
||||
Use GNU make.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems compiling groff on 386BSD 0.1.
|
||||
|
||||
If you're using ash as /bin/sh, you'll need the following patch.
|
||||
|
||||
*** gendef.sh.org Sun Jun 30 13:30:36 1991
|
||||
--- gendef.sh Sun Feb 28 10:23:49 1993
|
||||
***************
|
||||
*** 3,9 ****
|
||||
file=$1
|
||||
shift
|
||||
|
||||
! defs="#define $1"
|
||||
shift
|
||||
for def
|
||||
do
|
||||
--- 3,10 ----
|
||||
file=$1
|
||||
shift
|
||||
|
||||
! x=$1
|
||||
! defs="#define $x"
|
||||
shift
|
||||
for def
|
||||
do
|
||||
|
||||
You'll also need to change dirnamemax.c so that it doesn't use
|
||||
pathconf().
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* While compiling on Xenix, ranlib libgroff.a fails.
|
||||
|
||||
The system ranlib can't handle externals longer than 40 characters.
|
||||
Use the ranlib included in demon.co.uk:/pub/xenix/g++-1.40.3a.v1
|
||||
instead.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* There are many empty `Makefile.dep' files. Is this a bug?
|
||||
|
||||
No. Real dependency files are created with a `make depend' call.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* Groff can't handle my troff document. It works fine with AT&T troff.
|
||||
* groff can't handle my troff document. It works fine with AT&T
|
||||
troff.
|
||||
|
||||
Read the section on incompatibilities in gtroff(1). Try using the -C
|
||||
option. Alternatively there's the sed script `tmac/fixmacros.sed'
|
||||
@ -181,6 +45,18 @@ with groff without the -C flag.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* gtroff doesn't understand lines like `.ce99' with no space between
|
||||
the name of the request or macro and the arguments.
|
||||
|
||||
gtroff requires a space between macro or request and its arguments
|
||||
because it allows the use of long names for macros and requests. You
|
||||
can use the -C option or the `cp' request to put gtroff into a
|
||||
compatibility mode in which it is not possible to use long names for
|
||||
macros but in which no space is required between macros and their
|
||||
arguments. The use of compatibility mode is strongly discouraged.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* groff -Tdvi produces dvi files that use fonts at weird
|
||||
magnifications.
|
||||
|
||||
@ -191,92 +67,17 @@ slow computers.)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* pic output is not centered horizontally; pictures sometimes run off
|
||||
the bottom of the page.
|
||||
|
||||
The macro package you are using is not supplying appropriate
|
||||
definitions of PS and PE. Give groff a -mpic option.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems including PostScript illustrations using the
|
||||
PSPIC macro.
|
||||
|
||||
A PostScript document must meet three requirements in order to be
|
||||
included with the PSPIC macro: it must comply with the Adobe Document
|
||||
Structuring Conventions; it must contain a BoundingBox line; it must
|
||||
be ``well-behaved''. The BoundingBox line should be of the form:
|
||||
|
||||
%%BoundingBox: llx lly urx ury
|
||||
|
||||
where llx, lly, urx, ury are the coordinates of the lower left x,
|
||||
lower left y, upper right x, upper right y of the bounding box of
|
||||
marks on the page expressed as integers in the default PostScript
|
||||
coordinate system (72 units per inch, origin at bottom left corner).
|
||||
A useful tactic is to print out the illustration by itself (you may
|
||||
need to add a `showpage' at the end), and physically measure the
|
||||
bounding box. For more detail on these requirements, read the
|
||||
specification of Encapsulated PostScript format. (This is available
|
||||
from the Adobe file server; send a message with a body of `help' to
|
||||
ps-file-server@adobe.com.)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I've configured groff for A4 paper, but gtroff still seems to think
|
||||
that the length of a page (as returned by `\n(.p') is 11 inches.
|
||||
|
||||
This is intentional. The PAGE option is used only by grops. For
|
||||
compatibility with ditroff, the default page length in gtroff is
|
||||
always 11 inches. The page length can be changed with the `pl'
|
||||
request.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* groff produces wrapper macros for `ms' and friends which call the
|
||||
system's original macros. Then, to get groff's ms macro package I
|
||||
have to use `-mgs' instead `-ms'. Can I avoid this?
|
||||
|
||||
Yes. Configure and compile groff as usual, but install it with
|
||||
|
||||
make install tmac_wrap=""
|
||||
|
||||
Then no wrapper files are produced, and `-ms' will use groff's `ms'
|
||||
macros.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* Groff doesn't use the font names I'm used to.
|
||||
|
||||
Use the `ftr' request. See (g)troff(1).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors using the Unix -ms macros with groff -e -C.
|
||||
* pic output is not centered horizontally; pictures sometimes run off
|
||||
the bottom of the page.
|
||||
|
||||
Apply this change:
|
||||
|
||||
*** /usr/lib/ms/ms.eqn Tue Apr 25 02:14:28 1989
|
||||
--- ms.eqn Sun Nov 11 10:33:59 1990
|
||||
***************
|
||||
*** 22,29 ****
|
||||
..
|
||||
. \" EN - end of a displayed equation
|
||||
.de EN
|
||||
! .if !\\*(10 .br
|
||||
.di
|
||||
.rm EZ
|
||||
.nr ZN \\n(dn
|
||||
.if \\n(ZN>0 .if \\n(YE=0 .LP
|
||||
--- 22,30 ----
|
||||
..
|
||||
. \" EN - end of a displayed equation
|
||||
.de EN
|
||||
! .if \\n(.k>0 .br
|
||||
.di
|
||||
+ .ds 10 \\*(EZ\\
|
||||
.rm EZ
|
||||
.nr ZN \\n(dn
|
||||
.if \\n(ZN>0 .if \\n(YE=0 .LP
|
||||
The macro package you are using is not supplying appropriate
|
||||
definitions of PS and PE. Give groff a -mpic option.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -295,67 +96,6 @@ join parameters to 1 while printing tpic specials.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I print the output groff -Tps, the output is always shifted up
|
||||
by about 0.7 inches; I'm using 8.5x11 inch paper.
|
||||
|
||||
Make sure that PAGE is defined to be `letter' in the top-level
|
||||
Makefile.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I try to print the output of groff -Tps, I get no output at all
|
||||
from the printer, and the log file shows the error
|
||||
%%[ error: undefined; offendingcommand: BP ]%%
|
||||
I'm using TranScript spooling software.
|
||||
|
||||
This is a bug in the page reversal filter in early versions of
|
||||
TranScript. Change the `broken' parameter in
|
||||
/usr/local/lib/groff/font/devps/DESC to 7.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I preview groff -Tps output using the Sun OpenWindows 2.0
|
||||
pageview program, all the pages are displayed on top of each other.
|
||||
|
||||
This is a defect in pageview. Change the `broken' parameter in
|
||||
/usr/local/lib/groff/font/devps/DESC to 2.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* With groff -TX75, -TX100 or -X, I can only view the first page.
|
||||
|
||||
The left mouse button brings up a menu that allows you to view other
|
||||
pages.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I print the output of groff -Tdvi, I just get a black dot in
|
||||
upper left corner.
|
||||
|
||||
Some dvi drivers (notably early versions of xtex) do not correctly
|
||||
handle dvi files that use a resolution different from that used by dvi
|
||||
files produced by TeX. Try getting a more up to date driver.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get lots of errors when I use groff with the AT&T -mm macros.
|
||||
|
||||
Use the groff -mm macros.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* gtroff doesn't understand lines like `.ce99' with no space between
|
||||
the name of the request or macro and the arguments.
|
||||
|
||||
gtroff requires a space between macro or request and its arguments
|
||||
because it allows the use of long names for macros and requests. You
|
||||
can use the -C option or the `cp' request to put gtroff into a
|
||||
compatibility mode in which it is not possible to use long names for
|
||||
macros but in which no space is required between macros and their
|
||||
arguments. The use of compatibility mode is strongly discouraged.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* gtroff gives warnings about lines like
|
||||
.ev \" a comment
|
||||
(with a tab after the .ev).
|
||||
@ -394,6 +134,26 @@ to
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* Where can I get grap?
|
||||
|
||||
Ted Faber <faber@lunabase.org> has written a freely available grap:
|
||||
|
||||
http://www.lunabase.org/~faber/Vault/software/grap/
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* The \n(st and \n(sb registers don't seem to work. I thought \w set
|
||||
them to the height and depth of its argument, but the registers
|
||||
always seem to be 0.
|
||||
|
||||
\n(st and \n(sb aren't supposed to give the height and depth of the
|
||||
string rather they give the minimum and maximum vertical displacement
|
||||
of the baseline. For example for \v'2u'\v'-3u', \n(st will be 1 and
|
||||
\n(sb will be -2. The height and depth of the string is available in
|
||||
the \n[rst] and \n[rsb] registers: these are groff extensions.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* While formatting a manual page, groff complains about not being able
|
||||
to break lines. The problem seems to be caused by a line like:
|
||||
.TP \w'label'+2
|
||||
@ -416,57 +176,6 @@ The solution is to fix the manual page:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems formatting Ultrix man pages with groff -man.
|
||||
|
||||
The Ultrix man pages use a number of non-standard extensions to the
|
||||
Unix man macros. One solution is to use the Ultrix -man macros with
|
||||
groff. Copy /usr/lib/tmac/tmac.an to
|
||||
/usr/local/share/groff/site-tmac/an.tmac and apply the following patch
|
||||
(from Frank Wortner):
|
||||
|
||||
*** /usr/local/lib/groff/tmac/tmac.an Wed Sep 9 12:29:28 1992
|
||||
--- /usr/lib/tmac/tmac.an Fri Jul 24 19:58:19 1992
|
||||
***************
|
||||
*** 489,495 ****
|
||||
. \" make special case of shift out of italic
|
||||
.de }S
|
||||
.ds ]F
|
||||
! .if \\$12 .if !\\$5 .ds ]F \^
|
||||
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||
.el \\$3
|
||||
.}f
|
||||
--- 489,495 ----
|
||||
. \" make special case of shift out of italic
|
||||
.de }S
|
||||
.ds ]F
|
||||
! .if \\$12 .if !\\$5 .ds ]F\^
|
||||
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||
.el \\$3
|
||||
.}f
|
||||
|
||||
Another possible solution is to install tmac/man.ultrix as
|
||||
/usr/local/share/groff/site-tmac/man.local.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems formatting HP-UX 9.0 man pages with groff -man.
|
||||
|
||||
Copy HP's tmac.an into /usr/local/share/groff/site-tmac/an.tmac, and
|
||||
either put `.cp 1' at the beginning or filter it (and any files it .so's)
|
||||
through tmac/fixmacros.sed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On HP-UX, the compiler complains about missing symbol `alloca'.
|
||||
|
||||
Say
|
||||
|
||||
export LDFLAGS=-lPW
|
||||
|
||||
before starting the configure script.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems formatting man pages produced by the perl
|
||||
wrapman script.
|
||||
|
||||
@ -546,25 +255,6 @@ following patch:
|
||||
$prog \\- whatever
|
||||
.SH SYNOPSIS
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I preview documents using -TX75 or -TX100, the layout is not
|
||||
the same as when I print the document with -Tps: the line and page
|
||||
breaks come in different places.
|
||||
|
||||
Use groff -X -Tps.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I try to run gxditview, I get the error:
|
||||
Error: Widget viewport has zero width and/or height
|
||||
|
||||
This error means you haven't correctly installed the application
|
||||
defaults file, GXditview.ad; ``make install'' does this for you
|
||||
automatically, so either you didn't do ``make install'', or you don't
|
||||
have imake configured correctly.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* groff uses up an enormous amount of memory processing large files.
|
||||
@ -602,13 +292,114 @@ and recompile groff:
|
||||
else
|
||||
exprstmt = 0;
|
||||
|
||||
|
||||
|
||||
Printing and Display Problems
|
||||
=============================
|
||||
|
||||
|
||||
|
||||
* I'm having problems including PostScript illustrations (EPS) using
|
||||
the PSPIC macro and/or \X'ps: import ...'.
|
||||
|
||||
A PostScript document must meet three requirements in order to be
|
||||
included with the PSPIC macro: it must comply with the Adobe Document
|
||||
Structuring Conventions; it must contain a BoundingBox line; it must
|
||||
be ``well-behaved''. The BoundingBox line should be of the form:
|
||||
|
||||
%%BoundingBox: llx lly urx ury
|
||||
|
||||
where llx, lly, urx, ury are the coordinates of the lower left x,
|
||||
lower left y, upper right x, upper right y of the bounding box of
|
||||
marks on the page expressed as integers in the default PostScript
|
||||
coordinate system (72 units per inch, origin at bottom left corner).
|
||||
|
||||
The most convenient program to get the bounding box of a document is
|
||||
the `ps2epsi' script coming with GhostScript.
|
||||
|
||||
If you can't use this program, another useful tactic is to print out
|
||||
the illustration by itself (you may need to add a `showpage' at the
|
||||
end), and physically measure the bounding box. For more detail on
|
||||
these requirements, read the specification of Encapsulated PostScript
|
||||
format. (This is available from the Adobe file server; send a message
|
||||
with a body of `help' to ps-file-server@adobe.com.)
|
||||
|
||||
If an EPS file to be included via \X'ps: import' does not start with
|
||||
%!PS-Adobe-...', gtroff will still include the file, but grops will
|
||||
not add any fonts to the generated output file that are listed in the
|
||||
EPS file, even though the files are listed in the `download' file and
|
||||
are available in the devps directory.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* Where can I get grap?
|
||||
* I've configured groff for A4 paper, but gtroff still seems to think
|
||||
that the length of a page (as returned by `\n(.p') is 11 inches.
|
||||
|
||||
Ted Faber <faber@lunabase.org> has written a freely available grap:
|
||||
This is intentional. The PAGE option is used only by grops. For
|
||||
compatibility with ditroff, the default page length in gtroff is
|
||||
always 11 inches. The page length can be changed with the `pl'
|
||||
request.
|
||||
|
||||
http://www.lunabase.org/~faber/Vault/software/grap/
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I print the output groff -Tps, the output is always shifted up
|
||||
by about 0.7 inches; I'm using 8.5x11 inch paper.
|
||||
|
||||
Make sure that PAGE is defined to be `letter' in the top-level
|
||||
Makefile.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I try to run gxditview, I get the error:
|
||||
Error: Widget viewport has zero width and/or height
|
||||
|
||||
This error means you haven't correctly installed the application
|
||||
defaults file, GXditview.ad; ``make install'' does this for you
|
||||
automatically, so either you didn't do ``make install'', or you don't
|
||||
have imake configured correctly.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I preview documents using -TX75 or -TX100, the layout is not
|
||||
the same as when I print the document with -Tps: the line and page
|
||||
breaks come in different places.
|
||||
|
||||
Use groff -X -Tps.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I try to print the output of groff -Tps, I get no output at all
|
||||
from the printer, and the log file shows the error
|
||||
%%[ error: undefined; offendingcommand: BP ]%%
|
||||
I'm using TranScript spooling software.
|
||||
|
||||
This is a bug in the page reversal filter in early versions of
|
||||
TranScript. Change the `broken' parameter in
|
||||
/usr/local/lib/groff/font/devps/DESC to 7.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I preview groff -Tps output using the Sun OpenWindows 2.0
|
||||
pageview program, all the pages are displayed on top of each other.
|
||||
|
||||
This is a defect in pageview. Change the `broken' parameter in
|
||||
/usr/local/lib/groff/font/devps/DESC to 2.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* With groff -TX75, -TX100 or -X, I can only view the first page.
|
||||
|
||||
The left mouse button brings up a menu that allows you to view other
|
||||
pages.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When I print the output of groff -Tdvi, I just get a black dot in
|
||||
upper left corner.
|
||||
|
||||
Some dvi drivers (notably early versions of xtex) do not correctly
|
||||
handle dvi files that use a resolution different from that used by dvi
|
||||
files produced by TeX. Try getting a more up to date driver.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -637,17 +428,99 @@ Structuring Conventions. The output generated by groff should be
|
||||
printable on any PostScript printer. Problems with groff output's not
|
||||
printing are most often caused by the spooling system.
|
||||
|
||||
|
||||
|
||||
Platform-Dependent Macro Problems
|
||||
=================================
|
||||
|
||||
|
||||
|
||||
* I get lots of errors when I use groff with the AT&T -mm macros.
|
||||
|
||||
Use the groff -mm macros.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* The \n(st and \n(sb registers don't seem to work. I thought \w set
|
||||
them to the height and depth of its argument, but the registers
|
||||
always seem to be 0.
|
||||
* groff produces wrapper macros for `ms' and friends which call the
|
||||
system's original macros. Then, to get groff's ms macro package I
|
||||
have to use `-mgs' instead `-ms'. Can I avoid this?
|
||||
|
||||
\n(st and \n(sb aren't supposed to give the height and depth of the
|
||||
string rather they give the minimum and maximum vertical displacement
|
||||
of the baseline. For example for \v'2u'\v'-3u', \n(st will be 1 and
|
||||
\n(sb will be -2. The height and depth of the string is available in
|
||||
the \n[rst] and \n[rsb] registers: these are groff extensions.
|
||||
Yes. Configure and compile groff as usual, but install it with
|
||||
|
||||
make install tmac_wrap=""
|
||||
|
||||
Then no wrapper files are produced, and `-ms' will use groff's `ms'
|
||||
macros.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems formatting HP-UX 9.0 man pages with groff -man.
|
||||
|
||||
Copy HP's tmac.an into /usr/local/share/groff/site-tmac/an.tmac, and
|
||||
either put `.cp 1' at the beginning or filter it (and any files it
|
||||
.so's) through tmac/fixmacros.sed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors using the Unix -ms macros with groff -e -C.
|
||||
|
||||
Apply this change:
|
||||
|
||||
*** /usr/lib/ms/ms.eqn Tue Apr 25 02:14:28 1989
|
||||
--- ms.eqn Sun Nov 11 10:33:59 1990
|
||||
***************
|
||||
*** 22,29 ****
|
||||
..
|
||||
. \" EN - end of a displayed equation
|
||||
.de EN
|
||||
! .if !\\*(10 .br
|
||||
.di
|
||||
.rm EZ
|
||||
.nr ZN \\n(dn
|
||||
.if \\n(ZN>0 .if \\n(YE=0 .LP
|
||||
--- 22,30 ----
|
||||
..
|
||||
. \" EN - end of a displayed equation
|
||||
.de EN
|
||||
! .if \\n(.k>0 .br
|
||||
.di
|
||||
+ .ds 10 \\*(EZ\\
|
||||
.rm EZ
|
||||
.nr ZN \\n(dn
|
||||
.if \\n(ZN>0 .if \\n(YE=0 .LP
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems formatting Ultrix man pages with groff -man.
|
||||
|
||||
The Ultrix man pages use a number of non-standard extensions to the
|
||||
Unix man macros. One solution is to use the Ultrix -man macros with
|
||||
groff. Copy /usr/lib/tmac/tmac.an to
|
||||
/usr/local/share/groff/site-tmac/an.tmac and apply the following patch
|
||||
(from Frank Wortner):
|
||||
|
||||
*** /usr/local/lib/groff/tmac/tmac.an Wed Sep 9 12:29:28 1992
|
||||
--- /usr/lib/tmac/tmac.an Fri Jul 24 19:58:19 1992
|
||||
***************
|
||||
*** 489,495 ****
|
||||
. \" make special case of shift out of italic
|
||||
.de }S
|
||||
.ds ]F
|
||||
! .if \\$12 .if !\\$5 .ds ]F \^
|
||||
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||
.el \\$3
|
||||
.}f
|
||||
--- 489,495 ----
|
||||
. \" make special case of shift out of italic
|
||||
.de }S
|
||||
.ds ]F
|
||||
! .if \\$12 .if !\\$5 .ds ]F\^
|
||||
.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
|
||||
.el \\$3
|
||||
.}f
|
||||
|
||||
Another possible solution is to install tmac/man.ultrix as
|
||||
/usr/local/share/groff/site-tmac/man.local.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -727,3 +600,186 @@ To get PostScript output from 'man -t', you also need to create a
|
||||
# This shell script is intended for use with man, so warnings are
|
||||
! # probably not wanted.
|
||||
! exec groff -Wall $T $opts $rest
|
||||
|
||||
|
||||
|
||||
Compilation Problems
|
||||
====================
|
||||
|
||||
|
||||
|
||||
* Compilation dies with
|
||||
|
||||
y.tab.c: In function `int yyparse()':
|
||||
y.tab.c: `size_t' undeclared in namespace `std'
|
||||
|
||||
This is a bug in bison 1.32. Don't use this version. 1.28 or 1.33 works
|
||||
fine. Alternatively, use yacc or byacc.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* There are many empty `Makefile.dep' files. Is this a bug?
|
||||
|
||||
No. Real dependency files are created with a `make depend' call.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On HP-UX, the compiler complains about missing symbol `alloca'.
|
||||
|
||||
Say
|
||||
|
||||
export LDFLAGS=-lPW
|
||||
|
||||
before starting the configure script.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* The configure script fails on OS/390 (z/OS) Unix.
|
||||
|
||||
[This has been fixed in z/OS V1R3 (aka OS/390 R13).]
|
||||
|
||||
There is a bug in the Language Environment (LE) whereby the test
|
||||
program for static destructors fails. You will see the message
|
||||
`configure: error: a working C++ compiler is required'
|
||||
|
||||
Applying PTF UQ42006 is supposed to fix this, but the test program is
|
||||
still returning the wrong value (1). To work around this problem, you
|
||||
can comment out the following in the configure script (near line 2029).
|
||||
This will effectively bypass the test (static constructors and
|
||||
destructors do actually work properly):
|
||||
|
||||
#if { (eval echo "$as_me:2029: \"$ac_link\"") >&5
|
||||
# (eval $ac_link) 2>&5
|
||||
# ac_status=$?
|
||||
# echo "$as_me:2032: \$? = $ac_status" >&5
|
||||
# (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
|
||||
# { (eval echo "$as_me:2034: \"$ac_try\"") >&5
|
||||
# (eval $ac_try) 2>&5
|
||||
# ac_status=$?
|
||||
# echo "$as_me:2037: \$? = $ac_status" >&5
|
||||
# (exit $ac_status); }; }; then
|
||||
# echo "$as_me:2039: result: yes" >&5
|
||||
#echo "${ECHO_T}yes" >&6
|
||||
#else
|
||||
# echo "$as_me: program exited with status $ac_status" >&5
|
||||
#echo "$as_me: failed program was:" >&5
|
||||
#cat conftest.$ac_ext >&5
|
||||
#echo "$as_me:2045: result: no" >&5
|
||||
#echo "${ECHO_T}no" >&6;{ { echo "$as_me:2046: error: a working C++ compiler is required" >&5
|
||||
#echo "$as_me: error: a working C++ compiler is required" >&2;}
|
||||
# { (exit 1); exit 1; }; }
|
||||
#fi
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with DEC C++.
|
||||
|
||||
Fix the declaration of write() in <unistd.h> so that the second
|
||||
argument is a const char *. Fix the declaration of open() in
|
||||
<sys/file.h> so that the first argument is a const char *.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On a host using Unix make (e.g. Solaris), if you are compiling for
|
||||
multiple architectures by building in a subdirectory, the make stops
|
||||
with a message like this:
|
||||
|
||||
make: Fatal error: Don't know how to make target `assert.o'
|
||||
|
||||
or like this:
|
||||
|
||||
make: Fatal error: Can't find /u/src/groff/src/include/Makefile.sub': No such file or directory
|
||||
|
||||
This occurs because GNU make and Unix make handle VPATH differently,
|
||||
and the groff build relies on GNU make's VPATH handling.
|
||||
|
||||
Use GNU make to work around the problem. In Solaris 8, GNU make is
|
||||
on the Software Companion CD and is installed as /opt/sfw/bin/gmake.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* On Ultrix, the make stops with the message
|
||||
|
||||
*** Error code 1
|
||||
|
||||
Stop.
|
||||
|
||||
for no apparent reason.
|
||||
|
||||
Use GNU make.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I'm having problems compiling groff on 386BSD 0.1.
|
||||
|
||||
If you're using ash as /bin/sh, you'll need the following patch.
|
||||
|
||||
*** gendef.sh.org Sun Jun 30 13:30:36 1991
|
||||
--- gendef.sh Sun Feb 28 10:23:49 1993
|
||||
***************
|
||||
*** 3,9 ****
|
||||
file=$1
|
||||
shift
|
||||
|
||||
! defs="#define $1"
|
||||
shift
|
||||
for def
|
||||
do
|
||||
--- 3,10 ----
|
||||
file=$1
|
||||
shift
|
||||
|
||||
! x=$1
|
||||
! defs="#define $x"
|
||||
shift
|
||||
for def
|
||||
do
|
||||
|
||||
You'll also need to change dirnamemax.c so that it doesn't use
|
||||
pathconf().
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* While compiling on Xenix, ranlib libgroff.a fails.
|
||||
|
||||
The system ranlib can't handle externals longer than 40 characters.
|
||||
Use the ranlib included in demon.co.uk:/pub/xenix/g++-1.40.3a.v1
|
||||
instead.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with Sun C++ version 3 or
|
||||
earlier.
|
||||
|
||||
Groff requires header files that are moderately compatible with AT&T
|
||||
C++ and ANSI C. With some versions of Sun C++, the supplied header
|
||||
files need some of the following changes to meet this requirement:
|
||||
<string.h> must declare the mem* functions, (just add `#include
|
||||
<memory.h>' to <string.h>); the first argument to fopen and freopen
|
||||
should be declared as `const char *'; the first argument to fread
|
||||
should be declared as `void *'; the first argument to fwrite should be
|
||||
declared as `const void *'; malloc should be declared to return
|
||||
`void *'; in <alloca.h>, the declaration `extern "C" { void
|
||||
*__builtin_alloca(int); }' should be added; in <sys/signal.h> the
|
||||
return type and the second argument type of signal() should be changed
|
||||
to be `void (*)(int)'.
|
||||
|
||||
You can either change them in place, or copy them to some other
|
||||
directory and include that directory with a -I option.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get errors when I try to compile groff with Sun C++ version 5.0
|
||||
or 5.1.
|
||||
|
||||
This is a known problem; see Sun bug #4301919. As of this writing, no
|
||||
patch is available. Use GCC 2.95.2 or later instead.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* I get lots of `numeric overflow' error messages whenever I run
|
||||
groff; I compiled groff with AT&T C++ 2.0 with an ANSI C compiler.
|
||||
|
||||
Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level
|
||||
Makefile. If that doesn't solve the problem, define INT_MIN as
|
||||
-INT_MAX in libgroff/lib.h.
|
||||
|
@ -72,7 +72,7 @@ Three mailing lists are available:
|
||||
commitments to the CVS repository
|
||||
|
||||
Note that groff@gnu.org is an alias for groff@ffii.org; you must be
|
||||
subscribed to the `groff' and `groff-commit' lists to send mails.
|
||||
subscribed to the `groff' list to send mails.
|
||||
|
||||
To subscribe, send a mail to <list>-request@<domain> (example:
|
||||
groff-request@ffii.org) with the word `subscribe' in either the subject
|
||||
|
@ -1 +1 @@
|
||||
2
|
||||
1
|
||||
|
@ -1 +1 @@
|
||||
1.17
|
||||
1.18
|
||||
|
199
contrib/groff/aclocal.m4
vendored
199
contrib/groff/aclocal.m4
vendored
@ -1,5 +1,5 @@
|
||||
dnl Autoconf macros for groff.
|
||||
dnl Copyright (C) 1989-1995, 2001 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1989-1995, 2001, 2002 Free Software Foundation, Inc.
|
||||
dnl
|
||||
dnl This file is part of groff.
|
||||
dnl
|
||||
@ -58,6 +58,31 @@ AC_DEFUN(GROFF_PROG_YACC,
|
||||
[AC_CHECK_PROGS(YACC, byacc 'bison -y', yacc)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl The following programs are needed for grohtml.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_HTML_PROGRAMS,
|
||||
[make_html=html
|
||||
make_install_html=install_html
|
||||
AC_CHECK_PROG(pnmcut, pnmcut, found, missing)
|
||||
AC_CHECK_PROG(pnmcrop, pnmcrop, found, missing)
|
||||
AC_CHECK_PROG(pnmtopng, pnmtopng, found, missing)
|
||||
AC_CHECK_PROG(gs, gs gsos2, found, missing)
|
||||
AC_CHECK_PROG(psselect, psselect, found, missing)
|
||||
case "x$pnmcut$pnmcrop$pnmtopng$gs$psselect" in
|
||||
*missing*)
|
||||
make_html=
|
||||
make_install_html=
|
||||
AC_MSG_WARN([
|
||||
|
||||
Since one or more of the above five programs can't be found in the path,
|
||||
the HTML backend of groff (grohtml) won't work properly. Consequently,
|
||||
no documentation in HTML format is built and installed.
|
||||
]) ;;
|
||||
esac
|
||||
AC_SUBST(make_html)
|
||||
AC_SUBST(make_install_html)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl GROFF_CSH_HACK(if hack present, if not present)
|
||||
dnl
|
||||
AC_DEFUN(GROFF_CSH_HACK,
|
||||
@ -86,7 +111,8 @@ if grep '[34]\.' /usr/options/cb.name >/dev/null 2>&1
|
||||
changequote([,])dnl
|
||||
then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(_SYSV3)
|
||||
AC_DEFINE(_SYSV3, 1,
|
||||
[Define if you have ISC 3.x or 4.x.])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi])dnl
|
||||
@ -97,7 +123,8 @@ AC_DEFUN(GROFF_POSIX,
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_TRY_COMPILE([#include <stdio.h>
|
||||
extern "C" { void fileno(int); }],,
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(_POSIX_SOURCE),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(_POSIX_SOURCE, 1,
|
||||
[Define if -D_POSIX_SOURCE is necessary.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -109,7 +136,8 @@ AC_DEFUN(GROFF_SRAND,
|
||||
AC_MSG_CHECKING([for return type of srand])
|
||||
AC_TRY_COMPILE([#include <stdlib.h>
|
||||
extern "C" { void srand(unsigned int); }],,
|
||||
AC_MSG_RESULT(void);AC_DEFINE(RET_TYPE_SRAND_IS_VOID),
|
||||
AC_MSG_RESULT(void);AC_DEFINE(RET_TYPE_SRAND_IS_VOID, 1,
|
||||
[Define if srand() returns void not int.]),
|
||||
AC_MSG_RESULT(int))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -120,7 +148,9 @@ AC_MSG_CHECKING([for sys_nerr in <errno.h> or <stdio.h>])
|
||||
AC_TRY_COMPILE([#include <errno.h>
|
||||
#include <stdio.h>],
|
||||
[int k; k = sys_nerr;],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_NERR),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_NERR, 1,
|
||||
[Define if you have sysnerr in <errno.h> or
|
||||
<stdio.h>.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -130,7 +160,9 @@ AC_DEFUN(GROFF_SYS_ERRLIST,
|
||||
AC_TRY_COMPILE([#include <errno.h>
|
||||
#include <stdio.h>],
|
||||
[int k; k = (int)sys_errlist[0];],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_ERRLIST),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_ERRLIST, 1,
|
||||
[Define if you have sys_errlist in <errno.h>
|
||||
or in <stdio.h>.]),
|
||||
AC_MSG_RESULT(no))])dnl
|
||||
dnl
|
||||
dnl
|
||||
@ -139,7 +171,8 @@ AC_DEFUN(GROFF_OSFCN_H,
|
||||
AC_MSG_CHECKING([C++ <osfcn.h>])
|
||||
AC_TRY_COMPILE([#include <osfcn.h>],
|
||||
[read(0, 0, 0); open(0, 0);],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H, 1,
|
||||
[Define if you have a C++ <osfcn.h>.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -149,7 +182,8 @@ AC_DEFUN(GROFF_LIMITS_H,
|
||||
AC_MSG_CHECKING([C++ <limits.h>])
|
||||
AC_TRY_COMPILE([#include <limits.h>],
|
||||
[int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H, 1,
|
||||
[Define if you have a C++ <limits.h>.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -160,7 +194,9 @@ AC_MSG_CHECKING([for declaration of time_t])
|
||||
AC_TRY_COMPILE([#include <time.h>],
|
||||
[time_t t = time(0); struct tm *p = localtime(&t);],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no);AC_DEFINE(LONG_FOR_TIME_T))
|
||||
AC_MSG_RESULT(no);AC_DEFINE(LONG_FOR_TIME_T, 1,
|
||||
[Define if localtime() takes a long * not a
|
||||
time_t *.]))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
@ -168,18 +204,19 @@ AC_DEFUN(GROFF_STRUCT_EXCEPTION,
|
||||
[AC_MSG_CHECKING([struct exception])
|
||||
AC_TRY_COMPILE([#include <math.h>],
|
||||
[struct exception e;],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_STRUCT_EXCEPTION),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_STRUCT_EXCEPTION, 1,
|
||||
[Define if <math.h> defines struct exception.]),
|
||||
AC_MSG_RESULT(no))])dnl
|
||||
dnl
|
||||
dnl
|
||||
AC_DEFUN(GROFF_ARRAY_DELETE,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([whether ANSI array delete syntax supported])
|
||||
AC_TRY_COMPILE(,
|
||||
changequote(,)dnl
|
||||
char *p = new char[5]; delete [] p;changequote([,]),
|
||||
AC_TRY_COMPILE(, [char *p = new char[5]; delete [] p;],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE))
|
||||
AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE, 1,
|
||||
[Define if your C++ doesn't understand
|
||||
`delete []'.]))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
@ -188,7 +225,9 @@ AC_DEFUN(GROFF_TRADITIONAL_CPP,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([traditional preprocessor])
|
||||
AC_TRY_COMPILE([#define name2(a,b) a/**/b],[int name2(foo,bar);],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(TRADITIONAL_CPP),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(TRADITIONAL_CPP, 1,
|
||||
[Define if your C++ compiler uses a
|
||||
traditional (Reiser) preprocessor.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
@ -207,7 +246,11 @@ main()
|
||||
exit(i != 0200);
|
||||
#endif
|
||||
}],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG,0200),
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG, 0200,
|
||||
[Define if the 0200 bit of the status returned
|
||||
by wait() indicates whether a core image was
|
||||
produced for a process that was terminated by
|
||||
a signal.]),
|
||||
AC_MSG_RESULT(no),
|
||||
AC_MSG_RESULT(no))])dnl
|
||||
dnl
|
||||
@ -221,23 +264,32 @@ dnl
|
||||
dnl
|
||||
AC_DEFUN(GROFF_PAGE,
|
||||
[AC_MSG_CHECKING([default paper size])
|
||||
groff_prefix=$prefix
|
||||
test "x$prefix" = xNONE && groff_prefix=$ac_default_prefix
|
||||
if test -z "$PAGE"; then
|
||||
descfile=
|
||||
if test -r $prefix/share/groff/font/devps/DESC; then
|
||||
descfile=$prefix/share/groff/font/devps/DESC
|
||||
elif test -r $prefix/lib/groff/font/devps/DESC; then
|
||||
descfile=$prefix/lib/groff/font/devps/DESC
|
||||
if test -r $groff_prefix/share/groff/font/devps/DESC; then
|
||||
descfile=$groff_prefix/share/groff/font/devps/DESC
|
||||
elif test -r $groff_prefix/lib/groff/font/devps/DESC; then
|
||||
descfile=$groff_prefix/lib/groff/font/devps/DESC
|
||||
else
|
||||
for f in $prefix/share/groff/*/font/devps/DESC; do
|
||||
for f in $groff_prefix/share/groff/*/font/devps/DESC; do
|
||||
if test -r $f; then
|
||||
descfile=$f
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test -n "$descfile" \
|
||||
&& grep "^paperlength 841890" $descfile >/dev/null 2>&1; then
|
||||
PAGE=A4
|
||||
if test -n "$descfile"; then
|
||||
changequote(,)dnl
|
||||
if grep '^paperlength[ ]\+841890' $descfile
|
||||
>/dev/null 2>&1; then
|
||||
PAGE=A4
|
||||
elif grep '^papersize[ ]\+[aA]4' $descfile \
|
||||
>/dev/null 2>&1; then
|
||||
PAGE=A4
|
||||
fi
|
||||
changequote([,])dnl
|
||||
fi
|
||||
fi
|
||||
if test -z "$PAGE"; then
|
||||
@ -260,6 +312,10 @@ changequote(,)dnl
|
||||
changequote([,])dnl
|
||||
fi
|
||||
test -n "$PAGE" || PAGE=letter
|
||||
if test "x$PAGE" = "xA4"; then
|
||||
AC_DEFINE(PAGEA4, 1,
|
||||
[Define if the printer's page size is A4.])
|
||||
fi
|
||||
AC_MSG_RESULT($PAGE)
|
||||
AC_SUBST(PAGE)])dnl
|
||||
dnl
|
||||
@ -380,6 +436,12 @@ ac_dir=`cd $ac_aux_dir; pwd`
|
||||
ac_install_sh="$ac_dir/install-sh -c"])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Test whether install-info is available.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_INSTALL_INFO,
|
||||
[AC_CHECK_PROGS(INSTALL_INFO, install-info, :)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl At least one UNIX system, Apple Macintosh Rhapsody 5.5,
|
||||
dnl does not have -lm.
|
||||
dnl
|
||||
@ -398,8 +460,8 @@ dnl
|
||||
dnl This simplifies Makefile rules.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_BUILDDIR,
|
||||
[top_builddir=`pwd`
|
||||
AC_SUBST(top_builddir)])dnl
|
||||
[groff_top_builddir=`pwd`
|
||||
AC_SUBST(groff_top_builddir)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Check for EBCDIC - stolen from the OS390 Unix LYNX port
|
||||
@ -416,11 +478,14 @@ make an error "Character set is not EBCDIC"
|
||||
groff_cv_ebcdic="yes"
|
||||
TTYDEVDIRS="font/devcp1047"
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(IS_EBCDIC_HOST),
|
||||
AC_DEFINE(IS_EBCDIC_HOST, 1,
|
||||
[Define if the host's encoding is EBCDIC.]),
|
||||
groff_cv_ebcdic="no"
|
||||
TTYDEVDIRS="font/devascii font/devlatin1 font/devutf8"
|
||||
TTYDEVDIRS="font/devascii font/devlatin1"
|
||||
OTHERDEVDIRS="font/devlj4 font/devlbp"
|
||||
AC_MSG_RESULT(no))
|
||||
AC_SUBST(TTYDEVDIRS)])dnl
|
||||
AC_SUBST(TTYDEVDIRS)
|
||||
AC_SUBST(OTHERDEVDIRS)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Check for OS/390 Unix. We test for EBCDIC also -- the Linux port (with
|
||||
@ -458,29 +523,85 @@ AC_CACHE_VAL(groff_cv_decl_needed_$1,
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_MATH_H
|
||||
#include <math.h>
|
||||
#endif],
|
||||
[char *(*pfn) = (char *(*)) $1],
|
||||
[#ifndef $1
|
||||
char *p = (char *) $1;
|
||||
#endif],
|
||||
groff_cv_decl_needed_$1=no,
|
||||
groff_cv_decl_needed_$1=yes)])
|
||||
AC_MSG_RESULT($groff_cv_decl_needed_$1)
|
||||
if test $groff_cv_decl_needed_$1 = yes; then
|
||||
AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]))
|
||||
AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1,
|
||||
[Define if your C++ doesn't declare ]$1[().])
|
||||
fi
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Check for mkstemp() and its function prototype.
|
||||
dnl If mkstemp() isn't available, use our own mkstemp.cc file.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_MKSTEMP,
|
||||
[AC_CHECK_FUNC(mkstemp,
|
||||
[AC_DEFINE(HAVE_MKSTEMP)
|
||||
AC_MSG_CHECKING([for mkstemp prototype in <stdlib.h>])
|
||||
AC_EGREP_CPP(mkstemp,
|
||||
[#include <stdlib.h>],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_MKSTEMP_PROTO),
|
||||
AC_MSG_RESULT(no))])])
|
||||
[AC_MSG_CHECKING([for mkstemp])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_LIBSOURCE(mkstemp.cc)
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
int (*f) (char *);],
|
||||
[f = mkstemp;],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_MKSTEMP, 1,
|
||||
[Define if you have mkstemp().]),
|
||||
AC_MSG_RESULT(no);_AC_LIBOBJ(mkstemp))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Test whether <inttypes.h> exists, doesn't clash with <sys/types.h>,
|
||||
dnl and declares uintmax_t. Taken from the fileutils package.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_INTTYPES_H,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([for inttypes.h])
|
||||
AC_TRY_COMPILE([#include <sys/types.h>
|
||||
#include <inttypes.h>],
|
||||
[uintmax_t i = (uintmax_t)-1;],
|
||||
groff_cv_header_inttypes_h=yes,
|
||||
groff_cv_header_inttypes_h=no)
|
||||
AC_MSG_RESULT($groff_cv_header_inttypes_h)
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Test for working `unsigned long long'. Taken from the fileutils package.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_UNSIGNED_LONG_LONG,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([for unsigned long long])
|
||||
AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
|
||||
[unsigned long long ullmax = (unsigned long long)-1;
|
||||
return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
|
||||
groff_cv_type_unsigned_long_long=yes,
|
||||
groff_cv_type_unsigned_long_long=no)
|
||||
AC_MSG_RESULT($groff_cv_type_unsigned_long_long)
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl Define uintmax_t to `unsigned long' or `unsigned long long'
|
||||
dnl if <inttypes.h> does not exist. Taken from the fileutils package.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_UINTMAX_T,
|
||||
[AC_REQUIRE([GROFF_INTTYPES_H])
|
||||
if test $groff_cv_header_inttypes_h = no; then
|
||||
AC_REQUIRE([GROFF_UNSIGNED_LONG_LONG])
|
||||
test $groff_cv_type_unsigned_long_long = yes \
|
||||
&& ac_type='unsigned long long' \
|
||||
|| ac_type='unsigned long'
|
||||
AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
|
||||
[Define uintmax_t to `unsigned long' or
|
||||
`unsigned long long' if <inttypes.h> does not
|
||||
exist.])
|
||||
fi])dnl
|
||||
|
4158
contrib/groff/configure
vendored
4158
contrib/groff/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT
|
||||
AC_CONFIG_HEADERS(src/include/config.h:src/include/config.hin)
|
||||
AC_CONFIG_SRCDIR([src/roff/groff/groff.cc])
|
||||
dnl checks for programs
|
||||
GROFF_SRCDIR
|
||||
@ -14,6 +15,7 @@ AC_PATH_PROG(PERLPATH, perl, /usr/bin/perl)
|
||||
GROFF_PROG_YACC
|
||||
AC_PROG_RANLIB
|
||||
GROFF_INSTALL_SH
|
||||
GROFF_INSTALL_INFO
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
dnl use a dummy substitution if no csh hack is necessary to avoid errors
|
||||
@ -22,20 +24,25 @@ GROFF_CSH_HACK(SH_SCRIPT_SED_CMD='1s/.*/:/', SH_SCRIPT_SED_CMD='1s/a/a/')
|
||||
AC_SUBST(SH_SCRIPT_SED_CMD)
|
||||
dnl checks for headers
|
||||
AC_CHECK_HEADERS(stdlib.h unistd.h dirent.h limits.h sys/dir.h \
|
||||
string.h strings.h math.h)
|
||||
string.h strings.h math.h stdint.h sys/time.h)
|
||||
GROFF_ISC_SYSV3
|
||||
GROFF_POSIX
|
||||
GROFF_SRAND
|
||||
GROFF_NEED_DECLARATION(gettimeofday)
|
||||
GROFF_NEED_DECLARATION(hypot)
|
||||
GROFF_NEED_DECLARATION(popen)
|
||||
GROFF_NEED_DECLARATION(pclose)
|
||||
GROFF_NEED_DECLARATION(putenv)
|
||||
GROFF_NEED_DECLARATION(strcasecmp)
|
||||
GROFF_NEED_DECLARATION(strncasecmp)
|
||||
GROFF_SYS_NERR
|
||||
GROFF_SYS_ERRLIST
|
||||
GROFF_OSFCN_H
|
||||
GROFF_LIMITS_H
|
||||
GROFF_INTTYPES_H
|
||||
dnl checks for typedefs
|
||||
GROFF_UNSIGNED_LONG_LONG
|
||||
GROFF_UINTMAX_T
|
||||
GROFF_TIME_T
|
||||
AC_TYPE_SIGNAL
|
||||
GROFF_STRUCT_EXCEPTION
|
||||
@ -45,9 +52,9 @@ dnl checks for functions
|
||||
AC_FUNC_MMAP
|
||||
saved_libs="$LIBS"
|
||||
LIBS="$LIBS -lc $LIBM"
|
||||
AC_REPLACE_FUNCS(fmod strtol getcwd strerror putenv)
|
||||
AC_REPLACE_FUNCS(fmod getcwd putenv snprintf strerror strtol)
|
||||
LIBS="$saved_libs"
|
||||
AC_CHECK_FUNCS(rename strcasecmp strncasecmp strsep strdup)
|
||||
AC_CHECK_FUNCS(gettimeofday isatty rename strcasecmp strncasecmp strsep)
|
||||
GROFF_MKSTEMP
|
||||
AC_DECL_SYS_SIGLIST
|
||||
dnl checks for compiler characteristics
|
||||
@ -60,6 +67,18 @@ GROFF_BROKEN_SPOOLER_FLAGS
|
||||
GROFF_PAGE
|
||||
GROFF_G
|
||||
GROFF_TMAC
|
||||
$srcdir/mkinstalldirs src/xditview
|
||||
AC_CONFIG_FILES([Makefile src/xditview/Imakefile])
|
||||
GROFF_HTML_PROGRAMS
|
||||
AC_CONFIG_FILES(stamp-h, [echo timestamp > stamp-h])
|
||||
AC_CONFIG_FILES([Makefile doc/Makefile src/xditview/Imakefile])
|
||||
AC_OUTPUT
|
||||
dnl
|
||||
AC_MSG_NOTICE([
|
||||
|
||||
Configuration completed.
|
||||
|
||||
You can now say `make' to compile the groff package and `make install'
|
||||
to install it afterwards.
|
||||
|
||||
If you want to compile xditview, change the directory to `src/xditview'
|
||||
and follow the instructions given in the file `INSTALL'.
|
||||
])
|
||||
|
19
contrib/groff/contrib/eqn2graph/Makefile.sub
Normal file
19
contrib/groff/contrib/eqn2graph/Makefile.sub
Normal file
@ -0,0 +1,19 @@
|
||||
MAN1=eqn2graph.n
|
||||
CLEANADD=eqn2graph
|
||||
|
||||
all: eqn2graph
|
||||
|
||||
eqn2graph: eqn2graph.sh
|
||||
rm -f $@; \
|
||||
sed -e "s|@g@|$(g)|g" \
|
||||
-e "s|@VERSION@|$(version)$(revision)|" \
|
||||
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/eqn2graph.sh >$@; \
|
||||
chmod +x $@
|
||||
|
||||
install_data: eqn2graph
|
||||
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
|
||||
-rm -f $(bindir)/eqn2graph
|
||||
$(INSTALL_SCRIPT) eqn2graph $(bindir)/eqn2graph
|
||||
|
||||
uninstall_sub:
|
||||
-rm -f $(bindir)/eqn2graph
|
97
contrib/groff/contrib/eqn2graph/eqn2graph.man
Normal file
97
contrib/groff/contrib/eqn2graph/eqn2graph.man
Normal file
@ -0,0 +1,97 @@
|
||||
.\" $Id: eqn2graph.man,v 1.2 2002/08/21 17:29:17 wlemb Exp $
|
||||
.\" This documentation is released to the public domain.
|
||||
.
|
||||
.
|
||||
.\" Like TP, but if specified indent is more than half
|
||||
.\" the current line-length - indent, use the default indent.
|
||||
.de Tp
|
||||
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
|
||||
.el .TP "\\$1"
|
||||
..
|
||||
.
|
||||
.
|
||||
.TH EQN2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
.IX eqn2graph
|
||||
.SH NAME
|
||||
eqn2graph \- convert an EQN equation into a cropped image
|
||||
.
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.B eqn2graph
|
||||
[
|
||||
.B \-unsafe
|
||||
]
|
||||
[
|
||||
.BI \-format\ fmt
|
||||
]
|
||||
.
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
Reads an EQN equation (one line) as input; produces an image
|
||||
file (by default in Portable Network Graphics format) suitable for the
|
||||
Web as output.
|
||||
.P
|
||||
Your input EQN code should \fInot\fR have the .EQ/.EN preamble that
|
||||
that normally precedes it within
|
||||
.BR groff (@MAN1EXT@)
|
||||
macros; nor do you need to have dollar-sign or other delimiters
|
||||
around the equation.
|
||||
.P
|
||||
The output image will be a black-on-white graphic clipped to the
|
||||
smallest possible bounding box that contains all the black pixels.
|
||||
By specifying command-line options to be passed to
|
||||
.BR convert (1)
|
||||
you can give it a border, set the background transparent, set the
|
||||
image's pixel density, or perform other useful transformations.
|
||||
.P
|
||||
This program uses
|
||||
.BR @g@eqn (@MAN1EXT@),
|
||||
.BR groff (@MAN1EXT@),
|
||||
and the ImageMagick
|
||||
.BR convert (1)
|
||||
program.
|
||||
These programs must be installed on your system and accessible on your
|
||||
$PATH for \fBeqn2graph\fR to work.
|
||||
.
|
||||
.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-unsafe
|
||||
Run
|
||||
.BR groff (@MAN1EXT@)
|
||||
in the `unsafe' mode enabling the PIC macro
|
||||
.B sh
|
||||
to execute arbitrary commands.
|
||||
The default is to forbid this.
|
||||
.TP
|
||||
.BI \-format\ fmt
|
||||
Specify an output format; the default is PNG (Portable Network Graphics).
|
||||
Any format that
|
||||
.BR convert (1)
|
||||
can emit is supported.
|
||||
.PP
|
||||
Command-line switches and arguments not listed above are passed to
|
||||
.BR convert (1).
|
||||
.
|
||||
.
|
||||
.SH FILES
|
||||
.Tp \w'\fB@MACRODIR@/eqnrc'u+2n
|
||||
.B @MACRODIR@/eqnrc
|
||||
The
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
initialization file.
|
||||
.
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
.BR @g@eqn (@MAN1EXT@),
|
||||
.BR groff (@MAN1EXT@),
|
||||
.BR gs (1),
|
||||
.BR convert (1).
|
||||
.
|
||||
.
|
||||
.SH AUTHOR
|
||||
Eric S. Raymond <esr@thyrsus.com>.
|
||||
.
|
||||
.\" Local Variables:
|
||||
.\" mode: nroff
|
||||
.\" End:
|
74
contrib/groff/contrib/eqn2graph/eqn2graph.sh
Normal file
74
contrib/groff/contrib/eqn2graph/eqn2graph.sh
Normal file
@ -0,0 +1,74 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# eqn2graph -- compile EQN equation descriptions to bitmap images
|
||||
#
|
||||
# by Eric S. Raymond <esr@thyrsus.com>, July 2002
|
||||
#
|
||||
# In Unixland, the magic is in knowing what to string together...
|
||||
#
|
||||
# Take an eqn equation on stdin, emit cropped bitmap on stdout.
|
||||
# The pic markup should *not* be wrapped in .EQ/.EN, this script will do that.
|
||||
# A -U option on the command line enables gpic/groff "unsafe" mode.
|
||||
# A -format FOO option changes the image output format to any format
|
||||
# supported by convert(1). All other options are passed to convert(1).
|
||||
# The default format is PNG.
|
||||
#
|
||||
# This is separate from pic2graph because pic processing has some weird
|
||||
# clipping effect on the output, mangling equations that are very wide
|
||||
# or deep. Besides, this tool can supply its own delimiters.
|
||||
#
|
||||
|
||||
# Requires the groff suite and the ImageMagick tools. Both are open source.
|
||||
# This code is released to the public domain.
|
||||
#
|
||||
# Here are the assumptions behind the option processing:
|
||||
#
|
||||
# 1. None of the options of eqn(1) are relevant.
|
||||
#
|
||||
# 2. Only the -U option of groff(1) is relevant.
|
||||
#
|
||||
# 3. Many options of convert(1) are potentially relevant, (especially
|
||||
# -density, -interlace, -transparency, -border, and -comment).
|
||||
#
|
||||
# Thus, we pass -U to groff(1), and everything else to convert(1).
|
||||
#
|
||||
# $Id: eqn2graph.sh,v 1.2 2002/07/17 04:55:46 wlemb Exp $
|
||||
#
|
||||
groff_opts=""
|
||||
convert_opts=""
|
||||
format="png"
|
||||
|
||||
while [ "$1" ]
|
||||
do
|
||||
case $1 in
|
||||
-unsafe)
|
||||
groff_opts="-U";;
|
||||
-format)
|
||||
format=$2
|
||||
shift;;
|
||||
-v | --version)
|
||||
echo "GNU eqn2graph (groff) version @VERSION@"
|
||||
exit 0;;
|
||||
--help)
|
||||
echo "usage: eqn2graph [ option ...] < in > out"
|
||||
exit 0;;
|
||||
*)
|
||||
convert_opts="$convert_opts $1";;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Here goes:
|
||||
# 1. Add .EQ/.EN.
|
||||
# 2. Process through eqn(1) to emit troff markup.
|
||||
# 3. Process through groff(1) to emit Postscript.
|
||||
# 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
|
||||
tmp=/usr/tmp/eqn2graph-$$
|
||||
trap "rm ${tmp}.*" 0 2 15
|
||||
read equation
|
||||
(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"${equation}"'$') | \
|
||||
groff -e $groff_opts -Tps >${tmp}.ps \
|
||||
&& convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
&& cat ${tmp}.${format}
|
||||
|
||||
# End
|
460
contrib/groff/contrib/groffer/ChangeLog
Normal file
460
contrib/groff/contrib/groffer/ChangeLog
Normal file
@ -0,0 +1,460 @@
|
||||
2002-09-30 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.1
|
||||
|
||||
* TODO: remove done entries
|
||||
- Remove request for different shells.
|
||||
- Remove the 'sed' complaints.
|
||||
|
||||
2002-07-15 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer.sh: replace `sed' interface by direct `sed'
|
||||
- This improves the performance of the shell programming parts
|
||||
and shortens the groffer script by about 5%.
|
||||
- Remove functions: string_del_append(), string_del_leading(),
|
||||
string_del_trailing(), string_flatten(), string_get_before(),
|
||||
string_get_leading(), string_replace_all(), string_sed_s(),
|
||||
and their auxiliary functions.
|
||||
- Replace all calls of these functions by direct `sed' commands.
|
||||
- Define variables for special characters to ease `sed' calls.
|
||||
- Remove `$APPEND'.
|
||||
- Restrict list_from_string() to single character separators.
|
||||
- Correct list_check() and base_name().
|
||||
- Add comments to all calls of `sed'.
|
||||
|
||||
* groffer.sh: add run-time support for several shells
|
||||
- New option `--shell': stop execution and rerun groffer under
|
||||
the shell specified in the argument of `--shell'.
|
||||
- If no shell was specified at run-time, `ash' is tried first;
|
||||
if `ash' is not available continue with the shell with which
|
||||
groffer was called from the command line, or with the shell
|
||||
name in the first line of the script, actually `/bin/sh'.
|
||||
|
||||
2002-07-12 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* fixes for groffer 0.9.0
|
||||
|
||||
* groffer.sh: enhance version information
|
||||
`groffer -v|--version' now print:
|
||||
- groffer's version number and date
|
||||
- the string `is part of '
|
||||
- groff's version information (version number and copyright),
|
||||
but not groff's `called subprograms' information.
|
||||
|
||||
* groffer.sh: minor fixes
|
||||
- Fix the argument parser to process argument `-' correctly.
|
||||
- Some display programs have trouble with empty input; feed a
|
||||
line consisting of a single space character in this case for
|
||||
all display modes (not for source or groff modes).
|
||||
|
||||
* TODO:
|
||||
fix entry `shoop' (not 'shopt').
|
||||
|
||||
2002-06-28 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.0
|
||||
|
||||
* groffer.sh: new mode `pdf'
|
||||
- PDF (Portable Document Format):
|
||||
-> Transform groff `ps' output into pdf using `gs'.
|
||||
-> Pro: PDF viewers provide text searching (!).
|
||||
-> Con: the transformation is quite slow.
|
||||
-> Not suitable as an auto mode.
|
||||
- New options `--pdf', `--pdf-viewer', `--mode pdf'.
|
||||
- Standard pdf viewers `xpdf' and `acroread'.
|
||||
- For `xpdf', choose zoom `z 3' for 100 dpi, `z 2' for 75 dpi.
|
||||
|
||||
* groffer.sh: support bzip2 decompression
|
||||
- add test for `bzip2' with necessary options
|
||||
- extend functions `catz()' and `save_stdin()'.
|
||||
|
||||
* TODO
|
||||
remove entry on `bzip' decompression (done).
|
||||
|
||||
* groffer.man:
|
||||
- Document new `pdf' features.
|
||||
- Document new `bzip2' decompression.
|
||||
- Fix documentation for `--auto-modes'.
|
||||
|
||||
* groffer.sh: minor fixes
|
||||
- Improve device tests in `tty' and `dvi' modes.
|
||||
- Internally, map mode `auto' to '' to facilitate tests.
|
||||
- Fix auto mode sequence to: `ps,x,tty' as was intended.
|
||||
|
||||
2002-06-25 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer.sh:
|
||||
Fix `source' mode.
|
||||
|
||||
* groffer.man:
|
||||
Fix some indentations.
|
||||
|
||||
2002-06-23 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.8
|
||||
|
||||
* Makefile.sub: add copyright section
|
||||
|
||||
* groffer.man:
|
||||
- Document the new options.
|
||||
- Revise the documentation of the modes.
|
||||
- Document the configuration files in new section `FILES'.
|
||||
- Redesign section `EXAMPLES'.
|
||||
- Remove documentation for `-W'.
|
||||
|
||||
* groffer.sh: new debugging features
|
||||
- Disabled by default; enabled by environment variables.
|
||||
- Add landmark() to catch typos with quotes.
|
||||
- Add a function call stack for suitable functions; implemented
|
||||
as within the argument checker func_check().
|
||||
- This implies the need to provide `return' with some clean-up
|
||||
facility; implemented as `eval "$_return_..."'.
|
||||
- Add option `--debug' to enable debugging at run-time.
|
||||
- Actually, the groffer script uses only shell builtins found
|
||||
in `ash' (a subset of POSIX) and POSIX `sed' as the only
|
||||
external shell utility.
|
||||
|
||||
* groffer.sh: customization of viewers
|
||||
- In `groff' mode, the groffer viewing facilities are disabled.
|
||||
- The postprocessor option `-P' costumizes the viewer only in
|
||||
some situations in the `groff' mode, so a new infrastructure
|
||||
for viewer customization is necessary.
|
||||
- Allow to specify arguments to the viewer programs specified
|
||||
in `--*-viewer()'.
|
||||
- Implement some of the essential X Toolkit resource options in
|
||||
groffer, but with use a leading double minus.
|
||||
-> `--bd': set border color.
|
||||
-> `--bg', `--background': set background color.
|
||||
-> `--bw': set border width.
|
||||
-> `--display': set X display.
|
||||
-> `--geometry': set size and position of viewer window.
|
||||
-> `--fg', `--foreground': set foreground color.
|
||||
-> `--ft', `--font': set font.
|
||||
-> `--resolution': set X resolution in dpi.
|
||||
-> `--title': set viewer window title.
|
||||
-> `--xrm': set X resource.
|
||||
- Remove misnamed option `--xrdb'.
|
||||
|
||||
* groffer.sh: new mode structure
|
||||
- New Postcript mode `ps' (`--ps'):
|
||||
-> default viewers: gv,ghostview,gs_x11,gs;
|
||||
-> `--ps-viewer' sets the Postscript viewer.
|
||||
- New mode `www' (`--www') for displaying in a web browser:
|
||||
-> default browsers: mozilla,netscape,opera,amaya,arena;
|
||||
-> `--www-viewer' sets the web browser.
|
||||
- New dvi mode (`--dvi'); default viewer `xdvi':
|
||||
-> default viewers: xdvi,dvilx;
|
||||
-> `--dvi-viewer' sets the dvi viewer.
|
||||
- New mode `auto':
|
||||
-> active if no other mode is given or by new option `--auto';
|
||||
-> selects from a sequence of modes that are tested until one
|
||||
of them succeeds.
|
||||
-> the default mode sequence is actually `ps', `x', `tty'.
|
||||
-> `--default-modes' sets this mode sequence as a comma
|
||||
separated string of program names, optionally each one
|
||||
with arguments).
|
||||
- New mode `groff':
|
||||
-> process input like groff, ignore viewing options.
|
||||
-> activated by new option `--groff'.
|
||||
-> automatically active with one of `-V', `-X', `-Z'.
|
||||
- Revise `tty' mode:
|
||||
-> allow several text devices.
|
||||
->
|
||||
- Reorganize the mode management:
|
||||
-> new mode setting option `--mode'.
|
||||
-> logically separate source, groff, and display modes.
|
||||
-> intermediate output mode is now part of mode groff; remove
|
||||
any special features around `-Z'.
|
||||
- Update usage() to reflect the new option structure.
|
||||
|
||||
* groffer.sh: add configuration files
|
||||
- `/etc/groff/groffer.conf' system-wide configuration.
|
||||
- `${HOME}/.groff/groffer.conf' user configuration.
|
||||
- The configuration file are shell scripts for now; later
|
||||
implementations can identify this from the `#! /bin/sh' line.
|
||||
|
||||
* groffer.sh: new data structure `list':
|
||||
- Implement a `list' data structure as a string consisting of
|
||||
single-quoted elements, separated by a space character;
|
||||
embedded single-quotes are escaped.
|
||||
|
||||
* groffer.sh: new option parser based on `list':
|
||||
- Write new option parser based on `list', compatible to both
|
||||
POSIX getopts() and GNU getopt().
|
||||
- Long options are now available on GNU and non-GNU systems.
|
||||
- Get rid of POSIX getopts() and GNU getopt().
|
||||
- the `-W--longopt' construct is now obsolete; remove it.
|
||||
- add test/function for `unset'.
|
||||
- Option strings are now implemented as `list's in order to
|
||||
allow unusual characters in options.
|
||||
- Parse $MANOPT first; translate essential arguments into
|
||||
groffer options.
|
||||
|
||||
* groffer.man:
|
||||
- determine prompt length for `.Shell_cmd'* dynamically.
|
||||
- naming scheme for static strings and registers changed to
|
||||
`namespace:macro.variable'.
|
||||
|
||||
|
||||
2002-06-16 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* groffer.sh:
|
||||
Implement man option `--ascii' by `-mtty-char'.
|
||||
|
||||
|
||||
2002-05-31 Werner LEMBERG <wl@gnu.org>
|
||||
|
||||
* groffer.man (@.Shell_cmd_width):
|
||||
Increase to 4m (we use `sh#' as the prompt).
|
||||
|
||||
|
||||
2002-05-31 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.7
|
||||
|
||||
* groffer.sh: remove incompatibilities with the `ash' shell:
|
||||
- do not use `!command':
|
||||
-> use `else'
|
||||
-> write `_not_' equivalents for some functions
|
||||
- do not use `[^]' in `case':
|
||||
-> restructure some functions.
|
||||
- only single-character names for loop variables:
|
||||
-> spoils the paradigm of leading `_' for local variables.
|
||||
- spurious trouble with `for i in ${var}':
|
||||
-> use `eval set -- ${var}' and `for i in "$@"'
|
||||
- do not change or use $IFS:
|
||||
-> define new functions string_split() and `path_split()'.
|
||||
-> result must be processed by `eval set --'.
|
||||
-> solve conflicts with existing positional parameters.
|
||||
- trouble with exporting external `$GROFF_*' variables:
|
||||
-> hope that they were exported in the calling shell.
|
||||
- not smart about additional blanks:
|
||||
-> remove unnecessary white space.
|
||||
|
||||
* groffer.sh: improve run-time speed:
|
||||
- `ash' more than doubles the speed of `bash'.
|
||||
- speed-up `man_setup()'.
|
||||
|
||||
|
||||
2002-05-30 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* groffer.man:
|
||||
- remove some wrong `\:'.
|
||||
- rename macro names that start with a `[' (clashes with refer).
|
||||
- fix TP_header.
|
||||
|
||||
|
||||
2002-05-28 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.6
|
||||
|
||||
This is almost a complete rewrite since groffer 0.5 .
|
||||
________________________________________________________________
|
||||
* Documentation
|
||||
|
||||
* groffer.man:
|
||||
- Apply the changes done in www.tmac (.URL and .MTO)
|
||||
- Replace \fP by \f[].
|
||||
- Redesign and rewrite most macros.
|
||||
- Include the documentation for the new features.
|
||||
- Greatly enlarge section ENVIRONMENT
|
||||
- Add examples.
|
||||
|
||||
* TODO:
|
||||
- Start a TODO file with several sections.
|
||||
|
||||
* ChangeLog:
|
||||
Due to the many changes, shorten and rearrange the entries
|
||||
since groffer 0.5 .
|
||||
________________________________________________________________
|
||||
* Shell compatibility
|
||||
|
||||
* groffer.sh:
|
||||
- Due to possible conflicts in old BSD versions, `[]' was
|
||||
replaced by `test'; the `test' options `-a' and `-o' were
|
||||
replaced by multiple calls of `test'.
|
||||
- Write interface to the `sed' command `s' to become
|
||||
independent of the delimiter character. Rewrite all text
|
||||
manipulating function to use this new scheme. The new
|
||||
functions are named `string_*'.
|
||||
- `tr' is not needed any longer, replaced by `sed'.
|
||||
- `grep' is not needed any longer, mostly replaced by `case'.
|
||||
- Revision of test for `getopt'.
|
||||
- Remove `set -a'; explicitly export variables.
|
||||
- The only external programs used are POSIX `sed' and the
|
||||
fallback to `apropos'. All other program calls were
|
||||
replaced by shell builtins and functions.
|
||||
|
||||
________________________________________________________________
|
||||
* Cosmetics
|
||||
|
||||
* groffer.sh:
|
||||
- Implement a prefix based naming scheme for local variables
|
||||
and functions (OOP-like).
|
||||
- Introduce variables for white space (better readability with
|
||||
$IFS).
|
||||
- Store the names of the processed filespecs into a variable
|
||||
instead of a temporary file.
|
||||
- Error-prone shell constructions were replaced by functions
|
||||
with a simple interface.
|
||||
- To avoid too long pipes, replace supercat() by do_fileargs();
|
||||
every input file is handled independently.
|
||||
|
||||
________________________________________________________________
|
||||
* New features:
|
||||
- Add support for more X devices (e.g. X75-12 and X100-12).
|
||||
- Add long option `--intermediate_output' to `-Z'.
|
||||
- Make the options for mode selection clobber each other.
|
||||
- Add option `--mode' with an argument having the following
|
||||
values:
|
||||
`X': force displaying in X, same as options `-X';
|
||||
`tty': display with a pager on text terminal; same as `--tty';
|
||||
`source', `default', `auto', etc.
|
||||
- Make the handling of the X mode like in groff (e.g. -X -Tps).
|
||||
- Make resolution for gxditview behave like groff (default
|
||||
75 dpi).
|
||||
- Add environment variable $GROFFER_OPT to preset groffer
|
||||
options.
|
||||
|
||||
________________________________________________________________
|
||||
* implement most of the functionality of GNU `man'.
|
||||
|
||||
- Add all `man' long options to groffer.
|
||||
- Add all `man' environment variables.
|
||||
- Parse and use content of `$MANOPT'.
|
||||
- The precedence of the options and environment variables
|
||||
is regulated like in GNU `man'.
|
||||
- Force the option `--manpath' to have a colon-separated
|
||||
argument like GNU `man'.
|
||||
- Support `man section name' calling convention.
|
||||
- Remove all dependencies on `man -w'.
|
||||
|
||||
* groffer.sh:
|
||||
- Add the new features above.
|
||||
- Rewrite the search algorithm for man pages.
|
||||
- Remove searching with `man -w' (problems with space
|
||||
characters in file names).
|
||||
- Fix and complement usage().
|
||||
- The filespec parsers gets a function of its own do_manpage().
|
||||
|
||||
|
||||
2002-01-08 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer 0.5 (beta) released
|
||||
|
||||
* groffer.man:
|
||||
- Fix hyphenation problems with macros describing options.
|
||||
- Fix the handling of some `-' characters.
|
||||
- Examples of shell commands now print in font CR instead of CB.
|
||||
- Remove documentation for option `-X'.
|
||||
- Add documentation for option `--dpi'.
|
||||
|
||||
* groffer.sh:
|
||||
- New method for creating temporary files, based on process
|
||||
IDs. This is reliable enough and suitable for GNU and POSIX.
|
||||
- Run gxditview in a new shell instantiation for having a clean
|
||||
handling of the temporary files when running in the
|
||||
background.
|
||||
- Revision of the retrieving method for the window title.
|
||||
- Empty input is now tolerated.
|
||||
- Export the variables that are set before the call of `set -a'.
|
||||
- Function usage() corrected and updated.
|
||||
- Unnecessary stuff removed.
|
||||
- Comments adjusted.
|
||||
- Pass option `-X' to groff, i.e. force X output with 75 dpi.
|
||||
- Implement option `--dpi' for setting the resolution for the X
|
||||
viewer, which had already been documented in earlier versions.
|
||||
|
||||
2002-01-07 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer 0.4 (beta) released (as groff `contrib')
|
||||
|
||||
* groffer.man:
|
||||
- New features documented.
|
||||
- Macros stream-lined.
|
||||
- Section EXAMPLES added.
|
||||
|
||||
* groffer.sh:
|
||||
- System tests added/optimized.
|
||||
- Speed/memory optimizations by defining some shell functions
|
||||
alternatively depending on the text results.
|
||||
- Use `gzip' for decompression instead of `zcat'.
|
||||
- Signal handling added for clean exiting by `trap'.
|
||||
- Temporary files exist only as long as necessary.
|
||||
- Setup of path for man-pages moved after the option parsing.
|
||||
- Fixed a bug in determining the path for man-pages.
|
||||
- Fixed a bug in the handling of non-groffer options.
|
||||
|
||||
* New features:
|
||||
- New option --tty for forcing paging on text terminal.
|
||||
- New option --no-man for disabling the man-page feature.
|
||||
- Implement reserved POSIX -W feature to simulate long options.
|
||||
- gxditview is now run as a background process.
|
||||
|
||||
2002-01-05 Werner LEMBERG <wl@gnu.org>
|
||||
|
||||
* Integrate groffer into groff's `contrib' tree.
|
||||
|
||||
* Makefile: Replaced by...
|
||||
Makefile.sub: New file.
|
||||
|
||||
* groffer: Replaced by...
|
||||
groffer.sh: New file.
|
||||
|
||||
* groffer.man (OptDef): Add missing backslashes.
|
||||
Update copyright.
|
||||
|
||||
2001-12-15 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer 0.3 (alpha) released (still stand-alone package).
|
||||
|
||||
* GNU and POSIX are supported (POSIX without long options).
|
||||
|
||||
* New options : --man, --mandb, --title, --xrdb
|
||||
|
||||
* Support for command line arguments with embedded single space
|
||||
characters (GNU only) .
|
||||
|
||||
* Several search methods for man-pages when no `man -w' is
|
||||
available ($MANPATH, mandb, a default path).
|
||||
|
||||
* Language support for man-pages.
|
||||
|
||||
* Recognize the following filespecs as man-page parameters:
|
||||
man:name(section), man:name, name.section, name.
|
||||
|
||||
2001-12-03 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* Stand-alone package for groffer 0.2 (alpha) created
|
||||
Files: groffer, groffer.man, Makefile, TODO, ChangeLog
|
||||
|
||||
2001-12-02 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* groffer 0.2 (alpha) program released.
|
||||
|
||||
* Name changed from `groffview' to `groffer'.
|
||||
|
||||
* Comments added.
|
||||
|
||||
* Name changed from `groffview' to `groffer'.
|
||||
|
||||
* Options harmonized with groff.
|
||||
New options : -Q --source, -T --device, -X .
|
||||
Other options known from groff are passed unchanged.
|
||||
|
||||
* 100 dpi as default, 75 dpi only in emergency situations.
|
||||
|
||||
* Bugs with temporary files fixed.
|
||||
|
||||
* Code restructured and comments added.
|
||||
|
||||
2001-11-28 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
***** groffview 0.1 (experimental) and groffview.man released
|
||||
(predecessor of groffer, shell script)
|
||||
|
||||
* Options : -h --help, -v --version
|
||||
|
||||
* Search for man-pages based on $MANPATH
|
||||
|
||||
* development of `groffview' shell script started
|
47
contrib/groff/contrib/groffer/Makefile.sub
Normal file
47
contrib/groff/contrib/groffer/Makefile.sub
Normal file
@ -0,0 +1,47 @@
|
||||
# Makefile.sub for `groffer' (integration into the groff source tree)
|
||||
|
||||
# File position: <groff-source>/contrib/groffer/Makefile.sub
|
||||
|
||||
# Last update: 23 June 2002
|
||||
|
||||
# Copyright (C) 2001,2002 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
|
||||
# This file is part of groff.
|
||||
|
||||
# groff is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# groff is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
# License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with groff; see the file COPYING. If not, write to the
|
||||
# Free Software Foundation, 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA.
|
||||
|
||||
########################################################################
|
||||
|
||||
MAN1=groffer.n
|
||||
CLEANADD=groffer
|
||||
|
||||
all: groffer
|
||||
|
||||
groffer: groffer.sh
|
||||
rm -f $@; \
|
||||
sed -e "s|@g@|$(g)|g" \
|
||||
-e "s|@VERSION@|$(version)$(revision)|" \
|
||||
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/groffer.sh >$@; \
|
||||
chmod +x $@
|
||||
|
||||
install_data: groffer
|
||||
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
|
||||
-rm -f $(bindir)/groffer
|
||||
$(INSTALL_SCRIPT) groffer $(bindir)/groffer
|
||||
|
||||
uninstall_sub:
|
||||
-rm -f $(bindir)/groffer
|
53
contrib/groff/contrib/groffer/TODO
Normal file
53
contrib/groff/contrib/groffer/TODO
Normal file
@ -0,0 +1,53 @@
|
||||
# TODO file for `groffer'
|
||||
|
||||
# File position: <groff-source>/contrib/groffer/TODO
|
||||
|
||||
# Last update: 30 Sep 2002
|
||||
|
||||
# Copyright (C) 2001,2002 Free Software Foundation, Inc.
|
||||
# Written by Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
# This file is part of groff.
|
||||
|
||||
# groff is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# groff is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
# License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with groff; see the file COPYING. If not, write to the
|
||||
# Free Software Foundation, 59 Temple Place - Suite 330, Boston,
|
||||
# MA 02111-1307, USA.
|
||||
|
||||
########################################################################
|
||||
|
||||
TODO
|
||||
|
||||
Optimization:
|
||||
- Optimize man path determination in manpath_add_lang_sys() for speed
|
||||
by building-up the man path only by and by as far as necessary
|
||||
(not trivial).
|
||||
|
||||
Features:
|
||||
- Consider using the `shoop' package (OOP for `sh').
|
||||
- Revise option handling of `grog'.
|
||||
- `gxditview' needs a complete shower.
|
||||
|
||||
Revision:
|
||||
- Should there be a native implementation for `--apropos'?
|
||||
- Revise the `--all' feature to better reflect GNU man.
|
||||
- The debug function stack is buggy (no effect on normal operation).
|
||||
|
||||
Documentation:
|
||||
- Write a README file.
|
||||
- Improve the documentation of the search algorithm for man pages in
|
||||
both the groffer script and the man page `groffer.man'.
|
||||
- In `groff.man', add more documentation for parts that were taken over
|
||||
from GNU `man'.
|
||||
- The documentation in the headers for some function definitions in
|
||||
`groffer.sh' needs to be updated.
|
2836
contrib/groff/contrib/groffer/groffer.man
Normal file
2836
contrib/groff/contrib/groffer/groffer.man
Normal file
File diff suppressed because it is too large
Load Diff
4419
contrib/groff/contrib/groffer/groffer.sh
Normal file
4419
contrib/groff/contrib/groffer/groffer.sh
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,94 @@
|
||||
Wed Sep 09:53:06 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* added implicit -mm to mmroff, it's now possible
|
||||
to use mmroff with or without -mm as argument.
|
||||
|
||||
Thu Aug 08 00:31:00 Bob Diertens <bobd@science.uva.nl>
|
||||
|
||||
* m.tmac (VM): Add missing backslash.
|
||||
|
||||
Fri Jun 10:37:58 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* added init@reset for LT-macros so .S works for letters
|
||||
|
||||
Thu May 06:30:06 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* adding -T to VM for setting the total
|
||||
header and footer size.
|
||||
* changing pg*extra-header-size unit from v to u in DS-size
|
||||
calculation
|
||||
|
||||
Mon May 05:40:16 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* All lists now get an empty line before the list
|
||||
even if there is no empty lines between the items (bug in LB)
|
||||
|
||||
Sat May 07:36:08 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* PIC is now drawn 1v higher, making it
|
||||
possible to put a picture at 0,0.
|
||||
* Indentbug in P fixed, Pt=2 now behaves as it should
|
||||
|
||||
Wed May 10:18:26 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* added L, W and O in groff_mm.man
|
||||
* extra space in expression removed in EPIC
|
||||
* EPIC can leftadjust with -L
|
||||
* EPIC was drawing 1v down
|
||||
* forgot to add mmse.tmac and mm.tmac to cvs
|
||||
|
||||
Fri May 20:35:32 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* Clarified manual about INITR
|
||||
* Added mm.tmac and mmse.tmac wrappers
|
||||
* Fixed bug in mmroff so a .qrf-file always will be created
|
||||
* .EQ mark was not correctly positioned anymore.
|
||||
* changed SP to sp in DS/DE to further correct .EQ
|
||||
|
||||
Sun Dec 9 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* Makefile.sim, groff_mm.man, groff_mmse.man: Minor fixes.
|
||||
* mmroff.man: This is a section 1 man page.
|
||||
Minor fixes.
|
||||
* Makefile.sub: Install mmroff.man in section 1.
|
||||
|
||||
Wed Nov 28 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* m.tmac: Assure that the macro package is loaded only once.
|
||||
|
||||
Wed Sep 5 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* m.tmac: Enable all warnings only if no -W or -w option is given on
|
||||
the command line (or rather, if only the default warnings are
|
||||
set).
|
||||
|
||||
Mon Sep 3 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* groff_mm.man: Don't use .ne for TTY devices.
|
||||
|
||||
Thu Jul 26 00:00:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* groff_mm.man: Start always a new line after end of sentence. Add
|
||||
some compatibility info to the HF variable.
|
||||
|
||||
Thu Jul 26 00:00:00 2001 Larry Jones (larry.jones@sdrc.com)
|
||||
|
||||
* m.tmac: Fix initialization of Hps1 and Hps2.
|
||||
|
||||
Wed May 16 00:00:00 2001 Bruce Lilly (blilly@erols.com)
|
||||
|
||||
* m.tmac (TH): Fix incorrect error message.
|
||||
|
||||
Thu Apr 12 00:00:00 2001 Ruslan Ermilov (ru@FreeBSD.org)
|
||||
|
||||
* groff_mm.man: Fixing some typos.
|
||||
|
||||
Mon Mar 5 09:30:18 2001 Jörgen Hägg (jh@axis.com)
|
||||
|
||||
* S didn't reset to default point size
|
||||
* (dummy line to force cvs update...)
|
||||
|
||||
Sat Jan 06 10:30:00 2001 Werner Lemberg (wl@gnu.org)
|
||||
Sat Jan 06 10:30:00 2001 Werner LEMBERG (wl@gnu.org)
|
||||
|
||||
* Fixed assignment of page offset given as a command line argument.
|
||||
|
||||
@ -18,6 +103,11 @@ Thu Sep 14 05:52:48 2000 J
|
||||
understand why the e-mail address was supposed to be
|
||||
'jh at axis.com' in the Changelog. :-)
|
||||
|
||||
Mon Aug 28 00:00:00 2000 Bruno Haible (haible at clisp.cons.org)
|
||||
|
||||
* Makefile.sub: New target 'all', makes all prerequisites of
|
||||
'install'.
|
||||
|
||||
Thu Sep 7 06:17:42 2000 Jörgen Hägg (jh at axis.com)
|
||||
|
||||
* version 2.0
|
||||
@ -34,6 +124,10 @@ Sun Jun 4 21:39:00 2000 Kaneda Hiroshi (vanitas at ma3.seikyou.ne.jp)
|
||||
|
||||
* Fixing a lot of typos in groff_mm.man
|
||||
|
||||
Tue Mar 7 00:00:00 2000 OKAZAKI Tetsurou (okazaki at be.to)
|
||||
|
||||
* Makefile.sub: Use $(INSTALL_SCRIPT) for script files.
|
||||
|
||||
Sun Jan 30 22:52:20 2000 Jörgen Hägg (jh at axis.com)
|
||||
|
||||
* version 1.34
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: Makefile.sim,v 2.1 2000/11/17 04:26:02 jhaegg Exp $
|
||||
# $Id: Makefile.sim,v 2.3 2002/05/22 06:26:12 jhaegg Exp $
|
||||
#
|
||||
# To install mgm separately as gm.tmac:
|
||||
# make -f Makefile.sub tmacdir=/usr/local/lib/groff/tmac srcdir=. \
|
||||
@ -21,8 +21,8 @@ install = install -m 644
|
||||
|
||||
# Do not change anything below this line
|
||||
srcdir = .
|
||||
version = 1.32
|
||||
mdate = 1999-09-03
|
||||
version = 2.8
|
||||
mdate = 2002-05-11
|
||||
|
||||
.SUFFIXES: .n .man
|
||||
|
||||
@ -33,9 +33,9 @@ install: groff_mm.n groff_mmse.n
|
||||
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
|
||||
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) install
|
||||
|
||||
uninstall: groff_mm.n groff_mmse.n
|
||||
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
|
||||
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) uninstall_sub
|
||||
uninstall: groff_mm.n groff_mmse.n
|
||||
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
|
||||
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) uninstall_sub
|
||||
|
||||
|
||||
.man.n:
|
||||
|
@ -1,14 +1,15 @@
|
||||
#
|
||||
# $Id: Makefile.sub,v 2.1 2000/11/17 04:26:02 jhaegg Exp $
|
||||
# $Id: Makefile.sub,v 2.3 2002/05/22 06:26:12 jhaegg Exp $
|
||||
#
|
||||
PROG=mmroff
|
||||
MAN1=\
|
||||
mmroff.n
|
||||
MAN7=\
|
||||
groff_mm.n \
|
||||
groff_mmse.n \
|
||||
mmroff.n
|
||||
groff_mmse.n
|
||||
FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov
|
||||
# Local configuration files with default values.
|
||||
LOCALE = locale se_locale
|
||||
LOCALE=locale se_locale
|
||||
CLEANADD=temp
|
||||
|
||||
all: mmroff
|
||||
@ -32,7 +33,12 @@ install_m:
|
||||
$(INSTALL_DATA) $(srcdir)/m.tmac $(tmacdir)/$(tmac_m_prefix)m.tmac
|
||||
@sed -e "s;^.mso m.tmac;.mso $(tmac_m_prefix)m.tmac;g" \
|
||||
$(srcdir)/mse.tmac > $(tmacdir)/$(tmac_m_prefix)mse.tmac
|
||||
install_mmroff : mmroff
|
||||
@sed -e "s;^.mso mse.tmac;.mso $(tmac_m_prefix)mse.tmac;g" \
|
||||
$(srcdir)/mmse.tmac > $(tmacdir)/$(tmac_m_prefix)mmse.tmac
|
||||
@sed -e "s;^.mso m.tmac;.mso $(tmac_m_prefix)m.tmac;g" \
|
||||
$(srcdir)/mm.tmac > $(tmacdir)/$(tmac_m_prefix)mm.tmac
|
||||
|
||||
install_mmroff: mmroff
|
||||
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
|
||||
-rm -f $(bindir)/mmroff
|
||||
$(INSTALL_SCRIPT) mmroff $(bindir)/mmroff
|
||||
@ -42,7 +48,6 @@ mmroff: mmroff.pl
|
||||
-sed -e 's;/usr/bin/perl;$(PERLPATH);' $(srcdir)/mmroff.pl >$@
|
||||
-chmod +x $@
|
||||
|
||||
|
||||
uninstall_sub:
|
||||
-for f in $(FILES); do rm -f $(tmacdir)/mm/$$f; done
|
||||
-for f in $(LOCALE); do \
|
||||
@ -50,6 +55,8 @@ uninstall_sub:
|
||||
done
|
||||
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
|
||||
-rm -f $(tmacdir)/$(tmac_m_prefix)m.tmac
|
||||
-rm -f $(tmacdir)/$(tmac_m_prefix)mm.tmac
|
||||
-rm -f $(tmacdir)/$(tmac_m_prefix)mse.tmac
|
||||
-rm -f $(tmacdir)/$(tmac_m_prefix)mmse.tmac
|
||||
-rmdir $(tmacdir)/mm
|
||||
-rm -f $(bindir)/mmroff
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
$Id: README,v 2.1 2000/11/17 04:27:03 jhaegg Exp $
|
||||
$Id: README,v 2.2 2002/05/22 06:26:12 jhaegg Exp $
|
||||
|
||||
This is mgm, a macro package for groff.
|
||||
|
||||
@ -29,9 +29,3 @@ This README should be bigger :-)
|
||||
Thanks to everyone who have sent me bug-reports and fixes.
|
||||
|
||||
|
||||
Yes, my version numbering differs from the groff CVS, but I
|
||||
like mine better. :-)
|
||||
|
||||
More likely, I'm too lazy to change it, but someday I'll
|
||||
try to sync them...
|
||||
The step to 2.0 is an attempt, let's see if it works.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
.\"
|
||||
.\" $Id: groff_mmse.man,v 2.1 2001/06/27 12:47:16 wlemb Exp $
|
||||
.\" $Id: groff_mmse.man,v 2.2 2001/12/09 12:15:09 wlemb Exp $
|
||||
.\" Skrivet av Jörgen Hägg, Lund, Sverige
|
||||
.\"
|
||||
.TH GROFF_MMSE @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
@ -79,7 +79,7 @@ J
|
||||
.BR @g@pic (@MAN1EXT@),
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
.br
|
||||
.BR m@TMAC_M_PREFIX@m (@MAN7EXT@)
|
||||
.BR groff_mm (@MAN7EXT@)
|
||||
.
|
||||
.\" Local Variables:
|
||||
.\" mode: nroff
|
||||
|
@ -3,8 +3,8 @@
|
||||
.ds RE \\$2
|
||||
..
|
||||
.\"
|
||||
.\" $Id: m.tmac,v 2.4 2001/05/16 11:07:52 wlemb Exp $
|
||||
.@revision $Revision: 2.4 $
|
||||
.\" $Id: m.tmac,v 2.15 2002/08/07 23:23:34 wlemb Exp $
|
||||
.@revision $Revision: 2.15 $
|
||||
.ig
|
||||
|
||||
Copyright (C) 1991-2000 Free Software Foundation, Inc.
|
||||
@ -33,8 +33,9 @@ Env.var environ:name
|
||||
Index array!index
|
||||
..
|
||||
.if !\n(.g .ab These mm macros require groff.
|
||||
.do if d PH .nx
|
||||
.if \n(.C .ab The groff mm macros do not work in compatibility mode.
|
||||
.warn
|
||||
.if (\n[.warn] == 65543) .warn
|
||||
.\" ######## init #######
|
||||
.\" Contents level [0:7], contents saved if heading level <= Cl
|
||||
.nr Cl 2
|
||||
@ -220,12 +221,12 @@ Index array!index
|
||||
.\"
|
||||
.\" These variables controls the number of lines preceding .H.
|
||||
.\" Hps1 is the number of lines when level > Hps
|
||||
.nr Hps1 0.5
|
||||
.if n .nr Hps1 1
|
||||
.nr Hps1 0.5v
|
||||
.if n .nr Hps1 1v
|
||||
.\"
|
||||
.\" Hps2 is the number of lines when level <= Hps
|
||||
.nr Hps2 1
|
||||
.if n .nr Hps2 2
|
||||
.nr Hps2 1v
|
||||
.if n .nr Hps2 2v
|
||||
.\"
|
||||
.\" Hss is the number of lines (Lsp) after the header.
|
||||
.nr Hss 1
|
||||
@ -401,7 +402,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\" ####### module par #################################
|
||||
.nr par@ind-flag 1 \" indent on following P if Pt=2
|
||||
.nr hd*last-pos -1
|
||||
.nr hd*last-hpos -1
|
||||
.nr hd*last-hsize -1
|
||||
.nr par*number 0 1
|
||||
.af par*number 01
|
||||
.nr par*number2 0 1
|
||||
@ -417,31 +418,31 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\" paragraph
|
||||
.de P
|
||||
.\" skip P if previous heading
|
||||
.ie !((\\n[nl]=\\n[hd*last-pos]):(\\n[nl]=(\\n[hd*last-pos]-.5v))) \{\
|
||||
. if \\n[D]>2 .tm Paragraph nl=\\n[nl]
|
||||
. par@doit \\$*
|
||||
. if \\n[Np] \\n[H1].\\n+[par*number]\ \ \c
|
||||
.if \\n[D]>2 \{\
|
||||
. tm Paragraph nl=\\n[nl], last=\\n[hd*last-pos]
|
||||
. tm Paragraph .k=\\n[.k], hsize=\\n[hd*last-hsize]
|
||||
.\}
|
||||
.el .if !(\\n[hd*last-hpos]=\\n[.k]) \{\
|
||||
. if \\n[D]>2 .tm Paragraph nl=\\n[nl]
|
||||
. par@doit \\$*
|
||||
. if \\n[Np] \\n[H1].\\n+[par*number]\ \ \c
|
||||
.if !((\\n[nl]=\\n[hd*last-pos]):(\\n[hd*last-hsize]=\\n[.k])) \{\
|
||||
. if \\n[D]>2 .tm Paragraph set ind-flag=1
|
||||
. nr par@ind-flag 1
|
||||
.\}
|
||||
.nr par@ind-flag 1
|
||||
.\" any collected unprinted text?
|
||||
.par@doit \\$*
|
||||
.if \\n[Np] \\n[H1].\\n+[par*number]\ \ \c
|
||||
..
|
||||
.\"------------
|
||||
.de nP
|
||||
.\" skip P if previous heading
|
||||
.ie !((\\n[nl]=\\n[hd*last-pos]):(\\n[nl]=(\\n[hd*last-pos]-.5v))) \{\
|
||||
. if \\n[D]>2 .tm Paragraph nl=\\n[nl]
|
||||
. par@doit \\$*
|
||||
\\n[H2].\\n+[par*number2]\ \ \c
|
||||
.if \\n[D]>2 \{\
|
||||
. tm Paragraph nl=\\n[nl], last=\\n[hd*last-pos]
|
||||
. tm Paragraph .k=\\n[.k], hsize=\\n[hd*last-hsize]
|
||||
.\}
|
||||
.el .if !(\\n[hd*last-hpos]=\\n[.k]) \{\
|
||||
. if \\n[D]>2 .tm Paragraph nl=\\n[nl]
|
||||
. par@doit \\$*
|
||||
\\n[H2].\\n+[par*number2]\ \ \c
|
||||
.if !((\\n[nl]=\\n[hd*last-pos]):(\\n[hd*last-hsize]=\\n[.k])) \{\
|
||||
. if \\n[D]>2 .tm Paragraph set ind-flag=1
|
||||
. nr par@ind-flag 1
|
||||
.\}
|
||||
.par@doit \\$*
|
||||
\\n[H2].\\n+[par*number2]\ \ \c
|
||||
.nr par@ind-flag 1
|
||||
..
|
||||
.\"------------
|
||||
@ -770,10 +771,12 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
. shift
|
||||
. \}
|
||||
.\}
|
||||
.\" let mmroff know the filename and id
|
||||
.if \\n[Ref]>0 \{\
|
||||
. tm .\\\\" PIC id \\n[pict*id]
|
||||
. tm .\\\\" PIC file \\*[pict*f]
|
||||
.\}
|
||||
.\" these are defined by mmroff in the second pass
|
||||
.if d pict*file!\\n[pict*id] \{\
|
||||
. ds pict*f \\*[pict*file!\\n[pict*id]]
|
||||
. nr pict*llx \\n[pict*llx!\\n[pict*id]]
|
||||
@ -809,41 +812,52 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
. ds pict*h "
|
||||
. if \\n[pict*h]>0 .ds pict*h \\n[pict*h]
|
||||
. \"
|
||||
. ne \\n[pict*h]u
|
||||
. ne \\n[pict*h]u-1v
|
||||
. \"
|
||||
. \" these lines are copied and modified from tmac.pspic.
|
||||
. \" Originally written by James Clark
|
||||
. br
|
||||
. ie \\n[pict*box]>0 \{\
|
||||
\h'\\n[pict*in]u'\
|
||||
\v'-1v'\h'\\n[pict*in]u'\
|
||||
\Z'\D'p 0 \\n[pict*h]u \\n[pict*w]u 0 0 -\\n[pict*h]u''\
|
||||
\v'\\n[pict*h]u'\X'ps: import \\*[pict*f] \
|
||||
\\n[pict*llx] \\n[pict*lly] \\n[pict*urx] \\n[pict*ury] \\n[pict*w] \\n[pict*h]'
|
||||
\\n[pict*llx] \\n[pict*lly] \
|
||||
\\n[pict*urx] \\n[pict*ury] \
|
||||
\\n[pict*w] \\n[pict*h]'
|
||||
.\}
|
||||
. el \{\
|
||||
\h'\\n[pict*in]u'\
|
||||
\v'-1v'\h'\\n[pict*in]u'\
|
||||
\X'ps: invis'\
|
||||
\Z'\D'p 0 \\n[pict*h]u \\n[pict*w]u 0 0 -\\n[pict*h]u''\
|
||||
\X'ps: endinvis'\
|
||||
\v'\\n[pict*h]u'\X'ps: import \\*[pict*f] \
|
||||
\\n[pict*llx] \\n[pict*lly] \\n[pict*urx] \\n[pict*ury] \\n[pict*w] \\n[pict*h]'
|
||||
\\n[pict*llx] \\n[pict*lly] \
|
||||
\\n[pict*urx] \\n[pict*ury] \
|
||||
\\n[pict*w] \\n[pict*h]'
|
||||
. \}
|
||||
. br
|
||||
. sp \\n[pict*h]u
|
||||
. sp \\n[pict*h]u-1v
|
||||
.\}
|
||||
..
|
||||
.\" external picture
|
||||
.\" -L left adjust
|
||||
.de EPIC
|
||||
.if \\n[.$]< 2 .@error "EPIC: Not enough arguments"
|
||||
.if \\n[.$]<2 .@error "EPIC: Not enough arguments"
|
||||
.nr pict*adj 0 \" centered
|
||||
.if '\\$1'-L' \{\
|
||||
. shift 1 \" left adjust
|
||||
. nr pict*adj 1
|
||||
.\}
|
||||
.if \\n[nl]<0 \&
|
||||
.nr pict*w \\$1
|
||||
.nr pict*h \\$2
|
||||
.ds pict*name "External picture
|
||||
.if !''$3' .ds pict*name \\$3
|
||||
\&
|
||||
.br
|
||||
.ne \\n[pict*h]u
|
||||
.sp \\n[pict*h]u
|
||||
.nr pict*ind (u;(\\n[.l]-\\n[.i]-\\n[pict*w])/2)
|
||||
.sp \\n[pict*h]u-1v
|
||||
.nr pict*ind 0
|
||||
.if !\\n[pict*adj] .nr pict*ind (u;(\\n[.l]-\\n[.i]-\\n[pict*w])/2)
|
||||
.mk
|
||||
.in +\\n[pict*ind]u
|
||||
\D'l \\n[pict*w]u 0'\
|
||||
\D'l 0 -\\n[pict*h]u'\
|
||||
@ -852,6 +866,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
\v'-(u;\\n[pict*h]/2)'\
|
||||
\h'(u;(\\n[pict*w]-\w'\\*[pict*name]'/2))'\\*[pict*name]
|
||||
.in
|
||||
.rt
|
||||
.sp 1v
|
||||
..
|
||||
.\" ######## module acc #################
|
||||
.\"-----------
|
||||
@ -1054,7 +1070,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\"---------- user macro HZ ----------
|
||||
.if d HZ .HZ \\n[hd*level] \\n[hd*arg1] "\\$2\\$3"
|
||||
.nr hd*last-pos \\n[nl]
|
||||
.nr hd*last-hpos \\n[.k]
|
||||
.nr hd*last-hsize \\n[.k]
|
||||
.nr par@ind-flag 0
|
||||
..
|
||||
.\"--------
|
||||
@ -1093,8 +1109,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.nr pg*top-margin 0
|
||||
.nr pg*foot-margin 0
|
||||
.nr pg*block-size 0
|
||||
.nr pg*footer-size 5\" 1v+footer+even/odd footer+2v
|
||||
.nr pg*header-size 7\" 3v+header+even/odd header+2v
|
||||
.nr pg*footer-size 5v\" 1v+footer+even/odd footer+2v
|
||||
.nr pg*header-size 7v\" 3v+header+even/odd header+2v
|
||||
.nr pg*extra-footer-size 0
|
||||
.nr pg*extra-header-size 0
|
||||
.nr ft*note-size 0
|
||||
@ -1108,14 +1124,14 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\"-------------------------
|
||||
.\" footer TRAPS: set, enable and disable
|
||||
.de pg@set-new-trap
|
||||
.nr pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v+\\n[pg*extra-footer-size]u)
|
||||
.nr pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]u+\\n[pg*extra-footer-size]u)
|
||||
.\"
|
||||
.if \\n[D]>2 .tm pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v+\\n[pg*extra-footer-size]u) = \\n[pg*foot-trap]
|
||||
.if \\n[D]>2 .tm pg*foot-trap \\n[@pl]u-(\\n[pg*block-size]u+\\n[ft*note-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]u+\\n[pg*extra-footer-size]u) = \\n[pg*foot-trap]
|
||||
.\"
|
||||
.\" last-pos points to the position of the footer and bottom
|
||||
.\" block below foot-notes.
|
||||
.nr pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v)
|
||||
.if \\n[D]>2 .tm pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]v) = \\n[pg*last-pos]
|
||||
.nr pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]u)
|
||||
.if \\n[D]>2 .tm pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]u) = \\n[pg*last-pos]
|
||||
..
|
||||
.de pg@enable-trap
|
||||
.wh \\n[pg*foot-trap]u pg@footer
|
||||
@ -1379,16 +1395,28 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
..
|
||||
.\"-------------------------
|
||||
.\" set top and bottom margins
|
||||
.\" -T sets pg*footer-size and pg*header-size instead
|
||||
.de VM
|
||||
.if \\n[.$]=0 \{\
|
||||
. nr pg*extra-footer-size 0
|
||||
. nr pg*extra-header-size 0
|
||||
.ie '\\$1'-T' \{\
|
||||
. shift
|
||||
. if \\n[.$]=0 \{\
|
||||
. nr pg*footer-size 5v
|
||||
. nr pg*header-size 7v
|
||||
. \}
|
||||
. if \\n[.$]>0 .nr pg*header-size (v;\\$1)
|
||||
. if \\n[.$]>1 .nr pg*footer-size (v;\\$2)
|
||||
.\}
|
||||
.if \\n[.$]>0 .nr pg*extra-header-size (v;\\$1)
|
||||
.if \\n[.$]>1 .nr pg*extra-footer-size (v;\\$2)
|
||||
.if \\n[D]>2 \{\
|
||||
. tm extra top \\n[pg*extra-footer-size]
|
||||
. tm extra bottom \\n[pg*extra-header-size]
|
||||
.el \{\
|
||||
. if \\n[.$]=0 \{\
|
||||
. nr pg*extra-footer-size 0
|
||||
. nr pg*extra-header-size 0
|
||||
. \}
|
||||
. if \\n[.$]>0 .nr pg*extra-header-size (v;\\$1)
|
||||
. if \\n[.$]>1 .nr pg*extra-footer-size (v;\\$2)
|
||||
. if \\n[D]>2 \{\
|
||||
. tm extra top \\n[pg*extra-footer-size]
|
||||
. tm extra bottom \\n[pg*extra-header-size]
|
||||
. \}
|
||||
.\}
|
||||
.pg@move-trap
|
||||
..
|
||||
@ -1977,6 +2005,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\" nested DS/DE is allowed. No limit on depth.
|
||||
.de DS
|
||||
.br
|
||||
.nr XXX \\n[nl]
|
||||
.nr ds*lvl +1
|
||||
.ds@set-format \\$@
|
||||
.\"
|
||||
@ -2012,7 +2041,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
'nf
|
||||
.\" calculate needed space
|
||||
.nr ds*need \\n[ds*height]
|
||||
.nr ds*i \\n[pg*foot-trap]-\\n[pg*header-size]v-\\n[pg*extra-header-size]v
|
||||
.nr ds*i \\n[pg*foot-trap]-\\n[pg*header-size]u-\\n[pg*extra-header-size]u
|
||||
.if (\\n[ds*height]>\\n[ds*i])&(\\n[.t]<(\\n[ds*i]/2)) .nr ds*need \\n[.t]u+1v
|
||||
.if (\\n[ds*height]<\\n[ds*i])&(\\n[.t]<(\\n[ds*height])) .nr ds*need \\n[.t]u+1v
|
||||
.\" Eject page if display will fit one page and
|
||||
@ -2034,9 +2063,9 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.nr ds*i \\n[Lsp]
|
||||
.if r Dsp .nr ds*i \\n[Dsp]
|
||||
.\"
|
||||
.if \\n[Ds] .SP \\n[ds*i]u
|
||||
.if \\n[Ds] .sp \\n[ds*i]u
|
||||
.ds*div!\\n[ds*snr]
|
||||
.if \\n[Ds] .SP \\n[ds*i]u
|
||||
.if \\n[Ds] .sp \\n[ds*i]u
|
||||
.\"
|
||||
.if \\n[ds*format]=2 'ce 0
|
||||
.if \\n[ds*format]=4 'rj 0
|
||||
@ -2078,7 +2107,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.ds li*mark \\$5\" mark
|
||||
.ie !'\\$6'' .nr li*li-spc \\$6\" LI-space
|
||||
.el .nr li*li-spc 1
|
||||
.ie !'\\$7'' .nr li*lb-spc \\$6\" LB-space
|
||||
.ie !'\\$7'' .nr li*lb-spc \\$7\" LB-space
|
||||
.el .nr li*lb-spc 0
|
||||
.\" init listcounter
|
||||
.nr li*cnt!\\n[li*lvl] 0 1
|
||||
@ -2312,10 +2341,11 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.de eq@check
|
||||
.if !'\\*[eq*label]'' \{\
|
||||
. mk
|
||||
' sp (u;\\$1/2-.45v)
|
||||
. \" space down to middle of equation
|
||||
' sp (u;\\$1/2)
|
||||
. ie (\\n[Eq]%2) \{\
|
||||
. \" label to the left
|
||||
\h'|0'\\*[eq*label]\c
|
||||
\h'|0'\\*[eq*label]
|
||||
. \}
|
||||
. el \{\
|
||||
. \" label to the right
|
||||
@ -3096,7 +3126,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\"########################### module ind ############################
|
||||
.\" Support for mgs-style indexing, borrowed from mgs.
|
||||
.de IX
|
||||
.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n[%]
|
||||
. tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n[%]
|
||||
..
|
||||
.\"--------------------
|
||||
.\" Another type of index system
|
||||
@ -3405,6 +3435,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.if \\n[.$] .ds let*ia-name!\\n+[let*ia-n] \\$1
|
||||
.if \\n[.$]>1 .ds let*ia-title!\\n[let*ia-n] \\$2
|
||||
.ev let@ev
|
||||
.init@reset
|
||||
'nf
|
||||
.di let@ia-div
|
||||
.eo
|
||||
@ -3421,6 +3452,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.if \\n[.$] .ds let*wa-name!\\n+[let*wa-n] \\$1
|
||||
.if \\n[.$]>1 .ds let*wa-title!\\n[let*wa-n] \\$2
|
||||
.ev let@ev
|
||||
.init@reset
|
||||
'nf
|
||||
.di let@wa-div
|
||||
.it \\n[Letwam] let@wa-drain
|
||||
|
3
contrib/groff/contrib/mm/mm.tmac
Normal file
3
contrib/groff/contrib/mm/mm.tmac
Normal file
@ -0,0 +1,3 @@
|
||||
.\" mm.tmac
|
||||
.\"
|
||||
.do mso m.tmac
|
@ -1,7 +1,7 @@
|
||||
.\"
|
||||
.\" $Id: mmroff.man,v 2.1 2001/06/27 12:47:16 wlemb Exp $
|
||||
.\" $Id: mmroff.man,v 2.2 2001/12/09 12:15:09 wlemb Exp $
|
||||
.\"
|
||||
.TH MMROFF @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
.TH MMROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
.SH NAME
|
||||
mmroff \- reference preprocessor
|
||||
.SH SYNOPSIS
|
||||
@ -43,9 +43,6 @@ J
|
||||
.BR @g@tbl (@MAN1EXT@),
|
||||
.BR @g@pic (@MAN1EXT@),
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
.br
|
||||
.BR mm (@MAN7EXT@)
|
||||
.BR m@TMAC_M_PREFIX@mse (@MAN7EXT@)
|
||||
.
|
||||
.\" Local Variables:
|
||||
.\" mode: nroff
|
||||
|
@ -14,8 +14,10 @@ if (grep(/^-x$/, @ARGV)) {
|
||||
@ARGV = grep(!/^-x$/, @ARGV);
|
||||
}
|
||||
|
||||
my $check_macro = "groff -rRef=1 -z @ARGV";
|
||||
my $run_macro = "groff @ARGV";
|
||||
# mmroff should always have -mm, but not twice
|
||||
@ARGV = grep(!/^-mm$/, @ARGV);
|
||||
my $check_macro = "groff -rRef=1 -z -mm @ARGV";
|
||||
my $run_macro = "groff -mm @ARGV";
|
||||
|
||||
my (%cur, $rfilename, $max_height, $imacro, $max_width, @out, @indi);
|
||||
open(MACRO, "$check_macro 2>&1 |") || die "run $check_macro:$!";
|
||||
@ -66,11 +68,12 @@ while(<MACRO>) {
|
||||
close(MACRO);
|
||||
|
||||
|
||||
if ($rfilename && @out) {
|
||||
if ($rfilename) {
|
||||
push(@out, ".nr pict*max-height $max_height\n") if defined $max_height;
|
||||
push(@out, ".nr pict*max-width $max_width\n") if defined $max_width;
|
||||
|
||||
open(OUT, ">$rfilename") || "create $rfilename:$!";
|
||||
print OUT '.\" references', "\n";
|
||||
my $i;
|
||||
for $i (@out) {
|
||||
print OUT $i;
|
||||
|
3
contrib/groff/contrib/mm/mmse.tmac
Normal file
3
contrib/groff/contrib/mm/mmse.tmac
Normal file
@ -0,0 +1,3 @@
|
||||
.\" mmse.tmac
|
||||
.\"
|
||||
.do mso mse.tmac
|
76
contrib/groff/contrib/mom/BUGS
Normal file
76
contrib/groff/contrib/mom/BUGS
Normal file
@ -0,0 +1,76 @@
|
||||
Assume that anything that doesn't work or behaves oddly is a bug.
|
||||
The documentation should be taken as the authoritative source for
|
||||
how things ought to be.
|
||||
|
||||
Post to the groff mailing list (groff@ffii.org) with bug reports,
|
||||
questions and suggestions, or contact me directly at:
|
||||
|
||||
df191@ncf.ca
|
||||
|
||||
--Peter Schaffter
|
||||
|
||||
========================================================================
|
||||
|
||||
Version 1.1.3c
|
||||
==============
|
||||
|
||||
|
||||
Version 1.1.3
|
||||
=============
|
||||
|
||||
Footnotes not outputting on final page of document body when ENDNOTES
|
||||
is invoked.
|
||||
---Fixed---
|
||||
|
||||
Pad not working properly and/or spitting out warnings when fill mode is
|
||||
on.
|
||||
---Fixed---
|
||||
|
||||
Version 1.1.2
|
||||
=============
|
||||
|
||||
PAGENUM_STYLE being ignored unless entered after START.
|
||||
---Fixed---
|
||||
|
||||
Version 1.1
|
||||
===========
|
||||
|
||||
String tabs not working as advertised when set from within other tabs.
|
||||
---Fixed---
|
||||
|
||||
.COLLATE sometimes depositing a header on the first page of a subsequent doc.
|
||||
---Fixed with workaround BREAK_QUOTE---
|
||||
|
||||
.UNDERLINE_QUOTES in PRINTSTYLE TYPEWRITE not on by default as advertised.
|
||||
---Fixed---
|
||||
|
||||
.TI not cooperating with other indent styles.
|
||||
---Fixed---
|
||||
|
||||
.WS and .SS not cooperating.
|
||||
---Fixed---
|
||||
|
||||
.RW and .EW not working.
|
||||
---Fixed---
|
||||
|
||||
========================================================================
|
||||
|
||||
KNOWN PROBLEMS
|
||||
--------------
|
||||
|
||||
The indent macros from the typesetting macro set may not always
|
||||
perform well in conjunction with the document processing macros,
|
||||
especially when documents are set in columns. Mostly, this is the
|
||||
result of inadequate testing. There are only so many "who'd want to
|
||||
do this anyway?" scenarios I can think of on my own.
|
||||
|
||||
Epigraphs at the bottoms of page may sometimes run exactly one line
|
||||
deeper than they should. The alternative (from my point of view) is
|
||||
to have them run 1 line shorter than they should. The problem stems
|
||||
from the fact the epigraphs are leaded differently than all other text,
|
||||
and there's only so much adjusting that can be done with the whitespace
|
||||
surrounding them to get them to bottom align. Since stylistically,
|
||||
epigraphs should never appear at the bottom of a page/column without at
|
||||
least some running text beneath them in order to make sense of the role
|
||||
they play in page layout, this not likely to be fixed for some time.
|
||||
|
390
contrib/groff/contrib/mom/ChangeLog
Normal file
390
contrib/groff/contrib/mom/ChangeLog
Normal file
@ -0,0 +1,390 @@
|
||||
*Sun Aug 25 2002
|
||||
|
||||
o Changed .IX to .IQ. The older form still works, but emits a message
|
||||
advising the user to update to the newer. (The macro in om.tmac
|
||||
still remains IX; IQ is an alias.) Docs updated to reflect the
|
||||
change.
|
||||
|
||||
*Tue Aug 20 2002
|
||||
|
||||
o Added new (better) way to handle inline kerning. \*[BU #] and
|
||||
\*[FU #] allow passing an argument to the inline string. The older
|
||||
forms \*[BU#] and \*[FU#] still work, though.
|
||||
|
||||
o Changed handling of inline horizontal and vertical movements.
|
||||
Horizontal movements are now done with \*[BCK #<unit>] and
|
||||
\*[FWD #<unit>]; verticals with \*[UP #<unit>] and \*[DOWN #<unit>].
|
||||
The older forms \*[FP#] and \*[BP#] still work (horizontals), as do
|
||||
\*[ALD#] and \*[RLD#] (verticals).
|
||||
|
||||
*Mon Aug 19 2002
|
||||
|
||||
o Fixed ENDNOTES so footnotes output properly when ENDNOTES is called
|
||||
|
||||
o Added ENDNOTES_HDRFTR_CENTER so that default no-print of header
|
||||
center string on endnotes page(s) when DOCTYPE is CHAPTER can
|
||||
be disabled (i.e. header center will be printed).
|
||||
|
||||
*Sat Aug 10 2002
|
||||
|
||||
o Added .nf to top of PAD, with a test beforehand for current fill
|
||||
mode. If fill mode was on, it's restored after PAD completes
|
||||
processing. Updated reserved.html to include number register
|
||||
#FILL_MODE.
|
||||
|
||||
*Mon Jul 29 2002
|
||||
|
||||
o Makefile.sub (FFLAG, TFLAG): Add paths to source directories.
|
||||
|
||||
*Wed Jul 24 2002
|
||||
|
||||
o Makefile.sub (groff_bin_path): Don't use ' \+' but ' *' for sed.
|
||||
(GROFF): Set GROFF_COMMAND_PREFIX to empty value.
|
||||
|
||||
*Fri Jul 12 2002
|
||||
|
||||
o More fixes to underlining.
|
||||
|
||||
*Fri Jul 5 2002
|
||||
|
||||
o Added capability of endnotes and pertinent control macros to om.tmac.
|
||||
|
||||
o Added document entries pertaining to endnote macros.
|
||||
|
||||
o Incorporated endnote macros into elvis_syntax.
|
||||
|
||||
o Small doc fixes.
|
||||
|
||||
o Tidied up indenting of om.tmac.
|
||||
|
||||
o Fixed handling of underlining of italics in PRINTSTYLE TYPEWRITE
|
||||
(there was a problem with footnotes getting underlined when they
|
||||
shouldn't have been).
|
||||
|
||||
o Removed ENDNOTES from TODO
|
||||
|
||||
o Fixed the character translations for UNDERLINE so they work properly
|
||||
with digraphs.
|
||||
|
||||
*Mon Jul 1 2002
|
||||
|
||||
o Expanded docprocessing.html entry "Special Note on Chapters". Tidied
|
||||
up html a bit.
|
||||
|
||||
*Tue Jun 18 2002
|
||||
|
||||
o examples/macros.mom: Fix path to penguin.ps.
|
||||
|
||||
*Sat Jun 15 2002
|
||||
|
||||
o Small fix to PAD to make the use of inlines within the pad string
|
||||
more intuitive.
|
||||
|
||||
o Added \*[RULE] ( = \l'\n(.lu' ) so that full measure rules (either to
|
||||
full line length or within tabs) are easier to set.
|
||||
|
||||
*Sat Jun 8 2002
|
||||
|
||||
o Macro .PS renamed to .PT_SIZE. Alias .TS removed.
|
||||
|
||||
o .tr bits in .CAPS rewritten in the form .tr é\['E].
|
||||
|
||||
o General cleanup of docs to reflect changes.
|
||||
|
||||
o Small changes/additions to `elvis_syntax'.
|
||||
|
||||
*Thu Jun 6 2002
|
||||
|
||||
o In DOCTYPE, in .if '\\$1'LETTER', added .FOOTER_RIGHT_SIZE +0.
|
||||
Without it, the suite page was printing at the default
|
||||
FOOTER_RIGHT_SIZE of -.5, which didn't look good.
|
||||
|
||||
*Wed Jun 5 2002
|
||||
|
||||
o Makefile.sub (TFLAG): Add `$(top_builddir)/tmac'.
|
||||
|
||||
*Tue Jun 4 2002
|
||||
|
||||
o Makefile.sub (groff_bin_dirs): Fix typo (forgotten `src' element).
|
||||
|
||||
*Mon Jun 3 2002
|
||||
|
||||
o Makefile.sub (uninstall_sub): Don't use `momdocdir' but `htmldocdir'.
|
||||
Add missing backslash.
|
||||
|
||||
*Sat Jun 1 2002
|
||||
|
||||
o Makefile.in (prepare_make_examples): Test for `penguin.ps', not
|
||||
`examples/penguin.ps'.
|
||||
|
||||
*Wed May 29 2002
|
||||
|
||||
o Rewrote portions of PAGENUM_STYLE and COPYSTYLE so that PAGENUM_STYLE
|
||||
behaves as advertised.
|
||||
|
||||
*Fri May 24 2002
|
||||
|
||||
o /Makefile.sub (momdocdir): Removed.
|
||||
(HTMLDOCFILES): Prepend `momdoc/'.
|
||||
(EXTRAEXAMPLEFILES): Removed. Added entries to...
|
||||
(EXAMPLEFILES): This.
|
||||
(.SUFFIXES, .mom.ps): New.
|
||||
(prepare_make_examples): Updated.
|
||||
(examples/*.ps): Removed; .mom.ps will handle this.
|
||||
(install_data): Updated.
|
||||
|
||||
*Thu May 23 2002
|
||||
|
||||
o Applied two small bug fixes to om.tmac (patches 1.1.1a and 1.1.1b).
|
||||
|
||||
o mom is now part of groff.
|
||||
|
||||
o Some renaming to avoid problems with 8+3 filesystems:
|
||||
|
||||
examples/docprocessing_typeset.mom -> examples/typeset.mom
|
||||
examples/docprocessing_typewrite.mom -> examples/typewrite.mom
|
||||
examples/typesetting_macros.mom -> examples/macros.mom
|
||||
examples/penguin_small2_bw.ps -> examples/penguin.ps
|
||||
|
||||
o Removed `INSTALL' and `README' since groff takes care of installation
|
||||
now.
|
||||
|
||||
o Added Makefile.sub.
|
||||
|
||||
o Added mom.tmac (which simply calls om.tmac).
|
||||
|
||||
o Added groff_mom.man for orthogonality; it simply points to the HTML
|
||||
documentation.
|
||||
|
||||
*Thu May 16 2002
|
||||
|
||||
o Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision
|
||||
info attached to the pagenumber in COPYSTYLE DRAFT, instead of having
|
||||
it HEADER center. Always having it HEADER center was creating problems
|
||||
with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when
|
||||
COPYSTYLE DRAFT is most likely to be used). Now user has the choice,
|
||||
in these circumstances, either to reduce HEADER_SIZE, or to displace
|
||||
the draft/revision info. Also rewrote portions of COPYSTYLE so that
|
||||
if no revision number is given in the reference macros, "Rev. #"
|
||||
doesn't appear when COPYSTYLE DRAFT.
|
||||
|
||||
*Fri May 10 2002
|
||||
|
||||
o Added capability of user-defined, single string recto/verso
|
||||
headers/footers.
|
||||
|
||||
o Added new entries to docs about the above. Made some additional
|
||||
small changes to toc.html, rectoverso.html, and headfootpage.html
|
||||
to supplement the new entries.
|
||||
|
||||
o Small fix to handling of footer separator rule -- was 1 point too low
|
||||
owing to fuzziness of #CAP_HEIGHT as returned by SIZESPECS.
|
||||
|
||||
o Added some more useful stuff to elvis_syntax.
|
||||
|
||||
*Sun May 05 2002
|
||||
|
||||
o Fix to DEFAULTS so that L_MARGIN and R_MARGIN are reprocessed if
|
||||
DOCTYPE LETTER. R_MARGIN, as set by DOCTYPE LETTER had no preceding
|
||||
PAGEWIDTH or PAPER from which to get #PAGE_WIDTH for figuring out
|
||||
line length.
|
||||
|
||||
o Additional fix to DEFAULTS in handling DOCTYPE LETTER so that if user
|
||||
sets line length prior to START, no reprocessing of R_MARGIN occurs.
|
||||
This necessitated adding a new number register: #USER_SET_L_LENGTH
|
||||
|
||||
*Sat May 04 23:48:05 EDT 2002
|
||||
|
||||
o Added .cflags 4 /\(en -- was driving me nuts that lines wouldn't
|
||||
break after these characters; I'm assuming others feel the same way
|
||||
|
||||
* Fri May 03 2002
|
||||
|
||||
o Made some small fixes to space handling around quotes, mostly to do
|
||||
with quotes immediately after START and quotes after (sub)heads.
|
||||
|
||||
* Wed May 01 2002
|
||||
|
||||
o Fixed a small bug that was causing the first .PP after START to begin
|
||||
at the top margin of the page regardless of any type that preceded
|
||||
.PP when docheaders were off.
|
||||
|
||||
o Fixed HEADER so that when HEADERS are off the first line of type on
|
||||
pages after the first falls properly at the top margin
|
||||
|
||||
*Sat Apr 27 2002
|
||||
|
||||
o Renamed docprocessing_macros.mom in /examples to
|
||||
docprocessing_typeset.mom. Added docprocessing_typewrite.mom, as
|
||||
well as a README file.
|
||||
|
||||
o Fixed UNDERLINE_QUOTES (for PRINTSTYLE TYPEWRITE) so they really are
|
||||
on by default as the docs say.
|
||||
|
||||
o Changes to doc entry on COLLATE:
|
||||
|
||||
- removed bit about using COLLATE after a cover page (I wrote the
|
||||
entry *before* I wrote the macro!). Cover pages should be
|
||||
followed by NEWPAGE, not COLLATE.
|
||||
|
||||
- added caution about mixing PRINTSTYLEs
|
||||
|
||||
- added caution about using DOC_FAMILY to change family of all
|
||||
document elements after COLLATE
|
||||
|
||||
o Made HEADER_SIZE (and, by extension, FOOTER_SIZE) available to
|
||||
PRINTSTYLE TYPEWRITE. Changed appropriate doc entries to reflect
|
||||
this.
|
||||
|
||||
*Wed Apr 24 2002
|
||||
|
||||
o Small change to DO_QUOTE to correct a problem with quotes and
|
||||
blockquotes that fall in the middle of paragraphs (i.e. text after
|
||||
the quote is not a new para). Basically, added a bit that stores the
|
||||
current para indent, sets para indent to 0, invokes a PP, then
|
||||
restores the original para indent.
|
||||
|
||||
o Added new macro, BREAK_QUOTE, to deal with the problem of
|
||||
footnotes in quotes and blockquotes that cross pages or columns.
|
||||
|
||||
Quotes and blockquotes are read into diversions, which means they
|
||||
get their footnote information from the page/column on which they
|
||||
were started. If a footnoted quote crosses a page/column, what
|
||||
sometimes happens is that the footnote itself is output at the
|
||||
bottom of page/column where the quote started, whereas the text
|
||||
marker for the footnote appears on the next page/column where the
|
||||
quote ends. Furthermore, the text marker is the one appropriate
|
||||
to the previous page. BREAK_QUOTE is a workaround.
|
||||
|
||||
o Added directory /examples to archive.
|
||||
|
||||
o Added typesetting_macros.mom, docprocessing_macros.mom, elvis_syntax
|
||||
and penguin_small2_bw.ps to /examples.
|
||||
|
||||
o Added BREAK_QUOTE to docs, made some additions to reserved words
|
||||
list, and corrected a few little doc errors.
|
||||
|
||||
*Mon Apr 22 2002
|
||||
|
||||
o Added default .L_MARGIN 1i and .R_MARGIN 1i to PAPER, PAGE, and
|
||||
PAGEWIDTH. L_MARGIN is essential otherwise left indents and tabs
|
||||
don't have a register #L_MARGIN to work with. The default right
|
||||
margin is a convenience only. Updated the doc entries for L_MARGIN
|
||||
and R_MARGIN to reflect the change.
|
||||
|
||||
*Sun Apr 21 2002
|
||||
|
||||
o Changes to COLLATE:
|
||||
|
||||
- added some "resets" (LL, LS, QUAD)
|
||||
- added a check for whether pagination is at page top (either
|
||||
because FOOTERS are on or because PAGENUM_POS was user set).
|
||||
If pagination is on, and PAGENUM_POS is TOP, it's turned off
|
||||
for next page (start of next collated document) and restored
|
||||
for subsequent pages unless PAGENUM_ON_FIRST_PAGE is on, in
|
||||
which case the page number appears at page top.
|
||||
|
||||
o The macro TRAPS is always invoked at the end of DEFAULTS (which is
|
||||
called by START). Formerly, TRAPS was only invoked at the start
|
||||
of a doc, not after COLLATE. Now runs after COLLATE as well.
|
||||
|
||||
o Distance from $DOC_TYPE in DOCTYPE NAMED "<string>" to start of
|
||||
running text was one linespace too deep. Fixed (in START).
|
||||
|
||||
o When 1st arg to PAGENUM_POS was user set to TOP, running text was
|
||||
printing 1 linespace too high, even when PAGINATION was OFF. Same
|
||||
problem when HEADERS were OFF (i.e. nothing in the header margin at
|
||||
all). Fixed by removing -\\n[#DOC_LEAD]u from all .sp |\\n[#T_MARGIN]u
|
||||
calls of .el portion after .ie \\n[#HEADERS_ON].
|
||||
|
||||
o Added new macro: PAGENUM_ON_FIRST_PAGE. Normally, when FOOTERS are
|
||||
being used instead of HEADERS, mom doesn't print the page number at
|
||||
the top of the first page of a doc, or the first page of collated
|
||||
docs. New macro allows user to get mom to put the page number on
|
||||
"first" pages if that's desired. Updated docs to include the macro.
|
||||
|
||||
o More little fixes to docs.
|
||||
|
||||
*Thu Apr 18 2002
|
||||
|
||||
o Fixed TI (temporary indent) so that it continues to work as expected,
|
||||
even when called while another type of indent is in effect.
|
||||
|
||||
*Tue Apr 16 2002
|
||||
|
||||
o String tabs weren't working as advertised when set from within
|
||||
a tab. Fixed. Two new registers added: #ST_OFFSET and #IN_TAB.
|
||||
String tabs now behave poperly and intuitively when set within tabs.
|
||||
|
||||
o Added a note to docs about surrounding \w'...' escape with double-
|
||||
quotes when it's used as an argument to macros
|
||||
|
||||
o Added a note to docs that SILENT does not deposit a .br
|
||||
|
||||
*Mon Apr 15 2002
|
||||
|
||||
o Added new macro BR_AT_LINE_KERN if user wants mom to deposit .br's
|
||||
before .RW and/or .EW.
|
||||
|
||||
o Added 1/4 points to inline escapes \*[ALD] and \*[RLD].
|
||||
|
||||
o Added 1/4 points to inline escapes \*[FP] and \*[BP]
|
||||
|
||||
o Updated docs to reflect the above changes.
|
||||
|
||||
*Fri Apr 12 2002
|
||||
|
||||
o Fixed .RW and .EW which weren't working because of a missing \ in
|
||||
\\n(.f register. Also made it so that .RW and .EW affect all fonts
|
||||
in positions 1, 2, 3, and 4 at once, hence line kerning now affects
|
||||
all fonts that appear after it, not just the font that was current at
|
||||
the time of the macros' invocation.
|
||||
|
||||
o .SS and .WS now working properly. .WS no longer has any effect on
|
||||
.SS, which remains constant regardless of .WS. Furthermore, .SS no
|
||||
longer gets its value by adding \*[$SS_VAR] + \n[.ss]. Instead,
|
||||
it remains constant. Don't know what I was thinking when I wrote
|
||||
the routine in the first place.
|
||||
|
||||
o Updated and rewrote doc entry pertaining to SS
|
||||
|
||||
*Wed Apr 10 2002
|
||||
|
||||
o Renamed tmac.om to om.tmac to bring macro file's name into line
|
||||
with current groff policy
|
||||
|
||||
o Added more standard paper sizes to PAPER.
|
||||
|
||||
o Fixed T_MARGIN, LS, and AUTOLEAD so that if T_MARGIN is set before LS
|
||||
or AUTOLEAD at the top of a file, the first line of type falls
|
||||
properly on the baseline set by T_MARGIN. Previously, LS and
|
||||
AUTOLEAD automatically advanced by the value passed to them before
|
||||
setting the first line of type, meaning that the first line of type
|
||||
fell at T_MARGINu+1v instead of T_MARGIN.
|
||||
|
||||
o Updated docs to reflect changes.
|
||||
|
||||
o Removed #TEST_FOR_NUMERIC from list of reserved words.
|
||||
|
||||
o Added "t" and #T_MARGIN_SET to list of reserved words.
|
||||
|
||||
*Sat Apr 6 2002
|
||||
|
||||
o Added FACTOR arg to AUTOLEAD, so if user wants autolead to be a factor
|
||||
of point size, instead of being the sum of pointsize + autolead, s/he
|
||||
has the choice. Incorporated appropriate changes to PS and LS.
|
||||
|
||||
o Added new register #AUTOLEAD_FACTOR to reserved words. Modified
|
||||
comments for AUTOLEAD, PS, and LS to reflect changes. Also
|
||||
corrected an error where #AUTOLEAD_VALUE had mistakenly been written
|
||||
$AUTOLEAD_VALUE in comments in the macro file, and removed erroneous
|
||||
| <anything>. Updated AUTOLEAD entry in momdoc/typesetting.html
|
||||
to reflect the changes.
|
||||
|
||||
*Wed Apr 3 2002
|
||||
|
||||
o Cleaned up html errors in the docs.
|
||||
|
||||
o Added "Next," "Prev" and "Top" links to top and bottom of doc files.
|
||||
|
||||
o Fixed some typos in the docs.
|
125
contrib/groff/contrib/mom/Makefile.sub
Normal file
125
contrib/groff/contrib/mom/Makefile.sub
Normal file
@ -0,0 +1,125 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg (wl@gnu.org)
|
||||
#
|
||||
# This file is part of groff.
|
||||
#
|
||||
# groff is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with groff; see the file COPYING. If not, write to the Free Software
|
||||
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
groff_bin_dirs=\
|
||||
$(top_builddir)/src/roff/groff \
|
||||
$(top_builddir)/src/roff/troff \
|
||||
$(top_builddir)/src/devices/grops
|
||||
groff_bin_path=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
|
||||
TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac -M$(srcdir)
|
||||
|
||||
GROFF=GROFF_COMMAND_PREFIX=''; \
|
||||
export GROFF_COMMAND_PREFIX; \
|
||||
GROFF_BIN_PATH=$(groff_bin_path); \
|
||||
export GROFF_BIN_PATH; \
|
||||
$(top_builddir)/src/roff/groff/groff $(FFLAG) $(TFLAG)
|
||||
|
||||
MAN7=\
|
||||
groff_mom.n
|
||||
|
||||
NORMALFILES=\
|
||||
mom.tmac \
|
||||
om.tmac
|
||||
|
||||
HTMLDOCFILES=\
|
||||
momdoc/appendices.html \
|
||||
momdoc/cover.html \
|
||||
momdoc/definitions.html \
|
||||
momdoc/docelement.html \
|
||||
momdoc/docprocessing.html \
|
||||
momdoc/goodies.html \
|
||||
momdoc/headfootpage.html \
|
||||
momdoc/inlines.html \
|
||||
momdoc/intro.html \
|
||||
momdoc/letters.html \
|
||||
momdoc/rectoverso.html \
|
||||
momdoc/reserved.html \
|
||||
momdoc/toc.html \
|
||||
momdoc/typemacdoc.html \
|
||||
momdoc/typesetting.html \
|
||||
momdoc/using.html
|
||||
|
||||
EXAMPLEFILES=\
|
||||
examples/letter.mom \
|
||||
examples/macros.mom \
|
||||
examples/typeset.mom \
|
||||
examples/typewrite.mom \
|
||||
examples/README.mom \
|
||||
examples/elvis_syntax \
|
||||
examples/penguin.ps
|
||||
|
||||
PROCESSEDEXAMPLEFILES=\
|
||||
examples/letter.ps \
|
||||
examples/macros.ps \
|
||||
examples/typeset.ps \
|
||||
examples/typewrite.ps
|
||||
|
||||
CLEANADD=\
|
||||
penguin.ps \
|
||||
$(PROCESSEDEXAMPLEFILES)
|
||||
|
||||
.SUFFIXES: .mom .ps
|
||||
.mom.ps:
|
||||
$(GROFF) -Tps -mom $< >$@
|
||||
|
||||
|
||||
all: make_examples
|
||||
|
||||
.PHONY: make_examples
|
||||
make_examples: prepare_make_examples $(PROCESSEDEXAMPLEFILES)
|
||||
|
||||
prepare_make_examples: examples/penguin.ps
|
||||
test -d examples || $(mkinstalldirs) examples
|
||||
test -f penguin.ps || cp $(srcdir)/examples/penguin.ps .
|
||||
|
||||
install_data: $(NORMALFILES) $(HTMLDOCFILES) \
|
||||
$(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
|
||||
-test -d $(tmacdir) || $(mkinstalldirs) $(tmacdir)
|
||||
for f in $(NORMALFILES); do \
|
||||
rm -f $(tmacdir)/$$f; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(tmacdir)/$$f; \
|
||||
done
|
||||
-test -d $(htmldocdir)/momdoc || $(mkinstalldirs) $(htmldocdir)/momdoc
|
||||
for f in $(HTMLDOCFILES); do \
|
||||
rm -f $(htmldocdir)/$$f; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(htmldocdir)/$$f; \
|
||||
done
|
||||
-test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
|
||||
for f in $(EXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
|
||||
done
|
||||
for f in $(PROCESSEDEXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
$(INSTALL_DATA) $$f $(docdir)/$$f; \
|
||||
done
|
||||
|
||||
uninstall_sub:
|
||||
-for f in $(NORMALFILES); do \
|
||||
rm -f $(tmacdir)/$$f; \
|
||||
done
|
||||
-for f in $(HTMLDOCFILES); do \
|
||||
rm -f $(htmldocdir)/$$f; \
|
||||
done
|
||||
-rmdir $(htmldocdir)/momdoc
|
||||
-for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
|
||||
rm -f $(docdir)/$$f; \
|
||||
done
|
183
contrib/groff/contrib/mom/NEWS
Normal file
183
contrib/groff/contrib/mom/NEWS
Normal file
@ -0,0 +1,183 @@
|
||||
Release 1.1.4
|
||||
-------------
|
||||
|
||||
***SIGNIFICANT CHANGE***
|
||||
.IX is now deprecated, although it will continue to work as before.
|
||||
The new form is .IQ (Indent Quit). Groff will emit a message advising
|
||||
users to update their docs.
|
||||
|
||||
***NEW***
|
||||
Four new inlines to deal with horizontal and vertical movements:
|
||||
|
||||
o \*[FWD n]
|
||||
o \*[BCK n]
|
||||
o \*[UP n]
|
||||
o \*[DOWN n]
|
||||
|
||||
All four require a unit of measure after n. These inlines are similar
|
||||
to the older \*[FPn], \*[BPn], \*[ALDn] and \*[RLDn], however they're
|
||||
not restricted to points, and any value can be entered for n (the older
|
||||
forms -- which still work -- were restricted to 1 - 36).
|
||||
|
||||
***CHANGED***
|
||||
Inline kerning can now be accomplished with \*[BU n] and \*[FU n], where
|
||||
n, after the space, is the desired number of kern units. The older
|
||||
forms \*[BUn] and \*[FUn] still work, up to 36 units.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Release 1.1.3c
|
||||
--------------
|
||||
|
||||
***NEW***
|
||||
A new macro -- ENDNOTES_HDRFTR_CENTER -- added so that mom's default
|
||||
behaviour of not printing the header center string when DOCTYPE is
|
||||
CHAPTER can be disabled (i.e. she will print the center string). The
|
||||
macro is user-called with ENDNOTES_HEADER_CENTER or
|
||||
ENDNOTES_FOOTER_CENTER.
|
||||
|
||||
***FIXES***
|
||||
PAD now works as advertised when fill mode is on.
|
||||
|
||||
ENDNOTES no longer disables printing of footnotes on last page of
|
||||
document body.
|
||||
|
||||
Release 1.1.3
|
||||
-------------
|
||||
|
||||
***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE***
|
||||
As of 1.1.3, groff must be >= 1.18.
|
||||
|
||||
***NEW***
|
||||
Added endnotes functionality to mom, along with a slew of macros to
|
||||
control how mom prints endnotes pages. See the html documentation.
|
||||
|
||||
***NEW***
|
||||
Added inline \*[RULE], which draws a rule to the full measure of the
|
||||
current line length ( to be used in place of \h'\n(.lu' ). Weight of the
|
||||
rule is dependent on the point size of type when \#[RULE] is called.
|
||||
|
||||
***FIXES***
|
||||
PAD -- works more intuitively now when the pad string contains inline
|
||||
escapes for font, point size, etc.
|
||||
|
||||
UNDERLINE -- fixed character translations of digraphs so they get
|
||||
underlined properly. Also fixed a bug that was causing some footnotes
|
||||
to get underlined when UNDERLINE was on in the body of the document.
|
||||
|
||||
***UPDATES***
|
||||
Html documentation
|
||||
elvis_syn
|
||||
|
||||
Release 1.1.2a
|
||||
--------------
|
||||
|
||||
***SIGNIFICANT CHANGE -- PLEASE TAKE NOTE***
|
||||
In order to help mom toward full groffship, the macro .PS has been
|
||||
renamed to .PT_SIZE, and the alias .TS (for .TAB_SET) has been removed.
|
||||
.PS and .TS are keywords used by pic and tbl respectively, and the mom
|
||||
macros of the same name were in conflict.
|
||||
|
||||
Release 1.1.2
|
||||
-------------
|
||||
|
||||
***IT'S OFFICIAL!***
|
||||
mom is now an official part of the groff. New releases will be
|
||||
incorporated into the groff package. I'll still be posting each new
|
||||
release on the mom homepage, so there's no need to download all of the
|
||||
most recent version of groff just to get a newer mom. :)
|
||||
|
||||
***CHANGES***
|
||||
Fixed default footer separator rule adjustment so that it's closer to
|
||||
the advertised "4 points above the tallest ascender in the footer."
|
||||
|
||||
Added more stuff to the elvis_syn file. Still wouldn't mind someone
|
||||
contributing some vim/emacs syntax highlighting.
|
||||
|
||||
Added .cflags 4 /\(em to om.tmac. By default, mom now obligingly
|
||||
breaks after / and \(en.
|
||||
|
||||
***NEW***
|
||||
Macro(s): HEADER_RECTO
|
||||
HEADER_VERSO
|
||||
With these macros, users can now define single-string recto/verso
|
||||
headers/footers. HEADER_RECTO (or FOOTER_RECTO) can be used to create
|
||||
a one-part header/footer (instead of mom's default three-parters) that
|
||||
appears on every page if RECTO_VERSO is OFF or, if RECTO_VERSO is on, if
|
||||
no HEADER_VERSO (or FOOTER_VERSO) has been defined. If a HEADER_VERSO
|
||||
(or FOOTER_VERSO) is defined and RECTO_VERSO is on, _RECTO prints on
|
||||
even pages and _VERSO on odd pages.
|
||||
|
||||
Added macro DRAFT_WITH_PAGENUMBER so user can have draft/revision
|
||||
info attached to the pagenumber in COPYSTYLE DRAFT, instead of having
|
||||
it HEADER center. Always having it HEADER center was creating problems
|
||||
with long doc titles, esp. with PRINTSTYLE TYPEWRITE (which is when
|
||||
COPYSTYLE DRAFT is most likely to be used).
|
||||
|
||||
***FIXES***
|
||||
No more "can't break line" warnings in DOCTYPE LETTER.
|
||||
|
||||
If no REVISION number is given, Rev. 0 no longer appears HEADER_CENTER
|
||||
in COPYSTYLE DRAFT
|
||||
|
||||
PAGENUM_STYLE now works as advertised.
|
||||
|
||||
Release 1.1.1
|
||||
-------------
|
||||
|
||||
***CHANGES***
|
||||
Main macro file renamed to om.tmac, in keeping with current groff
|
||||
policy.
|
||||
|
||||
Now okay to use groff mailing list for mom-related posts
|
||||
|
||||
***NEW***
|
||||
Toggle macro -- BR_AT_LINE_KERN. When on, automatically deposits
|
||||
a break whenever .RW or .EW are invoked. Very useful when kerning
|
||||
whole lines of rag copy.
|
||||
|
||||
***NEW***
|
||||
Toggle macro -- PAGENUM_ON_FIRST_PAGE. Normally, when FOOTERS are
|
||||
being used instead of HEADERS, mom doesn't print the page number at
|
||||
the top of the first page of a doc, or the first page of collated docs.
|
||||
PAGENUM_ON_FIRST_PAGE allows user to get mom to put the page number on
|
||||
"first" pages if that's desired.
|
||||
|
||||
***NEW***
|
||||
Macro -- BREAK_QUOTE -- to deal with problem of footnoted quotes and
|
||||
blockquotes that cross a page or column.
|
||||
|
||||
***NEW***
|
||||
New argument to AUTOLEAD -- FACTOR. With FACTOR, you can, if you
|
||||
wish, enter a factor by which AUTOLEAD multiplies the point size when
|
||||
calculating lead automatically.
|
||||
|
||||
Improvements
|
||||
------------
|
||||
|
||||
PAPER now has a much larger selection of common paper sizes.
|
||||
|
||||
\*[ALD], \*[RLD], \*[FP] and \*[BP] now accept increments of quarter
|
||||
points (expressed as decimal fractions). \*[RLD1.75], for example,
|
||||
reverses 1-3/4 points up on the line.
|
||||
|
||||
HEADER_SIZE now available to PRINTSTYLE TYPEWRITE. This was necessary
|
||||
to deal with the problem of excessively long HEADER_LEFT, _CENTER or
|
||||
_RIGHT strings.
|
||||
|
||||
Fixes
|
||||
-----
|
||||
|
||||
T_MARGIN -- can be set before or after LS or AUTOLEAD
|
||||
SS -- remains constant regardless of WS
|
||||
WS -- no longer affects SS
|
||||
TI -- now works as expected even when called while another indent
|
||||
type is in effect
|
||||
COLLATE -- small fixes
|
||||
|
||||
Broken .RW and .EW fixed.
|
||||
|
||||
String tabs now behave properly when set from within tabs.
|
||||
|
||||
UNDERLINE_QUOTES (for PRINTSTYLE TYPEWRITE) are now, in fact, on by
|
||||
default as the docs state.
|
21
contrib/groff/contrib/mom/TODO
Normal file
21
contrib/groff/contrib/mom/TODO
Normal file
@ -0,0 +1,21 @@
|
||||
CONTROL MACROS -- _INDENT
|
||||
--------------
|
||||
Let user be able to enter decimal fractions as the argument to _INDENT
|
||||
control macros, or, instead, let user be able to enter absolute
|
||||
values with a unit of measure in addition to current behaviour,
|
||||
which is relative.
|
||||
|
||||
LISTS
|
||||
-----
|
||||
Possbility of indented, nested lists, html-style. Options for numbered,
|
||||
alpha-ed, bulleted, dashed. Again, not sure how useful these would be
|
||||
for mom's target users. As things stand now, it's easy enough to
|
||||
set up lists with string tabs or hanging indents.
|
||||
|
||||
BIBLIOGRAPHY
|
||||
------------
|
||||
Thinking about macros to *assist* in user-written bibliographies (i.e.
|
||||
not biblios that get generated automatically at the ends of docs). Style
|
||||
considerations are a nightmare, though.
|
||||
|
||||
------------------------------------------------------------------------
|
24
contrib/groff/contrib/mom/copyright
Normal file
24
contrib/groff/contrib/mom/copyright
Normal file
@ -0,0 +1,24 @@
|
||||
AUTHOR
|
||||
------
|
||||
Peter Schaffter (df191@ncf.ca)
|
||||
15, chemin Brunette
|
||||
RR 2, CP 406
|
||||
Ste-Cécile-de-Masham (Québec)
|
||||
CANADA
|
||||
|
||||
========================================================================
|
||||
|
||||
The groff macro file om.tmac and the html documentation pertaining
|
||||
to it are copyright (c) 2002 Peter Schaffter.
|
||||
|
||||
om.tmac is issued under the GNU General Public License, a full copy of
|
||||
which can be had at
|
||||
|
||||
http://www.gnu.org/licenses/gpl.html
|
||||
|
||||
The html documentation pertaining to om.tmac is issued under the GNU
|
||||
Free Documentation License, a full copy of which can be had at
|
||||
|
||||
http://www.gnu.org/copyleft/fdl.html
|
||||
|
||||
========================================================================
|
56
contrib/groff/contrib/mom/examples/README.mom
Normal file
56
contrib/groff/contrib/mom/examples/README.mom
Normal file
@ -0,0 +1,56 @@
|
||||
The files in this directory show mom in action. I haven't included
|
||||
PostScript output from the files because I want to keep the mom
|
||||
archive as lean as possible. In order to see the PostScript output of
|
||||
these files, process them with groff, sending the output either to a
|
||||
separate file for previewing with gv (ghostview) or to your printer.
|
||||
I don't recommend previewing with gxditview because it doesn't render
|
||||
some of mom's effects properly.
|
||||
|
||||
All the files are set up for 8.5ix11i paper.
|
||||
|
||||
macros.mom
|
||||
----------
|
||||
|
||||
This file demonstrates the use of typesetting tabs, string tabs,
|
||||
line padding, multi-columns and various indent styles, as well as
|
||||
some of the refinements and fine-tuning available via macros and
|
||||
inline escapes.
|
||||
|
||||
Because the file also demonstrates a "cutaround" using a small picture
|
||||
(of Tux), the PostScript file has been included in the directory.
|
||||
|
||||
typeset.mom
|
||||
-----------
|
||||
|
||||
This file contains samples of three of the document styles available
|
||||
with the document processing macros, as well as demonstrating the
|
||||
use of COLLATE. The relatively rare BREAK_QUOTE macro is also used.
|
||||
The PRINTSTYLE of this file is TYPESET, letting you get a look at mom's
|
||||
default behaviour when she typesets a document. The last sample,
|
||||
set in 2 columns, shows a few of the ways in which you can modify
|
||||
mom's behaviour.
|
||||
|
||||
typewrite.mom
|
||||
-------------
|
||||
|
||||
Using the first two samples from typeset.mom, this file shows what
|
||||
"typewritten, double-spaced" documents (PRINTSTYLE TYPEWRITE) look
|
||||
like.
|
||||
|
||||
letter.mom
|
||||
----------
|
||||
|
||||
This is just the tutorial example from the momdocs, ready for
|
||||
previewing.
|
||||
|
||||
elvis_syntax
|
||||
------------
|
||||
|
||||
For those who use the vi clone, elvis, you can paste this file into
|
||||
your elvis.syn file. Provided your mom documents have the extension
|
||||
.mom, they'll come out with colorized syntax highlighting. The rules
|
||||
in elvis_syntax aren't exhaustive, but they go a LONG way to making mom
|
||||
files more readable.
|
||||
|
||||
I'll be very happy if someone sends me syntax highlighting rules for vim
|
||||
and emacs. :)
|
130
contrib/groff/contrib/mom/examples/elvis_syntax
Normal file
130
contrib/groff/contrib/mom/examples/elvis_syntax
Normal file
@ -0,0 +1,130 @@
|
||||
#Mom
|
||||
language mom
|
||||
extension .mom
|
||||
startword .\
|
||||
inword _(
|
||||
keyword .ALD .ALIAS .ALWAYS_FULLSPACE_QUOTES .ATTRIBUTE_STRING
|
||||
keyword .AUTHOR .AUTHOR_FAMILY .AUTHOR_FONT .AUTHOR_SIZE .AUTOLEAD
|
||||
keyword .BLOCKQUOTE .BLOCKQUOTE_FAMILY .BLOCKQUOTE_FONT .BLOCKQUOTE_QUAD .BLOCKQUOTE_SIZE
|
||||
keyword .B_MARGIN .BR .BR_AT_LINE_KERN .BREAK_QUOTE
|
||||
keyword .CAPS .CENTER .CENTRE .CHAPTER
|
||||
keyword .CHAPTER_STRING .CITATION .CITE .CLOSING
|
||||
keyword .COLLATE .COL_BREAK .COL_BREAK .COL_NEXT .COLUMNS
|
||||
keyword .COMMENT .CONDENSE .COPYSTYLE
|
||||
keyword .DATE .DEFAULTS
|
||||
keyword .DOC_FAM .DOC_FAMILY .DOCHEADER
|
||||
keyword .DOCHEADER_ADVANCE .DOCHEADER_LEAD
|
||||
keyword .DOC_LEAD .DOC_LEAD_ADJUST .DOC_LEFT_MARGIN .DOC_LINE_LENGTH
|
||||
keyword .DOC_LLENGTH .DOC_L_LENGTH .DOC_L_MARGIN .DOC_LMARGIN
|
||||
keyword .DOC_LS .DOC_PS .DOC_PT_SIZE .DOC_QUAD
|
||||
keyword .DOC_RIGHT_MARGIN .DOC_R_MARGIN .DOC_RMARGIN
|
||||
keyword .DOCTYPE .DOCTYPE_FAMILY .DOCTYPE_FONT .DOCTYPE_SIZE
|
||||
keyword .DRAFT .DRAFT_STRING .DRAFT_WITH_PAGENUMBER
|
||||
keyword .DROPCAP .DROPCAP_ADJUST .DROPCAP_FAMILY .DROPCAP_FONT .DROPCAP_GUTTER .DROPCAP_OFF
|
||||
keyword .EL
|
||||
keyword .ENDNOTE .ENDNOTES
|
||||
keyword .ENDNOTE_FAMILY .ENDNOTE_FONT .ENDNOTE_PT_SIZE .ENDNOTE_LEAD .ENDNOTE_QUAD
|
||||
keyword .ENDNOTE_STRING .ENDNOTE_STRING_FAMILY .ENDNOTE_STRING_FONT .ENDNOTE_STRING_SIZE
|
||||
keyword .ENDNOTE_STRING_QUAD .ENDNOTE_STRING_UNDERSCORE
|
||||
keyword .ENDNOTE_TITLE .ENDNOTE_TITLE_FAMILY .ENDNOTE_TITLE_FONT .ENDNOTE_TITLE_SIZE
|
||||
keyword .ENDNOTE_TITLE_QUAD .ENDNOTE_TITLE_UNDERSCORE
|
||||
keyword .ENDNOTE_NUMBER_FAMILY .ENDNOTE_NUMBER_FONT .ENDNOTE_NUMBER_SIZE
|
||||
keyword .ENDNOTE_NUMBERS_ALIGN_RIGHT .ENDNOTE_NUMBERS_ALIGN_LEFT
|
||||
keyword .ENDNOTE_PARA_INDENT .ENDNOTE_PARA_SPACE .ENDNOTES_FOOTER_CENTER .ENDNOTES_HEADER_CENTER
|
||||
keyword .EPIGRAPH .EPIGRAPH_AUTOLEAD .EPIGRAPH_FAMILY .EPIGRAPH_FONT
|
||||
keyword .EPIGRAPH_INDENT .EPIGRAPH_QUAD .EPIGRAPH_SIZE
|
||||
keyword .EW .EXTEND
|
||||
keyword .FAM .FAMILY
|
||||
keyword .FINIS .FINIS_STRING
|
||||
keyword .FOOTER .FOOTER_CENTER .FOOTER_CENTER_CAPS .FOOTER_CENTER_FAM .FOOTER_CENTER_FAMILY
|
||||
keyword .FOOTER_CENTER_FONT .FOOTER_CENTER_FT .FOOTER_CENTER_PS .FOOTER_CENTER_SIZE
|
||||
keyword .FOOTER_CENTRE .FOOTER_CENTRE_CAPS .FOOTER_CENTRE_FAM .FOOTER_CENTRE_FAMILY
|
||||
keyword .FOOTER_CENTRE_FT .FOOTER_CENTRE_PS .FOOTER_CENTRE_SIZE .FOOTER_FAM
|
||||
keyword .FOOTER_FAMILY .FOOTER_GAP .FOOTER_LEFT .FOOTER_LEFT_CAPS .FOOTER_LEFT_FAM
|
||||
keyword .FOOTER_LEFT_FAMILY .FOOTER_LEFT_FONT .FOOTER_LEFT_FT .FOOTER_LEFT_PS
|
||||
keyword .FOOTER_LEFT_SIZE .FOOTER_MARGIN .FOOTER_ON_FIRST_PAGE .FOOTER_PLAIN
|
||||
keyword .FOOTER_RECTO .FOOTER_RIGHT .FOOTER_RIGHT_CAPS .FOOTER_RIGHT_FAM .FOOTER_RIGHT_FAMILY
|
||||
keyword .FOOTER_RIGHT_FONT .FOOTER_RIGHT_FT .FOOTER_RIGHT_PS .FOOTER_RIGHT_SIZE
|
||||
keyword .FOOTER_RULE .FOOTER_RULE_GAP .FOOTERS .FOOTER_SIZE .FOOTER_VERSO
|
||||
keyword .FOOTNOTE .FOOTNOTE_AUTOLEAD .FOOTNOTE_FAMILY .FOOTNOTE_FONT .FOOTNOTE_MARKERS
|
||||
keyword .FOOTNOTE_MARKER_STYLE .FOOTNOTE_QUAD .FOOTNOTE_RULE .FOOTNOTE_RULE_ADJ
|
||||
keyword .FOOTNOTE_RULE_LENGTH .FOOTNOTE_SIZE
|
||||
keyword .FROM .FT
|
||||
keyword .GREETING
|
||||
keyword .HDRFTR_CENTER .HDRFTR_CENTER .HDRFTR_CENTER_CAPS .HDRFTR_CENTER_FAMILY
|
||||
keyword .HDRFTR_CENTER_FONT .HDRFTR_CENTER_SIZE .HDRFTR_FAMILY .HDRFTR_GAP
|
||||
keyword .HDRFTR_LEFT .HDRFTR_LEFT .HDRFTR_LEFT_CAPS .HDRFTR_LEFT_FAMILY
|
||||
keyword .HDRFTR_LEFT_FONT .HDRFTR_LEFT_SIZE .HDRFTR_MARGIN .HDRFTR_PLAIN
|
||||
keyword .HDRFTR_RIGHT .HDRFTR_RIGHT_CAPS .HDRFTR_RIGHT_FAMILY .HDRFTR_RIGHT_FONT
|
||||
keyword .HDRFTR_RIGHT_SIZE .HDRFTR_RULE .HDRFTR_RULE_GAP .HDRFTR_RULE_INTERNAL
|
||||
keyword .HDRFTR_RULE_INTERNAL .HDRFTR_SIZE
|
||||
keyword .HEAD .HEAD_CAPS .HEADER .HEADER_CENTER .HEADER_CENTER_CAPS
|
||||
keyword .HEADER_CENTER_FAM .HEADER_CENTER_FAMILY .HEADER_CENTER_FONT
|
||||
keyword .HEADER_CENTER_FT .HEADER_CENTER_PS .HEADER_CENTER_SIZE .HEADER_CENTRE
|
||||
keyword .HEADER_CENTRE_CAPS .HEADER_CENTRE_FAM .HEADER_CENTRE_FAMILY
|
||||
keyword .HEADER_CENTRE_FONT .HEADER_CENTRE_FT .HEADER_CENTRE_PS .HEADER_CENTRE_SIZE
|
||||
keyword .HEADER_FAM .HEADER_FAMILY .HEADER_GAP
|
||||
keyword .HEADER_LEFT .HEADER_LEFT_CAPS .HEADER_LEFT_FAM .HEADER_LEFT_FAMILY
|
||||
keyword .HEADER_LEFT_FONT .HEADER_LEFT_FT .HEADER_LEFT_PS .HEADER_LEFT_SIZE
|
||||
keyword .HEADER_MARGIN .HEADER_PLAIN
|
||||
keyword .HEADER_RECTO .HEADER_RIGHT .HEADER_RIGHT_CAPS .HEADER_RIGHT_FAM .HEADER_RIGHT_FAMILY
|
||||
keyword .HEADER_RIGHT_FONT .HEADER_RIGHT_FT .HEADER_RIGHT_PS .HEADER_RIGHT_SIZE .HEADER_VERSO
|
||||
keyword .HEADER_RULE .HEADER_RULE_GAP .HEADERS .HEADER_SIZE
|
||||
keyword .HEAD_FAMILY .HEAD_FONT .HEAD_QUAD .HEAD_SIZE .HEAD_SPACE .HEAD_UNDERLINE
|
||||
keyword .HI .HY .HYPHENATE .HYPHENATION .HY_SET
|
||||
keyword .IB .IBX .IBQ .IH .IL .ILX .ILQ
|
||||
keyword .IQ .IR .IRX .IRQ .IT .IX
|
||||
keyword .INDENT_FIRST_PARAS .ITALIC_MEANS_ITALIC
|
||||
keyword .JUSTIFY
|
||||
keyword .KERN
|
||||
keyword .LEADER_CHARACTER .LEFT .LIG .LIGATURES .LINEBREAK .LL .LL .L_MARGIN .LS
|
||||
keyword .MCO .MCR .MCX
|
||||
keyword .NEWPAGE .NEW_PAGE .NO_SUITE .NUMBER_HEADS .NUMBER_PARAHEADS .NUMBER_SUBHEADS
|
||||
keyword .PAD .PADMARKER .PAD_STRING .PAGE .PAGE_LENGTH .PAGELENGTH .PAGEWIDTH
|
||||
keyword .PAGENUM .PAGENUM_FAMILY .PAGENUM_FONT .PAGENUM_HYPHENS
|
||||
keyword .PAGENUM_ON_FIRST_PAGE .PAGENUM_POS .PAGENUM_SIZE .PAGENUM_STYLE
|
||||
keyword .PAGINATE .PAGINATION .PAPER
|
||||
keyword .PARAHEAD .PARAHEAD_FAMILY .PARAHEAD_FONT .PARAHEAD_INDENT .PARAHEAD_SIZE
|
||||
keyword .PARA_INDENT .PARA_SPACE
|
||||
keyword .PP .PP_FONT .PP_FT .PT_SIZE .PSPIC
|
||||
keyword .PRINTSTYLE
|
||||
keyword .QUAD
|
||||
keyword .QUOTE .QUOTE_FAMILY .QUOTE_FONT .QUOTE_INDENT .QUOTE_SIZE
|
||||
keyword .RECTO_VERSO
|
||||
keyword .RESET_FOOTNOTE_NUMBER .RESET_HEAD_NUMBER .RESET_PARAHEAD_NUMBER
|
||||
keyword .RESET_SUBHEAD_NUMBER
|
||||
keyword .REVISION .REVISION_STRING .RIGHT .RLD .R_MARGIN .RW
|
||||
keyword .SETBOLDER .SETSLANT .SILENT .SLANT_MEANS_SLANT .SMARTQUOTES .SP .SPACE
|
||||
keyword .SPREAD .SS .ST .START .STRING .SUBHEAD .SUBHEAD_FAMILY .SUBHEAD_FONT .SUBHEAD_SIZE
|
||||
keyword .SUBTITLE .SUBTITLE_FAMILY .SUBTITLE_FONT .SUBTITLE_SIZE
|
||||
keyword .SWITCH_FOOTERS .SWITCH_HDRFTR .SWITCH_HEADERS
|
||||
keyword .TAB_SET .TAB .TABSET .TB .TI
|
||||
keyword .TITLE .TITLE_FAMILY .TITLE_FONT .TITLE_SIZE .T_MARGIN
|
||||
keyword .TN .TO .TQ .TRAP .TYPESIZE
|
||||
keyword .UNDERLINE .UNDERLINE_ITALIC .UNDERLINE_QUOTES .UNDERLINE_SLANT
|
||||
keyword .UNDERSCORE .UNDERSCORE_2 .UNDERSCORE2
|
||||
keyword .WS
|
||||
font fixed DEFAULT CHAPTER NAMED LETTER
|
||||
font fixed TYPESET TYPEWRITE
|
||||
font fixed FINAL DRAFT
|
||||
font fixed BLOCK QUAD
|
||||
font fixed LEFT RIGHT CENTER CENTRE JUSTIFY TOP BOTTOM
|
||||
font fixed OFF QUIT END EXIT DONE NO
|
||||
font fixed PAGE NUMBER STAR
|
||||
font fixed COND EXT
|
||||
font fixed LETTER LEGAL EXECUTIVE LEDGER TABLOID QUARTO FOLIO
|
||||
font fixed 10x14 A3 A4 A5 B4 B5
|
||||
font fixed SINGLESPACE
|
||||
font fixed FACTOR
|
||||
font underlined \/ \/. \/? \/! \/, \/; \/:
|
||||
font underlined \, \,. \,? \,! \,, \,; \,:
|
||||
font underlined \\ \~ \% \0 \: \( \| \^ \& \%
|
||||
font underlined \b \c \C \d \D \e \f \f( \h \l \L \p \r \s \s+ \s- \S \u \v \w
|
||||
font fixed \(bu \(co \(ct \(de \(dg \(di \(em \(en \(mu \(pl \(rg \(sc \(sq
|
||||
font fixed \(14 \(12 \(34 \(+-
|
||||
font fixed # ' ^
|
||||
font italic "
|
||||
character \]
|
||||
comment \#
|
||||
comment \"
|
||||
comment \!
|
34
contrib/groff/contrib/mom/examples/letter.mom
Normal file
34
contrib/groff/contrib/mom/examples/letter.mom
Normal file
@ -0,0 +1,34 @@
|
||||
.AUTHOR "Yannick P. Guique"
|
||||
.DOCTYPE LETTER
|
||||
.PRINTSTYLE TYPESET
|
||||
.START
|
||||
.DATE
|
||||
August 25, 2004
|
||||
.TO
|
||||
GUILLAUME BARRIÈRES
|
||||
Minidoux Corporation
|
||||
5000 Pannes Drive
|
||||
Redmond, Virginia
|
||||
USA
|
||||
.FROM
|
||||
Y.P. GUIQUE
|
||||
022 Umask Road
|
||||
St-Sauveur-en-dehors-de-la-mappe, Québec
|
||||
CANADA
|
||||
.GREETING
|
||||
Dear Mr. Barrières,
|
||||
.PP
|
||||
It has come to my attention that you have been lobbying the
|
||||
US government to prohibit the use of open source software by
|
||||
endeavouring to outlaw so-called "warranty free" applications.
|
||||
.PP
|
||||
I feel it is my duty to inform you that the success of your
|
||||
operating system with its embedded web browser relies heavily
|
||||
on open source programs and protocols, most notably TCP/IP.
|
||||
.PP
|
||||
Therefore, in the interests of your corporation's fiscal health,
|
||||
I strongly advise that you withdraw support for any US
|
||||
legislation that would cripple or render illegal open source
|
||||
development.
|
||||
.CLOSING
|
||||
Sincerely,
|
668
contrib/groff/contrib/mom/examples/macros.mom
Normal file
668
contrib/groff/contrib/mom/examples/macros.mom
Normal file
@ -0,0 +1,668 @@
|
||||
\# Basic page setup
|
||||
\#
|
||||
.PAGE 8.5i 11i \" Printer sheet size
|
||||
.L_MARGIN 1i \" Left margin 1 inch
|
||||
.R_MARGIN 1i \" Right margin 1 inch (calculates the line length)
|
||||
\#
|
||||
\# Refinements
|
||||
\#
|
||||
.KERN \" Automatic pairwise kerning
|
||||
.SS 0 \" No extra space between sentences
|
||||
.HY \" Hyphenate
|
||||
.LIGATURES \" Automatic ligature generation
|
||||
.SMARTQUOTES \" Enable smartquotes
|
||||
\#
|
||||
\# Basic type parameters
|
||||
\#
|
||||
.FAM T \" Times Roman family
|
||||
.FT B \" Bold font
|
||||
.PT_SIZE 12 \" Point size
|
||||
.LS 14 \" Leading (line spacing)
|
||||
.LEFT \" Set lines flush left, nofill mode
|
||||
\#
|
||||
\#
|
||||
.ALD |1i-1v \" Advance 1 inch from top of paper to first baseline
|
||||
Example 1\*[BU 2]:
|
||||
.ALD .25v \" Advance an extra 1/4 linespace
|
||||
.UNDERSCORE 3.75p "T\*[BU 4]asting notes using padding, string tabs \
|
||||
and multi-columns"
|
||||
.SP \" Add an extra line space
|
||||
\#
|
||||
\#
|
||||
.FAM H \" Helvetica family
|
||||
.PT_SIZE 10
|
||||
.LS 11 \" New leading
|
||||
\#
|
||||
\# The following uses a combination of padding, string tabs, and the FWD escape
|
||||
\# to set up five tabs with 12-point (1-pica) gutters over the full line length.
|
||||
\#
|
||||
.SILENT \" Don't print the next line
|
||||
.PAD "\*[ST1]VIN#\*[ST1X]\*[FWD 12p]\*[ST2]ROBE#\*[ST2X]\*[FWD 12p]\*[ST3]NEZ#\*[ST3X]\*[FWD 12p]\*[ST4]BOUCHE#\*[ST4X]\*[FWD 12p]\*[ST5]COMMENTAIRES\*[ST5X]"
|
||||
.SILENT OFF \" Resume normal printing of text
|
||||
\#
|
||||
\# Now that the string tabs have been marked off, we "set" them.
|
||||
\#
|
||||
.ST 1 L \" First string tab flush left, nofill mode (no need for .BR's between input lines)
|
||||
.ST 2 L QUAD \" Remaining tabs are flush left/rag right, fill mode
|
||||
.ST 3 L QUAD
|
||||
.ST 4 L QUAD
|
||||
.ST 5 L QUAD
|
||||
\#
|
||||
\#
|
||||
.TAB 1 \" Call first tab
|
||||
.UNDERSCORE "VIN"
|
||||
.TN \" Move to next tab and stay on the same baseline
|
||||
.UNDERSCORE "ROBE"
|
||||
.TN \" Ibid
|
||||
.UNDERSCORE "NEZ"
|
||||
.TN \" Ibid
|
||||
.UNDERSCORE "BOUCHE"
|
||||
.TN \" Ibid
|
||||
.UNDERSCORE "COMMENTAIRES"
|
||||
.TQ \" Quit tabs
|
||||
\#
|
||||
\#
|
||||
.ALD 6p \" Advance an extra 6 points
|
||||
.FT R \" Change font to roman (medium)
|
||||
.MCO \" Turn multi-column mode on
|
||||
\#
|
||||
\#
|
||||
.TAB 1 \" Notice that this tab gets set line-for-line
|
||||
\*[IT]Peelee Island \" Set italic
|
||||
\*[PREV]Gewürztraminer \" Revert to former font (roman)
|
||||
2000
|
||||
(Canada)
|
||||
.MCR \" Return to top of column
|
||||
.TAB 2 \" Call tab 2; in multi-column mode, don't use .TN
|
||||
Jaune pâle.
|
||||
.MCR
|
||||
.TB 3 \" Notice that from here on, we use the alias TB instead of TAB
|
||||
Frais, fruité, ci\%tronné, arômes fortes de lichee et de fruits
|
||||
tropicaux.
|
||||
.MCR
|
||||
.TB 4
|
||||
Doux, fruité, bien équilibré avec une bonne acidité.
|
||||
.MCR
|
||||
.TB 5
|
||||
Bon apéro. Servir avec des plats
|
||||
.RW .1
|
||||
indiens ou \%chinois.
|
||||
.RW 0
|
||||
.BR
|
||||
Excellent rapport qualité/prix.
|
||||
.MCX 8p \" Multi-column mode off; advance an extra 8 points
|
||||
.MCO \" Re-invoke multi-columns for next wine description
|
||||
.TB 1
|
||||
\*[IT]Carau Pujol
|
||||
\*[ROM]Tannat
|
||||
1995
|
||||
(Uraguay)
|
||||
.MCR
|
||||
.TB 2
|
||||
Rubis foncé, vio\%lacée, presque opaque.
|
||||
.MCR
|
||||
.TB 3
|
||||
Belles arômes de fruits foncés (prunes, cerises noires, cassis).
|
||||
Odeurs tertiares de cuir, cèdre, violets, eucalyptus, avec une trace
|
||||
exotique de Band-Aid*\*[BU 12].
|
||||
\#
|
||||
\# The \*[BU 12], above, pulls the period back so that it falls
|
||||
\# underneath the asterisk. \*[BP<#>] could have been used instead
|
||||
\# if you prefer to use points rather than kern units.
|
||||
\#
|
||||
.MCR
|
||||
.TB 4
|
||||
Très rond, tannins mûres et veloutés, avec un long finis fruité et
|
||||
doucement alcoolique.
|
||||
.MCR
|
||||
.TB 5
|
||||
Superbe\|! Une aubaine à ne pas manquer. Prêt à boire maintenant.
|
||||
.MCX 1v \" Multi-columns off; advance an extra linespace
|
||||
\#
|
||||
\# Now, an example of a hanging indent. This is excessively fussy
|
||||
\# from a typographic standpoint in that it hangs the asterisk outside
|
||||
\# the current left margin so that the text following it lines up with
|
||||
\# with the text in the tasting notes. Notice that in order to use a
|
||||
\# hanging indent, you must first set a left indent.
|
||||
\#
|
||||
.FT I \" Change font to italic
|
||||
.PT_SIZE -.5 \" Reduce point size by 1/2 point
|
||||
.LS -.5 \" Reduce leading by 1/2 point
|
||||
.JUSTIFY \" Set text justified
|
||||
\#
|
||||
\# Now, move the left margin back by the width of an asterisk plus 2 points...
|
||||
\#
|
||||
.L_MARGIN -(\w'*'+2p)
|
||||
\#
|
||||
\# ...and set a left indent equal to the width of an asterisk plus 2 points
|
||||
\#
|
||||
.IL \w'*'+2p
|
||||
\#
|
||||
\# Now, set the hanging indent equal to the left indent, effectively pulling
|
||||
\# the first line of the following text back to the new left margin.
|
||||
\# Subsequent output lines will be indented by the .IL amount.
|
||||
\# Notice that when using the \w inline escape, there's no need to append
|
||||
\# a unit of measure to it.
|
||||
\#
|
||||
.HI \w'*'+2p
|
||||
*\*[FWD 1p]The term "Band-Aid" means the slightly sweet, vaguely chemical
|
||||
smell associated with medical-grade plastics. It is often found in
|
||||
wines from terroirs in South America. Provided a wine has a sufficient
|
||||
concentration of fruit
|
||||
.RW .04 \" Kern the whole next line slightly, so "lipstick" doesn't hyphenate.
|
||||
aromas and complex tertiary characteristics, Band-Aid is a Good Thing.
|
||||
Otherwise, it smells like cheap lipstick.
|
||||
.RW 0 \" Reset kerning to 0
|
||||
\#
|
||||
\# Notice, above, that although the values for IL and HI are the width
|
||||
\# of an asterisk plus 2 points, when setting the first line of text
|
||||
\# (the one with the asterisk at the beginning), we put only 1 point of
|
||||
\# space after the *. This is to compensate for the fact that in the
|
||||
\# italic font, the letter T doesn't align visually with the rest of
|
||||
\# the text. As already noted, this is an extremely fussy example. :)
|
||||
\#
|
||||
\#
|
||||
\#
|
||||
.IQ CLEAR \" Cancel and clear stored indent values
|
||||
.L_MARGIN 1i \" Reset left margin to its original value.
|
||||
\#
|
||||
\#
|
||||
.ALD 2P \" Add 2-picas extra space before next example
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
Example 2:
|
||||
.ALD .25v
|
||||
\#
|
||||
.COMMENT \" COMMENT lets you enter comments without using \# or \"
|
||||
In the next line, because the string to be underscored must be
|
||||
enclosed by double-quotes, you can't use the double-quote character
|
||||
itself around the word "Massaging". We circumvent this by using the
|
||||
groff inline escapes \(lq and \(rq (leftquote and rightquote).
|
||||
.COMMENT OFF \" Remember to turn COMMENT off!
|
||||
\#
|
||||
.UNDERSCORE 3.75p "\(lqMassaging\(rq \*[BCK 1p]a passage of rag right text"
|
||||
.SP \" Add an extra linespace
|
||||
\#
|
||||
\#
|
||||
.PT_SIZE 12.5
|
||||
.LS 14
|
||||
.PT_SIZE -1 \" Reduce point size by 1 point
|
||||
Passage using groff defaults
|
||||
.ALD .5v \" Add an extra 1/2 line space
|
||||
.PT_SIZE +1 \" Restore point size
|
||||
.QUAD LEFT \" Set quad left, fill mode
|
||||
.IB 3P \" Indent 3 picas from both the left and right margins
|
||||
.FT R
|
||||
The thousand injuries of Fortunato I had borne as I best could;
|
||||
but when he ventured upon insult, I vowed revenge. You, who so well
|
||||
know the nature of my soul, will not suppose, however, that I gave
|
||||
utterance to a threat. \*[IT]At length\*[PREV] I would be
|
||||
avenged; this was a point definitively settled\(embut the very
|
||||
definitiveness with which it was resolved, precluded the idea of
|
||||
risk. I must not only punish, but punish with impunity. A
|
||||
wrong is unredressed when retribution overtakes its redresser.
|
||||
It is equally unredressed when the avenger fails to make himself
|
||||
felt as such to him who has done the wrong.
|
||||
.ALD 6p
|
||||
\#
|
||||
\# The next line is set quad right, nofill mode, 1/2 point smaller
|
||||
\# than the preceding text (using the \*S[...] inline escape.
|
||||
\#
|
||||
.RIGHT
|
||||
\*S[-.5]\(emEdgar Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]\*S[+.5]
|
||||
.SP \" Extra linespace
|
||||
.IBQ \" Disable "indent both"
|
||||
\#
|
||||
\# The passage above, while acceptable in a longer document, exhibits a
|
||||
\# few typographic flaws. The shape of the right margin rag exhibits
|
||||
\# a decidedly "rounded" appearance. The word "I" stands alone at the
|
||||
\# end of the third line. The space between the 1st and 2nd sentences
|
||||
\# ("...revenge. You...") is too large, owing to the letter "Y" that
|
||||
\# begins the 2nd sentence. The spacing between "A wrong..." (line 6)
|
||||
\# is equally too large because of the way "A" and "w" fit together.
|
||||
\# The em-dash before Edgar isn't vertically centered with the letter "E".
|
||||
\# And so on. The most important correction below is fixing the rag
|
||||
\# so that longer and shorter lines alternate. This is accomplished by
|
||||
\# manually breaking lines and then slightly lengthening and shortening
|
||||
\# them until a pleasing rag is achieved. The remainder of the little
|
||||
\# flaws are fixed with inline escapes.
|
||||
\#
|
||||
.FT B
|
||||
.PT_SIZE -1
|
||||
.LEFT
|
||||
The same passage, \*[BU 4]"massaged"
|
||||
.ALD .5v
|
||||
.FT R
|
||||
.PT_SIZE +1
|
||||
.QUAD LEFT
|
||||
.HY OFF \" Turn automatic hyphenation off
|
||||
.BR_AT_LINE_KERN \" Automatically insert a line break (.BR) with each invocation of .RW and .EW
|
||||
.WS +1 \" Increase word space slightly
|
||||
.IB \" Turn "indent both" back on; values are the same as before
|
||||
\#
|
||||
\#
|
||||
The thousand injuries of Fortunato I had borne as I best could; but
|
||||
when he ventured upon insult, I \*[BU 2]vowed revenge. \*[BU 4]Y\*[BU 6]ou,
|
||||
\*[BU 4]who so \*[BU 2]well know the nature
|
||||
.EW .2
|
||||
of my soul, \*[BU 2]will not suppose, however, that I gave utterance to
|
||||
a threat. \*[IT]At
|
||||
.EW .2
|
||||
length\*[PREV] I would be avenged; this was a point definitively
|
||||
settled\(embut the
|
||||
.EW .2
|
||||
v\*[BU 1]ery definitiveness with which it was resolved, precluded the idea
|
||||
of risk.
|
||||
.EW 0
|
||||
I must not only punish, but punish with impunity. A \*[BCK 1p]wrong is
|
||||
unredressed
|
||||
.EW .1
|
||||
when retribution overtakes its redresser. It is equally unredressed
|
||||
when the
|
||||
.RW .1
|
||||
avenger fails to make himself felt as such to him \*[BU 2]who has done
|
||||
the wrong.
|
||||
.RW 0
|
||||
.WS +0 \" Restore normal wordspacing
|
||||
.ALD 6p
|
||||
.PT_SIZE -.5
|
||||
.RIGHT
|
||||
\*[UP 1.5p]\(em\*[DOWN 1.5p]\*[BCK 1p]Edgar \*[BCK 1p]Allen Poe, \*[IT]The Cask of Amontillado\*[PREV]
|
||||
.IQ CLEAR \" Cancel and clear stored values of all indents
|
||||
\#
|
||||
\#
|
||||
.NEWPAGE \" Start a new page
|
||||
.T_MARGIN 1i \" Set top margin to 1i (approx. equivalent to .ALD |1i-1v above
|
||||
\#
|
||||
\#
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
.LEFT
|
||||
Example 3:
|
||||
.ALD .25v
|
||||
.UNDERSCORE 3.75p "A \*[BU 2]recipe for enumerated lists using indents"
|
||||
.SP \" Add an extra line space
|
||||
.FAM N \" New Century Schoolbook family
|
||||
.FT R
|
||||
.PT_SIZE 11
|
||||
.LS 13
|
||||
.HY \" Turn hyphenation back on
|
||||
.JUSTIFY \" Justify text
|
||||
This example demonstrates the use of left and hanging indents for
|
||||
simple enumerated lists. Nested lists are possible, as the example
|
||||
shows; however, the more complex the nesting, the wiser it becomes
|
||||
to use (string) tabs, as seen in Example 4.
|
||||
\#
|
||||
\#
|
||||
.JUSTIFY \" Justify text
|
||||
.IL \w'\0.\0' \" Establish a left indent equal to the width of 2 figure spaces plus a period.
|
||||
.HI \w'\0.\0' \" Establish a hanging indent equal to the size of the left indent.
|
||||
.ALD 6p
|
||||
\#
|
||||
\#
|
||||
1.\0This is the first item in the list. N\*[BU 2]otice how the first line
|
||||
"hangs" back from the remaining text, which is otherwise
|
||||
indented by the width of by two figure-spaces (digit-width
|
||||
spaces) and a period.
|
||||
.BR
|
||||
.HI \" Notice that HI doesn't require an argument once the value's been set
|
||||
.ALD 6p
|
||||
2.\0This is the second item in the list. As with the above item,
|
||||
notice the use of the \*[BU 8]\\0 escape sequence in the input text. It's
|
||||
there to ensure that the space after the number/period combination
|
||||
always remains the same (i.e. doesn't stretch when the line is
|
||||
justified). That way, the text of each item always lines up perfectly.
|
||||
\#
|
||||
\#
|
||||
.COMMENT
|
||||
Now we're going to set a bullet-point list, indented from the text
|
||||
above by 1 pica. IL arguments are always added to whatever value
|
||||
is in already effect for IL, hence all we have to do is tell mom to
|
||||
indent (from the current left indent) 1 pica plus the width of the
|
||||
bullet character ( \(bu ). \*[FWD 3p] puts three points of space after
|
||||
the bullet so that the bullet and the text are visually separated.
|
||||
.COMMENT OFF
|
||||
\#
|
||||
\#
|
||||
.IL 1P+\w'\(bu\*[FWD 3p]'
|
||||
\#
|
||||
\# Hanging indents are always relative to the current left indent.
|
||||
\# The additional 1-pica indent, above, already having been taken
|
||||
\# care of, we only want to hang the first lines of bullet list items
|
||||
\# back by the width of the bullet character plus its 3 extra
|
||||
\# points of space.
|
||||
\#
|
||||
.ALD 6p
|
||||
.HI \w'\(bu\*[FWD 3p]'
|
||||
\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the first line of a sublist with bullets.
|
||||
N\*[BU 2]otice how the first line (the one with the bullet) is indented
|
||||
exactly one pica from the text of the list item above it, while the
|
||||
remaining lines align with the left indent we set above.
|
||||
.ALD 6p
|
||||
.HI
|
||||
\*[DOWN 1p]\(bu\*[UP 1p]\*[FWD 3p]This is the second item of the sublist with bullets. \*[BU 4]We
|
||||
could go on indefinitely, but let's go back to the top level (numbered)
|
||||
list...
|
||||
\#
|
||||
\# The easiest way to return to a previous indent value is by subtraction.
|
||||
\# The argument to IL, above, was 1P+\w'\(bu\*[FWD 3p]', so we just reverse
|
||||
\# it by putting a minus sign in front. The parentheses are required
|
||||
\# for groff to evaluate the expression properly.
|
||||
\#
|
||||
.IL -(1P+\w'\(bu\*[FWD 3p]')
|
||||
.HI \w'\0.\0' \" Reset hanging indent for use with numbered items.
|
||||
.ALD 6p
|
||||
3.\0...and here we are.
|
||||
.HI \" Again, notice that once HI has been set, you don't have to keep passing it an argument.
|
||||
.ALD 6p
|
||||
4.\0In order not to make the example too long, we'll stop here.
|
||||
.IQ CLEAR \" Don't forget to cancel and/or clear indents!
|
||||
\#
|
||||
\#
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
.LEFT
|
||||
.SP
|
||||
\#
|
||||
\#
|
||||
Example 4:
|
||||
.ALD .25v
|
||||
.UNDERSCORE 3.75p "A \*[BU 2]recipe for nested lists using string tabs"
|
||||
.SP
|
||||
.FAM N
|
||||
.FT R
|
||||
.PT_SIZE 11
|
||||
.LS 13
|
||||
.JUSTIFY
|
||||
Although setting up string tabs is a bit more complex than setting
|
||||
up indents, it's \*[BU 3]well worth the effort, especially for nested lists.
|
||||
.ALD 6p
|
||||
\#
|
||||
.COMMENT
|
||||
The PAD line, below, sets up two string tabs. The first (ST1)
|
||||
is exactly the length of two figure spaces and a period. The
|
||||
second (ST2) is simply "the remainder of the line."
|
||||
.COMMENT OFF
|
||||
\#
|
||||
.SILENT
|
||||
.PAD "\*[ST1]\0.\0\*[ST1X]\*[ST2]#\*[ST2X]"
|
||||
.ST 1 L \" String tabs must be "set" after being marked off in a line
|
||||
.ST 2 J \" ST 1 will be set flush left, nofill; ST 2 will be justified.
|
||||
.SILENT OFF
|
||||
\#
|
||||
\#
|
||||
.TB 1
|
||||
1.
|
||||
.TN \" Use .TN here so text stays on the same baseline as the number in tab 1
|
||||
This is the first item in the list. N\*[BU 2]otice how, just as in Example 3,
|
||||
the first line hangs back from the remaining text, which is otherwise
|
||||
indented.
|
||||
.ALD 6p
|
||||
.TB 1
|
||||
2.
|
||||
.TN
|
||||
This is the second item in the list. N\*[BU 2]otice that when setting "lists"
|
||||
with tabs, there's no need to use the \*[BU 8]\\0 escape sequence after
|
||||
the number/period combination in the input text.
|
||||
.ALD 6p
|
||||
\#
|
||||
.COMMENT
|
||||
Now, set up the indented bullet-point sublist. The PAD line
|
||||
says: move forward 12 points (1 pica), then mark off a string
|
||||
tab (ST3) that's the length of the bullet character; move foward
|
||||
another three points, then make the next string tab (ST4) the
|
||||
length of remainder of the line.
|
||||
.COMMENT OFF
|
||||
\#
|
||||
.SILENT
|
||||
.PAD "\*[FWD 12p]\*[ST3]\(bu\*[ST3X]\*[FWD 3p]\*[ST4]#\*[ST4X]"
|
||||
.ST 3 L
|
||||
.ST 4 J
|
||||
.SILENT OFF
|
||||
.ALD 6p
|
||||
.TB 3
|
||||
\*[DOWN 1p]\(bu\*[UP 1p]
|
||||
.TN
|
||||
This is the first line of a sublist with bullets. N\*[BU 2]otice how the
|
||||
bullets and the text line up exactly the same as in Example 3.
|
||||
.ALD 6p
|
||||
.TB 3
|
||||
\*[DOWN 1p]\(bu\*[UP 1p]
|
||||
.TN
|
||||
This is the second item of the sublist with bullets. For the fun of
|
||||
it, lets add in an
|
||||
.SPREAD
|
||||
en-dashed sub-sublist.
|
||||
.BR \" We're in a fill mode right now, so you *must* terminate the line with BR
|
||||
\#
|
||||
\#
|
||||
.SILENT
|
||||
.PAD "\*[FWD 12p]\*[ST5]\(en\*[ST5X]\*[FWD 4p]\*[ST6]#\*[ST6X]"
|
||||
.ST 5 L
|
||||
.ST 6 J
|
||||
.SILENT OFF
|
||||
.ALD 6p
|
||||
.TB 5
|
||||
\*[UP .75p]\(en\*[DOWN .75p]
|
||||
.TN
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
|
||||
sed diam voluptua.
|
||||
.ALD 6p
|
||||
.TB 5
|
||||
\*[UP .75p]\(en\*[DOWN .75p]
|
||||
.TN
|
||||
At \*[BU 3]vero eos et accusam et justo duo dolores et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
.ALD 6p
|
||||
.TB 1
|
||||
3.
|
||||
.TN
|
||||
And here we are, back at the top-level numbered list with a minimum
|
||||
of muss and fuss,
|
||||
.ALD 6p
|
||||
.TB 1
|
||||
4.
|
||||
.TN
|
||||
Generally speaking, once you get the hang of string tabs and the
|
||||
\*[BD]PAD\*[PREV] macro, you'll find setting up complex nested lists
|
||||
(or anything similar to them) easier than with hanging indents.
|
||||
.TQ
|
||||
\#
|
||||
.NEWPAGE
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
.LEFT
|
||||
Example 5:
|
||||
.ALD .25v
|
||||
.UNDERSCORE 3.75p "Word spacing"
|
||||
.ALD 8p
|
||||
.FAM P \" Palatino family
|
||||
.PT_SIZE 11
|
||||
.LS 14
|
||||
\#
|
||||
\# The "label" lines for the following are set in Helvetica bold, one
|
||||
\# point smaller than the examples themselves. This demonstrates the
|
||||
\# use of the groff inline escape \f[...] to change both family and
|
||||
\# font inline. It also shows using the mom inline \*S[...].
|
||||
\#
|
||||
\f[HB]\*S[-1]Normal word spacing\*S[+1]\*[PREV]
|
||||
.FT R
|
||||
N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]\*[BU 1]2\*S[+1]\*[PREV]
|
||||
.FT R
|
||||
.WS +2
|
||||
N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
|
||||
.WS +0
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]4\*S[+1]\*[PREV]
|
||||
.FT R
|
||||
.WS +4
|
||||
N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
|
||||
.WS +0
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Word spacing adjusted by \*[UP 1p]\*[BU 3]+\*[DOWN 1p]6\*S[+1]\*[PREV]
|
||||
.FT R
|
||||
.WS +6
|
||||
N\*[BU 1]o\*[BU 1]w \*[BU 1]is the time for all good men to come to the aid of the party.
|
||||
.WS +0
|
||||
.SP 1.5v
|
||||
\#
|
||||
\#
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
.LEFT
|
||||
Example 6:
|
||||
.ALD .25v
|
||||
.UNDERSCORE 3.75p "Line kerning"
|
||||
.ALD 8p
|
||||
.FAM P \" Palatino family
|
||||
.FT R
|
||||
.PT_SIZE 11
|
||||
.LS 15
|
||||
\#
|
||||
\# Here, we set up some tabs so the examples can go into facing columns.
|
||||
\#
|
||||
.TAB_SET 1 0 19.5P L
|
||||
.TAB_SET 2 19.5P 19.5P L
|
||||
\#
|
||||
\#
|
||||
.MCO \" Turn multi-columns on
|
||||
.TB 1
|
||||
\f[HB]\*S[-1]Unkerned line\*S[+1]\*[PREV]
|
||||
.FT R
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Line "tightened" \(en .RW .1\*S[+1]\*[PREV]
|
||||
.RW .1
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\#
|
||||
\# In the next line, notice that because it uses a different family
|
||||
\# (Helvetica instead of Palatino), the RW macro doesn't affect it.
|
||||
\#
|
||||
\f[HB]\*S[-1]Line "tightened" \(en .RW .2\*S[+1]\*[PREV]
|
||||
.RW .2
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Line "tightened" \(en .RW .3\*S[+1]\*[PREV]
|
||||
.RW .3
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.MCR
|
||||
.TB 2
|
||||
\f[HB]\*S[-1]Unkerned line\*S[+1]\*[PREV]
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Line "loosened" \(en .EW .1\*S[+1]\*[PREV]
|
||||
.EW .1
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Line "loosened" \(en .EW .2\*S[+1]\*[PREV]
|
||||
.EW .2
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.ALD 4p
|
||||
\f[HB]\*S[-1]Line "loosened" \(en .EW .3\*S[+1]\*[PREV]
|
||||
.EW .3
|
||||
"But this is \*[IT]important!\/"\*[PREV]she exclaimed.
|
||||
.MCX 1.5v
|
||||
\#
|
||||
\#
|
||||
.FAM T
|
||||
.FT B
|
||||
.PT_SIZE 12
|
||||
.LS 14
|
||||
.LEFT
|
||||
Example 7:
|
||||
.ALD .25v
|
||||
.UNDERSCORE 3.75p "Cutaround using left\*[FU 2]/right indents, multi columns \
|
||||
and a dropcap"
|
||||
.SP
|
||||
\#
|
||||
\#
|
||||
.FT R
|
||||
.PT_SIZE 11
|
||||
.LS 12
|
||||
.BR_AT_LINE_KERN OFF \" In justified text, it's best to have this OFF
|
||||
\#
|
||||
\#
|
||||
.TAB_SET 1 0 18.5P J
|
||||
.TAB_SET 2 20.5P 18.5P J
|
||||
.MCO
|
||||
.ALD 5P+9p
|
||||
\#
|
||||
\# The little picture of tux.
|
||||
\#
|
||||
.PSPIC penguin.ps
|
||||
.MCR
|
||||
.TAB 1
|
||||
.DROPCAP_FONT B
|
||||
.DROPCAP L 3 COND 80 \" i.e. the letter L dropped 3 lines, condensed to 80% of its normal width
|
||||
.EW .2
|
||||
orem ipsum dolor sit amet, consetetur sa\%dip\%scing elitr, sed diam
|
||||
nonumy eir\%mod tempor invidunt ut labore et dolore magna aliquyam erat,
|
||||
sed diam voluptua.
|
||||
.EW 0
|
||||
.TI 1P
|
||||
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
|
||||
kasd gubergren, no sea taki-
|
||||
.SPREAD \" Force justify preceding line before starting indent
|
||||
.IR 3.5P
|
||||
kimata sanctus est lorem ipsum dolor sit amet.
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor.
|
||||
.EW .2
|
||||
.TI
|
||||
Invidunt ut labore et dolore magna ali\%qu\%yam erat, sed diam voluptua.
|
||||
At
|
||||
.EW 0
|
||||
vero eos et accusam et justo duo dolores et ea rebum.
|
||||
.TI
|
||||
Stet clita kasd gubergren, no sea ta-
|
||||
.SPREAD \" Force justify preceding line before quitting indent
|
||||
.IRQ
|
||||
kimata sanctus est lorem ipsum dolor sit amet. Lorem ipsum dolor
|
||||
sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
in\%vi\%dunt ut labore et dolore magna aliquyam erat. Sed diam voluptua,
|
||||
at vero eos et accusam et justo duo
|
||||
.SPREAD
|
||||
.EW .3
|
||||
dolores et ea rebum. Stet clita no kasd guber-
|
||||
.SPREAD
|
||||
.MCR
|
||||
.TB 2
|
||||
gren, no sea takimata sanctus est lorem ipsum
|
||||
.EW 0
|
||||
dolor sit amet. Consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et dolore.
|
||||
.TI
|
||||
Magna aliquyam erat, sed diam voluptua, at vero eos et accusam.
|
||||
Et justo duo dolores et ea
|
||||
.SPREAD
|
||||
.IL 3.5P
|
||||
rebum, stet clita kasd gubergren. No sea
|
||||
takimata sanctus est, lorem ipsum dolor sit amet.
|
||||
.TI
|
||||
Sit amet, consetetur sadipscing elitr, sed diam. Nonumy eirmod tempor
|
||||
in\%vi-
|
||||
.EW .3
|
||||
dunt ut labore et dolore magna. Ali-
|
||||
.EW 0
|
||||
quyam erat sed diam voluptua.
|
||||
At vero eos et accusam et justo duo dolores et ea rebum stet.
|
||||
.ILQ
|
||||
.TI
|
||||
Dolores et ea rebum stet clita kasd gubergren, no sea takimata
|
||||
sanctus. Sadipscing elitr sed diam, nonumy eirmod tempor, invidunt
|
||||
ut labore et dolore magna aliquyam erat. Sed diam voluptua, at vero
|
||||
eos et accusam et justo duo dolores et ea rebum.
|
461
contrib/groff/contrib/mom/examples/penguin.ps
Normal file
461
contrib/groff/contrib/mom/examples/penguin.ps
Normal file
@ -0,0 +1,461 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: GIMP PostScript file plugin V 1.06 by Peter Kirchgessner
|
||||
%%Title: /home/peter/Pics/penguin_small2_bw.ps
|
||||
%%CreationDate: Wed Apr 17 19:49:51 2002
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%Pages: 1
|
||||
%%BoundingBox: 0 0 81 96
|
||||
%%EndComments
|
||||
%%BeginPreview: 90 107 1 107
|
||||
% aaaaaaaaabff555555555540
|
||||
% 5b6db6db5edbf6b6b6b6b680
|
||||
% aaaaaaaab7ff7ad555555540
|
||||
% b55555557eddeeaadadadac0
|
||||
% 56db6db6dbffdf56ab555540
|
||||
% aaaaaaaaffb755dab556ab40
|
||||
% 5b555b55f77ed7d556b56d40
|
||||
% aab6d56dbfffaaeb6ad5aa80
|
||||
% 6d555aabf6edd5daad56ab40
|
||||
% aadaab56ffdfaff555aab540
|
||||
% 5555b56bddfdff76dab55680
|
||||
% b6aaaaaffbbbbbed5556dac0
|
||||
% 55b6d6d5bff7f77aab6aaa80
|
||||
% aaaaaaaff77f6ffd6d555540
|
||||
% 5b555b576defeedaaaadb680
|
||||
% aab6d56dfbfd3bfdb56aaac0
|
||||
% 55555aab8eda4fb556ab5540
|
||||
% b6daab5743f40b7eaad56d80
|
||||
% 5555b56f037007fadaad5540
|
||||
% aaaaaaab11e0c6ed55b5aa80
|
||||
% 5b6d6db731b1a3feaaaab6c0
|
||||
% aaab55566963a3badb555540
|
||||
% 6d556aaf35d2e37d556daa80
|
||||
% aadaadb57959f3f6aaaab6c0
|
||||
% 5555aaab3403c37d6dab5540
|
||||
% 6daab5571428c3eeaab56a80
|
||||
% aab6d6db908007fd5556ad80
|
||||
% ad5555574000176edb6ad540
|
||||
% 55aaadab920003fd55555a80
|
||||
% b56db55b2000136eaaadab40
|
||||
% 56aaaaab400047fdb6d55540
|
||||
% aad556d7040112df555ab680
|
||||
% 6d5b6ab5d00447bb55ab5540
|
||||
% aaaaad57402915cf6d556a80
|
||||
% adb555ab9a9243a7aab6ad80
|
||||
% 5556dab6902485ead5aad540
|
||||
% b5aaab57854901d7daad5a80
|
||||
% 56b5556d929201bfab55ab40
|
||||
% aaab6d57004400fb756ab540
|
||||
% 6d6d55af0a1000efeaad5680
|
||||
% aaaaaaba0080005ef6d5aac0
|
||||
% adb5b6d60220003fdaaab540
|
||||
% 5556aabc0000003bfd5b5680
|
||||
% b5aab57c0000003f76d56ac0
|
||||
% 56b556e80000001beeaaad40
|
||||
% aaab6bf80000001f7f5b5580
|
||||
% 6d6d55b00000001dfbaab540
|
||||
% aaaaaff00000001bdf6d5680
|
||||
% 55b5b5b00000000ffbd5aac0
|
||||
% b6aaafe40000000f6ff55a80
|
||||
% aad6df7000000246fedaab40
|
||||
% 555ab6d000000003aff5b540
|
||||
% b6aaafe000000013edbaaa80
|
||||
% 556b7d8000000001b7f6d6c0
|
||||
% aaad5bc000000001fbbd5a80
|
||||
% 6db57f0000000000d77aaac0
|
||||
% aaaab58000000000edf6d540
|
||||
% 5556f7000000000056fead80
|
||||
% b6dab600000000006edb5540
|
||||
% aaaaee00000000007ffeb680
|
||||
% 5555ee000000000076bb5540
|
||||
% b6dabc00000000003f7f6a80
|
||||
% 5555d800000000003b7756c0
|
||||
% aaabfc00000000003f7eda80
|
||||
% 6db6b0000000000036f7aac0
|
||||
% aaabd800000000003ffeab40
|
||||
% ad57b800000000003d6fda80
|
||||
% 55b7d8000000000037fdaac0
|
||||
% b55eb800000000003edfab40
|
||||
% 56afb000000000003bfbb540
|
||||
% aaddb000000000003edf5680
|
||||
% 6d5bd8000000000035fdaac0
|
||||
% aaafe800000000003b5bb540
|
||||
% 55ba5000000000006fef5680
|
||||
% b6a83800000000005f736ac0
|
||||
% aaa00c00000000003dfdad40
|
||||
% 55680e00000000003bd65580
|
||||
% b6a107000000000077bc5a80
|
||||
% 55a013c0000000023ff82b40
|
||||
% a80401a0000000005db45540
|
||||
% 429021f0000000043ff02d40
|
||||
% 900000f80000000096c4aa80
|
||||
% a00080be000000082a902d80
|
||||
% 004204770000000244401540
|
||||
% a200003e8000001411001540
|
||||
% 4004105fc000000044444b40
|
||||
% 8800001b8000000a00800540
|
||||
% 5040411f4000001012000280
|
||||
% 80040007c000001440044080
|
||||
% 5080040d0000003100100040
|
||||
% 800040200000007400400400
|
||||
% 51080002000000e804008040
|
||||
% 80008440000003f210000080
|
||||
% 50000005000007d400080940
|
||||
% 0111000080001ef020808280
|
||||
% a00008894000ffd480001540
|
||||
% 02000000fa57bb680108aa80
|
||||
% a0222002bfffffe900012b40
|
||||
% 0a4001115ffdedd20824d540
|
||||
% d0888004bb6fbfb4008b5a80
|
||||
% ad251202bffdfbe921255580
|
||||
% b554a05576ab576a045aaa80
|
||||
% aaaa950aaaad5aaaa955b6c0
|
||||
% 56d56a556d6aaad48556aa80
|
||||
% b55b5555aaab6b5ab55aad40
|
||||
% 55aaaaaab5b555554aaad580
|
||||
% ad556d5b56aaad6b556b5a80
|
||||
%%EndPreview
|
||||
%%BeginProlog
|
||||
% Use own dictionary to avoid conflicts
|
||||
5 dict begin
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
% Translate for offset
|
||||
0.000000 0.000000 translate
|
||||
% Translate to begin of first scanline
|
||||
0.000000 95.872000 translate
|
||||
80.640000 -95.872000 scale
|
||||
% Variable to keep one line of raster data
|
||||
/scanline 90 1 mul string def
|
||||
% Image geometry
|
||||
90 107 8
|
||||
% Transformation matrix
|
||||
[ 90 0 0 107 0 0 ]
|
||||
{ currentfile scanline readhexstring pop }
|
||||
image
|
||||
72727272717171717171717172717171717171717171717172717171727271717171727273736f
|
||||
675852524e4653535a676b73737272727272727272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7172717271717171717171717271717171717171717171717271717171717172727272726d5d4a
|
||||
4039393939373a3a3c3f4653637172727272727272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7171717271717171717171717271717171717171717171717271717171717173747271644b3f3a
|
||||
3a393a3a3a393b3b3b38393b3d4d64707272727272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171717172717171717171727171717171727372705b3b3d3b3a
|
||||
3939393939393938393939383a3c3f546d71747272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727271727171717171717171727171717171717171717171727171717171727173553e3d383a39
|
||||
393a383838383838393940564d3f38394668727272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
71717171717171717171717172717171717171717171717172717171717172715f3d38393b3b39
|
||||
3a393939393939393a3c5574807252403742627272727272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727271727171717171717171727171717171717171717171727171717172726c403c373a3a3a3a
|
||||
3a3a3a3a3a3a3a3a393e5e82958c72543a38416a72737272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727171727171717171717171727171717171717171717171727171717271735a3d383b3a3a3a3a
|
||||
3a3a3a3a3a3a3a3a383c5f87978e7c65493a3c5070737272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7171717271717171717171717271717171717171717171717271717172736c4638373b3a3a3a3a
|
||||
3a3a3a3a3a3a3a3a3a436384897d6d644f3a3b3e60727472727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727171727171717171717171727171717171717171717171727171717273603a3839393a3a3a3a
|
||||
3a3a3a3a3a3a3a3b39425c6f68574745403b3c3848707472727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7271727271717171717171717271717171717171717171717271717172724d373938393a3a3a3a
|
||||
3a3a3a3a3a3a3a393a3d494e3e3e3c3b393c3a393b617272727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
71717171717171717171717171717171717171717171717172717171727241393839393c3a3a3a
|
||||
3a3a3a3a3a3a3a393b3a3a3d3b3a3d393c3b393b3a4b7374717272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271717172703a3b3937393b393a3a
|
||||
3a3a3a3a3a3a3a3a3a3b3a3a393d3a3b3b3b393a393e6d74727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271717171633c3a3a38383d413c3a
|
||||
3a3a3a3a3a3a3a3a3a3b3e4142393c3c3b3b3939393c6074707272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271717171623b373b3e40475d5a3f
|
||||
3b3b3a3a393b3b3b373839486b6d3d393b3b3a38393b5c73717272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717271717171717271717172623b373c3a3d3f425d65
|
||||
3f393a3a3d393b3e5b75795a3e6562393b3b3b39393d4f71727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717272717171717271717171717271717172623c3838538a9e7e4960
|
||||
4e3c3a3a3c3a57879ea9b0b68e445b463b3b3b3a3b3d4a72727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171727171717272717171727171717271717271717172613c374d96b6cabb8e48
|
||||
463b3a3a3a5291abb6c0c7d1be7f3f473b3b3a38393a4672727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717271717271717171717171717171717271717172603c3770acd1e3dfcc84
|
||||
3a3b3a3a3d85c0e7f4f7f7f2d9a4593a3b3b393839393f6b727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271717172603c3c9aebdbc5eefdda
|
||||
45393a3a45b8f7fcda8386d1faec8b373b3b3a3938383e6b727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717172717271717172613946c8db4e7188eaf9
|
||||
60443c3e4dc7fbe953468a7fcdfdc7433b3b3a3839383c6a727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271717172603a4bd59a387184a5fb
|
||||
755363655bc9fb9c3d3a5c907ffbe7543b3b3a3939383c6a717272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7171717171717171717171717171717171717171717171717171717171673b4ad5833e4a7f75f8
|
||||
6f484b575cb3f67b363c445b68f4ed553a3a3a3939393b6a717272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727272717171717171717271717171717171717272717271717171714245cc953c3d5667ce
|
||||
666e6f6c6282e97a3b3a3a3b5bf5ea58393a393a393c386a737272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171717171717171717171727171717171413eb7c4453b416fa6
|
||||
c3c9c6c2bcb1c19d3a3c3b3e8cfbdc4c3939393a39393969727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171717171727171717171727171717171413a8df18e477da2af
|
||||
cdcecbbfa6b2cfc289534273ebf9ac3f3939393939383b62727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
72727272717171717171717172717171717172717171717172717171717142385bdae697a9c1cd
|
||||
cfcecfd3d4d7dcd9d5c5a8c5e4dc633838393a39393a365b727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
72727272717171717171717172717171717171717171717172717171717142363e99a4a8b9cacf
|
||||
cecfd2d8dcdfe2dfdedad6cdc3ac693f39393939393a375b727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717271717271717171717171727171717271717171714137538fa4b4c2cbcf
|
||||
cfd1d5dadee2e1dfdedededfdcdab5553a3a39393a3c3859727272727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717271717171717271717171714b43839facbdc8cfcf
|
||||
d0d3d7dae2e2dfdedededed1b1c5c05e3c3b393a3c393c4c717272727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727271717171717171717171727171717172524c94a0b2c1cbcfcf
|
||||
d1d5d9dee1dfdedededabea8aebbad4f3b3c3a393a3a3d426b7273727272727272727272727272
|
||||
727272727272727272727272
|
||||
72727272727171717271717172727171717171717172717172727171717254478ea5b9c3ced0d1
|
||||
d3d6dbe0dededddccfabaab7bbbaaa4b3c3b393a37393f3b597174727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171727171727171717171717171717171727171717171503b5c84aec9d0d1d1
|
||||
d6d9dddcded9d1b0a0b1b8bbbab387403a3b6c7446333938477173727272727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271727171717171717171717271717171714f3d457986a3c5d1d6
|
||||
d8d9d8d1bfa795a2b4b7bab7adac8642383863978e6f413c3c6973727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171717171717171717271727172717272523b4390a58a8e9da8
|
||||
aba4a29d9ca5aeb3b2afabb7c4c2bb5d3b3645849b99663a3c4e72727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171727171717171717271727171717273543c49adbfa29097b4
|
||||
c0b9b5b3b4b0afada5aabec7cfcac3763a3b3c5e999a8745393d65727272727272727272727272
|
||||
727272727272727272727272
|
||||
727272727271717171717171727271717172717171717171727172727171483856aac1bfa18e9e
|
||||
b1b4b2afa9a3a0a4b3c1c1c5d3ded4ac413a3b4079895a38353948707472727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271727171717171717272727171717171717171717272737272633f3c4ea8c5c1c0a790
|
||||
919698959193a7bac2c1c9e1f4fbfbde6c3b3c3a39423c3b3a393e617473727272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271727171717171717172717272717270453b394dc1d9c8c2c2bc
|
||||
a79b9b9dabbac0c1c2cde3f8fdfdfdfabf453b3b3b3b3b3b3a393d4c7071727272727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171717172727171717171717171717171727270715b3d3b398ff5e7cec3c3c1
|
||||
c3c1c2c2c3c2c2c8d4e4f5fdfdfdfdfdf9723f3b3b3b3b3b3b3a39435a74747272727272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171717271726750463658e0fbf7e4c6c2c3
|
||||
c3c2c3c2c2c4ceddedf7fdfdfdfdfcfdfccb4a3b3d383b3b3a3a3a3e4a6b727271727272727272
|
||||
727272727272727272727272
|
||||
72727272717171717171717172717271717171717171717172716d4b544340b1f7fcfdf7d5c2c2
|
||||
c2c2c2c2c6d5e7f5fcfdfdfdfdfdfdfcfbf7833d3d3b3b3b393b393a3b4e717272717272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717271727271727171717171717171727371483a3a3673f4fdfcfbfceccfc5
|
||||
c2c1c2cde3f3fafdfdfdfcfdfdfdfdfcfdfccb40393a3b3b39393a393b3c607271727272727272
|
||||
727272727272727272727272
|
||||
727272727171717171727171727171717171717171717171705a3e3f3c45d0fcfdfdfcfdfcf5e6
|
||||
d9dce5f1fafcfcfcfdfdfcfdfdfdfdfdfdfdf66937393b3b393939393a3a486a72717272727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171717171717171725f3e3a3c3985fbfcfdfcfdfdfdfdf9
|
||||
f1f8fcfdfdfcfcfcfcfdfdfdfdfdfdfdfdfdfd933b3a3b3b3a3a3a3a393a3d4a6b717272727272
|
||||
727272727272727272727272
|
||||
717171717171717171717171717171717171717172727267443b3b394cd2fafcfdfdfdfdfdfdfb
|
||||
fafcfdfdfdfcfcfcfcfcfdfdfdfdfdfdfdfdfbc73b3b3a3a3a393a3a3a393c3e52727272727271
|
||||
727272717171717172717271
|
||||
727172727171717171717171727171717172727175736d423a3a383c7de7f9fefefdfdfdfdfdfc
|
||||
fbfcfdfdfdfcfdfdfcfdfdfdfdfdfdfdfdfcf8e24d3c3b3b3a3a3a3a3b3b393a3b537173727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271727171727271726e4d3b3b3a3646a0e2f8fdfefdfcfcfdfdfc
|
||||
f8f8fcfdfdfdfdfdfdfdfcfdfdfdfcfbf4f0efeb653f3b3b3b3b3b3b3b3b3938393f5772727272
|
||||
727272727272727272727272
|
||||
727172727171717171717171727171717171727171533f3b3b3a364aa5cef0f9fbfdfdfcf9f5f1
|
||||
ecebf3f8fafbfbfafcfaf8f7f5f5efeae3dbdfe687473b3b3a3b3a393a3a3b393a393f5c727272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717272717171717271623d3d3a3b3a3a5ba9b8d0e7edf5f9f9f5ede3
|
||||
e1e5e7f2fbf9fafaf7eee2dad3d0cececcc8c9d8c5513a3b3a373c393d3b3a3939383d3e637272
|
||||
727272727272727272727272
|
||||
727272727171717171717171727171717172726e4a3d383a3b3a456fadb5cbddebf8fbfcfdfced
|
||||
e4f5fbfdfcfdfdfdfcf7ede3d5cecac8c7c6c6c7deb844393e644e3a393b3a3a3939383c4b6f72
|
||||
727272727272727272727272
|
||||
72727272717171717172727272727271717272603e3a3b3b393a4b7cbbd3ebf7fdfcfcfbfdfcee
|
||||
f1fcfcfcfcfbfbfdfcfcfdfbf8f2e8ded3cbc7c6ceee993d34556f5f463c3d393b393a3a3e6272
|
||||
727272727272727272727272
|
||||
717171727171717172717171727171717173704b3b3d39473c3c5fb0dcf1fbfcfcfcfdfcfcfcf5
|
||||
f5fbfcfbfdfcfcfcfcfcfbfbfdfcfcfbf5e9d9cdc7d8ea683b3d3d58724b3b3d3b3a3a3a3c5173
|
||||
737272727272727272727272
|
||||
7272727271717171717271717271717171736e433e385e603e4090dff5fcfdfcfcfbfcfcfbfcfa
|
||||
fbfbfcfcfcfbfcfdfcfcfcfcfdfcfcfcfbfcf6e6d3c9e3c3403a3d394d7342353e3a3b3a39416b
|
||||
727372727272727272727272
|
||||
727171727171717171717171727171717172673d374a6b3b3d4cd9f8fdfcfcfcfbfdfbfcfbfcfc
|
||||
fbfcfcfbfcfcfcfcfdfcfcfcfbfcfbfcfcfdfdfaedd4ceeb6c3c3d3d3e51663a3e383b3a393c56
|
||||
717472727272727272727272
|
||||
727271727171717171717171727171717173573c3c604d3b3c8ffbfdfbfcfdfcfcfcfcfcfcfbfb
|
||||
fdfbfdfcfdfbfcfcfcfbfcfcfdfbfdfcfcfcfcfdfcedd3dac43d384e5b5064583a3c3b3a363c40
|
||||
6f7272727272727272727272
|
||||
727271727171717171717171727171717170483f476f373851e9fdfdfdfbfcfcfcfcfcfcfbfcfd
|
||||
fcfcfcfbfcfcfbfbfcfcfdfcfdfcfcfcfcfcfcfdfcfdf1e6f1583f5e7770546d42393b3a3b3a3d
|
||||
637272727272727272727272
|
||||
7272727271717172717171717271727372643f3c6a52373da0fbfcfcfcfcfbfcfcfcfdfcfcfbfb
|
||||
fcfbfcfbfbfcfdfcfcfcfcfcfcfcfcfbfcfcfdfcfdfbfcfcfd9545657c735259613d3c393a393b
|
||||
4e7172727272727272727272
|
||||
7272727271717171717171717271727471513a456a393a5ae6fafcfbfcfbfcfbfcfcfcfcfbf8fa
|
||||
fbfcfcfcfcfdfbfcfdfcfcfdfcfdfcfbfdfcfbfcfcfcfcfcfdc64f5e6456434078433b3d393b3d
|
||||
436c72727272727272727272
|
||||
727272727171727171717171727272726e47385c53333e98fbfbfcfcfcfcfcfcfcfcfcfcf9eafb
|
||||
fbfbfbfbfcfcfbfdfcfcfbfcfcfcfcfcfbfdfcfcfdfdfcfdfce7473d3f3b3b375e57393d383939
|
||||
3b6171727272727272727272
|
||||
72727272717171717171717172717272633c3b703f3451dafcfcfbfbfcfcfbfcfcfdfdfbf4e8fa
|
||||
fcfdfcfcfcfbfcfbfcfcfcfcfbfdfcfcfcfcfcfcfcfbfbfcfcfa623c3a3a3b374b66373d393939
|
||||
3b5072727272727272727272
|
||||
727272727171717171717171727272714e3b52613b388af8fcfbfcfbfcfcfcfcfcfdfcfcf2edfc
|
||||
fdfcfcfcfcfdfcfbfcfcfcfcfcfdfcfdfdfcfcfcfcfdfcfbfcfc84383b3b393a3f774138383938
|
||||
3a416f727272727272727272
|
||||
727271727171717171717171727272663c3c68453b40c5fbfbfbfdfdfcfcfdfbfcfcfcfcededfb
|
||||
fcfcfcfcfbfcfcfcfcfbfbfcfcfcfcfcfafcfcfcfcfbfcfdfcfda23c3b3b3b3b3d7437383b3a39
|
||||
3b3f68727272727272727272
|
||||
7272727271717171717171717174714b3a3a6b373b57eefcfcfcfcfbfcfcfbfcfcfbfdfbe9e9fb
|
||||
fbfcfcfcfbfcfcfbfbfcfcfbfbfcfbfcfcfcfcfcfbfcfcfcfdfcaf3b3b3b3c3a406f37373a3a39
|
||||
393d5f727272727272727272
|
||||
7171717272717171727171717271623e3d4a60373b82fbfcfcfdfbfdfcfcfcfcfbfcfcfbe6eafb
|
||||
fcfdfcfcfcfcfcfbfdfcfcfcfdfcfcfcfcfdfcfcfcfbfcfcfcfdbd3a3b3b3a3843633836393a38
|
||||
3a3c54727272727272727272
|
||||
727272727272717171717272736d463a37535c3839aafcfcfcfdfdfcfcfcfbfcfdfcfbfbe6eaf9
|
||||
fbfbfcfbfcfbfcfcfbfdfcfcfbfcfcfcfcfdfcfcfcfcfbfdfcfcce3c3b3b393c4e533937383939
|
||||
383c4f727272727272727272
|
||||
71717272717171717171717371593d3b3952603947cdfcfbfcfcfcfcfcfdfdfcfcfcfdfae2e9fa
|
||||
fbfbfcfdfbfcfcfcfcfcfcfcfcfcfcfbfbfcfbfdfcfcfdfafcfcd4423b3b3b3a5a4e393a39383a
|
||||
3a3940727272727272727272
|
||||
7272727271717171717271726c41393c3656683b47d6fdfbfcfcfcfcfcfcfbfcfdfcfcfae1e9fb
|
||||
fbfcfdfcfcfcfbfcfcfcfcfbfcfcfbfcfcfcfbfbfdfcfbfcfcfdda413b3b3c3b6644393a3a3938
|
||||
3b3a3f727272727272727272
|
||||
727271727171717171717171553c3b3b405f6d394ce1fcfcfcfcfcfcfbfdfcfcfcfcfcf9e1ecfb
|
||||
fcfcfcfcfcfbfbfcfdfcfcfdfbfcfcfcfcfbfcfbfbfdfcfdfcfcdd423b3b3b39643f393a393939
|
||||
3a3a3e727272727272727272
|
||||
7272727271727171717171724f3e363d4f767e3b5be9fcfdfcfdfbfbfbfcfcfbfafcfcf8e2eefb
|
||||
fbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfdfcfbfcfdfcfcfcfbfdde433b3b3b455f3a3b3b3a3a39
|
||||
39393e727272727272727272
|
||||
72727272717171717171716e46393938466b863e69edfcfdfcfcfcfcfbfcfcfcfcfcfcf7e2eefc
|
||||
fbfcfcfdfbfdfcfbfdfcfdfdfdfcfcfcfcfdfbfcfcfbfcfcfbfddc443b3b385a463b3b3b3a3839
|
||||
393940727272727272727272
|
||||
72727272717171727171716f413a3a3a3945724869effcfcfcfcfbfcfcfbfcfcfcfcfbf8e2f1fc
|
||||
fcfcfcfbfcfcfcfcfcfcfcfcfcfcfcfbfcfcfcfcfcfcfbfcfdfccc3f383a41683b3d3d3a3b3a3a
|
||||
3a3b42727272727272727272
|
||||
72727272727171717171716e443938393c3c49626eeefcfbfcfcfcfcfcfcfcfcfcfcfcf8e2f1fc
|
||||
fbfcfdfcfcfdfdfcfcfcfcfcfbfcfbfcfcfcfcfcfcfcfcfcfcfcb83b3f5a685d455b6054463f3a
|
||||
3c3a51727272727272727272
|
||||
727272727271717172717171524a728f8d5e424d80e3fbfcfcfbfcfcfdfcfbfcfcfcfcf7e1f2fb
|
||||
fcfcfcfcfcfcfcfbfcfdfbfcfcfcfcfcfcfcfcfcfcfdfcfcfcfc9c405b503d3b3c3c455368755c
|
||||
3d3a5a727272727272727272
|
||||
72727172717171727271727174a3c9d4d6c87b3b50b0f9fcfcfdfcfcfcfbfdfcfcfcfcf8e2f3fb
|
||||
fcfcfdfcfcfcfcfcfcfcfbfbfbfcfbfcfbfcfcfcfcfcfbf9fbf66956403b3a3a39393b3a3a608d
|
||||
654567717273727272727272
|
||||
7272727271717172717371739bc1d1d4d4d4cc7f3f55a9f5fbfbfcfbfdfbfbfcfbfbfcf8e1f3fc
|
||||
fbfcfcfcfbfcfbfcfcfdfdfcfcfcfcfcfcfcfcfcfbf6d5d3d3d29c59393a393b3b3b3b3a3c5d76
|
||||
61486b737272727272727272
|
||||
727272727171727171737288b1c7d1d4d4d5d4cc803f4ea1f0fbfcfcfcfbfcfcfcfdfcf6e3f4fc
|
||||
fdfbfbfcfcfcfcfcfcfcfcfcfdfbfcfcfcfbfcfcfcdccfdbdddccd5b3e3a393b3b3b3b3a3e655e
|
||||
519c89727373727272727272
|
||||
7171717272727171717276a3b8c8d2d4d5d4d5d5c66d3a4892e9fcfbfcfdfcfbfbfbfcf8e1effb
|
||||
fcfbfcfcfcfcfbfcfcfbfcfbfcfcfcfcfbfcfcfcfcd5c7d4d7dabb50383c393b3b3b3b3a414f40
|
||||
76cfda8f7374727272727272
|
||||
7172717372727271707e9db3c0cdd4d4d5d4d4d5d4b6543b4673d6fbfbfcfcfdfdfcfbfaeaedfc
|
||||
fbfdfcfcfcfdfdfcfcfcfcfcfbfbfcfbfcfdfcfcfcd7c5d3d4d1a9513a393a3b3b3b3b3a3a3653
|
||||
bad5d7b87371727272727272
|
||||
7170778c9baaa8a5a3a7b4bdc9d1d4d4d4d4d4d4d5d2a04435405bc1f7fcfcfdfbfcfcfdfbf9fc
|
||||
fdfcfbfcfcfcfbfcfcfcfcfbfcfcfcfdfcfcfbfbf8d8c4d3d2c9a85c3a3b383b3b3b3b3a3a4196
|
||||
cfd1d4c47370727272727272
|
||||
73779fb2bcc1bfbbbbbdc4cad1d4d4d4d5d4d4d4d5d4cb7c3d373c469ef3fbfcfcfcfdfcfcfcfc
|
||||
fcfbfcfcfbfcfcfcfcfcfcfcfcfcfcfcfbfcfbe8d3c7c4d2cec3ae78463c36383836373b477dbf
|
||||
cccfd1c07671727272727272
|
||||
738ab0bec9cdccc9c7ccd1d2d4d4d4d4d4d4d4d4d4d5d5b758383b3a4387e5fdfcfcfcfbfcfcfc
|
||||
fdfdfbfcfcfcfcfcfbfcfcfdfcfcfbfbfdfceecdc7c3c2cecbc1ae997146403e393d426189b2c3
|
||||
cccfd2c27572727272727272
|
||||
7193b7c7ced1d2d3d2d3d4d4d4d4d4d4d5d4d4d4d4d3d4cf953d383a353a68d0fbfbfbfbfdfcfc
|
||||
fbfbfbfdfcfdfcfbfcfcfbfcfcfcfdfcfbfde3c7c8c2bfc9cac4b5a69c8e7d77767e929eacc0ca
|
||||
d0d3d4d07f72727272727272
|
||||
729eb8c8d0d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d5d3d3d5c065383b38343f57bffbfbfcfcfbfc
|
||||
fcfcfcfcfbfbfcfdfcfcfcfcfbfbfbfcfcfbdfc9c8bdb9c8cac6bbb0a8a5a1a0a1a3a7b1bfccd1
|
||||
d4d4d4d3af77717372727272
|
||||
7192b7c6d0d4d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d3d4d4a64639383c3a3852c7fcfcfdfdfd
|
||||
fcfcfcfcfcfcfdfdfcfcfdfcfdfcfbfcfcfbe0c8c8b8b4c6cacac1b9b5b1b0afafb2b7c0cbd4d4
|
||||
d4d5d4d2cf9c727272727272
|
||||
728cb5c3ced4d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d4c97d3b363a3737396ef0fcfcfcfc
|
||||
fdfcfcfcfbfcfcfcfcfcfcfcfdfcfcfbfcfde7cbc9b3aebfc9cbc8c2bcbbb9b9b9bcc3c9d1d5d5
|
||||
d5d5d5d3d1c88f7272727272
|
||||
718bb2c0cdd3d4d4d4d4d4d5d5d5d4d4d5d4d4d4d5d4d4d4d4d5b6573a3939393742d8fcfcfcfc
|
||||
fcfbfcfbfcfcfcfdfcfcfcfcfbfbfcfcfdfbeed0c8adaabcc9d0cecbc5c3c2c1c3c5c8ced2d5d5
|
||||
d5d5d5d5d4d1c29071727372
|
||||
727fafbdccd3d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d4d4ce974038393b393fd1fcfcfcfb
|
||||
fcfbfcfdfcfcfbfcfcfcfcfcfbfcfcfbfcfcf3d3b588aabdc9d0d2d1cdcbc9c8caccced1d4d5d5
|
||||
d5d5d5d5d4d3d0cb99767372
|
||||
727aadbccbd3d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d5d3d5c57a3a3a383a59ecfdfcfcfc
|
||||
fbfcfcfcfcfcfcfbfcfbfcfcfbfcfcfcfbfcf2c46785aabdc9d1d3d3d2d2d0d1d1d2d2d3d4d5d5
|
||||
d5d5d5d5d5d5d4d4d4b88872
|
||||
727bacbacbd3d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d5d4d3d5b15441467bd7fcfcfcfbfc
|
||||
fcfdfdfcfcfcfbfcfcfcfdfdfcfcfcfcfbfccd5d4484abbecad1d2d4d4d5d4d5d4d4d4d4d5d5d5
|
||||
d5d5d5d5d5d4d5d4d4d5cea5
|
||||
727caebac9d3d4d4d4d4d5d5d5d5d4d4d4d4d4d4d4d4d4d4d5d5d3d3ce99a7dcf8fcfcfcfcfcfc
|
||||
fbfbfcfcfbfcfcfdfcfcfcfcfbfcfcfcf8c2523a4789aabecad1d3d4d5d5d5d5d5d5d5d5d5d5d5
|
||||
d5d5d5d5d5d5d5d5d5d5d2c6
|
||||
7084aebacbd2d3d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d3d1d1bfa4f4fafbfbfcfcfbfc
|
||||
fcfcfbfbfcfcfcfcfcfcfcfcfcfbfbf6a44538364e8aaabecbd2d4d4d4d4d4d4d4d4d4d4d4d4d4
|
||||
d4d4d4d4d4d4d5d5d4d3cec1
|
||||
718eacbbcdd3d3d4d4d4d5d4d5d4d4d4d5d4d4d5d4d4d5d4d5d4d4d3cfceadbdfbfcfbfcfcfcfc
|
||||
fbfdfdfcfbfdfbfbfcfcfbfbfcfce87f42353834578aa9c0cbd2d5d5d5d5d5d5d5d5d5d5d5d5d5
|
||||
d5d5d5d5d5d5d5d4d0c9c19f
|
||||
739daec0d0d4d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d5d4d4d4cfd0bc95d1fbfbfbfcfcfc
|
||||
fcfcfcfcfcfcfbfcfcfcfcfcefa84c3b383c39385e88a7c1ccd2d4d5d5d5d5d5d5d5d5d5d5d5d5
|
||||
d5d5d5d5d4d4d4d1c6bca676
|
||||
81a6b6cbd2d3d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d4d5d4d4d4cfcabf9f80cbfafbfcfcfc
|
||||
fbfcfcfcfcfbfcfcfcfcf0b45b3c3a3b3a3738396488a6bfccd3d4d5d5d5d5d5d5d5d5d5d5d5d5
|
||||
d4d4d4d4d3d1ccc1b5947871
|
||||
94aebfcdd2d3d4d4d4d4d4d4d5d4d4d4d4d4d4d4d4d4d4d5d5d4d4d4d0c6bda6835a8ad1eff7fb
|
||||
fcfbfcfcfbfaf3e7c5935a3f373a3b3b3b3b3b3d6b8ba7becbd2d5d5d5d5d5d5d5d5d5d5d5d4d4
|
||||
d5d4d4cec7c0b5a280727373
|
||||
a4afbdc8d1d2d2d3d4d3d4d4d5d4d4d4d4d4d4d4d4d4d4d4d5d4d4d4d1c8bca98d693b3d5c7e93
|
||||
a7aea0988f7c5e4b3d3b3a38383b3b3b3b3b3a43708ea7bdcad2d5d5d5d5d5d5d5d5d5d5d4d2d1
|
||||
d2d1c8bbb09a7f7372727272
|
||||
a3abb7bfc8cbcdcecfd0d2d4d3d4d4d4d4d4d4d4d4d4d4d5d5d4d5d4d0c8bca78f75473839383d
|
||||
3d3a39373836353a383b37373b3a3a393a3a38477590a6bac9d2d4d5d5d5d4d4d4d5d4d4d0ccca
|
||||
c6bdb1947971727272737272
|
||||
9aa5aaafb7bcbfc0c3c5c6cacccfd0d1d2d3d3d4d4d4d4d5d5d4d4d3cec3b6a28b7b553939393a
|
||||
393939393939393939393939393a393a3a393947768fa3b5c3cfd4d4d4d4d4d4d2d2d1cbc5bfbb
|
||||
b19b80737172727272727272
|
||||
7a91989da0a2a7abafb2b6b7bcc0c4c6c9cdd0d2d4d4d4d4d4d4d4d1c8bba9988a7c593a3a3a3a
|
||||
3a393a3a3a3a3a3a3a3a3a3a3a3938393a3a3a4a768a9daebdc9d0d2d3d3d2d2d0cdc7bfb8b2a6
|
||||
8a7371717171727272727272
|
||||
7172757a838c91979c9fa4a4a6a9aeb1b6bac1c7cdcfd1d2d1d1d1cbbfb09e8f857958383a3839
|
||||
3b3b3b3b3c3b3b3c3b3b3b3b3b3a3837383a394c738596a5b5bfc9ced0d1d0cdc7bfbbafa49a7b
|
||||
727172727272727272727272
|
||||
727273727272747c858b90949496999b9fa4acb3b9bec3c8cbcac4bbafa393867d734e3c404141
|
||||
4b555858585858585858585857554d454543404d7082909daab6c0c5c7c8c6beb8b2a89b8a7571
|
||||
727272727272727272727272
|
||||
7372727272727171727274797d8185898d90959ba2a6abb0b6b6b0a89c92867e776547656f7372
|
||||
707172727272727272727272727174736f6f66656c7e8a959fa6aeb3b4b4b1aaa49d9382727272
|
||||
727272727272727272727272
|
||||
727271717271717171727271717273767b7d82898e9195989b9b98928a837e7972616470727172
|
||||
72727171717171717172727272727272727171706d76828e979b9da0a1a19f9b968d7c73727271
|
||||
717272727272727272727272
|
||||
72727272717171717171717172717170717172767d81868788878683807c776f6e727271717171
|
||||
7171717171717171717272727272727272727271706f79838c9192959595938d84787171717272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171737372727375767a7c7d7b79746e6d72737271717171
|
||||
7171717171717171717272727272727272727271726e6f737c8285888786837974727172717272
|
||||
727272727272727272727272
|
||||
7272727271717171717171717271717171727272727272707273706f6f71707272727271717171
|
||||
71717271717171717172727272727272727272727272716e6f6f72757372727172717172727272
|
||||
727272727272727272727272
|
||||
showpage
|
||||
%%Trailer
|
||||
end
|
||||
%%EOF
|
534
contrib/groff/contrib/mom/examples/typeset.mom
Normal file
534
contrib/groff/contrib/mom/examples/typeset.mom
Normal file
@ -0,0 +1,534 @@
|
||||
\# This file contains three greeked documents collated together:
|
||||
\# two pages of a novelist's outline, two pages of a chapter in DRAFT
|
||||
\# style, and three pages of an academic paper set in two columns.
|
||||
\# Mom's defaults are used throughout, except for the last one, which
|
||||
\# shows off some of the ways of changing mom's behaviour.
|
||||
\#
|
||||
\# Since the text is greeked, and groff doesn't know how to
|
||||
\# hyphenate all that pseudo-latinate nonsense, I've inserted
|
||||
\# discretionary hyphens into a number of the the words.
|
||||
\#
|
||||
\# ===================================================================
|
||||
\#
|
||||
\# First, a sample "named" document, in this case, an outline.
|
||||
\# A novelist wouldn't normally write an outline with numbered heads,
|
||||
\# subheads and paraheads. I've turned the feature on merely to
|
||||
\# demonstrate it.
|
||||
\#
|
||||
\# Reference macros
|
||||
\#
|
||||
.TITLE "Lake Attica's Shores"
|
||||
.SUBTITLE "A Romance Novel"
|
||||
.AUTHOR "Rosemary Winspeare"
|
||||
.DRAFT 1 \" Ignored because COPYSTYLE is FINAL
|
||||
.REVISION 2 \" Ignored because COPYSTYLE is FINAL
|
||||
\#
|
||||
\# Docstyle macros
|
||||
\#
|
||||
.DOCTYPE NAMED "Outline"
|
||||
.PRINTSTYLE TYPESET
|
||||
\#
|
||||
\# Additional style macros
|
||||
\#
|
||||
.NUMBER_PARAHEADS
|
||||
\#
|
||||
.START
|
||||
.PP
|
||||
.PARAHEAD "A note on the setting"
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
At vero eos et accusam et justo duo do\%lo\%re et ea rebum.
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua.
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At
|
||||
vero, eos et accusam et justo duo do\%lo\%res et ea rebum. Consetetur
|
||||
sadipscing elitr, sed diam nonumy.
|
||||
.LINEBREAK
|
||||
.PP
|
||||
.PARAHEAD "About historical personnages"
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. Tempor invidunt ut
|
||||
labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna. Tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.NUMBER_HEADS
|
||||
.NUMBER_SUBHEADS
|
||||
.HEAD "Part One"
|
||||
.SUBHEAD "Chapter 1"
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit
|
||||
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
.SUBHEAD "Chapter 2"
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua at vero.
|
||||
.SUBHEAD "Chapter 3"
|
||||
.PP
|
||||
Eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum.
|
||||
.HEAD "Part Two"
|
||||
.SUBHEAD "Chapter 4"
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est
|
||||
lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no sea takimata
|
||||
sanctus est lorem ipsum dolor sit amet. Consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt.
|
||||
.SUBHEAD "Chapter 5"
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
||||
diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero
|
||||
eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren. Sea takimata sanctus est lorem ipsum dolor
|
||||
sit amet. Accusam et justo duo do\%lo\%res et ea rebum
|
||||
.SPREAD
|
||||
\#
|
||||
\# This next bit ensures that the line "...end of sample outline" doesn't
|
||||
\# spring the page trap, which would deposit a header at the top of the
|
||||
\# next page. COLLATE doesn't print a page header on the first page of
|
||||
\# a collated document, but if the page trap has already deposited one
|
||||
\# there, COLLATE can't undo it. Hence, we turn the trap off
|
||||
\# (TRAP OFF), set the line, and put in an EL afterwards.
|
||||
\# Normally, all this isn't necessary when collating documents,
|
||||
\# but if you ever have the problem of a page header printing at the
|
||||
\# top of a collated document, this is how you get around it.
|
||||
\#
|
||||
.TRAP OFF
|
||||
.RIGHT
|
||||
\*[BD]\&...end of sample outline
|
||||
.EL
|
||||
.TRAP
|
||||
.COLLATE
|
||||
\#
|
||||
\# =====================================================================
|
||||
\#
|
||||
\# Next, two sample pages of a chapter, set in DRAFT style, showing
|
||||
\# the use of the EPIGRAPH BLOCK macro and the QUOTE macro.
|
||||
\#
|
||||
\# You'll notice that the starting page number of this "draft" is 1 (in
|
||||
\# roman numerals). COPYSTYLE DRAFT always numbers the first page of a
|
||||
\# document 1.
|
||||
\#
|
||||
\# Reference macros
|
||||
\#
|
||||
.TITLE "Lake Attica's Shores"
|
||||
.SUBTITLE "A Romance Novel"
|
||||
.AUTHOR "Rosemary Winspeare"
|
||||
.CHAPTER 1
|
||||
.DRAFT 1 \" Appears in the header because copystyle is DRAFT
|
||||
.REVISION 2 \" Appears in the header because copystyle is DRAFT
|
||||
\#
|
||||
\# Docstyle macros
|
||||
\#
|
||||
.DOCTYPE CHAPTER
|
||||
.COPYSTYLE DRAFT
|
||||
\#
|
||||
\# Additional style macros
|
||||
\#
|
||||
.EPIGRAPH_FONT I \" Epigraphs are set in roman by default
|
||||
\#
|
||||
.START
|
||||
.EPIGRAPH BLOCK
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua.
|
||||
.RIGHT
|
||||
\*[ROM]\(emJoseph E. Blough
|
||||
.EPIGRAPH OFF
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. At vero eos
|
||||
et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt.
|
||||
.PP
|
||||
"Consetetur sadipscing elitr," dixit ea.
|
||||
.PP
|
||||
"Sed diam nonumy eirmod tempor invidunt ut labore," dixit eum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
.PP
|
||||
"Lorem ipsum dolor sit amet," dixit ea.
|
||||
.PP
|
||||
"At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est," dixit eum. "Sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua."
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor:
|
||||
.QUOTE
|
||||
Invidunt ut labore et do\%lo\%re
|
||||
Magna ali\%quyam erat sed diam
|
||||
Voluptua stet clita kasd gubergren
|
||||
No sea takimata sanctus est.
|
||||
.QUOTE OFF
|
||||
.PP
|
||||
Justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no
|
||||
sea takimata sanctus est. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
"Stet clita kasd gubergren," dixit ea.
|
||||
.PP
|
||||
"No sea takimata sanctus est," dixit eum.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna. Aliquyam erat
|
||||
sed diam voluptua. At vero eos et accusam et justo, duo do\%lo\%res et
|
||||
ea rebum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re magna ali\%quyam
|
||||
erat, sed diam voluptua at vero. Stet clita kasd gubergren, no sea
|
||||
takimata sanctus est. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
.PP
|
||||
Invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est. At vero eos et accusam et justo duo
|
||||
do\%lo\%res et ea rebum.
|
||||
.RIGHT
|
||||
\*[BD]\&...end of sample chapter
|
||||
.COLLATE
|
||||
\#
|
||||
\# =====================================================================
|
||||
\#
|
||||
\# Finally, a sample academic article, set in two columns with a
|
||||
\# 1.5-pica gutter between them. This example also uses
|
||||
\# BLOCKQUOTES, FOOTNOTES, and the relatively rare BREAK_QUOTE. In
|
||||
\# addition, it's set RECTO_VERSO, with differing left and right
|
||||
\# margins that alternate from page to page. (The header also
|
||||
\# flips from right to left, which you can see on the 2nd and 3rd
|
||||
\# pages).
|
||||
\#
|
||||
\# In order to accomodate the narrow measure of the columns, there's also
|
||||
\# a demonstration of things you can change with both the typesetting
|
||||
\# macros and the document processing "control" macros.
|
||||
\#
|
||||
\# Reference macros
|
||||
\#
|
||||
.TITLE "CONTROL EQUALS CHAOS"
|
||||
.SUBTITLE "\*[ALD1]The Psychological and Auditory Impact of Serial vs. Aleatoric Music\*[RLD1]"
|
||||
.AUTHOR "Joe Chang" "and" "Brad Hegel Connors"
|
||||
\#
|
||||
\# Docstyle macros
|
||||
\#
|
||||
.DOCTYPE DEFAULT
|
||||
.COPYSTYLE FINAL
|
||||
\#
|
||||
\# Additional style macros -- general type parameters
|
||||
\#
|
||||
.L_MARGIN 6P
|
||||
.R_MARGIN 4P+6p
|
||||
.PT_SIZE 10
|
||||
.AUTOLEAD 1.5
|
||||
\#
|
||||
\# Additional style macros -- change mom's default behaviour
|
||||
\#
|
||||
.RECTO_VERSO
|
||||
.PAGENUM 1
|
||||
.HEADER_LEFT "Chang, Connors" \" Because we have two authors
|
||||
.COLUMNS 2 1P+6p
|
||||
.SUBTITLE_SIZE +1.5
|
||||
.AUTHOR_SIZE +.5
|
||||
.DOCHEADER_LEAD +2p
|
||||
.HEADER_SIZE +1
|
||||
.PARA_INDENT 1P
|
||||
.SUBHEAD_SIZE +0
|
||||
.BLOCKQUOTE_FAMILY H
|
||||
.BLOCKQUOTE_SIZE -2
|
||||
.QUOTE_INDENT 2
|
||||
.NUMBER_HEADS OFF \" Because we turned them on in the first example
|
||||
.NUMBER_SUBHEADS OFF \" Ibid
|
||||
\#
|
||||
.START
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr. Sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna. Ali\%quyam
|
||||
erat, sed diam voluptua.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren no sea takimata. Sanctus est, lorem ipsum dolor sit
|
||||
amet. Consetetur sadipscing elitr, sed diam nonumy. Eirmod tempor
|
||||
invidunt ut labore et do\%lo\%re magna ali\%quyam erat. Sed diam voluptua
|
||||
at vero eos et accusam et justo.
|
||||
\#
|
||||
.BLOCKQUOTE
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est lorem.
|
||||
Ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor. Invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua at vero. Eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum stet clita.\c
|
||||
.FOOTNOTE \" Note the use of \c, above, to keep the word and footnote marker together.
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr.
|
||||
.FOOTNOTE OFF
|
||||
.BLOCKQUOTE OFF
|
||||
\#
|
||||
.PP
|
||||
Duo do\%lo\%res et ea rebum, stet clita kasd gubergren. No sea takimata
|
||||
sanctus est lorem ipsum dolor sit amet, consetetur sadipscing elitr.
|
||||
Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam. Erat sed diam voluptua at. Vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum stet. Clita kasd gubergren no sea takimata
|
||||
sanctus est.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt, ut labore et do\%lo\%re magna ali\%quyam
|
||||
erat? At vero eos et accusam et justo duo do\%lo\%res et ea. Rebum stet
|
||||
clita kasd gubergren no sea takimata sanctus. Est lorem ipsum dolor
|
||||
sit amet. Sadipscing\c
|
||||
.FOOTNOTE
|
||||
Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua.
|
||||
.FOOTNOTE OFF
|
||||
elitr sed diam nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re
|
||||
magna ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren no sea.
|
||||
\#
|
||||
.SUBHEAD "Schoenberg\(em" "The Origins of Serial Pitch Organization"
|
||||
\#
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea
|
||||
rebum. Stet clita kasd gubergren, no sea takimata sanctus est lorem.
|
||||
Ipsum dolor sit amet consetetur sadipscing. Elitr, sed diam nonumy,
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna. Ali\%quyam erat sed
|
||||
diam voluptua, at vero eos. Et accusam et justo duo do\%lo\%res et ea
|
||||
rebum stet clita kasd gubergren lorem ipsum. Dolor sit amet
|
||||
consetetur, sadipscing elitr, sed diam. Nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re. Magna ali\%quyam erat sed diam voluptua at vero.
|
||||
Eos et accusam et justo duo do\%lo\%res et ea rebum stet clita kasd.
|
||||
Gubergren no sea takimata sanctus est.
|
||||
.PP
|
||||
Amet consetetur sadipscing elitr sed diam nonumy eirmod. Tempor
|
||||
invidunt ut labore. Et dolor\%e magna ali\%quyam erat, sed diam voluptua,
|
||||
at vero. Eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren.
|
||||
.PP
|
||||
No sea takimata\c
|
||||
.FOOTNOTE
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.FOOTNOTE OFF
|
||||
sanctus est lorem. Ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et justo duo do\%lo\%res et ea rebum amet. Consetetur sadipscing
|
||||
elitr sed diam nonumy eirmod tempor invidunt ut labore, et do\%lo\%re
|
||||
magna ali\%quyam erat. Sed diam voluptua, at vero, eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum.
|
||||
\#
|
||||
.SUBHEAD "Messiaen to Stockhausen\(em" "The Quest for Absolute Control"
|
||||
\#
|
||||
.PP
|
||||
Vero eos et accusam et justo duo do\%lo\%res et ea rebum amet:
|
||||
.QUOTE
|
||||
Eirmod tempor invidunt
|
||||
Ut labore et do\%lo\%re magna ali\%quyam erat
|
||||
Sed diam voluptua
|
||||
At vero eos et accusam et justo duo do\%lo\%res.
|
||||
.QUOTE OFF
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr
|
||||
sed diam. Nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
Aliquyam erat, sed diam voluptua at vero eos et accusam. Et
|
||||
justo duo do\%lo\%res et ea rebum stet.
|
||||
.PP
|
||||
Elitr sed diam nonumy eirmod tempor. Invidunt ut labore et do\%lo\%re
|
||||
magna ali\%quyam erat sed. Diam voluptua at vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum.
|
||||
\#
|
||||
.BLOCKQUOTE
|
||||
Sanctus est lorem ipsum dolor sit amet, consetetur sadipscing. Elitr,
|
||||
sed diam nonumy eirmod tempor, invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam. Erat sed diam voluptua, at vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum amet. Consetetur sadipsc-
|
||||
.BREAK_QUOTE \" Needed because blockquote crosses page AND contain footnotes
|
||||
ing elitr sed diam nonumy eirmod tempor invidunt ut labore.
|
||||
Et do\%lo\%re magna ali\%quyam erat, sed diam voluptua, at vero.
|
||||
Eos et accusam et justo duo.\c
|
||||
.FOOTNOTE
|
||||
Labore et do\%lo\%re magna ali\%quyam erat sed diam voluptua.
|
||||
.FOOTNOTE OFF
|
||||
.BLOCKQUOTE OFF
|
||||
\#
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr. Sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt, ut labore et do\%lo\%re magna ali\%quyam
|
||||
erat? At vero eos et accusam et justo duo do\%lo\%res et ea. Rebum stet
|
||||
clita kasd gubergren no sea takimata sanctus. Est lorem ipsum dolor
|
||||
sit amet. Sadipscing elitr sed diam nonumy eirmod tempor invidunt.
|
||||
Ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
Stet clita kasd gubergren no sea. Ali\%quyam erat, sed diam voluptua.
|
||||
\#
|
||||
.SUBHEAD "John Cage\(em" "Leaving It All to Chance"
|
||||
\#
|
||||
.PP
|
||||
Sit amet, consetetur sadipscing elitr, sed diam nonumy. Eirmod tempor
|
||||
invidunt ut labore et do\%lo\%re magna. Ali\%quyam erat, sed diam
|
||||
voluptua at vero. Eos et accusam et justo duo dolores et ea rebum.
|
||||
Stet clita kasd gubergren, no sea taki\%mata sanctus est.
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero
|
||||
eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est lorem. Ipsum dolor sit amet,
|
||||
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero
|
||||
eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
Stet clita kasd gubergren. No sea takimata sanctus est lorem ipsum
|
||||
dolor sit. Amet consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor. Invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua, at vero. Eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
Stet clita kasd gubergren, no sea takimata. Sanctus est lorem ipsum
|
||||
dolor sit amet consetetur. Sadipscing elitr sed diam nonumy eirmod
|
||||
tempor invidunt. Ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
\#
|
||||
.BLOCKQUOTE
|
||||
.PP
|
||||
Stet clita kasd gubergren no sea. Takimata sanctus est lorem ipsum
|
||||
dolor sit amet. Consetetur sadipscing elitr sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re. Magna ali\%quyam\c
|
||||
.FOOTNOTE
|
||||
Diam nonumy eirmod tempor invidunt ut labore.
|
||||
.FOOTNOTE OFF
|
||||
erat, sed diam
|
||||
voluptua at vero eos et accusam. Et justo duo do\%lo\%res et ea rebum,
|
||||
stet clita kasd gubergren, no sea takimata.
|
||||
.PP
|
||||
Sanctus est lorem ipsum. Dolor sit amet consete-
|
||||
.BREAK_QUOTE \" Needed because blockquote crosses column AND contain footnotes
|
||||
tur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt ut
|
||||
labore. Et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
At vero eos et accusam et justo duo. Dolores et ea rebum stet clita
|
||||
kasd gubergren no sea.
|
||||
.PP
|
||||
Takimata lorem ipsum dolor sit amet consetetur sadipscing elitr.
|
||||
Sed diam, nonumy eirmod tempor, invidunt ut labore et do\%lo\%re magna.
|
||||
Aliquyam erat sed diam voluptua. At vero eos et accusam et
|
||||
justo.\c
|
||||
.FOOTNOTE
|
||||
At vero eos et accusam et justo duo.
|
||||
.FOOTNOTE OFF
|
||||
.BLOCKQUOTE OFF
|
||||
\#
|
||||
.PP
|
||||
Duo do\%lo\%res et ea rebum, stet clita kasd gubergren, no sea takimata
|
||||
sanctus. Est lorem ipsum. Dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy. Eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam.
|
||||
.PP
|
||||
Et justo duo do\%lo\%res et ea rebum stet clita kasd. Gubergren
|
||||
no sea takimata sanctus est. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et dolore magna ali\%quyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est.
|
||||
\#
|
||||
.SUBHEAD "Beyond Cage\(em" "Catching the Midnight Train"
|
||||
\#
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr. Sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna. Ali\%quyam
|
||||
erat, sed diam voluptua.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren no sea takimata. Sanctus est, lorem ipsum dolor sit
|
||||
amet. Consetetur sadipscing elitr, sed diam nonumy. Eirmod tempor
|
||||
invidunt ut labore et do\%lo\%re magna ali\%quyam erat. Sed diam voluptua
|
||||
at vero eos et accusam et justo.
|
||||
.PP
|
||||
Duo do\%lo\%res et ea rebum, stet clita kasd gubergren. No sea takimata
|
||||
sanctus est lorem ipsum dolor sit amet, consetetur sadipscing elitr.
|
||||
Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam. Erat sed diam voluptua at. Vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum stet. Clita kasd gubergren no sea takimata
|
||||
sanctus est.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt, ut labore et do\%lo\%re magna ali\%quyam
|
||||
erat? At vero eos et accusam et justo duo do\%lo\%res et ea. Rebum stet
|
||||
clita kasd gubergren no sea takimata sanctus. Est lorem ipsum dolor
|
||||
sit amet. Sadipscing\c
|
||||
.FOOTNOTE
|
||||
Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua.
|
||||
.FOOTNOTE OFF
|
||||
elitr sed diam nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re
|
||||
magna ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren no sea
|
||||
takimata lorem. Ipsum dolor sit amet, consetetur sadipscing elitr.
|
||||
Sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
Ali\%quyam erat, sed diam voluptua. At vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no sea
|
||||
takimata sanctus est.
|
||||
.RIGHT
|
||||
\*[BD]\&...end of sample article\*[PREV]
|
||||
.FINIS
|
233
contrib/groff/contrib/mom/examples/typewrite.mom
Normal file
233
contrib/groff/contrib/mom/examples/typewrite.mom
Normal file
@ -0,0 +1,233 @@
|
||||
\# A sample of PRINTSTYLE TYPEWRITE. The file contains the sample
|
||||
\# outline and sample draft chapter found in the docprocessing_tyeset.mom
|
||||
\# file. Only two changes have been made: the printstyle (here,
|
||||
\# TYPEWRITE instead of the default TYPESET), and the header size
|
||||
\# in the sample chapter, reduced by 1 point in order to accomodate
|
||||
\# all three parts of the header. Other than that, the samples have
|
||||
\# been left alone so you can assess and get a feel for how PRINTSTYLE
|
||||
\# TYPEWRITE behaves.
|
||||
\#
|
||||
\# ====================================================================
|
||||
\#
|
||||
\# Sample outline using PRINTSTYLE TYPEWRITE
|
||||
\#
|
||||
\# Reference macros
|
||||
\#
|
||||
.TITLE "Lake Attica's Shores"
|
||||
.SUBTITLE "A Romance Novel"
|
||||
.AUTHOR "Rosemary Winspeare"
|
||||
.DRAFT 1 \" Ignored because COPYSTYLE is FINAL (the default)
|
||||
.REVISION 2 \" Ignored because COPYSTYLE is FINAL (the default)
|
||||
\#
|
||||
\# Docstyle macros
|
||||
\#
|
||||
.DOCTYPE NAMED "Outline"
|
||||
.PRINTSTYLE TYPEWRITE
|
||||
\#
|
||||
\# Additional style macros
|
||||
\#
|
||||
.NUMBER_PARAHEADS
|
||||
\#
|
||||
.START
|
||||
.PP
|
||||
.PARAHEAD "A note on the setting"
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
At vero eos et accusam et justo duo do\%lo\%re et ea rebum.
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua.
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At
|
||||
vero, eos et accusam et justo duo do\%lo\%res et ea rebum. Consetetur
|
||||
sadipscing elitr, sed diam nonumy.
|
||||
.LINEBREAK
|
||||
.PP
|
||||
.PARAHEAD "About historical personnages"
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. Tempor invidunt ut
|
||||
labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna. Tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.NUMBER_HEADS
|
||||
.NUMBER_SUBHEADS
|
||||
.HEAD "Part One"
|
||||
.SUBHEAD "Chapter 1"
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit
|
||||
amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
|
||||
invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
.SUBHEAD "Chapter 2"
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua at vero.
|
||||
.SUBHEAD "Chapter 3"
|
||||
.PP
|
||||
Eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum.
|
||||
.HEAD "Part Two"
|
||||
.SUBHEAD "Chapter 4"
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est
|
||||
lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et justo
|
||||
duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no sea takimata
|
||||
sanctus est lorem ipsum dolor sit amet. Consetetur sadipscing elitr,
|
||||
sed diam nonumy eirmod tempor invidunt.
|
||||
.SUBHEAD "Chapter 5"
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
||||
diam nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna
|
||||
ali\%quyam erat, sed diam voluptua. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est lorem ipsum dolor sit amet.
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
|
||||
ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero
|
||||
eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus.
|
||||
.PP
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren. Sea takimata sanctus est lorem ipsum dolor
|
||||
sit amet. Accusam et justo duo do\%lo\%res et ea rebum
|
||||
.BR
|
||||
.RIGHT
|
||||
\*[BD]\&...end of sample outline \" Notice that TYPEWRITE ignores the \*[BD]
|
||||
.COLLATE
|
||||
\#
|
||||
\# =====================================================================
|
||||
\#
|
||||
\# Sample chapter in COPYSTYLE DRAFT using PRINTSTYLE TYPEWRITE
|
||||
\#
|
||||
\# Reference macros
|
||||
\#
|
||||
.TITLE "Lake Attica's Shores"
|
||||
.SUBTITLE "A Romance Novel"
|
||||
.AUTHOR "Rosemary Winspeare"
|
||||
.CHAPTER 1
|
||||
.DRAFT 1 \" Appears in the header because copystyle is DRAFT
|
||||
.REVISION 2 \" Appears in the header because copystyle is DRAFT
|
||||
\#
|
||||
\# Docstyle macros
|
||||
\#
|
||||
.DOCTYPE CHAPTER
|
||||
.COPYSTYLE DRAFT
|
||||
\#
|
||||
\# Additional style macros
|
||||
\#
|
||||
.EPIGRAPH_FONT I \" TYPEWRITE underlines italics
|
||||
.HEADER_SIZE -1
|
||||
\#
|
||||
.START
|
||||
.EPIGRAPH BLOCK
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua.
|
||||
.RIGHT
|
||||
\*[ROM]\(emJoseph E. Blough
|
||||
.EPIGRAPH OFF
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. At vero eos et accusam et justo duo do\%lo\%res et
|
||||
ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam
|
||||
voluptua. At vero eos et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. At vero eos
|
||||
et accusam et justo duo do\%lo\%res et ea rebum.
|
||||
.PP
|
||||
Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum
|
||||
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt.
|
||||
.PP
|
||||
"Consetetur sadipscing elitr," dixit ea.
|
||||
.PP
|
||||
"Sed diam nonumy eirmod tempor invidunt ut labore," dixit eum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
.PP
|
||||
"Lorem ipsum dolor sit amet," dixit ea.
|
||||
.PP
|
||||
"At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est," dixit eum. "Sed diam
|
||||
nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna ali\%quyam erat,
|
||||
sed diam voluptua."
|
||||
.PP
|
||||
Consetetur sadipscing elitr, sed diam nonumy eirmod tempor:
|
||||
.QUOTE
|
||||
Invidunt ut labore et do\%lo\%re
|
||||
Magna ali\%quyam erat sed diam
|
||||
Voluptua stet clita kasd gubergren
|
||||
No sea takimata sanctus est.
|
||||
.QUOTE OFF
|
||||
.PP
|
||||
Justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren, no
|
||||
sea takimata sanctus est. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
.PP
|
||||
"Stet clita kasd gubergren," dixit ea.
|
||||
.PP
|
||||
"No sea takimata sanctus est," dixit eum.
|
||||
.PP
|
||||
Nonumy eirmod tempor invidunt ut labore et do\%lo\%re magna. Aliquyam erat
|
||||
sed diam voluptua. At vero eos et accusam et justo, duo do\%lo\%res et
|
||||
ea rebum.
|
||||
.PP
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
|
||||
nonumy eirmod tempor invidunt. Ut labore et do\%lo\%re magna ali\%quyam
|
||||
erat, sed diam voluptua at vero. Stet clita kasd gubergren, no sea
|
||||
takimata sanctus est. Consetetur sadipscing elitr, sed diam nonumy
|
||||
eirmod tempor invidunt ut labore et do\%lo\%re magna.
|
||||
.PP
|
||||
Invidunt ut labore et do\%lo\%re magna ali\%quyam erat, sed diam voluptua.
|
||||
At vero eos et accusam et justo duo do\%lo\%res et ea rebum. Stet clita
|
||||
kasd gubergren, no sea takimata sanctus est. At vero eos et accusam et
|
||||
justo duo do\%lo\%res et ea rebum. Lorem ipsum dolor sit amet, consetetur
|
||||
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
|
||||
et do\%lo\%re magna ali\%quyam erat, sed diam voluptua. At vero eos et
|
||||
accusam et justo duo do\%lo\%res et ea rebum. Stet clita kasd gubergren,
|
||||
no sea takimata sanctus est. At vero eos et accusam et justo duo
|
||||
do\%lo\%res et ea rebum.
|
||||
.RIGHT
|
||||
\*[BD]\&...end of sample chapter \" Notice that TYPEWRITE ignores the \*[BD]
|
95
contrib/groff/contrib/mom/groff_mom.man
Normal file
95
contrib/groff/contrib/mom/groff_mom.man
Normal file
@ -0,0 +1,95 @@
|
||||
.ig
|
||||
This file is part of groff, the GNU roff type-setting system.
|
||||
|
||||
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
written by Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1 or
|
||||
any later version published by the Free Software Foundation; with the
|
||||
Invariant Sections being this .ig-section and AUTHORS, with no
|
||||
Front-Cover Texts, and with no Back-Cover Texts.
|
||||
|
||||
A copy of the Free Documentation License is included as a file called
|
||||
FDL in the main directory of the groff source package.
|
||||
..
|
||||
.
|
||||
.mso www.tmac
|
||||
.
|
||||
.de TQ
|
||||
.br
|
||||
.ns
|
||||
.TP \\$1
|
||||
..
|
||||
.
|
||||
.TH GROFF_MOM @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
.
|
||||
.
|
||||
.SH NAME
|
||||
.
|
||||
groff_mom \- groff `mom' macros
|
||||
.
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.
|
||||
.B groff
|
||||
.B \-mom
|
||||
[
|
||||
.IR files .\|.\|.\&
|
||||
]
|
||||
.br
|
||||
.B groff
|
||||
.B \-m\ mom
|
||||
[
|
||||
.IR files .\|.\|.\&
|
||||
]
|
||||
.
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
.
|
||||
.B mom
|
||||
(\[lq]my own macros\[rq], \[lq]my other macros\[rq], \[lq]maximum
|
||||
overdrive macros\[rq], .\|.\|.\&) is a macro set for groff, designed
|
||||
primarily to format documents for PostScript output.
|
||||
.PP
|
||||
.B mom
|
||||
provides two categories of macros: macros for typesetting and macros
|
||||
for document processing.
|
||||
The typesetting macros provide access to groff's typesetting power in
|
||||
ways that are simpler to master and to use than groff's primitives.
|
||||
The document processing macros provide customizable markup
|
||||
\[lq]tags\[rq] that allow the user to design and output
|
||||
professional-looking documents with a minimum of typesetting
|
||||
intervention.
|
||||
.PP
|
||||
mom comes with her own (very) complete documentation in HTML format.
|
||||
.
|
||||
.SH FILES
|
||||
.TP
|
||||
.B om.tmac
|
||||
\[en] the main macro file
|
||||
.TQ
|
||||
.B mom.tmac
|
||||
\[en] a wrapper file that calls om.tmac directly.
|
||||
.
|
||||
.TP
|
||||
.URL @HTMLDOCDIR@/momdoc/toc.html @HTMLDOCDIR@/momdoc/toc.html
|
||||
\[en] entry point to the HTML documentation
|
||||
.
|
||||
.TP
|
||||
.B @EXAMPLEDIR@/*.mom
|
||||
\[en] example files using mom
|
||||
.
|
||||
.
|
||||
.SH AUTHOR
|
||||
.
|
||||
.B mom
|
||||
was written by
|
||||
.MTO df191@ncf.ca "Peter Schaffter" .
|
||||
Please send bug reports to the
|
||||
.MTO bug-groff@gnu.org "groff bug mailing list"
|
||||
or directly to the author.
|
||||
.
|
||||
.\" Local Variables:
|
||||
.\" mode: nroff
|
||||
.\" End:
|
3
contrib/groff/contrib/mom/mom.tmac
Normal file
3
contrib/groff/contrib/mom/mom.tmac
Normal file
@ -0,0 +1,3 @@
|
||||
.\" mom.tmac
|
||||
.\"
|
||||
.do mso om.tmac
|
185
contrib/groff/contrib/mom/momdoc/appendices.html
Normal file
185
contrib/groff/contrib/mom/momdoc/appendices.html
Normal file
@ -0,0 +1,185 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Appendices</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="typemacdoc.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="APPENDICES">
|
||||
<h2 align="center"><u>APPENDICES</u></h2>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#MOREDOC">Further notes on this documentation</a>
|
||||
<li><a href="#CODENOTES">Some reflections on mom, with an apology</a>
|
||||
<li><a href="reserved.html">List of reserved words</a>
|
||||
<li><a href="#CONTACT">Contact the author</a>
|
||||
</ul>
|
||||
|
||||
<a name="MOREDOC">
|
||||
<h2><u>Further notes on this documentation</u></h2>
|
||||
</a>
|
||||
|
||||
Some <strong>mom</strong> users are sure to ask: "Why is this
|
||||
documentation in html? If <strong>mom</strong>'s so great, why not
|
||||
typeset the whole thing to show her off? And if groff's so great,
|
||||
why not write a man page?"
|
||||
<p>
|
||||
Valid questions, to be sure, and <strong>mom</strong> has
|
||||
answers. (Okay -- I have answers, but I speak for
|
||||
<strong>mom</strong>.)
|
||||
<p>
|
||||
The documentation is in html because I still find it the best tool
|
||||
for navigating lengthy manuals. Html, with its anchors and links,
|
||||
came into being precisely so people could do something they'd never
|
||||
been able to with the printed word: instantly track down internal
|
||||
and external references in a document.
|
||||
<p>
|
||||
To me, it's essential that people reading <strong>mom</strong>'s
|
||||
documentation never have difficulty finding precisely the macro
|
||||
they need for a particular task. Equally, when reading up on
|
||||
a macro, they should never be presented with terms or other
|
||||
macro names for which they cannot instantly find accurate explanations.
|
||||
Short of having written the documentation in TeX for the info browser
|
||||
(and TeX bloat is one of the reasons I prefer to typeset with groff),
|
||||
I can think of no better way to achieve the kind of truly useful
|
||||
documentation I wanted than html.
|
||||
<p>
|
||||
Another reason for html is that working with <strong>mom</strong>
|
||||
necessarily involves creating files inside a text editor. I use
|
||||
elvis, a truly fabulous vi clone that does a terrific job of rendering
|
||||
basic (text only) html. I may have written <strong>mom</strong>,
|
||||
but I still regularly call on her documentation. Elvis, with its
|
||||
html capabilities, lets me write and format <strong>mom</strong>
|
||||
documents AND peruse her documentation, clicking on links as
|
||||
necessary, without ever leaveing the comfy confines of my
|
||||
text editor.
|
||||
<p>
|
||||
Not everyone, of course, uses an editor with html capabilities.
|
||||
For them, firing up a browser is obviously necessary for reading
|
||||
<strong>mom</strong>'s documentation. Browsers being what they are,
|
||||
and not everyone on the globe having the cash for muscle machines
|
||||
to run Galeon, or Konqueror, or Mozilla, or Netscape, their browser
|
||||
needs to be one that's fast and light -- Lynx, in other words.
|
||||
<p>
|
||||
Some <strong>mom</strong> users may notice the absence of graphics,
|
||||
frames, and (for the most part) tables in this documentation.
|
||||
The reason is simple: Lynx. People who, for whatever reason (choice
|
||||
or necessity), use Lynx to read the documentation must be able to make
|
||||
sense of it. All of it. Graphical examples of <strong>mom</strong>
|
||||
in action might have made some parts of the documenation easier to
|
||||
write, but would have excluded Lynx-only users. And it goes
|
||||
without saying that the documentation looks fine if you're
|
||||
reading it in a graphical browser.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!=====================================================================>
|
||||
|
||||
<a name="CODENOTES">
|
||||
<h2><u>Some reflections on mom</u></h2>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
<strong>Mom</strong>, as a complete macro set, had her origins
|
||||
in a "library" of groff routines I wrote over the
|
||||
years to handle various aspects of typesetting and document
|
||||
processing that weren't adequately covered by ms, me, mm, and so
|
||||
on. Typically, I'd use the library to cobble together macro
|
||||
sets for new challenges as they came my way.
|
||||
<p>
|
||||
If, as Eric Raymond asserts, open source begins with a programmer
|
||||
scratching a personal itch, then <strong>mom</strong> can truly be
|
||||
called open source, even if, a mere humble set of macros standing on
|
||||
the shoulders of a giant named troff, she isn't programming at all.
|
||||
<p>
|
||||
As a writer living in a perpeptual state of penury, all the computers
|
||||
I've ever owned have been hand-me-downs -- several generations
|
||||
out-of-date and "resource challenged". Disk space has
|
||||
always been an issue, as has processor speed and available RAM.
|
||||
One of the reasons I run Linux is that it has helped enormously to
|
||||
get the most out of my poor little boxes.
|
||||
<p>
|
||||
In Linux-land, the choice of typesetting systems basically comes down
|
||||
to groff or TeX. Both are wonderful -- monumental achievements if you
|
||||
ask me -- and both have their own particular strengths. However, for
|
||||
people in my financial position (and there are millions of us around
|
||||
the globe, in both developed and developing countries), TeX and groff
|
||||
have one big difference: size. TeX is huge. Even its most ardent
|
||||
supporters agree it suffers from bloat, on top of being complex and
|
||||
unwieldy to manage. Groff is tiny by comparison, occupying minimal
|
||||
disk space and having only a small memory footprint while at the same
|
||||
time being flexible and powerful, typographically speaking. I've run
|
||||
it successfully on a 386 with 8 megs of RAM and a 250 meg hard disk.
|
||||
<p>
|
||||
However, groff has always had a liability: it's incredibly geeky.
|
||||
Owing to its very long history, it -- and its "power users"
|
||||
-- have remained stuck in a time warp. Most common macro packages
|
||||
still look as they did in those decades when memory was exorbitantly
|
||||
expensive, and every byte mattered. Documentation -- not always
|
||||
easy to find -- is written as if all readers are computer whizzes,
|
||||
or at least have a university degree in one of the higher sciences.
|
||||
<p>
|
||||
By no means a stupid man, nor unfamiliar with the precepts of
|
||||
programming, I've more than once torn my hair out over the terseness and
|
||||
ambiguity of groff's documentation. Making sense of certain primitives
|
||||
has often involved days of testing, interpreting the documentation
|
||||
instead of just using the primitive.
|
||||
<p>
|
||||
For some time now, groff users and macro writers have had the
|
||||
option to use "long" names, yet have mostly chosen not to.
|
||||
With long names, it's possible to create macro sets that are humanly
|
||||
readable and easy to interpret, encouraging development and evolution.
|
||||
What's more, the macros themselves need not be terse, intimidating,
|
||||
and easily forgotten 1- or 2-letter commands inserted in the body
|
||||
of a document. They can be sensible and helpful to everyone, groff
|
||||
newbies and old hands alike.
|
||||
<p>
|
||||
<strong>Mom</strong>'s macro file, om.tmac, uses long names, aliases,
|
||||
and a host of other groff goodies that have become part of the
|
||||
whole groff picture under the unflagging guidance of groff's current
|
||||
maintainer, Werner Lemberg. Nearly every macro, number register and
|
||||
string is "recognisable" simply by its name. The file is
|
||||
heavily commented. A consistent, if idiosyncratic, indenting style
|
||||
is used as well, significantly improving readability. Anyone
|
||||
wanting to futz around with <strong>mom</strong>'s macros should be
|
||||
able to do so with a minimum of head scratching.
|
||||
<p>
|
||||
To all you groff-jocks out there who love the aracana of
|
||||
groff-as-it-used-to-be, I apologise. To everyone else, I simply say:
|
||||
Welcome, and enjoy.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!=====================================================================>
|
||||
|
||||
<a name="CONTACT">
|
||||
<h2><u>Contact the author</u></h2>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
If you have any questions or comments about <strong>mom</strong>,
|
||||
suggestions to make, criticisms to offer, or bugs to report, use the
|
||||
groff mailing list at
|
||||
<a href="mailto:groff@ffii.org">groff@ffii.org</a>
|
||||
(subscription information available
|
||||
<a href="http://ffii.org/mailman/listinfo/groff/">here</a>)
|
||||
or contact me, Peter Schaffter, directly at
|
||||
<p>
|
||||
<address align="center">
|
||||
<a href="mailto:df191@ncf.ca">df191@ncf.ca</a>
|
||||
</address>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="typemacdoc.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
49
contrib/groff/contrib/mom/momdoc/cover.html
Normal file
49
contrib/groff/contrib/mom/momdoc/cover.html
Normal file
@ -0,0 +1,49 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Document processing, creating a cover page</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="letters.html#TOP">Next</a>
|
||||
<a href="rectoverso.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="COVER">
|
||||
<h2 align="center"><u>CREATING A COVER PAGE</u></h2>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
At present, <strong>mom</strong> provides no mechanism for
|
||||
automatically generating cover pages. It's a situation not likely
|
||||
to change, given that what's needed on document covers changes from
|
||||
document to document, both in terms of style and content. And,
|
||||
more often than not, what goes on covers is matter of personal taste.
|
||||
<p>
|
||||
If you want a document to begin with a cover page, typeset the cover
|
||||
(using the
|
||||
<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>).
|
||||
At the end, invoke
|
||||
<a href="typesetting.html#NEWPAGE">NEWPAGE</a>,
|
||||
then set up your document <em>in full</em> (see
|
||||
<a href="docprocessing.html#DOCPROCESSING_TUT">Tutorial -- Setting up a mom document</a>),
|
||||
invoking
|
||||
<a href="docprocessing.html#START">START</a>
|
||||
as usual once you're done. The cover page (and any typesetting
|
||||
commands on it) will have no effect on <strong>mom</strong>'s
|
||||
processing of the document itself, the first page of which, moreover,
|
||||
will be numbered "1" unless you instruct her otherwise
|
||||
with
|
||||
<a href="headfootpage.html#PAGENUMBER">PAGENUMBER</a>.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="letters.html#TOP">Next</a>
|
||||
<a href="rectoverso.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
653
contrib/groff/contrib/mom/momdoc/definitions.html
Normal file
653
contrib/groff/contrib/mom/momdoc/definitions.html
Normal file
@ -0,0 +1,653 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Definitions and Terms</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="using.html#TOP">Next</a>
|
||||
<a href="intro.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="TERMS">
|
||||
<h1 align="center"><u>DEFINITIONS OF TERMS USED IN THIS MANUAL</u></h1>
|
||||
</a>
|
||||
|
||||
<a href="#TERMS_TYPESETTING">Typesetting Terms</a>
|
||||
<br>
|
||||
<a href="#TERMS_GROFF">Groff Terms</a>
|
||||
<br>
|
||||
<a href="#TERMS_MOM">Mom Document Processing Terms</a>
|
||||
<p>
|
||||
I use a number of typesetting-specific and groff-specific terms
|
||||
throughout this documentation, as well as a few terms that apply
|
||||
to <strong>mom</strong> herself. To make life easier, I'll explain
|
||||
them here. Refer back to this section should you encounter a word
|
||||
or concept you're not familiar with. Words in these definitions that
|
||||
are defined elsewhere in this section are marked with asterisks.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<a name="TERMS_TYPESETTING">
|
||||
<h2><u>Typesetting terms</u></h2>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#TERMS_ASCENDER">Ascender</a>
|
||||
<li><a href="#TERMS_BASELINE">Baseline</a>
|
||||
<li><a href="#TERMS_BALLOTBOX">Ballot box</a>
|
||||
<li><a href="#TERMS_BULLET">Bullet</a>
|
||||
<li><a href="#TERMS_CAPHEIGHT">Cap-height</a>
|
||||
<li><a href="#TERMS_DESCENDER">Descender</a>
|
||||
<li><a href="#TERMS_DISCRETIONARYHYPHEN">Discretionary hyphen</a>
|
||||
<li><a href="#TERMS_DROPCAP">Drop cap</a>
|
||||
<li><a href="#TERMS_EM">Em/en</a>
|
||||
<li><a href="#TERMS_FAMILY">Family</a>
|
||||
<li><a href="#TERMS_FIGURESPACE">Figure space/Digit space</a>
|
||||
<li><a href="#TERMS_FIXEDWIDTHSPACE">Fixed width space</a>
|
||||
<li><a href="#TERMS_FONT">Font</a>
|
||||
<li><a href="#TERMS_FORCE">Force justify</a>
|
||||
<li><a href="#TERMS_JUST">Justify/justification</a>
|
||||
<li><a href="#TERMS_GUTTER">Gutter</a>
|
||||
<li><a href="#TERMS_KERN">Kerning</a>
|
||||
<li><a href="#TERMS_KERNUNIT">Kern Units</a>
|
||||
<li><a href="#TERMS_LEADING">Lead/leading</a>
|
||||
<li><a href="#TERMS_LEADER">Leaders</a>
|
||||
<li><a href="#TERMS_LIGATURES">Ligature</a>
|
||||
<li><a href="#TERMS_PICASPOINTS">Picas/Points</a>
|
||||
<li><a href="#TERMS_PS">Point Size</a>
|
||||
<li><a href="#TERMS_QUAD">Quad</a>
|
||||
<li><a href="#TERMS_RAG">Rag</a>
|
||||
<li><a href="#TERMS_SOLID">Solid/set solid</a>
|
||||
<li><a href="#TERMS_TRACKKERNING">Track kerning/Line kerning</a>
|
||||
<li><a href="#TERMS_UNBREAKABLESPACE">Unbreakable space</a>
|
||||
<li><a href="#TERMS_WORDSPACE">Word space</a>
|
||||
<li><a href="#TERMS_XHEIGHT">x-height</a>
|
||||
</ul>
|
||||
<dl>
|
||||
|
||||
<dt><a name="TERMS_ASCENDER"><em>Ascender</em></a>
|
||||
<dd>The portion of a letter that extends above the bowl. For example,
|
||||
the letters a, c, and e have no ascenders. The letters b, d, and h
|
||||
do.
|
||||
|
||||
<dt><a name="TERMS_BASELINE"><em>Baseline</em></a>
|
||||
<dd>The imaginary line on which the bottoms of capital letters and the
|
||||
bowls of lower case letters rest.
|
||||
|
||||
<dt><a name="TERMS_BALLOTBOX"><em>Ballot box</em></a>
|
||||
<dd>An unfilled square, usually <strong>*cap-height</strong> in size,
|
||||
typically placed beside items in a checklist.
|
||||
|
||||
<dt><a name="TERMS_BULLET"><em>Bullet</em></a>
|
||||
<dd>A small, filled circle typically found beside items or points in
|
||||
a list.
|
||||
|
||||
<dt><a name="TERMS_CAPHEIGHT"><em>Cap-height</em></a>
|
||||
<dd>The height of the tallest capital letter in a given
|
||||
<strong>*font</strong> at the current <strong>*point
|
||||
size</strong>.
|
||||
|
||||
<dt><a name="TERMS_DESCENDER"><em>Descender</em></a>
|
||||
<dd>The portion of a letter that extends beneath the
|
||||
<strong>*baseline</strong> (j, q, y are letters with descenders).
|
||||
|
||||
<dt><a name="TERMS_DISCRETIONARYHYPHEN"><em>Discretionary hyphen</em></a>
|
||||
<dd>A symbol inserted between two syllables of a word that indicates to a
|
||||
typesetting program the legal hyphenation points in the word. Normally,
|
||||
if hyphenation is turned on, groff knows where to hyphenate words.
|
||||
However, hyphenation being what it is (in English, at any rate),
|
||||
groff doesn't always get it right. Discretionary hyphens make sure
|
||||
it does. In the event that the word doesn't need to be hyphenated
|
||||
at all, groff leaves them alone. In groff, the discretionary hyphen is
|
||||
entered with
|
||||
<p>
|
||||
<pre>
|
||||
\%
|
||||
</pre>
|
||||
|
||||
(backslash followed by a percent).
|
||||
|
||||
<dt><a name="TERMS_DROPCAP"><em>Drop cap</em></a>
|
||||
<dd>A large, usually upper-case letter that introduces the first
|
||||
paragraph of a document or section thereof. The top of the drop
|
||||
cap usually lines up with the top of the first line of the
|
||||
paragraph, and typically "drops" several lines lower.
|
||||
Text adjacent to the drop cap is indented to the right of the
|
||||
letter until the bottom of the drop cap is reached, at which
|
||||
point text reverts to the left margin.
|
||||
|
||||
<dt><a name="TERMS_EM"><em>Em/en</em></a>
|
||||
<dd>A relative measurement equal to the width of the letter M at a
|
||||
given <strong>*point size</strong> in a given <strong>*font</strong>.
|
||||
Since most Ms are designed square, an em is usually (but sometimes
|
||||
erroneously) considered to be the same size as the current point size
|
||||
(i.e. if the point size of the type is 12, one em equals 12 points).
|
||||
An en is equal to the width of a letter N (historically 2/3 of an em,
|
||||
although groff treats an en as 1/2 of an em). Typically, ems and
|
||||
ens are used to measure indents, or to define the length of dashes
|
||||
(long hyphens).
|
||||
|
||||
<dt><a name="TERMS_FAMILY"><em>Family</em></a>
|
||||
<dd>The collective name by which a collection of
|
||||
<strong>*fonts</strong> are known, e.g. Helvetica, Times Roman,
|
||||
Garamond.
|
||||
|
||||
<dt><a name="TERMS_FIGURESPACE"><em>Figure space/Digit space</em></a>
|
||||
<dd>A <strong>*fixed width space</strong> that has the width of one digit. Used for
|
||||
aligning numerals in, say, columns or numbered lists. In groff,
|
||||
the figure space is entered with
|
||||
<p>
|
||||
<pre>
|
||||
\0
|
||||
</pre>
|
||||
|
||||
(backslash followed by a zero).
|
||||
|
||||
<dt><a name="TERMS_FIXEDWIDTHSPACE"><em>Fixed width space</em></a>
|
||||
<dd>Equal to <strong>*word space</strong>, but does not expand or
|
||||
contract when text is <strong>*justified</strong>. In groff, fixed
|
||||
width space is entered with
|
||||
<p>
|
||||
<pre>
|
||||
\<space>
|
||||
</pre>
|
||||
|
||||
where <space> means "hit the spacebar on your keyboard."
|
||||
|
||||
<dt><a name="TERMS_FONT"><em>Font</em></a>
|
||||
<dd>The specific style of type within a <strong>*family</strong>,
|
||||
e.g. roman, italic. Groff understands four fonts within any given
|
||||
family: roman, italic, bold, and bold italic.
|
||||
|
||||
<dt><a name="TERMS_FORCE"><em>Force justify
|
||||
</em></a>
|
||||
<dd>Sometimes, in <strong>*justified</strong> text, a line needs to be
|
||||
broken short of the right margin. Force justifying means telling a
|
||||
typesetting program (like groff) that you want the line broken early
|
||||
AND that you want the line's word spacing stretched to force the line
|
||||
flush with the right margin.
|
||||
|
||||
<dt><a name="TERMS_GUTTER"><em>Gutter</em></a>
|
||||
<dd>The vertical whitespace separating columns of type.
|
||||
|
||||
<dt><a name="TERMS_JUST"><em>Justify/justification</em></a>
|
||||
<dd>Lines of type are justified when they're flush at both the left and
|
||||
right margins. Justification is the act of making both margins flush.
|
||||
Some people use the terms "left justified" and "right justified"
|
||||
to mean type where only the left (or right) margins align. I don't.
|
||||
See <strong>*quad</strong>.
|
||||
|
||||
<dt><a name="TERMS_KERN"><em>Kerning</em></a>
|
||||
<dd>Moving pairs of letters closer together to remove excess
|
||||
whitespace between them. In the days before phototypesetting,
|
||||
type was set from small, rectangular blocks of wood or metal, each
|
||||
block having exactly one letter. Because the edge of each block
|
||||
determined the edge of each letter, certain letter combinations (TA,
|
||||
for example) didn't fit together well and had to be morticed by hand
|
||||
to bring them visually closer. Modern typesetting systems usually
|
||||
take care of kerning automatically, but they're far from perfect.
|
||||
Professional typesetters still devote a lot of time to fitting letters
|
||||
and punctuation together properly.
|
||||
|
||||
<dt><a name="TERMS_KERNUNIT"><em>Kern Units</em></a>
|
||||
<dd>A relative distance equal to 1/36 of the current
|
||||
<strong>*point size</strong>. Used between individual letters
|
||||
for <strong>*kerning</strong>. Different typesetting systems use
|
||||
different values (1/54 is popular), and sometimes call kern units by
|
||||
a different name.
|
||||
<p>
|
||||
<strong>Experts:
|
||||
<br></strong>A kern unit has nothing to do with groff
|
||||
machine units.
|
||||
|
||||
<dt><a name="TERMS_LEADING"><em>Lead/leading</em></a>
|
||||
<dd>The distance from the <strong>*baseline</strong> of one line of
|
||||
type to the line of type immediately beneath it. Pronounced "ledding."
|
||||
Also called line spacing. Usually measured in <strong>*points</strong>.
|
||||
<p>
|
||||
<em>In case you're interested...</em> In previous centuries,
|
||||
lines of type were separated by thin strips of -- you guessed it
|
||||
-- lead. Lines of type that had no lead between them were said to
|
||||
be "set solid." Once you began separating them with strips
|
||||
of lead, they were said to be "leaded", and the spacing was
|
||||
expressed in terms of the number of <strong>*points</strong> of lead.
|
||||
For this reason, "leading" and "line spacing"
|
||||
aren't, historically speaking, synonymous. If type was set 10 on 12,
|
||||
for example, the leading was 2 points, not 12. Nowadays, however,
|
||||
the two terms are used interchangeably to mean the distance from
|
||||
baseline to baseline.
|
||||
|
||||
<dt><a name="TERMS_LEADER"><em>Leaders</em></a>
|
||||
<dd>Single characters used to fill lines, usually to their end.
|
||||
So called because they "lead" the eye from one element
|
||||
of the page to another. For example, in the following (brief)
|
||||
Table of Contents, the periods (dots) are leaders.
|
||||
<p>
|
||||
<pre>
|
||||
Foreword............... 2
|
||||
Chapter 1.............. 5
|
||||
Chapter 2.............. 38
|
||||
Chapter 3.............. 60
|
||||
</pre>
|
||||
|
||||
<dt><a name="TERMS_LIGATURES"><em>Ligature</em></a>
|
||||
<dd>Ligatures are letters joined together to form a single character.
|
||||
The commonest are fi, fl, ff, ffi and ffl. Others are ae and oe.
|
||||
Occasionally, one sees an st ligature, but this is archaic and
|
||||
quite rare.
|
||||
|
||||
<dt><a name="TERMS_PICASPOINTS"><em>Picas/Points</em></a>
|
||||
<dd>There are twelve points in a pica, and six picas in an inch
|
||||
(hence 72 points to the inch). In the same way that gem-dealers
|
||||
have always used their own system of measurement for weight (carats),
|
||||
typographers have always used their own system of measurement for type.
|
||||
|
||||
<dt><a name="TERMS_PS"><em>Point Size</em></a>
|
||||
<dd>The nominal size of type, measured in <strong>*points</strong>,
|
||||
from the bottom of the longest <strong>*descender</strong> to the top
|
||||
of the highest <strong>*ascender</strong>. In reality, type is always
|
||||
fractionally smaller than its point size.
|
||||
|
||||
<dt><a name="TERMS_QUAD"><em>Quad</em></a>
|
||||
<dd>When only one margin of type is flush, lines of type are quadded in
|
||||
the direction of the flush margin. Therefore, quad left means the
|
||||
left margin is flush, the right isn't. Quad right means the right
|
||||
margin is flush, the left isn't. Quad center means neither the left
|
||||
nor the right margin is flush; rather, lines of type are quadded on
|
||||
both sides so that type appears centered on the page.
|
||||
|
||||
<dt><a name="TERMS_RAG"><em>Rag</em></a>
|
||||
<dd>Describes a margin that isn't flush. Rag right means the right
|
||||
margin isn't flush. Rag left means the left margin isn't flush.
|
||||
The expression "flush left/rag right" is sometimes used to describe
|
||||
type that is <strong>*quadded</strong> left.
|
||||
|
||||
<dt><a name="TERMS_SOLID"><em>Solid/set solid</em></a>
|
||||
<dd>When no <strong>*lead</strong> is added between lines of type
|
||||
(i.e. the <strong>*point size</strong> and linespacing are the
|
||||
same), the lines are said to be "set solid."
|
||||
|
||||
<dt><a name="TERMS_TRACKKERNING"><em>Track kerning/Line kerning</em></a>
|
||||
<dd>Sometimes, it's advantageous to increase or decrease the amount of
|
||||
space between every letter in a line by an equal (usually small)
|
||||
amount, in order to fit more (or fewer) characters on the line.
|
||||
The correct term is letter spacing, but track kerning and line kerning
|
||||
(and sometimes, just "kerning") have come to mean the same thing.
|
||||
|
||||
<dt><a name="TERMS_UNBREAKABLESPACE"><em>Unbreakable space</em></a>
|
||||
<dd>Equal to <strong>*word space</strong>, however words separated by
|
||||
an unbreakable space will always be kept together on the same line.
|
||||
Expands and contracts like word space. Useful for proper names, which
|
||||
should never be broken. In groff, unbreakable space is entered with
|
||||
<p>
|
||||
<pre>
|
||||
\~
|
||||
</pre>
|
||||
|
||||
(backslash followed by a tilde).
|
||||
|
||||
<dt><a name="TERMS_WORDSPACE"><em>Word space</em></a>
|
||||
<dd>The amount of whitespace between words. When text is
|
||||
<strong>*justified</strong>, word space expands or contracts to make
|
||||
the margins flush.
|
||||
|
||||
<dt><a name="TERMS_XHEIGHT"><em>x-height</em></a>
|
||||
<dd>The height of a lower case letter x in a given font at a given
|
||||
point size. Generally used to mean the average height of the bowl
|
||||
of lower case letters.
|
||||
</dl>
|
||||
<hr>
|
||||
|
||||
<a name="TERMS_GROFF">
|
||||
<h2><u>Groff terms</u></h2>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#TERMS_ALIAS">Alias</a>
|
||||
<li><a href="#TERMS_ARGUMENTS">Arguments</a>
|
||||
<li><a href="#TERMS_COMMENTLINES">Comment lines</a>
|
||||
<li><a href="#TERMS_CONTROLLINES">Control Lines</a>
|
||||
<li><a href="#TERMS_FILLED">Filled lines</a>
|
||||
<li><a href="#TERMS_INLINES">Inline escapes</a>
|
||||
<li><a href="#TERMS_INPUTLINE">Input line</a>
|
||||
<li><a href="#TERMS_MACROS">Macros</a>
|
||||
<li><a href="#TERMS_UNITS">Machine units</a>
|
||||
<li><a href="#TERMS_NUMERICARGUMENT">Numeric argument</a>
|
||||
<li><a href="#TERMS_OUTPUTLINE">Output line</a>
|
||||
<li><a href="#TERMS_PRIMITIVES">Primitives</a>
|
||||
<li><a href="#TERMS_STRINGARGUMENT">String Argument</a>
|
||||
<li><a href="#TERMS_UNITOFMEASURE">Unit of measure</a>
|
||||
<li><a href="#TERMS_ZEROWIDTHCHARACTER">Zero-width character</a>
|
||||
</ul>
|
||||
<dl>
|
||||
|
||||
<dt><a name="TERMS_ALIAS"><em>Alias</em></a>
|
||||
<dd>A <strong>*macro</strong> invoked by a name different from its
|
||||
"official" name. For example, the official name of the
|
||||
macro to change <strong>*family</strong> is <strong>FAMILY</strong>.
|
||||
Its alias is <strong>FAM</strong>. Aliases may be created for any
|
||||
macro (via the
|
||||
<a href="goodies.html#ALIAS">ALIAS</a>
|
||||
macro) provided the alias uses a name not already taken
|
||||
by the <strong>mom</strong> macros or one of the groff
|
||||
<strong>*primitives</strong>. For a complete list of alias names
|
||||
you must not use, see the
|
||||
<a href="reserved.html#RESERVED">list of reserved words</a>.
|
||||
|
||||
<dt><a name="TERMS_ARGUMENTS"><em>Arguments</em></a>
|
||||
<dd>Parameters or information needed by a <strong>*macro</strong>
|
||||
to do its job. For example, in the macro
|
||||
<p>
|
||||
<pre>
|
||||
.PT_SIZE 12
|
||||
</pre>
|
||||
|
||||
"12" is the argument. In the macro
|
||||
<p>
|
||||
<pre>
|
||||
.QUAD LEFT
|
||||
</pre>
|
||||
|
||||
LEFT is the argument. Arguments are separated from macros by spaces.
|
||||
Some macros require several arguments; each is separated by a space.
|
||||
|
||||
<dt><a name="TERMS_COMMENTLINES"><em>Comment Lines</em></a>
|
||||
<dd><strong>*Input lines</strong> introduced with the comment character
|
||||
<p>
|
||||
<pre>
|
||||
\#
|
||||
</pre>
|
||||
|
||||
When processing output, groff silently ignores everything on the
|
||||
line after the comment character.
|
||||
|
||||
<dt><a name="TERMS_CONTROLLINES"><em>Control Lines</em></a>
|
||||
<dd>Instructions to groff that appear on a line by themselves,
|
||||
which means that "control lines" are either
|
||||
<strong>*macros</strong> or <strong>*groff primitives</strong>.
|
||||
Control lines begin with a period or, occasionally, an apostrophe.
|
||||
|
||||
<dt><a name="TERMS_FILLED"><em>Filled lines/fill mode</em></a>
|
||||
<dd>Automatic <strong>*justification</strong> or
|
||||
<strong>*quadding</strong>. In fill mode, the ends of lines as they
|
||||
appear in your text editor are ignored. Instead, words from adjoining
|
||||
<strong>*input lines</strong> are added one at a time to the output
|
||||
line until no more words fit. Then, depending whether text is to
|
||||
be <strong>*justified</strong> or <strong>*quadded</strong> (left,
|
||||
right, or center), and depending on whether automatic hyphenation
|
||||
is turned on, groff attempts to hyphenate the last word, or, barring
|
||||
that, spreads and breaks the line (when justification is turned on) or
|
||||
breaks and quads the line (when quadding is turned on).
|
||||
<p>
|
||||
<a name="TERMS_NOFILL"></a>
|
||||
Nofill mode (non-filled text) means that groff respects the ends
|
||||
of lines as they appear in your text editor.
|
||||
|
||||
<dt><a name="TERMS_INLINES"><em>Inline escapes</em></a>
|
||||
<dd>Instructions issued to groff that appear as part of an
|
||||
<strong>*input line</strong> (as opposed to <strong>*macros</strong>,
|
||||
which must appear on a line by themselves). Inline escapes are always
|
||||
introduced by the backslash character. For example,
|
||||
<p>
|
||||
<pre>
|
||||
A line of text with the word T\*[BU 2]oronto in it
|
||||
</pre>
|
||||
|
||||
contains the inline escape \*[BU 2] (which means "move the letter
|
||||
'o' 2 <strong>*kern units</strong> closer to the letter 'T'").
|
||||
<p>
|
||||
<strong>Mom</strong>'s inline escapes always take the form
|
||||
<strong>\*[</strong><i>ESCAPE</i><strong>]</strong>, where <i>ESCAPE</i>
|
||||
is composed of capital letters, sometimes followed immediately
|
||||
by a digit, sometimes followed by a space and a <strong>*numeric
|
||||
argument</strong>. <strong>Groff</strong>'s escapes begin with the
|
||||
backslash character but typically have no star and are in lower case.
|
||||
For example, the <strong>mom</strong> escapes to move forward 6 points
|
||||
on a line are either
|
||||
<p>
|
||||
<pre>
|
||||
\*[FP6] or \*[FWD 6p]
|
||||
</pre>
|
||||
|
||||
while the <strong>groff</strong> escape for the same thing is
|
||||
<p>
|
||||
<pre>
|
||||
\h'6p'
|
||||
</pre>
|
||||
|
||||
<dt><a name="TERMS_INPUTLINE"><em>Input line</em></a>
|
||||
<dd>A line of text as it appears in your text editor.
|
||||
|
||||
<dt><a name="TERMS_MACROS"><em>Macros</em></a>
|
||||
<dd>Instructions embedded in a document that determine how groff processes
|
||||
the text for output. <strong>mom</strong>'s macros always begin with a
|
||||
period, on a line by themselves, and must be typed in capital letters.
|
||||
Typically, macros contain complex commands issued to groff -- behind
|
||||
the scenes -- via groff <strong>*primitives</strong>.
|
||||
|
||||
<dt><a name="TERMS_UNITS"><em>Machine units</em></a>
|
||||
<dd>A machine unit is 1/1000 of a <strong>*point</strong> when the
|
||||
groff device is ps. ("ps" means "PostScript" --
|
||||
the default device for which groff prepares output, and the device for
|
||||
which <strong>mom</strong> was specifically designed.)
|
||||
|
||||
<dt><a name="TERMS_NUMERICARGUMENT"><em>Numeric argument</em></a>
|
||||
<dd>An <strong>*argument</strong> that has the form of a digit.
|
||||
Numeric arguments can be built out of arithmetic expressions using
|
||||
+, -, *, and / for plus, minus, times, and divided-by respectively.
|
||||
If a numeric argument requires a <strong>*unit of measure</strong>,
|
||||
a unit of measure must be appended to <em>every</em> digit in the
|
||||
argument. For example:
|
||||
<p>
|
||||
<pre>
|
||||
.ALD 1i-1v
|
||||
</pre>
|
||||
|
||||
<strong>NOTE:</strong> groff does not respect the order of operations,
|
||||
but rather evaluates arithmetic expressions from left to right.
|
||||
Parentheses must be used to circumvent this peculiarity. Not to
|
||||
worry, though. The likelihood of more than just the occasional plus
|
||||
or minus sign when using <strong>mom</strong>'s macros is slim.
|
||||
|
||||
<dt><a name="TERMS_OUTPUTLINE"><em>Output line</em></a>
|
||||
<dd>A line of text as it appears in output copy.
|
||||
|
||||
<dt><a name="TERMS_PRIMITIVES"><em>Primitives</em></a>
|
||||
<dd>The two-letter, lower case instructions groff uses as its
|
||||
native command language, and out of which macros are built.
|
||||
|
||||
<dt><a name="TERMS_STRINGARGUMENT"><em>String Argument</em></a>
|
||||
<dd>Technically, any <strong>*argument</strong> that is not numeric.
|
||||
In this documentation, string argument means an argument that requires
|
||||
the user to input text. For example, in the <strong>*macro</strong>
|
||||
<p>
|
||||
<pre>
|
||||
.TITLE "My Pulitzer Novel"
|
||||
</pre>
|
||||
|
||||
"My Pulitzer Novel" is a string argument.
|
||||
<p>
|
||||
Because string arguments must be enclosed by double-quotes, you can't
|
||||
use double-quotes as part of the string argument. If you need
|
||||
double-quotes to be part of a string argument, use the <strong>*inline
|
||||
escapes</strong> <strong> \(lq</strong> and <strong>\(rq</strong>
|
||||
(leftquote and rightquote respectively) in place of the double-quote
|
||||
character (").
|
||||
|
||||
<dt><a name="TERMS_UNITOFMEASURE"><em>Unit of measure</em></a>
|
||||
<dd>The single letter after a <strong>*numeric argument</strong>
|
||||
that tells <strong>mom</strong> what measurement scale the argument
|
||||
should use. Commonly valid units are:
|
||||
<p>
|
||||
<table valign="baseline" summary="unitsofmeasure">
|
||||
<tr><td><strong>i</strong><td> = <td>inches
|
||||
<tr><td><strong>p</strong><td> = <td>points
|
||||
<tr><td><strong>P</strong><td> = <td>picas
|
||||
<tr><td><strong>c</strong><td> = <td>centimeters
|
||||
<tr><td><strong>m</strong><td> = <td>ems
|
||||
<tr><td><strong>n</strong><td> = <td>ens
|
||||
<tr><td><strong>v</strong><td> = <td>the current leading (line space)</td></tr>
|
||||
</table>
|
||||
<br>
|
||||
<dd>Units of measure must come immediately after the numeric argument (i.e.
|
||||
with no space between the argument and the unit of measure), like this:
|
||||
<p>
|
||||
<pre>
|
||||
.ALD 2v
|
||||
.LL 39P
|
||||
.IL 1i
|
||||
</pre>
|
||||
|
||||
The above example advances 2 line spaces and sets the line length to
|
||||
39 picas with a left indent of 1 inch.
|
||||
<p>
|
||||
<strong>IMPORTANT:</strong> Most <strong>mom</strong> macros
|
||||
that set the size or measure of something MUST be given a unit of
|
||||
measure. <strong>mom</strong>'s macros do not have default units
|
||||
of measure. There are a couple of exceptions, the most notable of
|
||||
which are <strong>PT_SIZE</strong> and <strong>LS</strong>. Both use
|
||||
<strong>*points</strong> as the default unit of measure, which means
|
||||
you don't have to append "p" to their argument.
|
||||
<p>
|
||||
You can enter decimal values for any unit of measure. Different units
|
||||
may be combined by adding them together (e.g. 1.5i+2m, which gives a
|
||||
measure of 1-1/2 inches plus 2 ems).
|
||||
<p>
|
||||
<strong>NOTE:</strong> a pica is composed of 12 points,
|
||||
therefore 12.5 picas is 12 picas and 6 points, not 12 picas
|
||||
and 5 points. If you want 12 picas and 5 points, you have to
|
||||
enter the measure as 12P+5p.
|
||||
|
||||
<dt><a name="TERMS_ZEROWIDTHCHARACTER"><em>Zero-width character</em></a>
|
||||
<dd>The <strong>*inline escape</strong> that allows you to print a
|
||||
literal period, apostrophe and, if <strong>*output lines</strong>
|
||||
are <strong>*filled</strong>, a space that falls at the beginning of
|
||||
an <strong>*input line</strong>. It looks like this:
|
||||
<p>
|
||||
<pre>
|
||||
\&
|
||||
</pre>
|
||||
|
||||
(backslash followed by an ampersand).
|
||||
<p>
|
||||
Normally, groff interprets a period (or an apostrophe) at the beginning
|
||||
of an input line as meaning that what follows is a <strong>*control
|
||||
line</strong>. In fill modes, groff treats a space at the beginning
|
||||
of an input line as meaning "start a new line and put a space
|
||||
at the beginning of it." If you want groff to interpret periods
|
||||
and apostrophes at the beginning of input lines literally (ie. print
|
||||
them), or spaces at the beginning of input lines as just garden
|
||||
variety word spaces, you must start the line with the zero-width
|
||||
character.
|
||||
</dl>
|
||||
<hr>
|
||||
|
||||
<a name="TERMS_MOM">
|
||||
<h2><u>Mom's Document Processing Terms</u></h2>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#TERMS_BLOCKQUOTE">Blockquote</a>
|
||||
<li><a href="#TERMS_CONTROLMACRO">Control macro</a>
|
||||
<li><a href="#TERMS_DOCHEADER">Docheader</a>
|
||||
<li><a href="#TERMS_EPIGRAPH">Epigraph</a>
|
||||
<li><a href="#TERMS_FOOTER">Footer</a>
|
||||
<li><a href="#TERMS_HEAD">Head</a>
|
||||
<li><a href="#TERMS_HEADER">Header</a>
|
||||
<li><a href="#TERMS_LINEBREAK">Linebreak</a>
|
||||
<li><a href="#TERMS_PARAHEAD">Paragraph head</a>
|
||||
<li><a href="#TERMS_QUOTE">Quote</a>
|
||||
<li><a href="#TERMS_RUNNING">Running text</a>
|
||||
<li><a href="#TERMS_SUBHEAD">Subhead</a>
|
||||
<li><a href="#TERMS_TOGGLE">Toggle</a>
|
||||
</ul>
|
||||
<dl>
|
||||
<dt><a name="TERMS_BLOCKQUOTE"><em>Blockquote</em></a>
|
||||
<dd>Cited material other than <strong>*quotes</strong>.
|
||||
Typically set at a smaller point size than paragraph text, indented
|
||||
from the left and right margins. Blockquotes are
|
||||
<strong>*filled</strong>.
|
||||
|
||||
<dt><a name="TERMS_CONTROLMACRO"><em>Control macro</em></a>
|
||||
<dd>Macros used in
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing</a>
|
||||
to control/alter the appearance of document elements (e.g. heads,
|
||||
quotes, footnotes, <strong>*headers</strong>, etc.).
|
||||
|
||||
<dt><a name="TERMS_DOCHEADER"><em>Document header/docheader</em></a>
|
||||
<dd>Document information (title, subtitle, author, etc) output
|
||||
at the top of page one.
|
||||
|
||||
<dt><a name="TERMS_EPIGRAPH"><em>Epigraph</em></a>
|
||||
<dd>A short, usually cited passage that appears at the
|
||||
beginning of a chapter, story, or other document.
|
||||
|
||||
<dt><a name="TERMS_FOOTER"><em>Footer/page footer</em></a>
|
||||
<dd>Document information (frequently author and title) output in
|
||||
the bottom margin of pages <em>after</em> page one. Not to be
|
||||
confused with footnotes, which are considered part of
|
||||
<strong>*running text</strong>.
|
||||
|
||||
<dt><a name="TERMS_HEAD"><em>Head</em></a>
|
||||
<dd>A title that introduces a major section of a document.
|
||||
|
||||
<dt><a name="TERMS_HEADER"><em>Header/page header</em></a>
|
||||
<dd>Document information (frequently author and title) output in
|
||||
the top margin of pages <em>after</em> page one.
|
||||
<p>
|
||||
<strong>NOTE:</strong> In terms of content and style, headers and
|
||||
<strong>*footers</strong> are the same; they differ only in their
|
||||
placement on the page. In most places in this documentation,
|
||||
references to the content or style of headers applies equally to
|
||||
footers.
|
||||
|
||||
<dt><a name="TERMS_LINEBREAK"><em>Linebreak/author linebreak</em></a>
|
||||
<dd>A horizontal gap in <strong>*running text</strong>, frequently
|
||||
set off by typographic symbols such as asterisks or daggers. Used to
|
||||
indicate a shift in the content of a document (e.g. a scene change in a
|
||||
short story).
|
||||
|
||||
<dt><a name="TERMS_PARAHEAD"><em>Paragraph head</em></a>
|
||||
<dd>A title joined to the body of a paragraph; hierarchically one
|
||||
level beneath <strong>*subheads</strong>.
|
||||
|
||||
<dt><a name="TERMS_QUOTE"><em>Quote</em></a>
|
||||
<dd>A quote, to <strong>mom</strong>, is a line-for-line setting
|
||||
of quoted material (e.g. poetry, song lyrics, or a snippet of
|
||||
programming code). You don't have to use
|
||||
<a href="typesetting.html#BR">BR</a>
|
||||
with quotes.
|
||||
|
||||
<dt><a name="TERMS_RUNNING"><em>Running text</em></a>
|
||||
<dd>In a document formatted with <strong>mom</strong>, running
|
||||
text means text that forms the body of the document, including
|
||||
elements such as heads and subheads. <strong>*Docheaders,
|
||||
*headers, *footers</strong> and page numbers are NOT part of
|
||||
running text.
|
||||
|
||||
<dt><a name="TERMS_SUBHEAD"><em>Subhead</em></a>
|
||||
<dd>A title used to introduce secondary sections of a document;
|
||||
hierarchically one level beneath sections introduced by
|
||||
<strong>*heads</strong>.
|
||||
|
||||
<dt><a name="TERMS_TOGGLE"><em>Toggle</em></a>
|
||||
<dd>A macro or tag that, when invoked without an argument,
|
||||
begins something or turns a feature on, and, when invoked with
|
||||
ANY argument, ends something or turns a feature off. See
|
||||
<a href="intro.html#TOGGLE_EXAMPLE">Example 3</a>
|
||||
of the section
|
||||
<a href="intro.html#MACRO_ARGS">How to read macro arguments</a>.
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="using.html#TOP">Next</a>
|
||||
<a href="intro.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
2320
contrib/groff/contrib/mom/momdoc/docelement.html
Normal file
2320
contrib/groff/contrib/mom/momdoc/docelement.html
Normal file
File diff suppressed because it is too large
Load Diff
1799
contrib/groff/contrib/mom/momdoc/docprocessing.html
Normal file
1799
contrib/groff/contrib/mom/momdoc/docprocessing.html
Normal file
File diff suppressed because it is too large
Load Diff
926
contrib/groff/contrib/mom/momdoc/goodies.html
Normal file
926
contrib/groff/contrib/mom/momdoc/goodies.html
Normal file
@ -0,0 +1,926 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Goodies</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="inlines.html#TOP">Next</a>
|
||||
<a href="typesetting.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="GOODIES">
|
||||
<h2><u>Goodies</u></h2>
|
||||
</a>
|
||||
|
||||
<a name="INTRO_GOODIES"></a>
|
||||
The macros in this section are a collection of useful (and sometimes
|
||||
nearly indispensible) routines to simplify typesetting.
|
||||
|
||||
<a name="INDEX_GOODIES">
|
||||
<h3><u>Goodies list</u></h3>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#ALIAS">ALIAS</a> (rename macros)
|
||||
<li><a href="#SILENT">SILENT</a> ("hide" input lines from output)
|
||||
<li><a href="#TRAP">TRAP</a> (suspend/re-invoke traps)
|
||||
<li><a href="#SMARTQUOTES">SMARTQUOTES</a>
|
||||
<li><a href="#CAPS">CAPS</a> (convert to upper case)
|
||||
<br>
|
||||
<li><strong>Underscore/underline</strong>
|
||||
<ul>
|
||||
<li><a href="#UNDERSCORE">UNDERSCORE</a> (single underscore)
|
||||
<li><a href="#UNDERSCORE2">UNDERSCORE2</a> (double underscore)
|
||||
<li><a href="#UNDERLINE">UNDERLINE</a> (underline -- Courier only!)
|
||||
<li><a href="#UL">\*[UL]</a> (inline escape to underline -- Courier only!)
|
||||
</ul>
|
||||
<li><strong>Padding</strong>
|
||||
<ul>
|
||||
<li><a href="#PAD">PAD</a> (insert equalized space into lines)
|
||||
<li><a href="#PAD_MARKER">PAD_MARKER</a> (change/set the marker used with <strong>PAD</strong>)
|
||||
</ul>
|
||||
<li><strong>Leaders</strong>
|
||||
<ul>
|
||||
<li><a href="#LEADER">\*[LEADER]</a> (inline escape to add leaders to a line)
|
||||
<li><a href="#LEADER_CHARACTER">LEADER_CHARACTER</a> (change/set the leader character)
|
||||
</ul>
|
||||
<li><strong>Drop caps</strong>
|
||||
<ul>
|
||||
<li><a href="#DROPCAP">DROPCAP</a> (set a drop cap)
|
||||
<li><strong>Support macros for DROPCAP</strong>
|
||||
<ul>
|
||||
<li><a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a> (change drop cap family)
|
||||
<li><a href="#DROPCAP_FONT">DROPCAP_FONT</a> (change drop cap font)
|
||||
<li><a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a> (alter size of drop cap)
|
||||
<li><a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a> (change space between drop cap and running text)
|
||||
</ul>
|
||||
</ul>
|
||||
<li><strong>Superscript</strong>
|
||||
<ul>
|
||||
<li><a href="#SUP">\*[SUP]</a> (set superscript)
|
||||
<li><a href="#CONDSUP">\*[CONDSUP]</a> (set condensed superscript)
|
||||
<li><a href="#EXTSUP">\*[EXTSUP}</a> (set extended superscript)
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<!---ALIAS--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="ALIAS"><h3><u>Rename macros</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>ALIAS</strong> <var><new name> <old name></var>
|
||||
|
||||
<p>
|
||||
The <strong>ALIAS</strong> macro may well be your best friend. With it,
|
||||
you can change the name of a macro to anything you like
|
||||
(provided the new name is not already being used by
|
||||
<strong>mom</strong>; see the
|
||||
<a href="reserved.html#RESERVED">list of reserved words</a>).
|
||||
<p>
|
||||
Groff has always been a bit intimidating for new users because
|
||||
its standard macro packages use very terse macro names.
|
||||
<strong>Mom</strong> doesn't like people to feel intimidated; she wants
|
||||
them to feel welcome. Consequently, she tries for easy-to-grasp,
|
||||
self-explanatory macro names. However, <strong>mom</strong> knows
|
||||
that people have their own ways of thinking, their own preferences,
|
||||
their own habits. Some of her macro names may not suit you; they
|
||||
might be too long, or aren't what you automatically think of
|
||||
when you want to do a particular thing, or might conflict with habits
|
||||
you've developed over the years.
|
||||
<p>
|
||||
If you don't like one of <strong>mom</strong>'s macro names,
|
||||
say, PAGEWIDTH, change it, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.ALIAS PW PAGEWIDTH
|
||||
| |
|
||||
new__| |__official
|
||||
name name
|
||||
</pre>
|
||||
|
||||
The first argument to <strong>ALIAS</strong> is the new name you want
|
||||
for a macro. The second is the "official" name by
|
||||
which the macro is normally invoked. After <strong>ALIAS</strong>,
|
||||
either can be used.
|
||||
<p>
|
||||
Note that in <strong>ALIAS</strong>, you do NOT include the period
|
||||
(dot) that precedes the macro when it's a
|
||||
<a href="definitions.html#TERMS_CONTROLLINES">control line</a>.
|
||||
<p>
|
||||
<strong>NOTE:</strong> If you use <strong>ALIAS</strong> a lot,
|
||||
and always for the same things, consider creating an aliases
|
||||
file of the form
|
||||
<p>
|
||||
<pre>
|
||||
.ALIAS <new name> <old name>
|
||||
.ALIAS <new name> <old name>
|
||||
.ALIAS <new name> <old name>
|
||||
...etc
|
||||
</pre>
|
||||
|
||||
Put the file someplace convenient and source it at the
|
||||
beginning of your documents using the groff
|
||||
<a href="definitions.html#TERMS_PRIMITIVES">primitive</a>
|
||||
<strong>.so</strong>. Assuming that you've created an aliases file
|
||||
called mom_aliases in your home directory under a directory
|
||||
called <code>Mom</code>, you'd source it by placing
|
||||
<p>
|
||||
<pre>
|
||||
.so /home/<username>/Mom/mom_aliases
|
||||
</pre>
|
||||
|
||||
at the top of your documents.
|
||||
<p>
|
||||
If you share documents that make use of an alias file, remember that
|
||||
other people don't have the file! Paste the whole thing at the top
|
||||
of your documents, please.
|
||||
<p>
|
||||
<strong>EXPERTS:</strong> <strong>ALIAS</strong> is an alias of
|
||||
<code>.als</code>. You can use either, or mix 'n' match with
|
||||
impunity.
|
||||
<br>
|
||||
|
||||
<!---SILENT--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="SILENT"><h3><u>Hide input lines from output</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>SILENT</strong> <var>toggle</var>
|
||||
<br>
|
||||
Alias: <strong>COMMENT</strong>
|
||||
|
||||
<p>
|
||||
Sometimes, you want to "hide"
|
||||
<a href="definitions.html#TERMS_INPUTLINE">input lines</a>
|
||||
from final output. This is most likely to be the case when setting
|
||||
up string tabs (see the
|
||||
<a href="STRING_TABS_TUT">quickie tutorial on string tabs</a>
|
||||
for an example), but there are other places where you might want input
|
||||
lines to be invisible as well. Any place you don't want input lines
|
||||
to appear in the output, use the <strong>SILENT</strong> macro.
|
||||
<p>
|
||||
<strong>SILENT</strong> is a toggle. Invoking it without an argument
|
||||
turns it on; any argument turns it off. E.g.,
|
||||
<p>
|
||||
<pre>
|
||||
.SILENT
|
||||
A line of text
|
||||
.SILENT OFF
|
||||
</pre>
|
||||
|
||||
The line "A line of text" will not appear in the
|
||||
output copy.
|
||||
<p>
|
||||
<strong>SILENT</strong> is aliased as <strong>COMMENT</strong>.
|
||||
If you want to insert non-printing comments into your documents,
|
||||
you may prefer this.
|
||||
<p>
|
||||
<strong>NOTE: SILENT</strong> does not automatically break an
|
||||
<a href="definitions.html#TERMS_INPUTLINE">input line</a>
|
||||
(see
|
||||
<a href="typesetting.html#BR">BR</a>)
|
||||
when you're in one of the
|
||||
<a href="definitions.html#TERMS_FILLED">fill modes</a>
|
||||
(<a href="typesetting.html#JUSTIFY">JUSTIFY</a>
|
||||
or
|
||||
<a href="typesetting.html#QUAD">QUAD L | R | C | J</a>).
|
||||
The same applies to tabs
|
||||
(<a href="typesetting.html#TAB_SET">typesetting</a>
|
||||
or
|
||||
<a href="typesetting.html#ST">string</a>)
|
||||
to which you've passed the <strong>J</strong> or <strong>QUAD</strong>
|
||||
argument. You must insert <code>.BR</code> yourself, or risk a
|
||||
portion of your text disappearing into a black hole.
|
||||
<br>
|
||||
|
||||
<!---TRAP--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="TRAP"><h3><u>Suspend/re-invoke traps</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>TRAP</strong> <var>toggle</var>
|
||||
|
||||
<p>
|
||||
Traps are vertical positions on the output page at which you or
|
||||
<strong>mom</strong> have instructed groff to start doing
|
||||
something automatically. Commonly, this is near the bottom of
|
||||
the page, where automatic behind-the-scenes processing is needed
|
||||
in order for one page to finish and another to start.
|
||||
<p>
|
||||
Sometimes, traps get sprung when you don't want them, notably
|
||||
when using the
|
||||
<a href="#EL">EL</a>
|
||||
and
|
||||
<a href="#TN">TN</a>
|
||||
macros. If this happens, surround just the offending macros and
|
||||
input lines with
|
||||
<p>
|
||||
<pre>
|
||||
.TRAP OFF
|
||||
...
|
||||
.TRAP
|
||||
</pre>
|
||||
|
||||
<strong>TRAP</strong> is a toggle, therefore any argument
|
||||
turns it off (i.e. suspends the trap), and no argument turns it
|
||||
(back) on.
|
||||
<p>
|
||||
Have a look at the <strong>IMPORTANT</strong> sections
|
||||
of <strong>EL</strong> and <strong>TN</strong> to see
|
||||
<strong>TRAP</strong> in action.
|
||||
<br>
|
||||
|
||||
<!---SMARTQUOTES--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="SMARTQUOTES"><h3><u>Smartquotes</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>SMARTQUOTES</strong> <var>toggle</var>
|
||||
|
||||
<p>
|
||||
<strong>SMARTQUOTES</strong> converts all instances of the
|
||||
inch-mark, (<kbd>"</kbd> -- also called a "doublequote"),
|
||||
into the appropriate instances of true open- and close-doublequotes.
|
||||
<p>
|
||||
Typographically, there is a difference between the inch-mark and
|
||||
doublequotes -- a BIG difference. Sadly, typewriters and computer
|
||||
keyboards supply only one: the inch-mark. While using inches for
|
||||
doublequotes is, and always has been, acceptable in typewriter-style
|
||||
copy, it has never been, and, God willing, never will be acceptable in
|
||||
typeset copy. Failure to turn inches into quotes is the first thing
|
||||
a professional typesetter notices in documents prepared by amateurs.
|
||||
And you don't want to look like an amateur, do you?
|
||||
<p>
|
||||
When preparing documents for typesetting, by all means, use the
|
||||
inch-mark. Just make sure to turn <strong>SMARTQUOTES</strong>
|
||||
on. <strong>SMARTQUOTES</strong> is a toggle, so invoking it with
|
||||
no argument turns it on, and invoking it with any argument at all
|
||||
turns it off.
|
||||
<p>
|
||||
If you're using the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
|
||||
with
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPESET</a>,
|
||||
<strong>SMARTQUOTES</strong> is on by default; with
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
|
||||
it's off by default (and should probably stay that way).
|
||||
<p>
|
||||
<strong>NOTE:</strong> <strong>SMARTQUOTES</strong> does not work on
|
||||
single quotes, which most people input with the apostrophe (found at
|
||||
the right-hand end of the "home row" on a QWERTY keyboard).
|
||||
Groff will interpret all instances of the apostrophe as an apostrophe,
|
||||
making the symbol useless as an open-single-quote. For open single
|
||||
quotes, input the backtick character typically found under the tilde
|
||||
on most keyboards. (Pour nous autres, "backtick" veut dire
|
||||
l'accent grave.)
|
||||
Here's an example of correct input copy with single quotes:
|
||||
<p>
|
||||
<pre>
|
||||
"But she said, `I don't want to!'"
|
||||
</pre>
|
||||
|
||||
<strong>ADDITIONAL NOTE:</strong> Whether or not you have
|
||||
<strong>SMARTQUOTES</strong> turned on, get into the habit of entering
|
||||
the foot- and inch-marks, when you need them, with the
|
||||
<a href="definitions.html#TERMS_INLINES">inline escapes</a>
|
||||
<strong>\*[FOOT]</strong> and <strong>\*[INCH]</strong>, instead
|
||||
of <kbd>'</kbd> and <kbd>"</kbd>.
|
||||
<br>
|
||||
|
||||
<!---CAPS--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="CAPS"><h3><u>Convert to upper case</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>CAPS</strong> <var>toggle</var>
|
||||
|
||||
<p>
|
||||
<strong>CAPS</strong> converts all lower case letters to upper
|
||||
case. Primarily, it's a support macro used by the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
|
||||
but you may find it helpful on occasion. <strong>CAPS</strong>
|
||||
is a toggle, therefore no argument turns it on, any argument
|
||||
turns it off.
|
||||
<p>
|
||||
<pre>
|
||||
.CAPS
|
||||
All work and no play makes Jack a dull boy.
|
||||
.CAPS OFF
|
||||
</pre>
|
||||
|
||||
produces, on output
|
||||
<p>
|
||||
<pre>
|
||||
ALL WORK AND NO PLAY MAKES JACK A DULL BOY.
|
||||
</pre>
|
||||
|
||||
<!---UNDERSCORE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="UNDERSCORE"><h3><u>Single underscore</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>UNDERSCORE</strong> <var>[ <distance below baseline> ] "<string>"</var>
|
||||
<br>
|
||||
<em>*Optional argument requires a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
|
||||
|
||||
<p>
|
||||
By default, <strong>UNDERSCORE</strong> places an underscore 2 points
|
||||
beneath the required
|
||||
<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>.
|
||||
The string must be enclosed in double-quotes, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.UNDERSCORE "Unmonitored monopolies breed high prices and poor products."
|
||||
</pre>
|
||||
|
||||
If you wish to change the distance of the rule from the
|
||||
baseline, use the optional argument <i><distance below
|
||||
baseline></i> (with a unit of measure).
|
||||
<p>
|
||||
<pre>
|
||||
.UNDERSCORE 3p "Unmonitored monopolies breed high prices and poor products."
|
||||
</pre>
|
||||
|
||||
The above places the underscore 3 points below the baseline.
|
||||
<p>
|
||||
<a name="NOTES_UNDERSCORE"></a>
|
||||
<strong>NOTES:</strong>
|
||||
<br>
|
||||
<strong>UNDERSCORE</strong> does not work across line breaks in output
|
||||
copy, which is to say that you can't underscore a multi-line passage
|
||||
simply by putting the text of the whole thing in the string you pass
|
||||
to <strong>UNDERSCORE</strong>. Each
|
||||
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>
|
||||
or portion of an output line you want underscored must be plugged
|
||||
separately into <strong>UNDERSCORE</strong>. Bear in mind, though,
|
||||
that underscoring should at best be an occasional effect in typeset
|
||||
copy. If you want to emphasize an entire passage, it's much, much
|
||||
better to change fonts (e.g. to italic or bold).
|
||||
<p>
|
||||
You can easily and successfully underline entire passages in simulated
|
||||
typewriter-style copy (i.e. if your font is Courier, or you're using
|
||||
the document processing macro
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>),
|
||||
with the
|
||||
<a href="#UNDERLINE">UNDERLINE</a>
|
||||
macro. <strong>UNDERLINE</strong> is designed specifically for this
|
||||
purpose, but works only with the Courier font.
|
||||
<p>
|
||||
<strong>Mom</strong> doesn't always get the position and length
|
||||
of the underscore precisely right in
|
||||
<a href="definitions.html#TERMS_JUST">justified</a>
|
||||
copy, although she's fine with all the other
|
||||
<a href="definitions.html#TERMS_FILLED">fill modes</a>,
|
||||
as well as with the no-fill modes. As of this writing, I have
|
||||
no solution to the occasional problems with justified copy.
|
||||
<p>
|
||||
<strong>UNDERSCORE</strong> tends to confuse
|
||||
<strong>gxditview</strong>, even though the output, when
|
||||
printed, looks fine. Generally, I recommend using <strong>gv</strong>
|
||||
to preview files anyway. See the section on
|
||||
<a href="#PREVIEWING">previewing</a>.
|
||||
<br>
|
||||
|
||||
<!---UNDERSCORE2--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="UNDERSCORE2"><h3><u>Double underscore</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>UNDERSCORE2</strong> <var>[ <distance below baseline> [ <distance between rules> ] ] "<string>"</var>
|
||||
<br>
|
||||
<em>*Optional arguments require a <a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a></em>
|
||||
|
||||
<p>
|
||||
By default, <strong>UNDERSCORE2</strong> places a double underscore
|
||||
2 points beneath the required
|
||||
<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>.
|
||||
The string must be enclosed in double-quotes, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.UNDERSCORE2 "Unmonitored monopolies breed high prices and poor products."
|
||||
</pre>
|
||||
|
||||
The default distance between the two rules is 2 points.
|
||||
<p>
|
||||
If you wish to change the distance of the double underscore from
|
||||
the baseline, use the optional argument <i><distance below
|
||||
baseline></i> (with a unit of measure), e.g.,
|
||||
<p>
|
||||
<pre>
|
||||
.UNDERSCORE2 3p "Unmonitored monopolies breed high prices and poor products."
|
||||
</pre>
|
||||
|
||||
which places the double underscore 3 points below the baseline.
|
||||
<p>
|
||||
If you wish to change the distance between the two rules as
|
||||
well, use the second optional argument <i><distance between
|
||||
rules></i> (with a unit of measure). Be aware that you must
|
||||
give a value for the first optional argument if you want to use
|
||||
the second.
|
||||
<p>
|
||||
<strong>NOTE:</strong> the same restrictions and caveats apply
|
||||
to <strong>UNDERSCORE2</strong> as to
|
||||
<strong>UNDERSCORE</strong>. See the
|
||||
<a href="#NOTES_UNDERSCORE">NOTES</a>
|
||||
for <strong>UNDERSCORE</strong>.
|
||||
<br>
|
||||
|
||||
<!---UNDERLINE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="UNDERLINE"><h3><u>Underline text -- Courier font only!</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>UNDERLINE</strong> <var>toggle</var>
|
||||
|
||||
<p>
|
||||
If your font is Courier, or you're using the document processing macro
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
|
||||
<strong>UNDERLINE</strong> allows you to underline words and
|
||||
passages that, in typeset copy, would be italicised. You invoke
|
||||
<strong>UNDERLINE</strong> as you do with all toggle macros --
|
||||
by itself (i.e. with no argument) to initiate underlining, and
|
||||
with any argument to turn underlining off.
|
||||
<p>
|
||||
When on, <strong>UNDERLINE</strong> underlines letters, words
|
||||
and numbers, but not punctuation or spaces. This makes for more
|
||||
readable copy than a solid underline.
|
||||
<p>
|
||||
<strong>NOTE:</strong> Underlining may also be turned on and off
|
||||
<a href="definitions.html#TERMS_INLINES">inline</a>
|
||||
with the escapes
|
||||
<a href="#UL">\*[UL]...\*[ULX].</a>
|
||||
<br>
|
||||
|
||||
<!---UL--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="UL"><h3><u>Inline escape for underlining -- Courier font only!</u></h3></a>
|
||||
<br>
|
||||
Inline: <strong>\*[UL]...\*[ULX]</strong>
|
||||
|
||||
<p>
|
||||
If your font is Courier, or you're using the document processing macro
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>,
|
||||
<strong>\*[UL]...\*[ULX]</strong> underlines words and
|
||||
passages that, in typeset copy, would be italicised.
|
||||
<p>
|
||||
<strong>\*[UL]</strong> underlines all letters, words and numbers
|
||||
following it, but not punctuation or spaces. This makes for more
|
||||
readable copy than a solid underline. When you no longer want
|
||||
underlining, <strong>\*[ULX]</strong> turns underlining off.
|
||||
<p>
|
||||
The macro
|
||||
<a href="#UNDERLINE">UNDERLINE</a>
|
||||
and the inline escape <strong>\*[UL]</strong> are functionally
|
||||
identical, hence
|
||||
<p>
|
||||
<pre>
|
||||
.FAM C
|
||||
.FT R
|
||||
.PT_SIZE 12
|
||||
.LS 24
|
||||
.SS 0
|
||||
.QUAD LEFT
|
||||
Which should I heed?
|
||||
.UNDERLINE
|
||||
Just do it
|
||||
.UNDERLINE OFF
|
||||
or
|
||||
.UNDERLINE
|
||||
just say no?
|
||||
.UNDERLINE OFF
|
||||
</pre>
|
||||
|
||||
produces the same result as
|
||||
<p>
|
||||
<pre>
|
||||
.FAM C
|
||||
.FT R
|
||||
.PT_SIZE 12
|
||||
.LS 24
|
||||
.SS 0
|
||||
.QUAD LEFT
|
||||
Which should I heed? \*[UL]Just do it\*[ULX] or \*[UL]just say no?\*[ULX]
|
||||
</pre>
|
||||
|
||||
<!---PAD--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="PAD"><h3><u>Insert space into lines</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>PAD</strong> <var>"<string with pad markers inserted>"</var>
|
||||
|
||||
<p>
|
||||
With <strong>PAD</strong>, you can insert unspecified amounts of
|
||||
whitespace into a line.
|
||||
<p>
|
||||
<strong>PAD</strong> calculates the difference between the length of
|
||||
text on the line and the distance remaining to its end, then inserts
|
||||
the difference (as whitespace) at the place(s) you specify.
|
||||
<p>
|
||||
Take, for example, the following relatively common typesetting
|
||||
situation, found at the bottom of legal agreements:
|
||||
<p>
|
||||
<pre>
|
||||
Date Signature |
|
||||
</pre>
|
||||
|
||||
The person signing the agreement is supposed to fill in the date
|
||||
as well as a signature. Space needs to be left for both, but
|
||||
the exact amount is neither known, nor important. All that
|
||||
matters is that there be a little space after Date, and rather
|
||||
more space after Signature. (In the above, | represents
|
||||
the end of the line at the prevailing line length.)
|
||||
<p>
|
||||
The
|
||||
<a href="#PADMARKER">pad marker</a>
|
||||
(see below) is # (the pound or number sign on your keyboard) and
|
||||
can be used multiple times in a line. With that in mind, here's how
|
||||
you'd input the Date/Signature line (assuming a length of 30 picas):
|
||||
<p>
|
||||
<pre>
|
||||
.LL 30P
|
||||
.PAD "Date#Signature###"
|
||||
</pre>
|
||||
|
||||
When the line is output, the space remaining on the line, after
|
||||
"Date" and "Signature" have been taken into
|
||||
account, is split into four (because there are four # signs).
|
||||
One quarter of the space is inserted between Date and Signature,
|
||||
the remainder is inserted after Signature.
|
||||
<p>
|
||||
One rarely wants merely to insert space in a line; one usually
|
||||
wants to fill it with something, hence <strong>PAD</strong> is
|
||||
particularly useful in conjunction with
|
||||
<a href="#STRING_TABS">string tabs</a>.
|
||||
The following uses the Date/Signature example above, but adds
|
||||
rules into the whitespace through the use of string tabs and
|
||||
groff's line drawing function,
|
||||
<a href="#INLINE_LINEDRAWING_GROFF">\l</a>.
|
||||
<p>
|
||||
<pre>
|
||||
.LL 30P
|
||||
.PAD "Date\*[ST1]#\*[ST1X]Signature\*[ST2]###\*[ST2X]"
|
||||
.EL
|
||||
.ST 1 J
|
||||
.ST 2 J
|
||||
.TAB 1
|
||||
\l'\n(.lu'
|
||||
.TN
|
||||
\l'\n(.lu'
|
||||
.TQ
|
||||
</pre>
|
||||
|
||||
If you're not a typesetter, and if you're new to groff, the
|
||||
example probably looks like gibberish. My apologies. However,
|
||||
remember that typesetting is a craft, and without having studied
|
||||
the craft, it takes a while to grasp its concepts. Also,
|
||||
although <strong>mom</strong> tries very hard to provide
|
||||
consistent-looking, comprehensible alternatives to groff's
|
||||
native
|
||||
<a href="definitions.html#TERMS_INLINES">inline escapes</a>,
|
||||
<strong>mom</strong> has not yet found a replacement for
|
||||
<strong>\l</strong>.
|
||||
<p>
|
||||
Basically, what the example does is:
|
||||
<br>
|
||||
<ol>
|
||||
<li>Pads the Date/Signature line (using the pad marker #),
|
||||
encloses the padded space with two string tabs markers,
|
||||
and outputs the line
|
||||
<br>
|
||||
<li>Sets the two string tabs (notice the use of
|
||||
<a href="#EL">EL</a>
|
||||
beforehand; you don't want <strong>mom</strong>
|
||||
to advance a line at this point)
|
||||
<br>
|
||||
<li>Calls the first string tab and draws a rule to its full
|
||||
length (<kbd>\l'\n(.lu'</kbd>; for an easier way to draw a rule
|
||||
that fills a tab, see
|
||||
<a href="inlines.html#INLINE_RULE_MOM">Full measure
|
||||
rules</a>).
|
||||
<br>
|
||||
<li>Calls the second tab with
|
||||
<a href="#TN">TN</a>
|
||||
(which moves to tab 2 and stays on the same baseline)
|
||||
then draws a rule to the full length of string tab 2
|
||||
</ol>
|
||||
<br>
|
||||
Often, when setting up string tabs this way, you don't want the
|
||||
padded line to print immediately. To accomplish this, use
|
||||
<a href="#SILENT">SILENT</a>.
|
||||
See the <a href="#STRING_TABS_TUT">quickie tutorial on string tabs</a>
|
||||
for an example.
|
||||
<p>
|
||||
<strong>NOTE:</strong> Because the pound sign (#) is used as the pad
|
||||
marker, you can't use it as a literal part of the pad string. If you
|
||||
need the sign to appear in the text of a padded line, change the pad
|
||||
marker with <a href="#PAD_MARKER">PAD_MARKER</a>. Also, be aware
|
||||
that # as a pad marker only applies within the <strong>PAD</strong>
|
||||
macro; at all other times it prints literally, just as you'd expect.
|
||||
<p>
|
||||
Another important consideration when using <strong>PAD</strong> is that
|
||||
because the string must be enclosed in double-quotes, you can't use the
|
||||
double-quote (") as part of the string. The way to circumvent
|
||||
this is to use the groff
|
||||
<a href="definitions.html#TERMS_INLINES">inline escapes</a>
|
||||
<strong>\(lq</strong> and <strong>\(rq</strong> (leftquote and
|
||||
rightquote respectively) whenever double-quotes are required in the
|
||||
string passed to <strong>PAD</strong>.
|
||||
<br>
|
||||
|
||||
<!---PAD_MARKER--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="PAD_MARKER"><h3><u>Change/set the marker used with PAD</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>PAD_MARKER</strong> <var><character to use as the pad marker></var>
|
||||
|
||||
<p>
|
||||
If you need to change <strong>mom</strong>'s default pad marker
|
||||
(#), either because you want a literal # in the padded line,
|
||||
or simply because you want to use another character instead, use
|
||||
<strong>PAD_MARKER</strong>, whose argument is the new pad marker
|
||||
character you want.
|
||||
<p>
|
||||
<pre>
|
||||
.PAD_MARKER @
|
||||
</pre>
|
||||
|
||||
changes the pad marker to @.
|
||||
<p>
|
||||
Once you've changed the pad marker, the new marker remains in
|
||||
effect for every instance of
|
||||
<a href="#PAD">PAD</a>
|
||||
until you change it again (say, back to the pound sign).
|
||||
<br>
|
||||
|
||||
<!---\*[LEADER]--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="LEADER"><h3><u>Inline escape to add leaders to a line</u></h3></a>
|
||||
<br>
|
||||
Inline: <strong>\*[LEADER]</strong>
|
||||
|
||||
<p>
|
||||
Whenever you want to fill a line or tab with
|
||||
<a href="definitions.html#TERMS_LEADER">leaders</a>,
|
||||
use the
|
||||
<a href="definitions.html#TERMS_INLINES">inline escape</a>
|
||||
<strong>\*[LEADER]</strong>. The remainder of the line or tab will be
|
||||
filled with the leader character. <strong>Mom</strong>'s
|
||||
default leader character is a period (dot), but you can change
|
||||
it to any character you like with
|
||||
<a href="#LEADER_CHARACTER">LEADER_CHARACTER</a>.
|
||||
<p>
|
||||
<strong>NOTE:</strong> <strong>\*[LEADER]</strong> fills lines
|
||||
or tabs right to their end. You cannot insert leaders into a
|
||||
line or tab and have text following the leader on the same line
|
||||
or in the same tab. Should you wish to achieve such an effect
|
||||
typographically, create tabs for each element of the line and
|
||||
fill them appropriately with the text and leaders you need.
|
||||
<a href="#STRING_TABS">String tabs</a> are perfect for this. An
|
||||
example follows.
|
||||
<p>
|
||||
<pre>
|
||||
.LL 30P
|
||||
.PAD "Date\*[ST1]#\*[ST1X]Signature\*[ST2]###\*[ST2X]"
|
||||
.EL
|
||||
.ST 1 J
|
||||
.ST 2 J
|
||||
.TAB 1
|
||||
\*[LEADER]
|
||||
.TN
|
||||
\*[LEADER]
|
||||
.TQ
|
||||
</pre>
|
||||
|
||||
The <strong>PAD</strong> line sets the words Date and Signature,
|
||||
and marks string tabs around the pad space inserted in the line.
|
||||
The string tabs are then "set", called, and filled
|
||||
with leaders. The result looks like this:
|
||||
<p>
|
||||
<pre>
|
||||
Date.............Signature.....................................
|
||||
</pre>
|
||||
|
||||
<!---LEADER_CHARACTER--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="LEADER_CHARACTER"><h3><u>Change/set the leader character</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>LEADER_CHARACTER</strong> <var><character></var>
|
||||
|
||||
<p>
|
||||
<strong>LEADER_CHARACTER</strong> takes one argument: a single
|
||||
character you would like to be used for
|
||||
<a href="definitions.html#TERMS_LEADER">leaders</a>.
|
||||
(See
|
||||
<a href="#LEADER">\*[LEADER]</a> for an explanation of how to
|
||||
fill lines with leaders.)
|
||||
<p>
|
||||
For example, to change the leader character from <strong>mom</strong>'s
|
||||
default (a period) to the underscore character, enter
|
||||
<p>
|
||||
<pre>
|
||||
.LEADER_CHARACTER _
|
||||
</pre>
|
||||
|
||||
<!---DROPCAP--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="DROPCAP"><h3><u>Drop caps</u></h3></a>
|
||||
<br>
|
||||
Macro: <strong>DROPCAP</strong> <var><dropcap letter> <number of lines to drop> [ COND <percentage> | EXT <percentage> ]</var>
|
||||
|
||||
<p>
|
||||
The first two arguments to <strong>DROPCAP</strong> are the letter you
|
||||
want to be the
|
||||
<a href="definitions.html#TERMS_DROPCAP">drop cap</a>
|
||||
and the number of lines you want it to drop. By default,
|
||||
<strong>mom</strong> uses the current family and font for the drop cap.
|
||||
<p>
|
||||
The optional argument (COND or EXT) indicates that you want the
|
||||
drop cap condensed (narrower) or extended (wider). If you use
|
||||
<strong>COND</strong> or <strong>EXT</strong>, you must follow the
|
||||
argument with the percentage of the letter's normal width you want
|
||||
it condensed or extended. No percent sign (%) is required.
|
||||
<p>
|
||||
<strong>Mom</strong> will do her very best to get the drop cap to
|
||||
line up with the first line of text indented beside it, then set
|
||||
the correct number of indented lines, and restore your left margin
|
||||
when the number of drop cap lines has been reached.
|
||||
<p>
|
||||
Beginning a paragraph with a drop cap "T" looks
|
||||
like this:
|
||||
<p>
|
||||
<pre>
|
||||
.DROPCAP T 3 COND 90
|
||||
he thousand injuries of Fortunato I had borne as best I
|
||||
could, but when he ventured upon insult, I vowed revenge.
|
||||
You who so well know the nature of my soul will not suppose,
|
||||
however, that I gave utterance to a threat...
|
||||
</pre>
|
||||
|
||||
The drop cap, slightly condensed but in the current family and font,
|
||||
will be three lines tall, with whatever text fills those three
|
||||
lines indented to the right of the letter. The remainder of the
|
||||
paragraph's text will revert to the left margin.
|
||||
<p>
|
||||
<strong>NOTE:</strong> When using the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macro</a>
|
||||
<a href="#PP">PP</a>,
|
||||
<strong>DROPCAP</strong> only works
|
||||
<br>
|
||||
<ul>
|
||||
<li>with initial paragraphs (i.e. at the start of the document,
|
||||
or after
|
||||
<a href="#HEAD">HEAD</a>),
|
||||
<li>when <strong>DROPCAP</strong> comes immediately after <strong>PP</strong>,
|
||||
<li>and when the
|
||||
<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
|
||||
is TYPESET.
|
||||
</ul>
|
||||
<br>
|
||||
If these conditions aren't met, <strong>DROPCAP</strong> is silently ignored.
|
||||
<p>
|
||||
<strong>WARNING:</strong> <strong>DROPCAP</strong> puts a bit of
|
||||
a strain on resource-challenged systems. If you have such a
|
||||
system and use drop caps extensively in a document, be prepared
|
||||
for a wait while <strong>mom</strong> does her thing.
|
||||
|
||||
<h3><a name="DROPCAP_SUPPORT"><u>Support macros for DROPCAP</u></a></h3>
|
||||
Drop caps are the bane of most typesetters' existence. It's
|
||||
very difficult to get the size of the drop cap right for the
|
||||
number of drop lines, especially if the drop cap is in a
|
||||
different family from the prevailing family of running text.
|
||||
Not only that, but there's the gutter around the drop cap to
|
||||
take into account, plus the fact that the letter may be too wide
|
||||
or too narrow to look anything but odd or misplaced.
|
||||
<p>
|
||||
<strong>Mom</strong> solves the last of these problems with the
|
||||
<strong>COND</strong> and <strong>EXT</strong> arguments. The
|
||||
rest she solves with macros that change the default behaviour of
|
||||
<strong>DROPCAP</strong>, namely
|
||||
<p>
|
||||
<a href="#DROPCAP_FAMILY">DROPCAP_FAMILY</a>,
|
||||
<br>
|
||||
<a href="#DROPCAP_FONT">DROPCAP_FONT</a>,
|
||||
<br>
|
||||
<a href="#DROPCAP_ADJUST">DROPCAP_ADJUST</a>
|
||||
<br>
|
||||
and
|
||||
<br>
|
||||
<a href="#DROPCAP_GUTTER">DROPCAP_GUTTER</a>.
|
||||
<p>
|
||||
These macros must, of course, come before you invoke
|
||||
<strong>DROPCAP</strong>.
|
||||
|
||||
<h3><a name="DROPCAP_FAMILY"><u>DROPCAP_FAMILY</u></a></h3>
|
||||
|
||||
Set the drop cap family by giving
|
||||
<strong>DROPCAP_FAMILY</strong> the name of the family you want,
|
||||
e.g.
|
||||
<p>
|
||||
<pre>
|
||||
.DROPCAP_FAMILY H
|
||||
</pre>
|
||||
|
||||
which will set the family to Helvetica for the drop cap only.
|
||||
|
||||
<h3><a name="DROPCAP_FONT"><u>DROPCAP_FONT</u></a></h3>
|
||||
|
||||
Set the drop cap font by giving
|
||||
<strong>DROPCAP_FONT</strong> the name of the font you want,
|
||||
e.g.
|
||||
<p>
|
||||
<pre>
|
||||
.DROPCAP_FONT I
|
||||
</pre>
|
||||
|
||||
which will set the font to italic for the drop cap only.
|
||||
|
||||
<h3><a name="DROPCAP_ADJUST"><u>DROPCAP_ADJUST</u></a></h3>
|
||||
|
||||
If the size <strong>mom</strong> calculates for the drop cap
|
||||
isn't precisely what you want, you can increase or decrease it
|
||||
with <strong>DROPCAP_ADJUST</strong>, like this:
|
||||
e.g.
|
||||
<p>
|
||||
<pre>
|
||||
.DROPCAP_ADJUST +1
|
||||
or
|
||||
.DROPCAP_ADJUST -.75
|
||||
</pre>
|
||||
|
||||
<strong>DROPCAP_ADJUST</strong> only understands
|
||||
<a href="definitions.html#TERMS_PICASPOINTS">points</a>,
|
||||
therefore do not append any
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
|
||||
to the argument. And always be sure to preprend the plus or
|
||||
minus sign, depending on whether you want the drop cap larger or
|
||||
smaller.
|
||||
|
||||
<h3><a name="DROPCAP_GUTTER"><u>DROPCAP_GUTTER</u></a></h3>
|
||||
|
||||
By default, <strong>mom</strong> puts three points of space
|
||||
between the drop cap and the text indented beside it. If you
|
||||
want another value, use <strong>DROPCAP_GUTTER</strong> (with a
|
||||
unit of measure), like this:
|
||||
<p>
|
||||
<pre>
|
||||
.DROPCAP_GUTTER 6p
|
||||
</pre>
|
||||
|
||||
<!---\*[SUP]--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="SUP"><h3><u>Superscript</u></h3></a>
|
||||
<br>
|
||||
Inlines: <strong>\*[SUP]...\*[SUPX]</strong>
|
||||
|
||||
<p>
|
||||
Superscripts are accomplished
|
||||
<a href="definitions.html#TERMS_INLINES">inline</a>.
|
||||
Whenever you need one, typically for numerals, all you need to
|
||||
do is surround the superscript with the inlines above.
|
||||
<strong>\*[SUP]</strong> begins superscripting;
|
||||
<strong>\*[SUPX]</strong> turns it off.
|
||||
<a name="CONDSUP"></a>
|
||||
<a name="EXTSUP"></a>
|
||||
<p>
|
||||
If your running type is
|
||||
<a href="#COND_INLINE">pseudo-condensed</a>
|
||||
or
|
||||
<a href="#EXT_INLINE">pseudo-extended</a>
|
||||
and you want your superscripts to be equivalently pseudo-condensed or
|
||||
-extended, use <strong>\*[CONDSUP]...\*[CONDSUPX]</strong> or
|
||||
<strong>\*[EXTSUP]...\*[EXTSUPX]</strong>.
|
||||
<p>
|
||||
The superscript inlines are primarily used by the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
|
||||
for automatic generation of numbered footnotes. However, you may
|
||||
find them useful for other purposes.
|
||||
<p>
|
||||
<strong>NOTE:</strong> <strong>Mom</strong> does a pretty fine job of
|
||||
making superscripts look good in any font and at any size. If you're
|
||||
fussy, though (and I am), about precise vertical placement, kerning,
|
||||
weight, size, and so on, you may want to roll your own solution.
|
||||
And sorry, there's no <strong>mom</strong> equivalent for subscripts.
|
||||
I'm neither a mathematician nor a chemist, so I don't need them.
|
||||
Of course, anyone who wishes to contribute a subscript routine to
|
||||
<strong>mom</strong> will receive eternal blessings not only in this
|
||||
lifetime, but in all lifetimes to come.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="inlines.html#TOP">Next</a>
|
||||
<a href="typesetting.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
1305
contrib/groff/contrib/mom/momdoc/headfootpage.html
Normal file
1305
contrib/groff/contrib/mom/momdoc/headfootpage.html
Normal file
File diff suppressed because it is too large
Load Diff
595
contrib/groff/contrib/mom/momdoc/inlines.html
Normal file
595
contrib/groff/contrib/mom/momdoc/inlines.html
Normal file
@ -0,0 +1,595 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Inline escapes</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="docprocessing.html#TOP">Next</a>
|
||||
<a href="goodies.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<h2>
|
||||
<a name="INLINE_ESCAPES"><u>Inline escapes</u></a>
|
||||
</h2>
|
||||
|
||||
<a href="#INLINE_ESCAPES_INTRO">Introduction to inline escapes</a>
|
||||
<br>
|
||||
<a href="#INDEX_INLINES">Index of inline escapes</a>
|
||||
<br>
|
||||
|
||||
<a name="INLINE_ESCAPES_INTRO">
|
||||
<h2><u>Introduction to inline escapes</u></h2>
|
||||
</a>
|
||||
|
||||
<a name="INTRO_INLINE_ESCAPES">
|
||||
Inline escapes, as described in the
|
||||
<a href="definitions.html#TERMS_INLINES">groff terms</a>
|
||||
section of this manual, are typesetting commands that appear in
|
||||
text
|
||||
<a href="definitions.html#TERMS_INPUTLINE">input lines</a>,
|
||||
as opposed to macros and other
|
||||
<a href="definitions.html#TERMS_CONTROLLINES">control lines</a>
|
||||
that must appear on lines by themselves.
|
||||
<p>
|
||||
Aside from altering type parameters within a line, inlines also
|
||||
tell groff about special characters -- em-dashes, bullets,
|
||||
<a href="definitions.html#TERMS_FIGURESPACE">figure/digit-width spaces</a>,
|
||||
and so on. It is beyond the scope of this manual to provide a
|
||||
complete list of groff's inline functions and special characters.
|
||||
I recommend having a look at the
|
||||
<a href="intro.html#CANONICAL">canonical reference materials</a>
|
||||
should you need more information than is contained herein.
|
||||
<p>
|
||||
In groff, the escape character is the backslash ( \ ). Groff interprets
|
||||
everything following the backslash as instructions, not literal text,
|
||||
until the escape sequence is complete. Should you need the actual
|
||||
backslash character as part of a line of text, simply enter it twice
|
||||
( \\ ). Groff understands that this means "please print a backslash
|
||||
character." (You can also use <strong>\e</strong> to print a literal
|
||||
backslash.)
|
||||
<p>
|
||||
Groff has a number of ways of recognising what constitutes a complete
|
||||
escape sequence. This is both a boon and a curse; some escape
|
||||
sequences have no terminating delimiter and consequently become
|
||||
difficult to distinguish from real input text. Others require
|
||||
the use of an opening parenthesis with no corresponding closing
|
||||
parenthesis. Still others need to be enclosed in square brackets.
|
||||
<p>
|
||||
<strong>Mom</strong> recognises that certain escapes get used more
|
||||
often than others. For these, she has a consistent input style that
|
||||
takes the form \*[...], which makes them stand out well from the text
|
||||
of your documents. These escapes are the ones listed under
|
||||
<a href="#INLINES_MOM">Mom's personal inlines</a>.
|
||||
<p>
|
||||
Despite <strong>mom</strong>'s best intentions, there are still
|
||||
a number of typesetting functions that can only be accomplished
|
||||
with groff's native inline escapes. I've listed the ones that
|
||||
strike me as essential, but there are many others. If you want
|
||||
to know what they are, please read the
|
||||
<a href="intro.html#CANONICAL">canonical reference materials</a>
|
||||
pertaining to groff.
|
||||
<p>
|
||||
<strong>HELPFUL BIT OF INFORMATION:</strong> Inline escapes can be used
|
||||
in
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>
|
||||
that take
|
||||
<a href="definitions.html#TERMS_STRINGARGUMENT">string arguments</a>.
|
||||
<p>
|
||||
<a name="INDEX_INLINES"><h3><u>Inlines index</u></h3></a>
|
||||
<ul>
|
||||
<li><a name="INLINES_MOM"><strong>Mom's personal inlines</strong></a>
|
||||
<ul>
|
||||
<li><a href="#INLINE_FONTS_MOM">Changing fonts</a>
|
||||
<li><a href="#INLINE_SIZE_MOM">Changing point size</a>
|
||||
<li><a href="#INLINE_KERNING_MOM">Pairwise kerning</a>
|
||||
<li><a href="#INLINE_HORIZONTAL_MOM">Horizontal movement</a>
|
||||
<li><a href="#INLINE_VERTICAL_MOM">Vertical movement</a>
|
||||
<li><a href="#INLINE_RULE_MOM">Full measure rules</a>
|
||||
</ul>
|
||||
<li><a name="INLINES_GROFF"><strong>Groff inline escapes</strong></a>
|
||||
<ul>
|
||||
<li><a href="#INLINE_FONTS_GROFF">Font control</a> <strong>\f</strong>
|
||||
<li><a href="#INLINE_HORIZONTAL_GROFF">Inline horizontal motions</a> <strong>\h</strong>
|
||||
<li><a href="#INLINE_VERTICAL_GROFF">Inline vertical motions</a> <strong>\v</strong>
|
||||
<li><a href="#INLINE_STRINGWIDTH_GROFF">String width function</a> <strong>\w</strong>
|
||||
<li><a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a> <strong>\l</strong>
|
||||
<li><a href="#INLINE_CHARACTERS_GROFF">Special characters</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<hr>
|
||||
|
||||
<!---INLINE_FONTS_MOM--->
|
||||
|
||||
<h2><u>Mom's personal inlines</u></h2>
|
||||
|
||||
<a name="INLINE_FONTS_MOM"><h3><u>Changing fonts</u></h3></a>
|
||||
|
||||
<p>
|
||||
<strong>Mom</strong> provides five inlines to change fonts
|
||||
inline.
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinefonts">
|
||||
<tr><td width="15"><td><strong>\*[ROM]</strong><td>Change font to roman
|
||||
<tr><td><td><strong>\*[IT]</strong><td>Change font to italic
|
||||
<tr><td><td><strong>\*[BD]</strong><td>Change font to bold
|
||||
<tr><td><td><strong>\*[BDI]</strong><td>Change font to bold italic
|
||||
<tr><td><td><strong>\*[PREV]</strong><td>Revert to previous font</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
See also
|
||||
<a href="#INLINE_FONTS_GROFF">font control with \f</a>
|
||||
for other ways to change fonts inline.
|
||||
|
||||
<p>
|
||||
<strong>NOTE:</strong> If you're using the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
|
||||
inline font changes remain in effect only for the duration of the
|
||||
current macro.
|
||||
<br>
|
||||
|
||||
<!---INLINE_SIZE_MOM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_SIZE_MOM"><h3><u>Changing point size</u></h3></a>
|
||||
|
||||
<p>
|
||||
<strong>Mom</strong>'s inline escape for changing point
|
||||
size, sadly, does not observe her normal inline syntax
|
||||
<strong>\*[whatever]</strong>. It's the only exception, and there's
|
||||
no way around it. The escape for changing point size looks like this:
|
||||
<p>
|
||||
<pre>
|
||||
\*S[size]
|
||||
</pre>
|
||||
|
||||
where "size" is the new size you want. For example, to
|
||||
change the point size inline to 12 points, you'd enter
|
||||
<p>
|
||||
<pre>
|
||||
\*S[12]
|
||||
</pre>
|
||||
|
||||
Notice that the new size does not require a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>;
|
||||
<a href="definitions.html#TERMS_PICASPOINTS">points</a>
|
||||
is assumed. However, a unit of measure may be appended to the size,
|
||||
if that's what you wish. Fractional sizes are, of course, allowed.
|
||||
<p>
|
||||
The size given to <strong>\*S</strong> may be expressed in plus
|
||||
or minus terms, which can be very useful. In the following
|
||||
example, the word "mom" will be output 2 points larger
|
||||
than the point size of the rest of the line.
|
||||
<p>
|
||||
<pre>
|
||||
While she isn't perfect, \*S[+2]mom\*S[-2] isn't half bad.
|
||||
</pre>
|
||||
|
||||
<strong>NOTE:</strong> If you're accustomed to groff's usual way
|
||||
of handling inline size requests (<kbd>\sN, \s±N, \s(NN, \s±(NN,
|
||||
\s[NNN], \s±[NNN]</kbd>), feel free to continue with your old habits.
|
||||
<strong>Mom</strong> doesn't care.
|
||||
<br>
|
||||
|
||||
<!---INLINE_KERNING_MOM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_KERNING_MOM"><h3><u>Pairwise kerning</u></h3></a>
|
||||
|
||||
<p>
|
||||
Pairwise kerning means moving specific letter pairs closer
|
||||
together or further apart (see
|
||||
<a href="definitions.html#TERMS_KERN">Typesetting terms, kerning</a>
|
||||
for more details).
|
||||
<p>
|
||||
<strong>Mom</strong> permits inline pairwise
|
||||
kerning through the use of the inline escapes
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinekerning">
|
||||
<tr><td width="15"><td><strong>\*[BU #]<td></strong>Closes the space between letters (<strong>B</strong>ack <strong>U</strong>nits).
|
||||
<tr><td><td><strong>\*[FU #]</strong><td>Opens the space between letters (<strong>F</strong>orward <strong>U</strong>nits).
|
||||
</table>
|
||||
<br>
|
||||
"<strong>#</strong>" is the number of <a
|
||||
href="definitions.html#TERMS_KERNUNIT">kern units</a>
|
||||
by which to close or open the space between letters. Decimal fractions
|
||||
are allowed.
|
||||
<p>
|
||||
For example,
|
||||
<p>
|
||||
<pre>
|
||||
THE HUMAN COST OF COMMODIF\*[FU 1]YING FRESH W\*[BU 4]A\*[BU 5]TER
|
||||
</pre>
|
||||
|
||||
moves the letter Y in "COMMODIFYING" 1 kern unit away from
|
||||
the letter F, and the letter A in "WATER" 4 kern units closer
|
||||
to the letter W. Additionally, the letter T in "WATER" is moved 5 kern
|
||||
units closer to the letter A.
|
||||
<p>
|
||||
For backward compatibility, the forms
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinekerningold">
|
||||
<tr><td width="15"><td><strong>\*[BU1]...\*[BU36]</strong><td>
|
||||
Move back 1...36
|
||||
<a href="definitions.html#TERMS_KERNUNIT">kern units</a>
|
||||
<tr><td><td><strong>\*[FU1]...\*[FU36]</strong><td>
|
||||
Move forward 1...36
|
||||
<a href="definitions.html#TERMS_KERNUNIT">kern units</a>
|
||||
</table>
|
||||
<br>
|
||||
also exist (i.e. with no space before the number of kern units desired,
|
||||
up to a limit of 36).
|
||||
<p>
|
||||
<strong>NOTE:</strong> Using <strong>BU</strong> or <strong>FU</strong>
|
||||
between characters pairs that are already automatically kerned
|
||||
disables the automatic kerning and uses the value you give to
|
||||
<strong>BU</strong> or <strong>FU</strong> instead.
|
||||
<br>
|
||||
|
||||
<!---INLINE_HORIZONTAL_MOM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_HORIZONTAL_MOM"><h3><u>Horizontal inline movement</u></h3></a>
|
||||
|
||||
<p>
|
||||
Sometimes, you may need to insert a specified amount amount of white
|
||||
space into an
|
||||
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>,
|
||||
or -- occasionally -- back up to a
|
||||
previous position on an
|
||||
<a href="definitions.html#TERMS_INPUTLINE">output</a>
|
||||
line in order to create special typographic effects.
|
||||
<p>
|
||||
<strong>Mom</strong>'s inline escapes for these horizontal movements are
|
||||
<p>
|
||||
<table align="left" valign="baseline" summary="inlinehorizontal">
|
||||
<a name="FWD"></a>
|
||||
<tr><td width="15"><td width="20%"><strong>\*[FWD #<unit>]
|
||||
<td>Move forward inline the specified number of
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
|
||||
decimal fractions are allowed.
|
||||
<a name="BCK"></a>
|
||||
<tr><td><td><strong>\*[BCK #<unit>]
|
||||
<td>Move backward inline the specified number of
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>;
|
||||
decimal fractions are allowed.
|
||||
</table>
|
||||
<p>
|
||||
For example,
|
||||
<p>
|
||||
<pre>
|
||||
1.\*[FWD 12p]The Free Trade Play-Offs: WalMart 100, Mexico 0
|
||||
</pre>
|
||||
puts 12 points of space between "1." and
|
||||
"The".
|
||||
<p>
|
||||
<strong>NOTE:</strong> For backward compatibility, the forms
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinehorizontalold">
|
||||
<tr><td width="15"><td><strong>\*[BP.25]...\*[BP12.75]</strong><td>Move back .25...12.75 points
|
||||
<tr><td><td><strong>\*[FP.25]...\*[FP12.75]</strong><td>Move forward .25...12.75 points</td></tr>
|
||||
</table>
|
||||
<br>
|
||||
also exist (i.e. with no space before the digit and points being
|
||||
the unit of measure, hence no unit of measure required). Both
|
||||
accept quarter points, so it's possible to do, for example,
|
||||
<strong>\*[FP.5]</strong> or <strong>\*[BP1.25]</strong> up to a limit
|
||||
of 12.75 points.
|
||||
<br>
|
||||
|
||||
<!---INLINE_VERTICAL_MOM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_VERTICAL_MOM"><h3><u>Vertical inline movement</u></h3></a>
|
||||
|
||||
<p>
|
||||
If you need to move portions of type up or down on a line,
|
||||
<strong>mom</strong> provides the following inline escapes:
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinevertical">
|
||||
<a name="UP"></a>
|
||||
<tr><td width="15"><td><strong>\*[UP #<unit>]</strong>
|
||||
<td>Move up inline the specified number of
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>
|
||||
<a name="DOWN"></a>
|
||||
<tr><td><td><strong>\*[DOWN #<unit>]</strong>
|
||||
<td>Move down inline the specified number of
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">units of measure</a>
|
||||
</table>
|
||||
<br>
|
||||
For example,
|
||||
<p>
|
||||
<pre>
|
||||
Tel: 905\*[UP 1p]-\*[DOWN 1p]4072
|
||||
</pre>
|
||||
|
||||
moves the hyphen in the telephone number up by 1 point, then
|
||||
moves back down by the same amount.
|
||||
<p>
|
||||
<strong>NOTE:</strong> For backward compatibility, the following are
|
||||
also available:
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinevertical">
|
||||
<tr><td width="15"><td><strong>\*[ALD.25]...\*[ALD12.75]</strong><td>
|
||||
Advance lead .25...12.75 points (move downward)
|
||||
<tr><td><td><strong>\*[RLD.25]...\*[RLD12.75]</strong><td>
|
||||
Reverse lead .5...12.75 points (move upward)</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
<p>
|
||||
Both <strong>\*[ALD]</strong> and <strong>\*[RLD]</strong> work in
|
||||
points, hence you musn't use a unit of measure.
|
||||
<br>
|
||||
|
||||
<!---INLINE_RULE_MOM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_RULE_MOM"><h3><u>Full measure rules</u></h3></a>
|
||||
|
||||
<p>
|
||||
I find I often need rules drawn to the full measure of the current line
|
||||
or tab length. The official way to do this is <kbd>\l'\n(.lu'</kbd>,
|
||||
which is annoying to type, and doesn't mean a whole heck of a lot if
|
||||
you're new to groff. The inline, <strong>\*[RULE]</strong>, is a simple
|
||||
replacement for <strong>\l'\n(.lu'</strong>. Use it whenever you need
|
||||
a rule drawn to the full measure of the current line or tab length, for
|
||||
example:
|
||||
<p>
|
||||
<pre>
|
||||
.LL 6P
|
||||
\*[RULE]
|
||||
</pre>
|
||||
|
||||
The above draws a rule the full measure of the 6-pica line length.
|
||||
<p>
|
||||
See groff's
|
||||
<a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a>
|
||||
for more information on drawing horizontal rules.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!---INLINE_FONT_GROFF--->
|
||||
|
||||
<h2><u>Groff inline escapes</u></h2>
|
||||
|
||||
<a name="INLINE_FONTS_GROFF"><h3><u>Font control with \f</u></h3></a>
|
||||
|
||||
<p>
|
||||
Groff's basic mechanism for inline font control is the escape
|
||||
<strong>\f</strong>.
|
||||
<p>
|
||||
<table valign="baseline" summary="inlinefontsgroff">
|
||||
<tr><td width="15"><td><strong>\fR</strong><td>Change font to roman
|
||||
<tr><td><td><strong>\fI</strong><td>Change font to italic
|
||||
<tr><td><td><strong>\fB</strong><td>Change font to bold
|
||||
<tr><td><td><strong>\f(BI</strong><td>Change font to bold italic
|
||||
<tr><td><td><strong>\fP</strong><td>Revert to previous font</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
A special instance of <strong>\f</strong> is
|
||||
<strong>\f[font]</strong>, where "font" can be a
|
||||
complete legal family/font name combo. This is especially
|
||||
useful should you need to change both family and font inline.
|
||||
For example, if your prevailing family and font are Times Roman
|
||||
and you want a few words in Courier Bold Italic, you could do
|
||||
this:
|
||||
<p>
|
||||
<pre>
|
||||
.FAM T
|
||||
.FT R
|
||||
The command \f[CBI]ls -l\fP gives a "long" directory listing.
|
||||
</pre>
|
||||
|
||||
The Unix command "ls -l" will appear in Courier Bold Italic
|
||||
in a line that is otherwise in Times Roman.
|
||||
<br>
|
||||
|
||||
<!---INLINE_HORIZONTAL_GROFF--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_HORIZONTAL_GROFF"><h3><u>Inline horizontal motions with \h</u></h3></a>
|
||||
|
||||
<p>
|
||||
Whenever you need to move forward or backward on a line, use the inline
|
||||
<strong>\h'<distance>'</strong>. In order to avoid unpleasant surprises,
|
||||
always append a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
|
||||
to "distance".
|
||||
<p>
|
||||
<pre>
|
||||
\h'1.25i'
|
||||
</pre>
|
||||
|
||||
moves you 1.25 inches to the right (forwards) of the horizontal
|
||||
position on the current
|
||||
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
|
||||
<strong>\h'<distance>'</strong> is exactly equivalent to
|
||||
<a href="#FWD"><strong>\*[FWD #<unit>]</strong></a>.
|
||||
<p>
|
||||
<pre>
|
||||
\h'-1.25i'
|
||||
</pre>
|
||||
|
||||
moves you 1.25 inches to the left (backwards).
|
||||
<strong>\h'-<distance>'</strong> is exactly equivalent to
|
||||
<a href="#BCK"><strong>\*[BCK #<unit>]</strong></a>.
|
||||
<br>
|
||||
|
||||
<!---INLINE_VERTICAL_GROFF--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_VERTICAL_GROFF"><h3><u>Inline vertical motions with \v</u></h3></a>
|
||||
|
||||
<p>
|
||||
If you need to raise or lower type on a line (say, for sub- or
|
||||
superscripts, or any other special effect), use
|
||||
<strong>\v'<distance>'</strong>. In order to avoid unpleasant
|
||||
surprises, always append a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
|
||||
to "distance".
|
||||
<p>
|
||||
<pre>
|
||||
\v'.6m'
|
||||
</pre>
|
||||
|
||||
moves you (approx.) 2/3 of an
|
||||
<a href="definitions.html#TERMS_EM">em</a>
|
||||
downward on the current
|
||||
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
|
||||
<strong>\v'<distance>'</strong> is exactly equivalent to
|
||||
<a href="#DOWN"><strong>\*[DOWN #<unit>]</strong></a>.
|
||||
<p>
|
||||
<pre>
|
||||
\v'-.6m'
|
||||
</pre>
|
||||
|
||||
moves you (approx.) 2/3 of an em upward.
|
||||
<strong>\v'<-distance>'</strong> is exactly equivalent to <a
|
||||
href="#UP"><strong>\*[UP #<unit>]</strong></a>.
|
||||
<p>
|
||||
<strong>IMPORTANT:</strong> The vertical motion of <strong>\v</strong>
|
||||
affects ONLY type on the current
|
||||
<a href="definitions.html#TERMS_OUTPUTLINE">output line</a>.
|
||||
When groff breaks the output line, the effect of
|
||||
<strong>\v</strong> is cancelled; the baseline of the next output line
|
||||
is where it would be if you hadn't used <strong>\v</strong>.
|
||||
<p>
|
||||
<strong>TIP:</strong> When using <strong>\v</strong> for
|
||||
occasional effects on a line, don't forget to reverse it when
|
||||
you've done what you want to do. Otherwise, the remaining type
|
||||
will be set too high (if you used <strong>\v</strong> with the
|
||||
minus sign) or too low (if you used <strong>\v</strong> without
|
||||
the minus sign).
|
||||
<br>
|
||||
|
||||
<!---INLINE_STRINGWIDTHL_GROFF--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_STRINGWIDTH_GROFF"><h3><u>String width function \w</u></h3></a>
|
||||
|
||||
<p>
|
||||
In the context of <strong>mom</strong>, the string width inline
|
||||
<strong>\w'string'</strong> primarily serves to let you
|
||||
establish the horizontal measure of something (e.g. indents) based
|
||||
on the length of a bit of text. For example, if you want a left
|
||||
indent the length of the word "Examples:" plus a
|
||||
space, you can set it with the <strong>\w</strong> inline escape:
|
||||
<p>
|
||||
<pre>
|
||||
.IL "\w'Examples: '"
|
||||
</pre>
|
||||
|
||||
<strong>NOTE:</strong> Whenever you pass <strong>\w'string'</strong>
|
||||
to a macro that normally requires a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
|
||||
<em>do <strong>NOT</strong> add a unit of measure to the \w'string'
|
||||
argument.</em>
|
||||
<p>
|
||||
Furthermore, if the string is composed of several words separated
|
||||
by spaces, you MUST surround the whole escape with double quotes,
|
||||
as in the example above.
|
||||
<br>
|
||||
|
||||
<!---INLINE_LINEDRAWING_GROFF--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_LINEDRAWING_GROFF"><h3><u>Horizontal line drawing function \l</u></h3></a>
|
||||
|
||||
<p>
|
||||
The <strong>\l'distance'</strong> inline allows you to draw a
|
||||
horizontal rule of the specified distance. You must supply a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>.
|
||||
Therefore, to set a 3-pica rule into a line of text, you'd do
|
||||
<p>
|
||||
<pre>
|
||||
A line of text with a superfluous \l'3P' 3-pica rule in it.
|
||||
</pre>
|
||||
|
||||
<strong>\l'3P'</strong> above not only draws the rule, but
|
||||
advances 3 picas horizontally as well, just as you'd expect.
|
||||
<p>
|
||||
For an easy way of drawing rules to the full measure of the current
|
||||
line or tab length, see
|
||||
<a href="#INLINE_RULE_MOM">Full measure rules</a>.
|
||||
<p>
|
||||
The weight (thickness) of rules varies according to the point size
|
||||
in effect when you invoke <strong>\l</strong>, but you can't fix
|
||||
the weight with any real precision. A point size of 12 produces
|
||||
a tastefully moderate rule weight of between one-half and one
|
||||
point (depending on your printer), and is the point size used by
|
||||
<strong>mom</strong> for all macros and routines that create rules.
|
||||
<p>
|
||||
<strong>NOTE:</strong> There are, in addition to <strong>\l</strong>,
|
||||
a number of other line-drawing escapes, but frankly, using them for
|
||||
typographically precise drawing is a bit like hammering in a nail
|
||||
with a screwdriver -- doable, but not recommended.
|
||||
<p>
|
||||
Groff comes with a number of "preprocessors" designed to ease
|
||||
creating rules, boxes, splines, and so on (tbl, pic, and friends), but
|
||||
I tend not to use them. A firm believer in the "right tool for
|
||||
the job," I prefer a vector drawing program (in my case, tgif)
|
||||
when I need to combine type with graphic elements (say, a complex
|
||||
ruled form). Inserting the results into a document is easy enough
|
||||
with <strong>.PSPIC</strong> (consult the <strong>grops</strong>
|
||||
man page for information on this indispensible and easy-to-use macro).
|
||||
<br>
|
||||
|
||||
<!---INLINE_CHARACTERS_GROFF--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="INLINE_CHARACTERS_GROFF"><h3><u>Special characters and symbols</u></h3></a>
|
||||
|
||||
<p>
|
||||
Here follows a short list of commonly-used special characters available
|
||||
via inline escapes. If you're not sure of the meaning of some of
|
||||
these characters, consult the
|
||||
<a href="definitions.html#TERMS">Definitions of Terms</a>.
|
||||
For a more complete list, consult the section <em>Special
|
||||
Character Names</em> at the end of the <em>Tutorial Examples</em>
|
||||
in <strong>cstr54</strong>, available
|
||||
<a href="http://www.kohala.com/start/troff/">here</a>.
|
||||
|
||||
<p>
|
||||
<pre>
|
||||
CHARACTER ESCAPE SEQUENCE
|
||||
--------- ---------------
|
||||
|
||||
Comment line \#
|
||||
Fixed-width space \<space> i.e. backslash followed by a space
|
||||
Unbreakable space \~
|
||||
Digit-width (figure) space \0
|
||||
Zero-width character \&
|
||||
Discretionary hyphen \%
|
||||
Backslash \\ or \e
|
||||
Plus/minus (arithmetic) \(+-
|
||||
Subtract (arithmetic) \(mi
|
||||
Multiply (arithmetic) \(mu
|
||||
Divide (arithmetic) \(di
|
||||
Em-dash \(em
|
||||
En-dash \(en
|
||||
Left double-quote \(lq
|
||||
Right double-quote \(rq
|
||||
Bullet \(bu
|
||||
Ballot box \(sq
|
||||
One-quarter \(14
|
||||
One-half \(12
|
||||
Three-quarters \(34
|
||||
Degree sign \(de
|
||||
Dagger \(dg
|
||||
Foot mark \(fm
|
||||
Cent sign \(ct
|
||||
Registered trademark \(rg
|
||||
Copyright \(co
|
||||
Section symbol \(se
|
||||
</pre>
|
||||
|
||||
<hr>
|
||||
<a href="docprocessing.html#TOP">Next</a>
|
||||
<a href="goodies.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
386
contrib/groff/contrib/mom/momdoc/intro.html
Normal file
386
contrib/groff/contrib/mom/momdoc/intro.html
Normal file
@ -0,0 +1,386 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>What is mom?</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="definitions.html#TOP">Next</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="INTRO">
|
||||
<h1 align="center"><u>WHAT IS MOM?</u></h1>
|
||||
</a>
|
||||
|
||||
<a href="#INTRO_INTRO">Who is mom meant for?</a>
|
||||
<br>
|
||||
<a href="#INTRO_TYPESETTING">Typesetting with mom</a>
|
||||
<br>
|
||||
<a href="#INTRO_DOCPROCESSING">Document processing with mom</a>
|
||||
<br>
|
||||
<a href="#INTRO_PHILOSOPHY">Mom's philosophy</a>
|
||||
<br>
|
||||
<a href="#INTRO_DOCUMENTATION">A note on mom's documentation</a>
|
||||
<br>
|
||||
<a href="#MACRO_ARGS">How to read macro arguments</a>
|
||||
|
||||
<h2><a name="INTRO_INTRO"><u>Who is mom meant for?</u></a></h2>
|
||||
|
||||
<strong>Mom</strong> ("my own macros", "my other
|
||||
macros", "maximum overdrive macros"...) is a macro set for
|
||||
groff, designed to format documents for PostScript output.
|
||||
She's aimed at three kinds of users:
|
||||
<br>
|
||||
<ol>
|
||||
<li>typesetters who suspect groff might be "the right
|
||||
tool for the job" but who are
|
||||
frustrated/intimidated by groff's terse, geeky,
|
||||
not-always-typographically-intuitive
|
||||
<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>;
|
||||
<br>
|
||||
<li>non-scientific writers (novelists, short story writers,
|
||||
journalists, students) who just want their work to
|
||||
look good;
|
||||
<br>
|
||||
<li>newbies to computer typesetting, document processing, or
|
||||
groff who need a well-documented macro set to help them get
|
||||
started.
|
||||
</ol>
|
||||
<p>
|
||||
As might be infered from the above, <strong>mom</strong> is two macro
|
||||
packages in one: a set of typesetting macros, and a set of document
|
||||
processing macros. The typesetting macros govern the physical
|
||||
aspects of page layout and provide sane, comprehensible control over
|
||||
typographic refinements. The document processing macros let you focus
|
||||
on a document's content and logical structure without worrying about
|
||||
typesetting or page layout at all.
|
||||
<p>
|
||||
Because <strong>mom</strong> provides both typesetting and document
|
||||
processing macros, it's safe to say she blurs the distinction between
|
||||
document processing and document design. While her basic document style
|
||||
comes with pretty spiffy defaults (okay -- change "spiffy"
|
||||
to "typographically professional"), you can easily control
|
||||
how all the various document elements look: titles, page headers and
|
||||
footers, page numbering, heads, subheads, footnotes and so on can be
|
||||
made to come out exactly the way you want. And should you need precise
|
||||
typographic control over elements in a document that fall outside the
|
||||
range of <strong>mom</strong>'s document element tags, you don't have to
|
||||
read up on groff
|
||||
<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
|
||||
in order to accomplish what you want; the typesetting macros take
|
||||
care of that.
|
||||
|
||||
<a name="INTRO_TYPESETTING">
|
||||
<h2><u>Typesetting with mom</u></h2>
|
||||
</a>
|
||||
|
||||
<strong>Mom</strong>'s typesetting macros control the basic parameters
|
||||
of type: margins, line length, type family, font, point size,
|
||||
linespacing, and so on. In addition, they allow you to move around
|
||||
on the page horizontally and vertically, and to set up tabs, indents,
|
||||
and columns. Finally, they let you adjust such typographic details as
|
||||
justification style, letter spacing, word spacing, hyphenation, and
|
||||
kerning.
|
||||
|
||||
<p>
|
||||
In terms of typographic control, these macros resemble the
|
||||
commands used on dedicated typesetting computers like Compugraphics and
|
||||
Linotronics. Most of them simply give access to groff's typesetting
|
||||
primitives in a way that's consistent and easy to use. A few of
|
||||
them (tabs and indents, for example) handle fundamental typesetting
|
||||
requirements in ways radically different from groff primitives.
|
||||
|
||||
<p>
|
||||
With <strong>mom</strong>'s typesetting macros, you can, if you wish,
|
||||
create individual output pages that you design from the ground up.
|
||||
Provided you have not signalled to <strong>mom</strong> that you
|
||||
want document processing (via the
|
||||
<a href="docprocessing.html#START">START</a>
|
||||
macro; see below), every macro is a literal command that remains in
|
||||
effect until you modify it or turn it off. This means that if you
|
||||
want to create flyers, document covers, surveys, tabulated forms,
|
||||
curricula vitae and so on, you may do so in the good old-fashioned
|
||||
way: one step at a time with complete control over every element on
|
||||
the page.
|
||||
<p>
|
||||
Years of reading various mailing lists dealing with computer
|
||||
typesetting (groff, TeX, and friends) have convinced me that no progam
|
||||
can ever replace the human eye and human input when it comes to high
|
||||
quality typesetting. As of this writing, a thread on the subject of
|
||||
"micro typography" in groff has been going on for nearly a
|
||||
month. The reason for the lengthy thread is obvious; words and
|
||||
punctuation on the printed page are too variable, too fluid, to be
|
||||
rendered flawlessly by any algorithm, no matter how clever. (For
|
||||
whatever it's worth, a similar problem exists with engraving musical
|
||||
scores by computer.)
|
||||
<p>
|
||||
<strong>Mom</strong> does not try to solve the problems posed by
|
||||
things like hanging punctuation, left-margin adjustments for those
|
||||
annoying "space-y" upper case letters like T and W, and
|
||||
so on. She merely tries to provide tools that allow knowledgeable
|
||||
typesetters to come up with solutions to these problems
|
||||
in ways that are somewhat easier and more intuitive than manipulating
|
||||
groff at the
|
||||
<a href="definitions.html#TERMS_PRIMITIVES">primtive</a>
|
||||
level. As a professional typesetter of more than two decades, and a
|
||||
writer, I have encountered few situations that cannot be handled by
|
||||
<strong>mom</strong>'s typesetting macros.
|
||||
<p>
|
||||
<strong>Author's note:</strong> One area where groff itself needs
|
||||
serious rethinking is in the matter of an algorithm that takes into
|
||||
account both word AND letter spacing when
|
||||
<a href="definitions.html#TERMS_JUST">justifying</a>
|
||||
lines. At present, only word spacing is adjusted, requiring what I
|
||||
consider an unnecessary amount of user intervention whenever
|
||||
letter spacing is required.
|
||||
|
||||
<a name="INTRO_DOCPROCESSING">
|
||||
<h2><u>Document processing with mom</u></h2>
|
||||
</a>
|
||||
|
||||
<strong>Mom</strong>'s document processing macros let you format
|
||||
documents without having to worry about the typographic details.
|
||||
In this respect, <strong>mom</strong> is similar to other groff macro
|
||||
packages, as well as to html and LaTeX. Where <strong>mom</strong>
|
||||
differs is in the degree of control you have over the look and
|
||||
placement of the various elements of a document. For example, if you
|
||||
don't want your heads underlined, or you want them bigger/smaller,
|
||||
or you'd prefer them to be in a different font, or you'd rather they
|
||||
were flush left instead of centered, you can make the changes easily
|
||||
and have them apply to the whole document. Temporary and one-off
|
||||
changes are easy, too.
|
||||
<p>
|
||||
<strong>Mom</strong> has some nifty features other macro sets
|
||||
don't provide. For example, you can switch between draft-style and
|
||||
final-copy output. If you regularly make submissions to publishers
|
||||
and editors who insist on "typewritten, double-spaced," there's a
|
||||
special macro --
|
||||
<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
|
||||
-- that changes typeset documents into ones that would make your
|
||||
high-school typing teacher proud. Footnotes, multiple columns,
|
||||
recto/verso printing and user designable headers and footers are also
|
||||
part of the fun.
|
||||
|
||||
<a name="INTRO_PHILOSOPHY">
|
||||
<h2><u>Mom's philosophy</u></h2>
|
||||
</a>
|
||||
|
||||
Formatting documents should be easy, from soup to nuts. Writers need
|
||||
to focus on what they're writing, not on how it looks. From the
|
||||
moment you fire up an editor to the moment you add "FINIS"
|
||||
to your opus, nothing should interfere with the flow of your words.
|
||||
The commands needed to format your work should be easy to remember,
|
||||
comprehensible, and stand out well from the text. There shouldn't
|
||||
be too much clutter. Your documents should be as readable inside a
|
||||
text editor as they are on the printed page.
|
||||
<p>
|
||||
Unfortunately, in computerland, "easy,"
|
||||
"comprehensible," and "readable" often mean
|
||||
"you're stuck with what you're get." No document formatting
|
||||
system can give you exactly what you want all the time, every time.
|
||||
Documents, it seems, always need to be tweaked, either to satisfy a
|
||||
typographic whim or to clarify some aspect of their content.
|
||||
<p>
|
||||
Groff has traditionally solved the problem of formatting vs. tweaking
|
||||
by requiring users of the common macro packages (mm, ms, me and their
|
||||
offspring) to resort to groff
|
||||
<a href="definitions.html#TERMS_PRIMITIVES">primitives</a>
|
||||
and
|
||||
<a href="definitions.html#TERMS_INLINES">inline escapes</a>
|
||||
for their special typesetting needs. Not to put too fine a point on
|
||||
it, groff primitives tend toward the abstruse, and most inline escapes
|
||||
are about as readable in-line as an encrypted password. This does
|
||||
not make for happy-camper writers, who either find themselves stuck
|
||||
with document formatting style they don't really like, or are forced to
|
||||
learn groff from the ground up -- a daunting task, to say the least.
|
||||
<p>
|
||||
<strong>Mom</strong> aims to make creating documents a simple matter,
|
||||
but with no corresponding loss of user control. The document
|
||||
processing macros provide an excellent set of defaults, but if
|
||||
something is not to your liking, you can change it. And in combination
|
||||
with the typesetting macros, you have all the tools you need to
|
||||
massage passages and tweak pages until they look utterly professional.
|
||||
<p>
|
||||
One rarely hears the word "user interface" in conjunction
|
||||
with document processing. Since the user formatting takes place
|
||||
inside a text editor, little thought is given to the look and feel
|
||||
of the formatting commands. <strong>Mom</strong> attempts to rectify
|
||||
this by providing users with a consistent, readable "coding"
|
||||
style. Most of the macros (especially in the document processing set)
|
||||
have humanly-readable names. Not only does this speed up learning
|
||||
the macros, it makes the sense of what's going on in a document,
|
||||
typographically and structurally, easier to decipher.
|
||||
<p>
|
||||
<strong>Mom</strong> does not try to be all things to all people.
|
||||
In contrast to the normal groff philosophy, she does not try to
|
||||
produce output that looks good no matter where it's displayed.
|
||||
She's designed for printed output, although with
|
||||
<a href="#PRINTSTYLE">PRINTSTYLE TYPEWRITE</a>
|
||||
she produces acceptable terminal copy. She makes no attempt to be
|
||||
compatible with older versions of troff. And she remains largely
|
||||
untested with the groff preprocessors (tbl, pic, eqn, etc.)
|
||||
<p>
|
||||
One special feature in <strong>mom</strong>'s design is the attention
|
||||
she pays to aligning the bottom margins of every page. Nothing screams
|
||||
"shoddy" in typeset documents louder than bottom margins
|
||||
that wander, or, in typesetter jargon, "hang." There are,
|
||||
of course, situations where whitespace at the bottom of a page may
|
||||
be desirable (for example, you wouldn't want a head to appear at the
|
||||
bottom of the page without some text underneath it), but in all cases
|
||||
where hanging bottom margins can be avoided, <strong>mom</strong> does
|
||||
avoid them, by clever adjustments to leading ("line spacing")
|
||||
and the spacing between different elements on the page.
|
||||
|
||||
<a name="INTRO_DOCUMENTATION">
|
||||
<h2><u>A note on mom's documentation</u></h2>
|
||||
</a>
|
||||
|
||||
Writing documentation is tough, no doubt about it. One is never
|
||||
quite sure of the user's level of expertise. Is s/he new to the
|
||||
application, new to its underlying protocols and programs, new to
|
||||
the operating system, new to computers? At some point, one has to
|
||||
decide who the documentation is for. Making the wrong decision can
|
||||
mean the difference between a program that gets used and a program
|
||||
that gets tossed.
|
||||
<p>
|
||||
<strong>Mom</strong>'s documentation assumes users know their way
|
||||
around GNU/Linux. It further assumes they at least know what groff
|
||||
is, even if they don't know much about it. Lastly, it assumes that
|
||||
everyone -- groff newbies and experts alike -- learns faster from
|
||||
a few well-placed examples than from manpage-style reference docs.
|
||||
What <strong>mom</strong>'s documentation doesn't assume is that
|
||||
you know everything -- not about groff, not about typesetting,
|
||||
not about document processing. Even experts have odd lacunae in
|
||||
their knowledge base. Therefore, whenever I suspect that a term
|
||||
or procedure will cause head scratching, I offer an explanation.
|
||||
And when explanations aren't enough, I offer examples.
|
||||
<a name="CANONICAL"></a>
|
||||
<p>
|
||||
The canonical reference materials for groff are <strong>cstr54</strong>
|
||||
(a downloadable PostScript copy of which is available
|
||||
<a href="http://www.kohala.com/start/troff/">here</a>)
|
||||
and the <strong>troff</strong> and <strong>groff_diff</strong> manpages.
|
||||
I've tried to avoid reiterating them, however, in a few places, this has
|
||||
proved impossible. Be forewarned: I have no qualms about sidestepping
|
||||
excrutiating completeness about groff usage; I'm more concerned with
|
||||
getting <strong>mom</strong> users up and running. <em>Mea culpa.</em>
|
||||
<p>
|
||||
<strong>Note:</strong> <strong>Mom</strong>'s macro file
|
||||
(om.tmac) is heavily commented. Each macro is preceded by a
|
||||
description of its arguments, function, and usage, which may
|
||||
give you information in addition to what's contained in this
|
||||
documentation.
|
||||
|
||||
<a name="MACRO_ARGS">
|
||||
<h3><u>How to read macro arguments</u></h3>
|
||||
</a>
|
||||
|
||||
<p>
|
||||
The concise descriptions of macros in this documentation typically
|
||||
look like this:
|
||||
<blockquote>
|
||||
Macro: <strong>NAME</strong> <var>arguments</var>
|
||||
</blockquote>
|
||||
<var>arguments</var> lists the macro's arguments using conventions that
|
||||
should be familiar to anyone who has ever read a manpage. Briefly:
|
||||
<p>
|
||||
<ol>
|
||||
<li>Macro arguments are separated from each other by spaces.
|
||||
<li>If an argument is surrounded by chevrons
|
||||
( < > ), it's a description of the argument,
|
||||
not the argument itself.
|
||||
<li>If an argument begins with or is surrounded by double-quotes, the
|
||||
double quotes MUST be included in the argument.
|
||||
<li>If the user has a choice between several arguments, each of the
|
||||
choices is separated by the pipe character ( | ),
|
||||
which means "or."
|
||||
<li>Arguments that are optional are surrounded by square brackets.
|
||||
<li><off> in an argument list means that any argument
|
||||
turns the macro off.
|
||||
</ol>
|
||||
|
||||
<a name="TOGGLE_MACRO"><h3><u>Toggle macros</u></h3></a>
|
||||
<p>
|
||||
Some macros don't require an argument. They simply start something.
|
||||
When you need to turn them off, the same macro with <em>any</em>
|
||||
argument will do the trick. That's right: ANY argument. This permits
|
||||
choosing whatever works for you: OFF, END, QUIT, DONE, Q, X... Hell,
|
||||
it could even be I_LOVE_MOM.
|
||||
<p>
|
||||
Since these macros toggle things on and off, the argument list
|
||||
simply reads
|
||||
<blockquote>
|
||||
<var>toggle</var>
|
||||
</blockquote>
|
||||
<hr>
|
||||
|
||||
<h3>Example 1: an argument requiring double-quotes</h3>
|
||||
<blockquote>
|
||||
Macro: <strong>TITLE</strong> <var>"<title of document>"</var>
|
||||
</blockquote>
|
||||
The required argument to <strong>TITLE</strong> is the title of your
|
||||
document. Since it's surrounded by double-quotes, you must
|
||||
include them in the argument, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.TITLE "My Pulitzer Novel"
|
||||
</pre>
|
||||
|
||||
<h3>Example 2: a macro with required and optional arguments</h3>
|
||||
<blockquote>
|
||||
Macro: <strong>TAB_SET</strong> <var><tab #> <indent> <length> [ L | R | C | J [ QUAD ] ]</var>
|
||||
</blockquote>
|
||||
The first required argument is a number that identifies the tab (say,
|
||||
"3"). The second required argument is an indent from the left margin
|
||||
(say, 6 picas). The third required argument is the length of the tab
|
||||
(say, 3 picas). Therefore, at a minimum, when using this macro,
|
||||
you would enter:
|
||||
<p>
|
||||
<pre>
|
||||
.TAB_SET 3 6P 3P
|
||||
</pre>
|
||||
|
||||
The remaining two arguments are optional. The first is a single
|
||||
letter, either L, R, C or J. The second, which is itself optional
|
||||
after L, R, C or J, is the word QUAD. Therefore, depending on
|
||||
what additional information you wish to pass to the macro,
|
||||
you could enter:
|
||||
<p>
|
||||
<pre>
|
||||
.TAB_SET 3 6P 3P L
|
||||
or
|
||||
.TAB_SET 3 6P 3P L QUAD
|
||||
</pre>
|
||||
|
||||
<a name="TOGGLE_EXAMPLE"><h3>Example 3: a sample toggle macro:</h3></a>
|
||||
|
||||
<blockquote>
|
||||
Macro: <strong>QUOTE</strong> <var>toggle</var>
|
||||
</blockquote>
|
||||
|
||||
<strong>QUOTE</strong> begins a section of quoted text in a document
|
||||
and doesn't require an argument. When the quote's finished,
|
||||
you have to tell <strong>mom</strong> it's done.
|
||||
<p>
|
||||
<pre>
|
||||
.QUOTE
|
||||
So runs my dream, but what am I?
|
||||
An infant crying in the night
|
||||
An infant crying for the light
|
||||
And with no language but a cry.
|
||||
.QUOTE OFF
|
||||
</pre>
|
||||
|
||||
Alternatively, you could have turned the quote off with END, or
|
||||
X, or something else.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="definitions.html#TOP">Next</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
316
contrib/groff/contrib/mom/momdoc/letters.html
Normal file
316
contrib/groff/contrib/mom/momdoc/letters.html
Normal file
@ -0,0 +1,316 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Document Processing, Writing Letters</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="typemacdoc.html#TOP">Next</a>
|
||||
<a href="cover.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="LETTERS">
|
||||
<h1 align="center"><u>WRITING LETTERS WITH MOM</u></h1>
|
||||
</a>
|
||||
|
||||
<a name="LETTERS_INTRO">
|
||||
<h2><u>Introduction</u></h2>
|
||||
</a>
|
||||
|
||||
<strong>Mom</strong>'s simple but effective letter-writing
|
||||
macros are a subset of the
|
||||
<a href="docprocessing.html#DOCPROCESSING">document processing macros</a>,
|
||||
designed to ease the creation of correspondence.
|
||||
<p>
|
||||
Because the letter macros are a subset of the document
|
||||
processing macros, you can use
|
||||
<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
|
||||
to design correspondence to your own specifications. However,
|
||||
<strong>mom</strong> makes no pretence of providing complete design
|
||||
flexibility in the matter of letters, which are, after all, simple
|
||||
communicative documents whose only real style requirements are that
|
||||
they be neat and professional-looking.
|
||||
|
||||
<a name="TUTORIAL"><h2><u>Tutorial on writing letters</u></h2></a>
|
||||
|
||||
<strong>Mom</strong> letters begin, like all <strong>mom</strong>
|
||||
processed documents, with a
|
||||
<a href="docprocessing.html#REFERENCE_MACROS">reference macro</a>
|
||||
(in this case,
|
||||
<a href="docprocessing.html#AUTHOR">AUTHOR</a>),
|
||||
a
|
||||
<a href="docprocessing.html#DOCTYPE">DOCTYPE</a>
|
||||
(<strong>LETTER</strong>, obviously), the essential
|
||||
<a href="docprocessing.html#PRINTSTYLE">PRINTSTYLE</a>
|
||||
macro, and
|
||||
<a href="docprocessing.html#START">START</a>.
|
||||
<p>
|
||||
<pre>
|
||||
.AUTHOR "Yannick P. Guique"
|
||||
.DOCTYPE LETTER
|
||||
.PRINTSTYLE TYPESET
|
||||
.START
|
||||
</pre>
|
||||
|
||||
<strong>PRINTSTYLE</strong>, above, could also be
|
||||
<strong>TYPEWRITE</strong>. <strong>Mom</strong> has no objection
|
||||
to creating letters that look like they were typed on an Underwood
|
||||
by a shapely secretary with great gams back in the 1940s.
|
||||
<p>
|
||||
After the <strong>START</strong> macro, you enter data pertinent to
|
||||
your letter: the date, the addressee (in business correspondence,
|
||||
typically both name and address), the addressor (that's you; in
|
||||
business correspondence, typically both name and address), and a
|
||||
greeting (in full, e.g. "Dear Mr. Smith,").
|
||||
<p>
|
||||
The macros for entering the data are simple (they're not even
|
||||
<a href="definitions.html#TERMS_TOGGLE">toggles</a>)
|
||||
and entered in an intuitive order.
|
||||
<br>
|
||||
<ol>
|
||||
<li><code>.DATE</code>
|
||||
<li><code>.TO</code>
|
||||
<li><code>.FROM</code>
|
||||
<li><code>.GREETING</code>
|
||||
</ol>
|
||||
<p>
|
||||
<strong>Mom</strong> ignores any you omit and spaces the letter's
|
||||
opening according to what you do include.
|
||||
<p>
|
||||
Once you've filled in what you need to get a letter started, simply
|
||||
type the letter, introducing each and every paragraph with the
|
||||
<a href="docelement.html#PP">PP</a>
|
||||
macro.
|
||||
<p>
|
||||
At the end of the letter, should you wish an indented closing
|
||||
("Yours truly," "Sincerely," "Hugs and
|
||||
kisses"), invoke the macro <strong>CLOSING</strong> on a
|
||||
line by itself and follow it with the text of the closing.
|
||||
<strong>N.B.</strong> Don't put your name here; <strong>mom</strong>
|
||||
supplies it automatically from <strong>AUTHOR</strong> with
|
||||
enough space to leave room for your signature.
|
||||
|
||||
<p>
|
||||
Assuming our tutorial letter is for business correspondence,
|
||||
here's what the complete letter looks like.
|
||||
<p>
|
||||
<pre>
|
||||
.AUTHOR "Yannick P. Guique"
|
||||
.DOCTYPE LETTER
|
||||
.PRINTSTYLE TYPESET
|
||||
.START
|
||||
.DATE
|
||||
August 25, 2004
|
||||
.TO
|
||||
GUILLAUME BARRIÈRES
|
||||
Minidoux Corporation
|
||||
5000 Pannes Drive
|
||||
Redmond, Virginia
|
||||
.FROM
|
||||
Y.P. GUIQUE
|
||||
022 Umask Road
|
||||
St-Sauveur-en-dehors-de-la-mappe, Québec
|
||||
.GREETING
|
||||
Dear Mr. Barrières,
|
||||
.PP
|
||||
It has come to my attention that you have been lobbying the
|
||||
US government to prohibit the use of open source software by
|
||||
endeavouring to outlaw so-called "warranty free"
|
||||
applications.
|
||||
.PP
|
||||
I feel it is my duty to inform you that the success of your
|
||||
operating system with its embedded web browser relies heavily
|
||||
on open source programs and protocols, most notably TCP/IP.
|
||||
.PP
|
||||
Therefore, in the interests of your corporation's fiscal health,
|
||||
I strongly advise that you withdraw support for any US
|
||||
legislation that would cripple or render illegal open source
|
||||
development.
|
||||
.CLOSING
|
||||
Sincerely,
|
||||
</pre>
|
||||
<hr>
|
||||
|
||||
<a name="LETTERS_DEFAULTS">
|
||||
<h2><u>Defaults for letters</u></h2>
|
||||
</a>
|
||||
|
||||
In letters, <strong>mom</strong> sets:
|
||||
<p>
|
||||
<ol>
|
||||
<li>the date flush right, page right, at the top of page one
|
||||
<li>the addressee in a block flush left, page left
|
||||
<li>the addressor in a block flush left, page left
|
||||
<li>the greeting flush left
|
||||
<li>the body of the letter justified
|
||||
<li>in multi-page letters:
|
||||
<ul>
|
||||
<li>a footer indicating there's a next page (of the form <code>.../#</code>)
|
||||
<li>the page number at the top of every page after page one
|
||||
</ul>
|
||||
<li>the closing/signature line flush left, indented halfway across the page
|
||||
</ol>
|
||||
<p>
|
||||
Other important style defaults are listed below, and may be changed
|
||||
via the
|
||||
<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
|
||||
or the document processing
|
||||
<a href="definitions.html#TERMS_CONTROLMACRO">control macros</a>
|
||||
prior to
|
||||
<a href="docprocessing.html#START">START</a>. Assume that any
|
||||
style parameter not listed below is the same as for
|
||||
<a href="docprocessing.html#TYPESET_DEFAULTS">PRINTSTYLE TYPESET</a>
|
||||
or
|
||||
<a href="docprocessing.html#TYPEWRITE_DEFAULTS">PRINTSTYLE TYPEWRITE</a>.
|
||||
<p>
|
||||
<pre>
|
||||
PARAMETER PRINTSTYLE TYPESET PRINTSTYLE TYPEWRITE
|
||||
--------- ------------------ --------------------
|
||||
|
||||
Paper size 8.5 x 11 inches 8.5 x 11 inches
|
||||
Left/right margins 1.25 inches 1.25 inches
|
||||
Header margin 3.5 picas 3.5 picas
|
||||
(for page numbers)
|
||||
Header gap 3 picas 3 picas
|
||||
(for page numbers)
|
||||
Family Times Roman Courier
|
||||
Font roman roman
|
||||
Point size 12 12
|
||||
Line space 13.5 12 (i.e. singlespaced)
|
||||
Paragraph indent 3 ems 3 picas
|
||||
Spaced paragraphs yes no
|
||||
Footers* yes yes
|
||||
Footer margin 3 picas 3 picas
|
||||
Footer gap 3 picas 3 picas
|
||||
Page numbers top, centered top, centered
|
||||
|
||||
*Footers contain a "next page" number of the form .../#
|
||||
</pre>
|
||||
<hr>
|
||||
|
||||
<a name="LETTERS_MACROS">
|
||||
<h2><u>The letter macros</u></h2>
|
||||
</a>
|
||||
|
||||
All letter macros must come after
|
||||
<a href="docprocessing.html#START">START</a>,
|
||||
except <strong>NO_SUITE</strong>.
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="#DATE">DATE</a>
|
||||
<li><a href="#TO">TO</a>
|
||||
<li><a href="#FROM">FROM</a>
|
||||
<li><a href="#GREETING">GREETING</a>
|
||||
<li><a href="#CLOSING">CLOSING</a>
|
||||
<li><a href="#NO_SUITE">NO_SUITE</a> -- "next page" number off
|
||||
</ul>
|
||||
|
||||
<!---DATE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="DATE"></a>
|
||||
Macro: <strong>DATE</strong>
|
||||
|
||||
<p>
|
||||
Invoke <strong>DATE</strong> on a line by itself, with the date
|
||||
underneath, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.DATE
|
||||
October 31, 2002
|
||||
</pre>
|
||||
|
||||
<!---TO--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="TO"></a>
|
||||
Macro: <strong>TO</strong>
|
||||
|
||||
<p>
|
||||
Invoke <strong>TO</strong> on a line by itself, with the name
|
||||
and address of the addressee underneath, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.TO
|
||||
JOHN SMITH
|
||||
10 Roberts Crescent
|
||||
Bramladesh, Ont.
|
||||
</pre>
|
||||
|
||||
<!---FROM--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="FROM"></a>
|
||||
Macro: <strong>FROM</strong>
|
||||
|
||||
<p>
|
||||
Invoke <strong>FROM</strong> on a line by itself, with the name
|
||||
and address of the addressor underneath, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.FROM
|
||||
JOE BLOW
|
||||
15 Brunette Road
|
||||
Ste-Vieille-Andouille, Québec
|
||||
</pre>
|
||||
|
||||
<!---GREETING--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="GREETING"></a>
|
||||
Macro: <strong>GREETING</strong>
|
||||
|
||||
<p>
|
||||
Invoke <strong>GREETING</strong> on a line by itself, with the
|
||||
full salutation you want for the letter, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.GREETING
|
||||
Dear Mr. Smith,
|
||||
</pre>
|
||||
|
||||
<!---CLOSING--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="CLOSING"></a>
|
||||
Macro: <strong>CLOSING</strong>
|
||||
|
||||
<p>
|
||||
Invoke <strong>CLOSING</strong> on a line by itself after the
|
||||
body of the letter, with the closing you'd like (e.g. "Yours
|
||||
truly,"), like this:
|
||||
<p>
|
||||
<pre>
|
||||
.CLOSING
|
||||
Yours truly,
|
||||
</pre>
|
||||
|
||||
<!---NO_SUITE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="NO_SUITE"></a>
|
||||
Macro: <strong>NO_SUITE</strong>
|
||||
|
||||
<p>
|
||||
If you don't want <strong>mom</strong> to print a "next
|
||||
page" number at the bottom of multi-page letters, invoke
|
||||
<code>.NO_SUITE</code>, on a line by itself, prior to
|
||||
<a href="docprocessing.html#START">START</a>.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="typemacdoc.html#TOP">Next</a>
|
||||
<a href="cover.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
257
contrib/groff/contrib/mom/momdoc/rectoverso.html
Normal file
257
contrib/groff/contrib/mom/momdoc/rectoverso.html
Normal file
@ -0,0 +1,257 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Document Processing, Recto/verso printing</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="cover.html#TOP">Next</a>
|
||||
<a href="headfootpage.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="RECTOVERSO">
|
||||
<h2 align="center"><u>RECTO/VERSO PRINTING and COLLATING</u></h2>
|
||||
</a>
|
||||
|
||||
<a name="INDEX_RECTOVERSO">
|
||||
<h3><u>Recto/verso and collating</u></h3>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#RECTOVERSO_INTRO">Introduction to recto/verso</a>
|
||||
<ul>
|
||||
<li><a href="#RECTOVERSO_LIST">Macro list</a>
|
||||
</ul>
|
||||
<li><a href="#COLLATE_INTRO">Introduction to collating</a>
|
||||
<ul>
|
||||
<li><a href="#COLLATE">The COLLATE macro</a>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<a name="RECTOVERSO_INTRO">
|
||||
<h2><u>Introduction to recto/verso</u></h2>
|
||||
</a>
|
||||
|
||||
Recto/verso printing allows you to set up a <strong>mom</strong>
|
||||
document in such a way that it can be printed on both sides of a
|
||||
printer sheet and subsequently bound.
|
||||
<p>
|
||||
With recto/verso, <strong>mom</strong> automatically takes control
|
||||
of the following aspects of alternating page layout:
|
||||
<br>
|
||||
<ul>
|
||||
<li>switching left and right margins (if they're not equal)
|
||||
<li>switching the left and right parts of the default 3-part
|
||||
<a href="definitions.html#TERMS_HEADER">headers</a>
|
||||
or
|
||||
<a href="definitions.html#TERMS_FOOTER">footers</a>
|
||||
(see the
|
||||
<a href="headfootpage.html#DESCRIPTION_GENERAL">General description of headers</a>)
|
||||
<li>switching
|
||||
<a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_RECTO</a>
|
||||
and
|
||||
<a href="headfootpage.html#HDRFTR_RECTOVERSO">HEADER_VERSO</a>
|
||||
if user-defined, single string recto/verso headers
|
||||
or footers are used in place of the default 3-part
|
||||
headers or footers
|
||||
<li>switching the page number position (if page numbers are not centered)
|
||||
</ul>
|
||||
<p>
|
||||
It is beyond the scope of this documentation to cover the different
|
||||
ways in which you can make your printer print on both sides of a sheet.
|
||||
A simple but effective method for those of us with "dumb"
|
||||
printers is to open the document (after it's been processed into
|
||||
PostScript by groff -- see
|
||||
<a href="using.html#USING_INVOKING">How to invoke groff with mom</a>)
|
||||
in <strong>gv</strong> (ghostview),
|
||||
click the "odd pages" icon, then click "Print
|
||||
Marked". After printing is complete, rearrange the sheets
|
||||
appropriately, put them back in your printer, and have
|
||||
<strong>gv</strong> print the "even pages". If you prefer to
|
||||
work from the command line, check out the man pages for
|
||||
<strong>pstops</strong> and <strong>psbook</strong>. There are other
|
||||
programs out there as well to help with two-sided printing.
|
||||
<br>
|
||||
|
||||
|
||||
<a name="RECTOVERSO_LIST">
|
||||
<h3><u>Recto/verso macros list</u></h3>
|
||||
</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#RECTO_VERSO">RECTO_VERSO</a>
|
||||
<li><a href="#SWITCH_HDRFTR">SWITCH_HEADERS (also FOOTERS)</a>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
<!---RECTO_VERSO--->
|
||||
|
||||
<a name="RECTO_VERSO">
|
||||
<h3><u>Recto/verso printing</u></h3>
|
||||
</a>
|
||||
<br>
|
||||
Macro: <strong>RECTO_VERSO</strong>
|
||||
|
||||
<p>
|
||||
If you want <strong>mom</strong> to set up alternating pages for
|
||||
recto/verso printing, simply invoke <strong>RECTO_VERSO</strong>
|
||||
with no argument.
|
||||
<p>
|
||||
<strong>NOTE:</strong>
|
||||
<br>
|
||||
Recto/verso always switches the left and right parts of
|
||||
<a href="definitions.html#TERMS_HEADER">headers</a>
|
||||
or
|
||||
<a href="definitions.html#TERMS_FOOTER">footers</a>
|
||||
on odd/even pages. However, it only switches the left and right
|
||||
margins if the margins aren't equal. Consequently, it is your
|
||||
responsibility to set the appropriate differing left and right
|
||||
margins with
|
||||
<a href="typesetting.html#L_MARGIN">L_MARGIN</a>
|
||||
and
|
||||
<a href="typesetting.html#R_MARGIN">R_MARGIN</a>
|
||||
(prior to
|
||||
<a href="docprocessing.html#START">START</a>)
|
||||
or with
|
||||
<a href="docprocessing.html#DOC_LEFT_MARGIN">DOC_LEFT_MARGIN</a>
|
||||
and
|
||||
<a href="docprocessing.html#DOC_RIGHT_MARGIN">DOC_RIGHT_MARGIN</a>
|
||||
(before or after <strong>START</strong>).
|
||||
<p>
|
||||
Equally, recto/verso only switches the page number position if page
|
||||
numbers aren't centered, which means you have to set the page
|
||||
number position with
|
||||
<a href="headfootpage.html#PAGENUM_POS">PAGENUM_POS</a>
|
||||
(before or after <strong>START</strong>).
|
||||
<br>
|
||||
|
||||
<!---SWITCH_HDRFTR--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="SWITCH_HDRFTR">
|
||||
<h3><u>Switch header left part/right part</u></h3>
|
||||
</a>
|
||||
<br>
|
||||
Macro: <strong>SWITCH_HEADERS</strong>
|
||||
|
||||
<p>
|
||||
<strong>SWITCH_HEADERS</strong> switches the location of the
|
||||
header left string (by default, the author) and the header right
|
||||
string (by default, the document title). If you don't like
|
||||
<strong>mom</strong>'s default placement of author and title, use
|
||||
<strong>SWITCH_HEADERS</strong> to reverse it.
|
||||
<p>
|
||||
<strong>SWITCH_HEADERS</strong> can also be useful in conjuction
|
||||
with
|
||||
<a href="#RECTO_VERSO">RECTO_VERSO</a>.
|
||||
The assumption of <strong>RECTO_VERSO</strong> is that the first
|
||||
page of a document (recto/odd) represents the norm for header-left
|
||||
and header-right, meaning that the second (and all subsequent even)
|
||||
page(s) of the document exchange header-left and header-right.
|
||||
<p>
|
||||
If <strong>mom</strong>'s behaviour in this matter is not what
|
||||
you want, simply invoke <strong>SWITCH_HEADERS</strong> on the
|
||||
first page of your recto/verso document to reverse her default
|
||||
treatment of header parts. The remainder of your document (with
|
||||
respect to headers) will come out as you want.
|
||||
<p>
|
||||
<strong>NOTE:</strong> Replace <strong>_HEADERS</strong>, above,
|
||||
with <strong>_FOOTERS</strong> if your document uses footers.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<!=====================================================================>
|
||||
|
||||
<a name="COLLATE_INTRO">
|
||||
<h2><u>Introduction to collating</u></h2>
|
||||
</a>
|
||||
|
||||
The macro <strong>COLLATE</strong> lets you join documents together.
|
||||
Primarily, it's a convenience for printing long documents that
|
||||
comprise several chapters, although it could be used for any
|
||||
document type (except <strong>LETTER</strong>).
|
||||
<p>
|
||||
Personally, I prefer to keep chapters in separate files and print
|
||||
them out as needed. However, that means keeping track of the correct
|
||||
starting page number for each chapter, a problem circumvented by the
|
||||
use of <strong>COLLATE</strong>.
|
||||
<p>
|
||||
When collating chapters, you need only put <code>.COLLATE</code>
|
||||
at the end of a chapter, follow it with any
|
||||
<a href="docprocessing.html#REFERENCE_MACROS">reference macros</a>
|
||||
needed for the new chapter, e.g.
|
||||
<a href="docprocessing.html#CHAPTER">CHAPTER</a>
|
||||
or
|
||||
<a href="docprocessing.html#CHAPTER_STRING">CHAPTER_STRING</a>
|
||||
(have a look at the
|
||||
<a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>)
|
||||
make any pertinent style changes to the document (unlikely, but
|
||||
possible), and re-invoke the
|
||||
<a href="docprocessing.html#START">START</a>
|
||||
macro. Your new chapter will begin on a fresh page and behave
|
||||
as expected.
|
||||
<p>
|
||||
<strong>COLLATE</strong> assumes you are collating documents/files
|
||||
with similar type-style parameters hence there's no need for
|
||||
<strong>PRINTSTYLE</strong> to appear after <strong>COLLATE</strong>,
|
||||
although if you're collating documents that were created as separate
|
||||
files, chances are the <strong>PRINTSTYLE</strong>'s already there.
|
||||
<p>
|
||||
<a name="CAUTION"></a>
|
||||
<strong><u>Two words of caution:</u></strong>
|
||||
<ol>
|
||||
<li>Do not collate documents of differing
|
||||
<strong>PRINTSTYLES</strong> (i.e. don't try to
|
||||
collate a TYPESET document and TYPEWRITE document --
|
||||
why would you want to do that anyway?)
|
||||
<li>Use <strong>DOC_FAMILY</strong> instead of
|
||||
<strong>FAMILY</strong> if, for some reason, you want
|
||||
to change the family of all the document elements after
|
||||
<strong>COLLATE</strong>. <strong>FAMILY</strong>, by
|
||||
itself, will change the family of paragraph text only.
|
||||
</ol>
|
||||
<br>
|
||||
|
||||
<!---COLLATE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="COLLATE">
|
||||
<h3><u>Collate document files</u></h3>
|
||||
</a>
|
||||
<br>
|
||||
Macro: <strong>COLLATE</strong>
|
||||
|
||||
<p>
|
||||
The most basic (and most likely) collating situation looks like
|
||||
this:
|
||||
<p>
|
||||
<pre>
|
||||
.COLLATE
|
||||
.CHAPTER 17
|
||||
.START
|
||||
</pre>
|
||||
|
||||
A slightly more complex version of the same thing, for chapters
|
||||
that require their own titles, looks like this:
|
||||
<p>
|
||||
<pre>
|
||||
.COLLATE
|
||||
.CHAPTER_STRING "Geek Fatigue: Symptoms and Causes"
|
||||
.START
|
||||
</pre>
|
||||
|
||||
<strong>NOTE:</strong> See the
|
||||
<a href="#CAUTION">two words of caution</a>,
|
||||
above.
|
||||
<br>
|
||||
|
||||
<hr>
|
||||
<a href="cover.html#TOP">Next</a>
|
||||
<a href="headfootpage.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
1044
contrib/groff/contrib/mom/momdoc/reserved.html
Normal file
1044
contrib/groff/contrib/mom/momdoc/reserved.html
Normal file
File diff suppressed because it is too large
Load Diff
208
contrib/groff/contrib/mom/momdoc/toc.html
Normal file
208
contrib/groff/contrib/mom/momdoc/toc.html
Normal file
@ -0,0 +1,208 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Table of Contents</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<h1><u>Table of Contents</u></h1>
|
||||
<ul>
|
||||
<li><a href="intro.html#INTRO"><strong>1. WHAT IS MOM?</strong></a>
|
||||
<ul>
|
||||
<li><a href="intro.html#INTRO_INTRO">1.1 Who is mom meant for?</a>
|
||||
<li><a href="intro.html#INTRO_TYPESETTING">1.2 Typesetting with mom</a>
|
||||
<li><a href="intro.html#INTRO_DOCPROCESSING">1.3 Document processing with mom</a>
|
||||
<li><a href="intro.html#INTRO_PHILOSOPHY">1.4 Mom's philosophy</a>
|
||||
<li><a href="intro.html#INTRO_DOCUMENTATION">1.5 A note on mom's documentation</a>
|
||||
<ul>
|
||||
<li><a href="intro.html#MACRO_ARGS">1.5.1 How to read macro arguments</a>
|
||||
<li><a href="intro.html#TOGGLE_MACRO">1.5.2 "Toggle" macros</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="definitions.html#TERMS"><strong>2. DEFINITIONS OF TERMS USED IN THIS MANUAL</strong></a>
|
||||
<ul>
|
||||
<li><a href="definitions.html#TERMS_TYPESETTING">2.1 Typesetting terms</a>
|
||||
<li><a href="definitions.html#TERMS_GROFF">2.2 Groff terms</a>
|
||||
<li><a href="definitions.html#TERMS_MOM">2.3 Mom's document processing terms</a>
|
||||
</ul>
|
||||
<li><a href="using.html#USING"><strong>3. USING MOM</strong></a>
|
||||
<ul>
|
||||
<li><a href="using.html#USING_INTRO">3.1 Introduction</a>
|
||||
<li><a href="using.html#USING_MACROS">3.2 How to input mom's macros</a>
|
||||
<li><a href="using.html#USING_INVOKING">3.3 Printing -- invoking groff with mom</a>
|
||||
<li><a href="using.html#USING_PREVIEWING">3.4 How to preview documents</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#MACROS_TYPESETTING"><strong>4. THE TYPESETTING MACROS</strong></a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INTRO_MACROS_TYPESETTING">4.1 Introduction to the typesetting macros</a>
|
||||
<br>
|
||||
<li><a href="typesetting.html#PAGE_MARGINS"><strong>4.2 Page Setup</strong></a> -- paper size and page margins
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_SETUP">4.2.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#BASIC_PARAMS"><strong>4.3 Basic Parameters</strong></a> -- family, font, point size, line space, line length, autolead
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_BASIC">4.3.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#JUST_QUAD_FILL"><strong>4.4 Justifying, Quadding, Filling and Breaking Lines</strong></a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_JUST">4.4.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#REFINEMENTS"><strong>4.5 Refinements</strong></a> -- word space, sentence space, letter spacing (track kerning), hyphenation, kerning, ligatures
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_REFINEMENTS">4.5.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#MODIFICATIONS"><strong>4.6 Modifying Type</strong></a> -- pseudo-italic, -bold, -condensed, and -extended
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_MODIFICATIONS">4.6.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#ALDRLD"><strong>4.7 Vertical Movements</strong></a> -- moving up and down on the page
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_ALDRLD">4.7.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#TABS"><strong>4.8 Tabs</strong></a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#TYPESETTING_TABS">4.8.1 Typesetting tabs</a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#TYPESETTING_TABS_TUT">4.8.1.1 Quickie tutorial</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#STRING_TABS">4.8.2 String tabs (autotabs)</a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#STRING_TABS_TUT">4.8.2.1 Quickie tutorial</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#INDEX_TABS">4.8.3 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#MULTI_COLUMNS"><strong>4.9 Multi-columns</strong></a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDEX_MULTI_COLUMNS">4.9.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="typesetting.html#INDENTS"><strong>4.10 Indents</strong></a>
|
||||
<ul>
|
||||
<li><a href="typesetting.html#INDENTS_TUT">4.10.1 A brief explanation of how mom handles indents</a>
|
||||
<li><a href="typesetting.html#INDEX_INDENTS">4.10.2 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="goodies.html#GOODIES"><strong>4.11 Goodies</strong></a> -- aliases,
|
||||
transparent lines, smartquotes, caps,
|
||||
underscoring/underlining, padding lines, leaders, drop
|
||||
caps, superscripts
|
||||
<ul>
|
||||
<li><a href="goodies.html#INDEX_GOODIES">4.11.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="inlines.html#INLINE_ESCAPES"><strong>4.12 Inline Escapes</strong></a>
|
||||
<ul>
|
||||
<li><a href="inlines.html#INTRO_INLINE_ESCAPES">4.12.1 Introduction to inline escapes</a>
|
||||
<li><a href="inlines.html#INLINES_MOM">4.12.2 Mom's personal inlines</a>
|
||||
<li><a href="inlines.html#INLINES_GROFF">4.12.3 Groff inlines</a>
|
||||
<li><a href="inlines.html#INLINE_CHARACTERS_GROFF">4.12.3.1 Inlines for special characters and symbols</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#DOCPROCESSING"><strong>5. DOCUMENT PROCESSING WITH MOM</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#INTRO_MACROS_DOCPROCESSING">5.1 Introduction to document processing</a>
|
||||
<li><a href="docprocessing.html#DEFAULTS">5.2 Some document defaults</a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#LEADING_NOTE">IMPORTANT NOTE on leading/spacing and bottom margins</a>
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#SETUP"><strong>5.3 PRELIMINARY DOCUMENT SETUP</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#DOCPROCESSING_TUT">5.3.1 Tutorial</a> -- setting up a mom document
|
||||
<br>
|
||||
<li><a href="docprocessing.html#REFERENCE_MACROS"><strong>5.3.2 The Reference Macros</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#TITLE">5.3.2.1 TITLE</a>
|
||||
<li><a href="docprocessing.html#SUBTITLE">5.3.2.2 SUBTITLE</a>
|
||||
<li><a href="docprocessing.html#AUTHOR">5.3.2.3 AUTHOR</a>
|
||||
<li><a href="docprocessing.html#CHAPTER">5.3.2.4 CHAPTER</a>
|
||||
<li><a href="docprocessing.html#DRAFT">5.3.2.5 DRAFT</a>
|
||||
<li><a href="docprocessing.html#REVISION">5.3.2.6 REVISION</a>
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#DOCSTYLE_MACROS"><strong>5.3.3 The Docstyle Macros</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#DOCTYPE">5.3.3.1 DOCTYPE</a> -- kind of document
|
||||
<li><a href="docprocessing.html#PRINTSTYLE">5.3.3.2 PRINTSTYLE</a> -- typeset or typewrite
|
||||
<li><a href="docprocessing.html#COPYSTYLE">5.3.3.3 COPYSTYLE</a> -- draft or final
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#STYLE_BEFORE_START"><strong>5.3.4 Changing Type and Style Parameters <em>before</em> START</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#TYPE_BEFORE_START">5.3.4.1 Typesetting macros</a> -- usage
|
||||
<li><a href="docprocessing.html#DOC_LEAD_ADJUST">5.3.4.2 DOC_LEAD_ADJUST</a> -- adjust document leading to fill pages
|
||||
<li><a href="docprocessing.html#DOCHEADER">5.3.4.3 DOCHEADER</a> -- managing the docheader
|
||||
<li><a href="docprocessing.html#COLUMNS_INTRO">5.3.4.4 COLUMNS</a> -- setting documents in columns
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#START_MACRO"><strong>5.3.5 ***START***</strong></a> -- the macro to initiate document processing
|
||||
<br>
|
||||
<li><a href="docprocessing.html#DOC_PARAM_MACROS"><strong>5.3.6 Changing Document-wide Style Parameters <em>after</em> START</strong></a>
|
||||
<ul>
|
||||
<li><a href="docprocessing.html#INDEX_DOC_PARAM">5.3.6.1 Macro list</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="docelement.html#DOCELEMENT"><strong>5.4 THE DOCUMENT ELEMENT TAGS</strong></a>
|
||||
<ul>
|
||||
<li><a href="docelement.html#DOCELEMENT_INTRO">5.4.1 Introduction to the document element tags</a>
|
||||
<ul>
|
||||
<li><a href="docelement.html#DOCELEMENT_CONTROL">Control macros</a> -- changing style defaults for document element tags
|
||||
<li><a href="docelement.html#CONTROL_MACRO_ARGS">Arguments to the control macros</a>
|
||||
</ul>
|
||||
<li><a href="docelement.html#EPIGRAPH_INTRO">5.4.2 Epigraphs</a>
|
||||
<li><a href="docelement.html#PP_INTRO">5.4.3 Paragraphs</a>
|
||||
<li><a href="docelement.html#HEAD_INTRO">5.4.4 Main heads</a>
|
||||
<li><a href="docelement.html#SUBHEAD_INTRO">5.4.5 Subheads</a>
|
||||
<li><a href="docelement.html#PARAHEAD_INTRO">5.4.6 Paragraph heads</a>
|
||||
<li><a href="docelement.html#LINEBREAK_INTRO">5.4.7 Linebreaks</a> -- author linebreaks
|
||||
<li><a href="docelement.html#QUOTE_INTRO">5.4.8 Quotes</a> -- line for line poetic quotes
|
||||
<li><a href="docelement.html#BLOCKQUOTE_INTRO">5.4.9 Blockquotes</a> -- cited material
|
||||
<li><a href="docelement.html#FOOTNOTE_INTRO">5.4.10 Footnotes</a>
|
||||
<li><a href="docelement.html#ENDNOTE_INTRO">5.4.11 Endnotes</a>
|
||||
<li><a href="docelement.html#FINIS_INTRO">5.4.12 Document termination</a> -- FINIS
|
||||
</ul>
|
||||
<li><a href="headfootpage.html#HEADFOOTPAGE"><strong>5.5 DOCUMENT HEADERS AND FOOTERS</strong></a>
|
||||
<ul>
|
||||
<li><a href="headfootpage.html#HEADFOOTPAGE_INTRO">5.5.1 Introduction</a>
|
||||
<li><a href="headfootpage.html#DESCRIPTION_GENERAL">5.5.2 General description of headers/footers</a>
|
||||
<li><a href="headfootpage.html#HEADER_STYLE">5.5.3 Default specs for headers/footers</a>
|
||||
<li><a href="headfootpage.html#VERTICAL_SPACING">5.5.4 Vertical placement and spacing of headers/footers</a>
|
||||
<li><a href="headfootpage.html#HEADFOOT_MANAGEMENT">5.5.5 Managing headers/footers</a>
|
||||
<ul>
|
||||
<li><a href="headfootpage.html#USERDEF_HDRFTR">5.5.5.1 User-defined, single string recto/verso headers/footers</a>
|
||||
</ul>
|
||||
<li><a href="headfootpage.html#HEADFOOT_CONTROL">5.5.6 Control macros for headers/footers</a>
|
||||
</ul>
|
||||
<li><a href="headfootpage.html#PAGINATION"><strong>5.6 PAGINATION</strong></a>
|
||||
<ul>
|
||||
<li><a href="headfootpage.html#PAGINATION">Introduction</a>
|
||||
<li><a href="headfootpage.html#INDEX_PAGINATION">Pagination macros list</a>
|
||||
</ul>
|
||||
<li><a href="rectoverso.html#RECTOVERSO"><strong>5.7 RECTO/VERSO PRINTING AND COLLATING</strong></a>
|
||||
<ul>
|
||||
<li><a href="rectoverso.html#RECTOVERSO_INTRO">5.7.1 Introduction to recto/verso</a>
|
||||
<ul>
|
||||
<li><a href="rectoverso.html#RECTOVERSO_LIST">5.7.1.1 Macro list</a>
|
||||
</ul>
|
||||
<li><a href="rectoverso.html#COLLATE_INTRO">5.7.2 Introduction to collating</a>
|
||||
<ul>
|
||||
<li><a href="rectoverso.html#COLLATE">5.7.2.1 The COLLATE macro</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="cover.html#RECTOVERSO"><strong>5.8 CREATING A COVER PAGE</strong></a>
|
||||
<br>
|
||||
<li><a href="letters.html#LETTERS"><strong>5.9 WRITING LETTERS</strong></a>
|
||||
<ul>
|
||||
<li><a href="letters.html#LETTERS_INTRO">5.9.1 Introduction to writing letters</a>
|
||||
<li><a href="letters.html#TUTORIAL">5.9.2 Tutorial on writing letters</a>
|
||||
<li><a href="letters.html#LETTERS_DEFAULTS">5.9.3 Default style for letters</a>
|
||||
<li><a href="letters.html#LETTERS_MACROS">5.9.4 The letter macros</a>
|
||||
</ul>
|
||||
<li><a href="typemacdoc.html#TYPESETTING"><strong>5.10 USING TYPESETTING MACROS DURING DOCUMENT PROCESSING</strong></a>
|
||||
</ul>
|
||||
<li><a href="appendices.html#APPENDICES"><strong>6. APPENDICES</strong></a>
|
||||
<ul>
|
||||
<li><a href="appendices.html#MOREDOC">6.1 Further notes on this documentation</a>
|
||||
<li><a href="appendices.html#CODENOTES">6.2 Some reflections on mom</a>
|
||||
<li><a href="reserved.html#RESERVED">6.3 List of reserved words</a>
|
||||
<li><a href="appendices.html#CONTACT">6.4 Contact the author</a>
|
||||
</ul>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
169
contrib/groff/contrib/mom/momdoc/typemacdoc.html
Normal file
169
contrib/groff/contrib/mom/momdoc/typemacdoc.html
Normal file
@ -0,0 +1,169 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Mom -- Typesetting macros in document processing</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="appendices.html#TOP">Next</a>
|
||||
<a href="letters.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="TYPESETTING">
|
||||
<h1 align="center"><u>USING TYPESETTING MACROS DURING DOCUMENT PROCESSING</u></h1>
|
||||
</a>
|
||||
|
||||
During document processing, most of the
|
||||
<a href="typesetting.html#MACROS_TYPESETTING">typesetting macros</a>
|
||||
affect type in the document globally. For example, if you turn kerning
|
||||
off, pairwise kerning is disabled not only in paragraphs, but
|
||||
also in headers, footers, quotes, and so on.
|
||||
<p>
|
||||
Typesetting macros that alter margins and line lengths affect
|
||||
<a href="definitions.html#TERMS_RUNNING">running text</a>
|
||||
globally (or at least try to), but leave headers/footers and footnotes
|
||||
alone. (To indent footnotes, see the full explanation of the
|
||||
<a href="docelement.html#FOOTNOTE">FOOTNOTE</a>
|
||||
macro.)
|
||||
<p>
|
||||
There are, however, some typesetting macros that, used during document
|
||||
processing, behave in special ways. These are the macros that deal
|
||||
with the basic parameters of type style: horizontal and vertical margins,
|
||||
line length,
|
||||
<a href="definitions.html#TERMS_FAMILY">family</a>,
|
||||
<a href="definitions.html#TERMS_FONT">font</a>,
|
||||
point size,
|
||||
<a href="definitions.html#TERMS_LEADING">leading</a>,
|
||||
and
|
||||
<a href="definitions.html#TERMS_QUAD">quad</a>.
|
||||
<p>
|
||||
<strong>NOTE:</strong> See the section on
|
||||
<a href="#TB_MARGINS">Top and bottom margins in document processing</a>
|
||||
for information on how <strong>mom</strong> interprets
|
||||
<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
|
||||
and
|
||||
<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
|
||||
in document processing.
|
||||
|
||||
<p>
|
||||
<strong>Mom</strong> assumes that any changes to these parameters
|
||||
stem from a temporary need to set type in a style different from that
|
||||
provided by <strong>mom</strong>'s
|
||||
<a href="docelement.html#INDEX_DOCELEMENT">document element tags</a>.
|
||||
In other words, you need to do a bit of creative typesetting in the
|
||||
middle of a document.
|
||||
<p>
|
||||
The following lists those typesetting macros whose behaviour during
|
||||
document processing requires some explanation.
|
||||
<p>
|
||||
<pre>
|
||||
MACRO EFFECT DURING DOCUMENT PROCESSING
|
||||
----- ---------------------------------
|
||||
|
||||
L_MARGIN *The left margin of all running text
|
||||
assumes the new value.
|
||||
|
||||
*The line length remains unaltered.
|
||||
|
||||
*The header and footer left margin
|
||||
remain at the current document default.
|
||||
|
||||
(You won't use this often by itself. Most
|
||||
likely, you'll use it in combination with
|
||||
R_MARGIN or LL.)
|
||||
|
||||
R_MARGIN *The right margin of all running text
|
||||
assumes the new value. In other words,
|
||||
the line length is altered.
|
||||
|
||||
*The header and footer right margin
|
||||
remain at the current document default.
|
||||
|
||||
LL *The line length of all running text
|
||||
is set to the new value.
|
||||
|
||||
*The header and footer line length remain
|
||||
at the current document default.
|
||||
|
||||
FAMILY *Changes family for the duration of the
|
||||
current tag only. As soon as another document
|
||||
element tag is invoked, the family reverts to
|
||||
the current default for the new tag.
|
||||
|
||||
FT *Changes font for the duration of the
|
||||
current tag only. As soon as another document
|
||||
element tag is entered, the font reverts
|
||||
to the current default for the new tag.
|
||||
|
||||
N.B. -- \*[SLANT] and \*[BOLDER] affect
|
||||
paragraph text, and remain in effect for all
|
||||
paragraphs until turned off. If you want to
|
||||
use them in a macro that takes a string
|
||||
argument, include the escape in the string.
|
||||
\*[COND] and \*[EXT] behave similarly.
|
||||
|
||||
PT_SIZE *Changes point size for the duration of the
|
||||
current tag only. As soon as another document
|
||||
element tag is entered, the point size reverts
|
||||
to the current document default for the new
|
||||
tag.
|
||||
|
||||
LS *Changes line space for the duration of the
|
||||
current tag only. As soon as another document
|
||||
element tag is entered, the line space reverts to
|
||||
the current document default for the new
|
||||
tag. Highly NOT recommended, since changes to
|
||||
a document's leading interfere with mom's
|
||||
ability to balance bottom margins.
|
||||
|
||||
QUAD *Changes quad for the duration of the
|
||||
current tag only. As soon as another document
|
||||
element tag is entered, the quad reverts to
|
||||
the current document default for the new
|
||||
tag.
|
||||
|
||||
N.B. -- Line-for-line quadding macros
|
||||
(LEFT, CENTER, RIGHT) are also temporary,
|
||||
overridden by the QUAD value of any subsequent
|
||||
document element tag.
|
||||
</pre>
|
||||
<hr>
|
||||
|
||||
<!=====================================================================>
|
||||
|
||||
<a name="TB_MARGINS">
|
||||
<h2><u>Top and bottom margins in document processing</u></h2>
|
||||
</a>
|
||||
|
||||
Normally, <strong>mom</strong> establishes the top and bottom margins
|
||||
of
|
||||
<a href="definitions.html#TERMS_RUNNING">running text</a>
|
||||
in documents from the values of <strong>HEADER_MARGIN +
|
||||
HEADER_GAP</strong> and <strong>FOOTER_MARGIN + FOOTER_GAP</strong>
|
||||
respectively. However, if you invoke
|
||||
<a href="typesetting.html#T_MARGIN">T_MARGIN</a>
|
||||
or
|
||||
<a href="typesetting.html#B_MARGIN">B_MARGIN</a>
|
||||
either before or after
|
||||
<a href="docelement.html#START">START</a>,
|
||||
they set the top and bottom margins of running text irrespective
|
||||
of <strong>HEADER_GAP</strong> and <strong>FOOTER_GAP</strong>.
|
||||
<p>
|
||||
Put another way, in document processing, <strong>T_MARGIN</strong>
|
||||
and <strong>B_MARGIN</strong> set the top and bottom margins of
|
||||
running text, but have no effect on the placement of
|
||||
<a href="definitions.html#TERMS_HEADER">headers</a>,
|
||||
<a href="definitions.html#TERMS_FOOTER">footers</a>,
|
||||
or page numbers.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="appendices.html#TOP">Next</a>
|
||||
<a href="letters.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
3744
contrib/groff/contrib/mom/momdoc/typesetting.html
Normal file
3744
contrib/groff/contrib/mom/momdoc/typesetting.html
Normal file
File diff suppressed because it is too large
Load Diff
223
contrib/groff/contrib/mom/momdoc/using.html
Normal file
223
contrib/groff/contrib/mom/momdoc/using.html
Normal file
@ -0,0 +1,223 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
|
||||
<title>Using mom</title>
|
||||
</head>
|
||||
<body bgcolor="#dfdfdf">
|
||||
|
||||
<!====================================================================>
|
||||
|
||||
<a href="typesetting.html#TOP">Next</a>
|
||||
<a href="definitions.html#TOP">Prev</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
|
||||
<a name="TOP"></a>
|
||||
<a name="USING">
|
||||
<h1 align="center"><u>USING MOM</u></h1>
|
||||
</a>
|
||||
|
||||
<a href="#USING_INTRO">Introduction</a>
|
||||
<br>
|
||||
<a href="#USING_MACROS">Inputting macros</a>
|
||||
<br>
|
||||
<a href="#USING_INVOKING">Invoking groff</a>
|
||||
<br>
|
||||
<a href="#USING_PREVIEWING">Previewing documents</a>
|
||||
<br>
|
||||
<hr>
|
||||
<h2><a name="USING_INTRO"><u>Introduction</u></a></h2>
|
||||
|
||||
As explained in the section
|
||||
<a href="intro.html#INTRO">What is mom?</a>,
|
||||
<strong>mom</strong> can be used in two ways: for straight typesetting
|
||||
or for document processing. The difference between the two is
|
||||
that in straight typesetting, every macro is a literal
|
||||
typesetting instruction that determines precisely how text
|
||||
following it will look. Document processing, on the other hand,
|
||||
uses markup "tags" (e.g. <kbd>.PP</kbd> for
|
||||
paragraphs, <kbd>.HEAD</kbd> for heads, <kbd>.FOOTNOTE</kbd>
|
||||
for footnotes, etc.) that make a lot of typesetting decisions
|
||||
automatically.
|
||||
<p>
|
||||
You tell <strong>mom</strong> that you want to use the document
|
||||
processing macros with the
|
||||
<a href="docprocessing.html#START">START</a>
|
||||
macro, explained below. After <strong>START</strong>,
|
||||
<strong>mom</strong> determines the appearance of text following
|
||||
the markup tags automatically, although you, the user, can easily
|
||||
change how <strong>mom</strong> interprets the tags. This gives you
|
||||
nearly complete control over the look and feel of your documents.
|
||||
In addition, the typesetting macros, in combination with document
|
||||
processing, let you meet all sorts of typesetting needs that just
|
||||
can't be covered by "one macro fits all" markup tags.
|
||||
|
||||
<a name="USING_MACROS">
|
||||
<h2><u>How to input mom's macros</u></h2>
|
||||
</a>
|
||||
|
||||
Regardless of which way you use <strong>mom</strong>, the
|
||||
following apply.
|
||||
<br>
|
||||
<ol>
|
||||
<li>You need a good text editor for inputting
|
||||
<strong>mom</strong> files.
|
||||
<p>
|
||||
I cannot recommend highly enough that you use an
|
||||
editor that lets you write syntax highlighting
|
||||
rules for <strong>mom</strong>'s macros and
|
||||
<a href="definitions.html#TERMS_INLINES">inline escapes</a>.
|
||||
I use the vi clone called elvis, and find it a pure
|
||||
joy in this regard. Simply colorizing macros and
|
||||
inlines to half-intensity can be enough to make text stand
|
||||
out clearly from formattting commands.
|
||||
<li>All <strong>mom</strong>'s macros begin with a period
|
||||
(dot) and must be entered in upper case (capital)
|
||||
letters.
|
||||
<li>Macro
|
||||
<a href="definitions.html#TERMS_ARGUMENTS">arguments</a>
|
||||
are separated from the macro itself by spaces. Multiple
|
||||
arguments to the same macro are separated from each
|
||||
other by spaces. Any number of spaces may be used. All
|
||||
arguments to a macro must appear on the same line as the
|
||||
macro.
|
||||
<li>Any argument (except a
|
||||
<a href="definitions.html#TERMS_STRINGARGUMENT">string argument</a>)
|
||||
that is not a digit must be entered in upper case
|
||||
(capital) letters.
|
||||
<li>Any argument that requires a plus or minus sign must
|
||||
have the plus or minus sign prepended to the argument
|
||||
with no intervening space (e.g. +2, -4).
|
||||
<li>Any argument that requires a
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>
|
||||
must have the unit appended directly to the argument,
|
||||
with no intervening space (e.g. 4P, .5i, 2v).
|
||||
<li><a href="definitions.html#TERMS_STRINGARGUMENT">String arguments</a>,
|
||||
in the sense that the term is used in this manual, must
|
||||
be surrounded by double-quotes ("text of
|
||||
string"). Multiple string arguments are separated
|
||||
from each other by spaces (each argument surrounded by
|
||||
double-quotes, of course).
|
||||
<li>If a string argument, as entered in your text editor,
|
||||
becomes uncomfortably long (i.e. runs longer than the
|
||||
visible portion of your screen or window), you may break
|
||||
it into two or more lines by placing the backslash
|
||||
character (<kbd>\</kbd>) at the ends of lines to break
|
||||
them up, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.SUBTITLE "An In-Depth Consideration of the \
|
||||
Implications of Forty-Two as the Meaning of Life, \
|
||||
The Universe, and Everything"
|
||||
</pre>
|
||||
</ol>
|
||||
|
||||
It's important that formatted documents be easy to read/interpret
|
||||
when you're looking at them in a text editor. One way to achieve
|
||||
this is to group macros that serve a similar purpose together, and
|
||||
separate them from other groups of macros with a blank comment line.
|
||||
In groff, that's done with <kbd>\#</kbd> on a line by itself.
|
||||
Consider the following, which is a template for starting the
|
||||
chapter of a book.
|
||||
<p>
|
||||
<pre>
|
||||
.TITLE "My Pulizter Novel"
|
||||
.AUTHOR "Joe Blow"
|
||||
.CHAPTER 1
|
||||
\#
|
||||
.DOCTYPE CHAPTER
|
||||
.PRINTSTYPE TYPESET
|
||||
\#
|
||||
.FAM P
|
||||
.PT_SIZE 10
|
||||
.LS 12
|
||||
\#
|
||||
.START
|
||||
</pre>
|
||||
|
||||
<a name="USING_INVOKING">
|
||||
<h2><u>Printing -- invoking groff with mom</u></h2>
|
||||
</a>
|
||||
|
||||
After you've finished your document, naturally you will want to
|
||||
print it. This involves invoking groff from the command line.
|
||||
In all likelihood, you already know how to do this, but in case
|
||||
you don't, here are two common ways to do it.
|
||||
<p>
|
||||
<pre>
|
||||
groff -mom -l <filename>
|
||||
groff -mom <filename> | lpr
|
||||
</pre>
|
||||
|
||||
In the first, the <strong>-l</strong> option to groff tells
|
||||
groff to send the output to your printer. In the second, you're
|
||||
doing the same thing, except you're telling groff to pipe the
|
||||
output to your printer. Basically, they're the same thing. The
|
||||
only advantage to the second is that your system may be set up
|
||||
to use something other than <strong>lpr</strong> as your print
|
||||
command, in which case, you can replace <strong>lpr</strong>
|
||||
with whatever is appropriate to your box.
|
||||
<p>
|
||||
Sadly, it is well beyond the scope of this manual to tell you
|
||||
how to set up a printing system. See the README file for
|
||||
minimum requirements to run groff with <strong>mom</strong>.
|
||||
<p>
|
||||
<strong>NOTE FOR ADVANCED USERS:</strong> I've sporadically had groff
|
||||
choke on perfectly innocent sourced files within <strong>mom</strong>
|
||||
documents. You'll know you have this problem when groff complains that
|
||||
it can't find the sourced file even when you can plainly see that the
|
||||
file exists, and that you've given <code>.so</code> the right path and
|
||||
name. Should this happen, pass groff the <code>-U</code> (unsafe mode)
|
||||
option along with the other options you require. Theoretically, you
|
||||
only need <code>-U</code> with <code>.open, .opena, .pso, .sy,</code>
|
||||
and <code>.pi</code>, however reality seems, at times, to dictate
|
||||
otherwise.
|
||||
|
||||
<a name="USING_PREVIEWING">
|
||||
<h2><u>How to preview documents</u></h2>
|
||||
</a>
|
||||
|
||||
Other than printing out hard copy, there are two well-established
|
||||
methods for previewing your work. Both assume you have a working
|
||||
X server.
|
||||
<p>
|
||||
Groff itself comes with a quick and dirty previewer called
|
||||
gxditview. Invoke it with
|
||||
<p>
|
||||
<pre>
|
||||
groff -X -mom <filename>
|
||||
</pre>
|
||||
|
||||
It's not particularly pretty, doesn't have many navigation
|
||||
options, requires a lot of work if you want to use other than
|
||||
the "standard" groff PostScript fonts, and occasionally
|
||||
has difficulty accurately reproducing some of
|
||||
<strong>mom</strong>'s macro effects
|
||||
(<a href="goodies.html#SMARTQUOTES">smartquotes</a>
|
||||
and
|
||||
<a href="goodies.html#LEADER">leaders</a>
|
||||
come to mind). What it does have going for it is that it's fast and
|
||||
doesn't gobble up system resources.
|
||||
<p>
|
||||
A surer way to preview documents is with <strong>gv</strong>
|
||||
(ghostview). This involves processing documents with groff,
|
||||
directing the output to a temporary (PostScript) file, then opening
|
||||
the temporary file in <strong>gv</strong>. While that may sound
|
||||
like a lot of work, I've set up my editor (elvis) to do it for me.
|
||||
Whenever I'm working on a document that needs previewing/checking,
|
||||
I fire up <strong>gv</strong> with the "Watch File"
|
||||
option turned on. To look at the file, I tell elvis to process
|
||||
it (with groff) and send it to a temporary file (<kbd>groff
|
||||
-mom filename > filename.ps</kbd>), then open the file inside
|
||||
<strong>gv</strong>. Ever after, when I want to look at any changes
|
||||
I make, I simply tell elvis to work his magic again. The Watch File
|
||||
option in <strong>gv</strong> registers that the file has changed,
|
||||
and automatically loads the new version. Voilà! -- instant previewing.
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<a href="typesetting.html#TOP">Next</a>
|
||||
<a href="definitions.html#TOP">Prev</a>
|
||||
<a href="#TOP">Top</a>
|
||||
<a href="toc.html">Back to Table of Contents</a>
|
||||
</body>
|
||||
</html>
|
9265
contrib/groff/contrib/mom/om.tmac
Normal file
9265
contrib/groff/contrib/mom/om.tmac
Normal file
File diff suppressed because it is too large
Load Diff
19
contrib/groff/contrib/pic2graph/Makefile.sub
Normal file
19
contrib/groff/contrib/pic2graph/Makefile.sub
Normal file
@ -0,0 +1,19 @@
|
||||
MAN1=pic2graph.n
|
||||
CLEANADD=pic2graph
|
||||
|
||||
all: pic2graph
|
||||
|
||||
pic2graph: pic2graph.sh
|
||||
rm -f $@; \
|
||||
sed -e "s|@g@|$(g)|g" \
|
||||
-e "s|@VERSION@|$(version)$(revision)|" \
|
||||
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/pic2graph.sh >$@; \
|
||||
chmod +x $@
|
||||
|
||||
install_data: pic2graph
|
||||
-test -d $(bindir) || $(mkinstalldirs) $(bindir)
|
||||
-rm -f $(bindir)/pic2graph
|
||||
$(INSTALL_SCRIPT) pic2graph $(bindir)/pic2graph
|
||||
|
||||
uninstall_sub:
|
||||
-rm -f $(bindir)/pic2graph
|
123
contrib/groff/contrib/pic2graph/pic2graph.man
Normal file
123
contrib/groff/contrib/pic2graph/pic2graph.man
Normal file
@ -0,0 +1,123 @@
|
||||
.\" $Id: pic2graph.man,v 1.3 2002/07/17 04:55:46 wlemb Exp $
|
||||
.\" This documentation is released to the public domain.
|
||||
.TH PIC2GRAPH @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
|
||||
.IX pic2graph
|
||||
.SH NAME
|
||||
pic2graph \- convert a PIC diagram into a cropped image
|
||||
.
|
||||
.
|
||||
.SH SYNOPSIS
|
||||
.B pic2graph
|
||||
[
|
||||
.B \-unsafe
|
||||
]
|
||||
[
|
||||
.BI \-format\ fmt
|
||||
]
|
||||
[
|
||||
.BI \-eqn\ delim
|
||||
]
|
||||
.
|
||||
.
|
||||
.SH DESCRIPTION
|
||||
Reads a PIC program as input; produces an image file (by default in
|
||||
Portable Network Graphics format) suitable for the Web as output.
|
||||
Also translates
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
constructs, so it can be used for generating images of mathematical
|
||||
formulae.
|
||||
.P
|
||||
PIC is a rather expressive graphics minilanguage suitable for
|
||||
producing box-and-arrow diagrams of the kind frequently used in
|
||||
technical papers and textbooks. The language is sufficiently flexible
|
||||
to be quite useful for state charts, Petri-net diagrams, flow charts,
|
||||
simple circuit schematics, jumper layouts, and other kinds of
|
||||
illustration involving repetitive uses of simple geometric forms and
|
||||
splines. Because PIC descriptions are procedural and object-based,
|
||||
they are both compact and easy to modify.
|
||||
.P
|
||||
The PIC language is fully documented in "\fIMaking Pictures With GNU
|
||||
PIC\fP", a document which is part of the
|
||||
.BR groff (@MAN1EXT@)
|
||||
distribution.
|
||||
.P
|
||||
Your input PIC code should \fInot\fR be wrapped with the .PS and .PE macros
|
||||
that normally guard it within
|
||||
.BR groff (@MAN1EXT@)
|
||||
macros.
|
||||
.P
|
||||
The output image will be a black-on-white graphic clipped to the
|
||||
smallest possible bounding box that contains all the black pixels.
|
||||
By specifying command-line options to be passed to
|
||||
.BR convert (1)
|
||||
you can give it a border, set the background transparent, set the
|
||||
image's pixel density, or perform other useful transformations.
|
||||
.P
|
||||
This program uses
|
||||
.BR @g@pic (@MAN1EXT@),
|
||||
.BR @g@eqn (@MAN1EXT@),
|
||||
.BR groff (@MAN1EXT@),
|
||||
.BR gs (1),
|
||||
and the ImageMagick
|
||||
.BR convert (1)
|
||||
program.
|
||||
These programs must be installed on your system and accessible on your
|
||||
$PATH for \fBpic2graph\fR to work.
|
||||
.
|
||||
.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-unsafe
|
||||
Run
|
||||
.BR @g@pic (@MAN1EXT@)
|
||||
and
|
||||
.BR groff (@MAN1EXT@)
|
||||
in the `unsafe' mode enabling the PIC macro
|
||||
.B sh
|
||||
to execute arbitrary commands. The default is to forbid this.
|
||||
.TP
|
||||
.BI \-format\ fmt
|
||||
Specify an output format; the default is PNG (Portable Network Graphics).
|
||||
Any format that
|
||||
.BR convert (1)
|
||||
can emit is supported.
|
||||
.TP
|
||||
.BI \-eqn\ delim
|
||||
Change the fencepost characters that delimit
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
directives
|
||||
.RB ( $
|
||||
and
|
||||
.BR $ ,
|
||||
by default). This option requires an argument, but an empty string is
|
||||
accepted as a directive to disable
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
processing.
|
||||
.PP
|
||||
Command-line switches and arguments not listed above are passed to
|
||||
.BR convert (1).
|
||||
.
|
||||
.
|
||||
.SH FILES
|
||||
.TP \w'\fB@MACRODIR@/eqnrc'u+2n
|
||||
.B @MACRODIR@/eqnrc
|
||||
The
|
||||
.BR @g@eqn (@MAN1EXT@)
|
||||
initialization file.
|
||||
.
|
||||
.
|
||||
.SH "SEE ALSO"
|
||||
.BR eqn2graph (@MAN1EXT@),
|
||||
.BR @g@pic (@MAN1EXT@),
|
||||
.BR @g@eqn (@MAN1EXT@),
|
||||
.BR groff (@MAN1EXT@),
|
||||
.BR gs (1),
|
||||
.BR convert (1).
|
||||
.
|
||||
.
|
||||
.SH AUTHOR
|
||||
Eric S. Raymond <esr@thyrsus.com>, based on a recipe by W. Richard Stevens.
|
||||
.
|
||||
.\" Local Variables:
|
||||
.\" mode: nroff
|
||||
.\" End:
|
83
contrib/groff/contrib/pic2graph/pic2graph.sh
Normal file
83
contrib/groff/contrib/pic2graph/pic2graph.sh
Normal file
@ -0,0 +1,83 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# pic2graph -- compile PIC image descriptions to bitmap images
|
||||
#
|
||||
# by Eric S. Raymond <esr@thyrsus.com>, July 2002
|
||||
|
||||
# In Unixland, the magic is in knowing what to string together...
|
||||
#
|
||||
# Take a pic/eqn diagram on stdin, emit cropped bitmap on stdout.
|
||||
# The pic markup should *not* be wrapped in .PS/.PE, this script will do that.
|
||||
# An -unsafe option on the command line enables gpic/groff "unsafe" mode.
|
||||
# A -format FOO option changes the image output format to any format
|
||||
# supported by convert(1). An -eqn option changes the eqn delimiters.
|
||||
# All other options are passed to convert(1). The default format in PNG.
|
||||
#
|
||||
# Requires the groff suite and the ImageMagick tools. Both are open source.
|
||||
# This code is released to the public domain.
|
||||
#
|
||||
# Here are the assumptions behind the option processing:
|
||||
#
|
||||
# 1. Only the -U option of gpic(1) is relevant. -C doesn't matter because
|
||||
# we're generating our own .PS/.PE, -[ntcz] are irrelevant because we're
|
||||
# generating Postscript.
|
||||
#
|
||||
# 2. Ditto for groff(1), though it's a longer and more tedious demonstration.
|
||||
#
|
||||
# 3. Many options of convert(1) are potentially relevant (especially
|
||||
# -density, -interlace, -transparency, -border, and -comment).
|
||||
#
|
||||
# Thus, we pass -U to gpic and groff, and everything else to convert(1).
|
||||
#
|
||||
# We don't have complete option coverage on eqn because this is primarily
|
||||
# intended as a pic translator; we can live with eqn defaults.
|
||||
#
|
||||
# $Id: pic2graph.sh,v 1.2 2002/07/17 04:55:46 wlemb Exp $
|
||||
#
|
||||
groffpic_opts=""
|
||||
gs_opts=""
|
||||
convert_opts=""
|
||||
format="png"
|
||||
eqndelim='$$'
|
||||
|
||||
while [ "$1" ]
|
||||
do
|
||||
case $1 in
|
||||
-unsafe)
|
||||
groffpic_opts="-U"
|
||||
-format)
|
||||
format=$2
|
||||
shift;;
|
||||
-eqn)
|
||||
eqndelim=$2
|
||||
shift;;
|
||||
-v | --version)
|
||||
echo "GNU pic2graph (groff) version @VERSION@"
|
||||
exit 0;;
|
||||
--help)
|
||||
echo "usage: pic2graph [ option ...] < in > out"
|
||||
exit 0;;
|
||||
*)
|
||||
convert_opts="$convert_opts $1";;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$eqndelim" ]
|
||||
then
|
||||
eqndelim="delim $eqndelim"
|
||||
fi
|
||||
|
||||
# Here goes:
|
||||
# 1. Wrap the input in dummy .PS/PE macros (and add possibly null .EQ/.EN)
|
||||
# 2. Process through eqn and pic to emit troff markup.
|
||||
# 3. Process through groff to emit Postscript.
|
||||
# 4. Use convert(1) to crop the PostScript and turn it into a bitmap.
|
||||
tmp=/usr/tmp/pic2graph-$$
|
||||
trap "rm ${tmp}.*" 0 2 15
|
||||
(echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS"; cat; echo ".PE") | \
|
||||
groff -e -p $groffpic_opts -Tps >${tmp}.ps \
|
||||
&& convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
|
||||
&& cat ${tmp}.${format}
|
||||
|
||||
# End
|
136
contrib/groff/doc/Makefile.in
Normal file
136
contrib/groff/doc/Makefile.in
Normal file
@ -0,0 +1,136 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
#
|
||||
# This file is part of groff.
|
||||
#
|
||||
# groff is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with groff; see the file COPYING. If not, write to the Free Software
|
||||
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
|
||||
# Use this file to produce documentation in various formats; e.g. you can
|
||||
# say
|
||||
#
|
||||
# make groff.pdf
|
||||
#
|
||||
# to get the groff texinfo manual as a PDF file.
|
||||
#
|
||||
# Note that you have to compile the groff package first.
|
||||
|
||||
|
||||
srcdir=@srcdir@
|
||||
top_srcdir=@top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
top_builddir=@groff_top_builddir@
|
||||
|
||||
|
||||
# Since info files are distributed within the groff package, no
|
||||
# autoconf test for the makeinfo binary is done.
|
||||
MAKEINFO=makeinfo
|
||||
|
||||
# Users who want to print out the groff manual are expected to have
|
||||
# a working TeX installation.
|
||||
TEXI2DVI=texi2dvi
|
||||
|
||||
groff_bin_dirs=\
|
||||
$(top_builddir)/src/roff/groff \
|
||||
$(top_builddir)/src/roff/troff \
|
||||
$(top_builddir)/src/preproc/pic \
|
||||
$(top_builddir)/src/preproc/eqn \
|
||||
$(top_builddir)/src/preproc/tbl \
|
||||
$(top_builddir)/src/preproc/grn \
|
||||
$(top_builddir)/src/preproc/refer \
|
||||
$(top_builddir)/src/preproc/soelim \
|
||||
$(top_builddir)/src/preproc/html \
|
||||
$(top_builddir)/src/devices/grops \
|
||||
$(top_builddir)/src/devices/grodvi \
|
||||
$(top_builddir)/src/devices/grotty \
|
||||
$(top_builddir)/src/devices/grolj4 \
|
||||
$(top_builddir)/src/devices/grolbp \
|
||||
$(top_builddir)/src/devices/grohtml
|
||||
groff_bin_path=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
version=`cat $(top_srcdir)/VERSION`
|
||||
# No additional number if revision is zero.
|
||||
revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
|
||||
|
||||
FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
|
||||
TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
|
||||
|
||||
TROFF=$(top_builddir)/src/roff/troff/troff $(TFLAG) $(FFLAG) -ww
|
||||
GROFF=GROFF_COMMAND_PREFIX=''; \
|
||||
export GROFF_COMMAND_PREFIX; \
|
||||
GROFF_BIN_PATH=$(groff_bin_path); \
|
||||
export GROFF_BIN_PATH; \
|
||||
sed -e "s;@VERSION@;$(version)$(revision);" $< \
|
||||
| $(top_builddir)/src/roff/groff/groff $(TFLAG) $(FFLAG) -Upet -ww
|
||||
|
||||
imagedir=img
|
||||
|
||||
.SUFFIXES: .me .ms .ps .html .txt .texinfo .dvi .pdf
|
||||
|
||||
# For simplicity, we always call grn and eqn.
|
||||
.me.txt:
|
||||
$(GROFF) -Tascii -ge -me >$@
|
||||
.me.ps:
|
||||
$(GROFF) -Tps -ge -me >$@
|
||||
|
||||
.ms.html:
|
||||
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
|
||||
-P-D$(imagedir) -Thtml -ms >$@
|
||||
.ms.txt:
|
||||
$(GROFF) -Tascii -ms -mwww >$@
|
||||
.ms.ps:
|
||||
$(GROFF) -Tps -ms -mwww >$@
|
||||
|
||||
.texinfo.dvi:
|
||||
$(TEXI2DVI) -e $<
|
||||
.texinfo.pdf:
|
||||
$(TEXI2DVI) -e --pdf $<
|
||||
.texinfo.html:
|
||||
$(MAKEINFO) -I$(srcdir) --html --no-split $<
|
||||
|
||||
|
||||
all: prepare_examples
|
||||
|
||||
prepare_examples: grnexmpl.g
|
||||
test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
|
||||
|
||||
groff: groff.texinfo
|
||||
$(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
|
||||
|
||||
gnu.eps: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn >$@
|
||||
gnu.png: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
|
||||
|
||||
webpage.html: webpage.ms gnu.png gnu.eps
|
||||
webpage.ps: gnu.eps
|
||||
|
||||
grnexmpl.ps: grnexmpl.me grnexmpl.g
|
||||
|
||||
|
||||
clean:
|
||||
-rm -f *.ps *.html *.txt *.png *.eps *.gif *.dit core
|
||||
-rm -f *.aux *.dvi *.pdf *.log *.toc texput.log
|
||||
-rm -f *.cp *.cps *.cv *.cn *.es *.ess *.fn *.fns *.ky *.kys \
|
||||
*.ma *.mas *.op *.ops *.pg *.pgs *.rq *.rqs *.st *.sts \
|
||||
*.tp *.tps *.tr *.vr *.vrs
|
||||
-rm -rf img
|
||||
|
||||
distclean: clean
|
||||
|
||||
realclean: distclean
|
||||
|
||||
extraclean: clean
|
||||
-rm -f core *~ \#* junk temp grot
|
202
contrib/groff/doc/Makefile.sub
Normal file
202
contrib/groff/doc/Makefile.sub
Normal file
@ -0,0 +1,202 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
#
|
||||
# This file is part of groff.
|
||||
#
|
||||
# groff is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free
|
||||
# Software Foundation; either version 2, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# groff is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with groff; see the file COPYING. If not, write to the Free Software
|
||||
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# Since info files are distributed within the groff package, no
|
||||
# autoconf test for the makeinfo binary is done.
|
||||
MAKEINFO=makeinfo
|
||||
|
||||
groff_bin_dirs=\
|
||||
$(top_builddir)/src/roff/groff \
|
||||
$(top_builddir)/src/roff/troff \
|
||||
$(top_builddir)/src/preproc/pic \
|
||||
$(top_builddir)/src/preproc/eqn \
|
||||
$(top_builddir)/src/preproc/tbl \
|
||||
$(top_builddir)/src/preproc/grn \
|
||||
$(top_builddir)/src/preproc/refer \
|
||||
$(top_builddir)/src/preproc/soelim \
|
||||
$(top_builddir)/src/preproc/html \
|
||||
$(top_builddir)/src/devices/grops \
|
||||
$(top_builddir)/src/devices/grohtml
|
||||
groff_bin_path=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
|
||||
TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
|
||||
|
||||
GROFF=\
|
||||
GROFF_COMMAND_PREFIX=''; \
|
||||
export GROFF_COMMAND_PREFIX; \
|
||||
GROFF_BIN_PATH=$(groff_bin_path); \
|
||||
export GROFF_BIN_PATH; \
|
||||
sed -e "s;@VERSION@;$(version)$(revision);" $< \
|
||||
| $(top_builddir)/src/roff/groff/groff $(TFLAG) $(FFLAG) -Upet -ww
|
||||
|
||||
DOCFILES=\
|
||||
meref.me \
|
||||
meintro.me \
|
||||
pic.ms
|
||||
|
||||
PROCESSEDDOCFILES=\
|
||||
meref.ps \
|
||||
meintro.ps \
|
||||
pic.ps
|
||||
|
||||
HTMLDOCFILES=\
|
||||
pic.html
|
||||
|
||||
HTMLDOCIMAGEFILES=\
|
||||
pic*
|
||||
|
||||
EXAMPLEFILES=\
|
||||
webpage.ms \
|
||||
grnexmpl.g \
|
||||
grnexmpl.me
|
||||
|
||||
PROCESSEDEXAMPLEFILES=\
|
||||
webpage.ps \
|
||||
grnexmpl.ps
|
||||
|
||||
HTMLEXAMPLEFILES=\
|
||||
webpage.html
|
||||
|
||||
HTMLEXAMPLEIMAGEFILES=\
|
||||
webpage*
|
||||
|
||||
imagedir=img
|
||||
htmldocimagedir=$(htmldocdir)/$(imagedir)
|
||||
exampleimagedir=$(exampledir)/$(imagedir)
|
||||
|
||||
CLEANADD=\
|
||||
$(PROCESSEDDOCFILES) \
|
||||
$(PROCESSEDEXAMPLEFILES) \
|
||||
$(HTMLEXAMPLEFILES) \
|
||||
$(HTMLDOCFILES)
|
||||
|
||||
CLEANDIRADD=\
|
||||
$(imagedir)
|
||||
|
||||
CLEANNOTSRCDIRADD=\
|
||||
grnexmpl.g \
|
||||
groff \
|
||||
groff-* \
|
||||
gnu.eps \
|
||||
gnu.png
|
||||
|
||||
.SUFFIXES: .me .ms .ps .html
|
||||
|
||||
# For simplicity, we always call grn and eqn.
|
||||
.me.ps:
|
||||
$(GROFF) -Tps -ge -me >$@
|
||||
|
||||
.ms.html:
|
||||
$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
|
||||
-P-D$(imagedir) -Thtml -ms >$@
|
||||
.ms.ps:
|
||||
$(GROFF) -Tps -ms -mwww >$@
|
||||
|
||||
|
||||
all: groff $(PROCESSEDDOCFILES) prepare_examples \
|
||||
$(PROCESSEDEXAMPLEFILES) $(make_html)
|
||||
|
||||
html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
|
||||
|
||||
prepare_examples: grnexmpl.g
|
||||
test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
|
||||
|
||||
groff: groff.texinfo
|
||||
$(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
|
||||
|
||||
gnu.eps: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn -rle >$@
|
||||
gnu.png: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
|
||||
|
||||
webpage.html: webpage.ms gnu.png
|
||||
webpage.ps: gnu.eps
|
||||
|
||||
grnexmpl.ps: grnexmpl.me grnexmpl.g
|
||||
|
||||
distfiles: groff gnu.eps gnu.png
|
||||
|
||||
install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
|
||||
$(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
|
||||
-test -d $(infodir) || $(mkinstalldirs) $(infodir)
|
||||
# Prefer info files in builddir over srcdir; we test for
|
||||
# the existence of `groff'.
|
||||
d=.; \
|
||||
test -f "groff" || d=$(srcdir); \
|
||||
for f in $$d/groff $$d/groff-*; do \
|
||||
rm -f $(infodir)/`basename $$f`; \
|
||||
$(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
|
||||
done
|
||||
$(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
|
||||
-test -d $(docdir) || $(mkinstalldirs) $(docdir)
|
||||
for f in $(DOCFILES); do \
|
||||
rm -f $(docdir)/$$f; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
|
||||
done
|
||||
for f in $(PROCESSEDDOCFILES); do \
|
||||
rm -f $(docdir)/$$f; \
|
||||
$(INSTALL_DATA) $$f $(docdir)/$$f; \
|
||||
done
|
||||
-test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
|
||||
for f in $(EXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
|
||||
done
|
||||
for f in $(PROCESSEDEXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
$(INSTALL_DATA) $$f $(exampledir)/$$f; \
|
||||
done
|
||||
|
||||
install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
|
||||
-test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
|
||||
for f in $(HTMLDOCFILES); do \
|
||||
rm -f $(htmldocdir)/$$f; \
|
||||
$(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
|
||||
done
|
||||
-test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
|
||||
rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
|
||||
$(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
|
||||
-test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
|
||||
for f in $(HTMLEXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
$(INSTALL_DATA) $$f $(exampledir)/$$f; \
|
||||
done
|
||||
-test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
|
||||
rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
|
||||
$(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir)
|
||||
|
||||
uninstall_sub:
|
||||
-for f in groff groff-*; do \
|
||||
rm -f $(infodir)/$$f; \
|
||||
done
|
||||
$(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff
|
||||
-for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
|
||||
rm -f $(docdir)/$$f; \
|
||||
done
|
||||
-for f in $(HTMLDOCFILES); do \
|
||||
rm -f $(htmldocdir)/$$f; \
|
||||
done
|
||||
-rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
|
||||
-rmdir $(htmldocimagedir)
|
||||
-for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
|
||||
rm -f $(exampledir)/$$f; \
|
||||
done
|
||||
-rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
|
||||
-rmdir $(exampleimagedir)
|
403
contrib/groff/doc/fdl.texi
Normal file
403
contrib/groff/doc/fdl.texi
Normal file
@ -0,0 +1,403 @@
|
||||
|
||||
@node GNU Free Documentation License
|
||||
@appendixsec GNU Free Documentation License
|
||||
|
||||
@cindex FDL, GNU Free Documentation License
|
||||
@center Version 1.1, March 2000
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@end display
|
||||
|
||||
@enumerate 0
|
||||
@item
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
written document @dfn{free} in the sense of freedom: to assure everyone
|
||||
the effective freedom to copy and redistribute it, with or without
|
||||
modifying it, either commercially or noncommercially. Secondarily,
|
||||
this License preserves for the author and publisher a way to get
|
||||
credit for their work, while not being considered responsible for
|
||||
modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work that contains a
|
||||
notice placed by the copyright holder saying it can be distributed
|
||||
under the terms of this License. The ``Document'', below, refers to any
|
||||
such manual or work. Any member of the public is a licensee, and is
|
||||
addressed as ``you''.
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (For example, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, whose contents can be viewed and edited directly and
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup has been designed to thwart or discourage
|
||||
subsequent modification by readers is not Transparent. A copy that is
|
||||
not ``Transparent'' is called ``Opaque''.
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
@sc{ascii} without markup, Texinfo input format, La@TeX{} input format,
|
||||
@acronym{SGML} or @acronym{XML} using a publicly available
|
||||
@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed
|
||||
for human modification. Opaque formats include PostScript,
|
||||
@acronym{PDF}, proprietary formats that can be read and edited only by
|
||||
proprietary word processors, @acronym{SGML} or @acronym{XML} for which
|
||||
the @acronym{DTD} and/or processing tools are not generally available,
|
||||
and the machine-generated @acronym{HTML} produced by some word
|
||||
processors for output purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies of the Document numbering more than 100,
|
||||
and the Document's license notice requires Cover Texts, you must enclose
|
||||
the copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a publicly-accessible computer-network location containing a complete
|
||||
Transparent copy of the Document, free of added material, which the
|
||||
general network-using public has access to download anonymously at no
|
||||
charge using public-standard network protocols. If you use the latter
|
||||
option, you must take reasonably prudent steps, when you begin
|
||||
distribution of Opaque copies in quantity, to ensure that this
|
||||
Transparent copy will remain thus accessible at the stated location
|
||||
until at least one year after the last time you distribute an Opaque
|
||||
copy (directly or through your agents or retailers) of that edition to
|
||||
the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
@item
|
||||
MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
@enumerate A
|
||||
@item
|
||||
Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
|
||||
@item
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has less than five).
|
||||
|
||||
@item
|
||||
State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
@item
|
||||
Preserve all the copyright notices of the Document.
|
||||
|
||||
@item
|
||||
Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
@item
|
||||
Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
|
||||
@item
|
||||
Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
|
||||
@item
|
||||
Include an unaltered copy of this License.
|
||||
|
||||
@item
|
||||
Preserve the section entitled ``History'', and its title, and add to
|
||||
it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
|
||||
@item
|
||||
Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the ``History'' section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
|
||||
@item
|
||||
In any section entitled ``Acknowledgments'' or ``Dedications'',
|
||||
preserve the section's title, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgments
|
||||
and/or dedications given therein.
|
||||
|
||||
@item
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
|
||||
@item
|
||||
Delete any section entitled ``Endorsements''. Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
@item
|
||||
Do not retitle any existing section as ``Endorsements''
|
||||
or to conflict in title with any Invariant Section.
|
||||
@end enumerate
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties---for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
@item
|
||||
COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections entitled ``History''
|
||||
in the various original documents, forming one section entitled
|
||||
``History''; likewise combine any sections entitled ``Acknowledgments'',
|
||||
and any sections entitled ``Dedications''. You must delete all sections
|
||||
entitled ``Endorsements.''
|
||||
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
@item
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, does not as a whole count as a Modified Version
|
||||
of the Document, provided no compilation copyright is claimed for the
|
||||
compilation. Such a compilation is called an ``aggregate'', and this
|
||||
License does not apply to the other self-contained works thus compiled
|
||||
with the Document, on account of their being thus compiled, if they
|
||||
are not themselves derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one quarter
|
||||
of the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that surround only the Document within the aggregate.
|
||||
Otherwise they must appear on covers around the whole aggregate.
|
||||
|
||||
@item
|
||||
TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the
|
||||
original English version of this License. In case of a disagreement
|
||||
between the translation and the original English version of this
|
||||
License, the original English version will prevail.
|
||||
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
@uref{http://www.gnu.org/copyleft/}.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License ``or any later version'' applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@appendixsubsec ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with the Invariant Sections being @var{list their titles}, with the
|
||||
Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
|
||||
A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have no Invariant Sections, write ``with no Invariant Sections''
|
||||
instead of saying which ones are invariant. If you have no
|
||||
Front-Cover Texts, write ``no Front-Cover Texts'' instead of
|
||||
``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
|
1018
contrib/groff/doc/gnu.eps
Normal file
1018
contrib/groff/doc/gnu.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
contrib/groff/doc/gnu.png
Normal file
BIN
contrib/groff/doc/gnu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.1 KiB |
198
contrib/groff/doc/gnu.xpm
Normal file
198
contrib/groff/doc/gnu.xpm
Normal file
@ -0,0 +1,198 @@
|
||||
/* XPM */
|
||||
static char *noname[] = {
|
||||
/* width height ncolors chars_per_pixel */
|
||||
"213 177 14 1",
|
||||
/* colors */
|
||||
"` c #FFF",
|
||||
"a c #DDD",
|
||||
"b c #BBB",
|
||||
"c c #999",
|
||||
"d c #777",
|
||||
"e c #555",
|
||||
"f c #333",
|
||||
"g c #EEE",
|
||||
"h c #CCC",
|
||||
"i c #AAA",
|
||||
"j c #888",
|
||||
"k c #666",
|
||||
"l c #444",
|
||||
"m c #222",
|
||||
/* pixels */
|
||||
"`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````````gaahiibaag`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````acjjdddldjjkleeekdjia``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"```````````````````````````````````abbicli`hbjkdbelldddkdelldh```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````iibkcjellcaeaklcelfljllkekdeeejba````````````````````````````````````````````````````````````````````````````````````````````gha````````````````````````````````````````````````````",
|
||||
"```````````````````````````````bcagjcldkleljcdaelillfcdllfedeeelffc`````````````````````````````````````````````````````````````````````````````````````acdjddjccjjjch```````````````````````````````````````````````",
|
||||
"`````````````````````````````hch```jflleeeelkkcbljdlfliellldeeeeeflkh````````````````````````````````````````````````````````````````````````````````hjkch`ah`ic`gaiicjja````````````````````````````````````````````",
|
||||
"````````````````````````````cb``aeigjlefleellelhdlblllldllllcllekkeelcg``````````g``````````````````````````````````````````````````````````````gjcddiabjjdldkleklllliggcc```````````````````````````````````````````",
|
||||
"`````````````````````````ggjag`accdehilefelelllehldjllleellleellekllleejb```````dki```````````````````````````````````````````````````````````gjlljbiiekkelllllllefedcdg`hjb`````````````````````````````````````````",
|
||||
"````````````````````````gdhg`cdhadkdejilelelelekdelbllelelellkleelkfjeehiiihaaidbai``````````````````````````````````````````abg`````````````addijkdellelllelllllljckllkg``hcg```````````````````````````````````````",
|
||||
"```````````````````````gjgdejijlcghkeljjllllkdhjklkdcleklklllllleleeededg`hidjb``ig`````````````````````````````````````````akdei````````ggacdkkkkjllllflllflflllleekddjcji``big`````````````````````````````````````",
|
||||
"``````````````````````hdcjjceeekeei`hklkklledg`adebeclljelleleellelclkdlgg`aagg`ai``````````````````````````````````````````cg`bklkklllllllllkkeejlllfflekflellfleeelfllech```gcg````````````````````````````````````",
|
||||
"`````````````````````cihdckkjkleelldggiklejca``````aahkkceedkekjekkjllclhghbikkhjg``````````````````````````````````````````ij`g`ghbcjekddbkeeeljlllflfleflklfflekledjccccjg````ia```````````````````````````````````",
|
||||
"````````````````````hd``g``beedeeelkeb`gddhh```ghhhbbiekjhca`gjig`bgajab`gg``acc`````````````````````````````````````````````edagg`jeelleleeeeekeflfffleflefflelflklllelllledc```ba``````````````````````````````````",
|
||||
"```````````````````gc``aga``gdllelkecec``bg`gckdibbbhahbcdddjccciiihhgg```gbjca```````````````````````````````````````````````clkdcaccklleleeeekcikekklflefflllflllllllllllllekj``bg`````````````````````````````````",
|
||||
"```````````````````c``heledb``cllelebadj``gcdig`````````````gaaahhbhhhhhhgag```````````````````````````````````````````````````gcklflkjcaeekkjkjjddejdldkekdelllllfffffllleedjch```ig````````````````````````````````",
|
||||
"``````````````````caagikelllkcgjekekdg`hgbca```````````````````````````````````````````````````````````````````````````````````````aidelllebag````````hkea`gelllfffffffffffffllkg``gb````````````````````````````````",
|
||||
"`````````````````jbhdeecbbjefleckdciic`gca`````````````````````````````````````````````````````````````````````````````````````````````````````````````gikjgakffffffffflllekdkelkda`i````````````````````````````````",
|
||||
"```````````````adllkchbklkbabkflecgg``ajg`````````````````````````````````````````````````````````````````````````````````````````````````````````````````hdhaffffllllejjdelfflleda`hh```````````````````````````````",
|
||||
"```````````````jckllllejjeledahlfkhg`bjg````````````````````````````````````````````````````````````````````````````````````````````````````````````````````jiblleffffffffflekdkkelagb```````````````````````````````",
|
||||
"``````````````hj``gbdlllleellljcebg`bc```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````bjhcelffffllllllledddkc`i```````````````````````````````",
|
||||
"`````````````gdhbbhihabklllleekkk``bc`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````bj`hlfffffffffllleeekjhi```````````````````````````````",
|
||||
"````````````gdgeeelllekcidllleeja`aj```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````id`befffllfffffledibbgbg``````````````````````````````",
|
||||
"````````````cb`hchgidellekjjeeaijbjg````````````````````````````````````````gabbiiiibhg`````````````````````````````````````````````````````````````````````````cdgkfffffffledjjkeekcah``````````````````````````````",
|
||||
"```````````gd````gg```aclleddkg``da`````````````````````````````````````gbjkddjcccjddjddjia`````````````````````hbhag````````````````````````````````````````````iieffflfflfflkca`````b``````````````````````````````",
|
||||
"```````````ca```hbiiibhggbeekh``ib````````````````````````````````````gdkchgabbccjjiicibbijjh````````````````gijccjjjcia``````````````````````````````````````````ddflleeeleellllkdh``i``````````````````````````````",
|
||||
"``````````gj``clllffllllki`bcg`hj````````````````````````````````````hkcijccibag`gghbijkkjiidjh````````````bcibicjjiba`hba````````````````````````````````````````hjdleeelllffflllej``b``````````````````````````````",
|
||||
"``````````cahjekdjcicjdella```gd```````````````````````````````````adldia```````````````ghjddkkda```````gcdjjdcbhgabicjighb````````````````````````````````````````daiefffffffflllekg`b``````````````````````````````",
|
||||
"``````````j`ccjjjddkeekdcddb``ia``````````````````````````````````iejg```````ah`g```hg``````gbjelc````acckjhg``bebgh```hjcg````````````````````````````````````````chjeffffffllffllkdchg`````````````````````````````",
|
||||
"`````````iiallllllekjiijkedka`c``````````````````````````````````ijg`````g````chjjeagkdh``ghcb`ajljaaibcjg````gdeleld````gjc```````````````````````````````````````ac`kleiiklflkcklleghg`````````````````````````````",
|
||||
"`````````kkkellekekellejaghcb`c`````````````````````````````````cb```````chjacciicljeckdggkdkkh`chkebgjjbg`ahijallldflcig``ajh``````````````````````````````````````dallffldcjlfljkjlgaa`````````````````````````````",
|
||||
"````````bjjjiiijjddkeeeelhg``ab```````````````````````````````gjh`````hcbciiibkcbdlbkcejkjkeekebikadjkbdeecheakllcleiflkeaicgijg````````````````````````````````````djkllfflflkjefleb`bh`````````````````````````````",
|
||||
"````````kg`aabcjkeeellleekc``ig```````````````````````````````jg``````jjdbjijhedhkkjjdldejdeldklkeeijkcgkllekkaeljifclffffffebada```````````````````````````````````cillfffflllldcllb`bi`````````````````````````````",
|
||||
"```````gd``hellllleeeeekkkka`j```````````````````````````````jh`bgijkgieeakcdgekaedeielklejelkeelfeeiklbilellfcbflhlelfflffffleidb``````````````````````````````````caelleeelffllebkeabi`````````````````````````````",
|
||||
"```````bigcellllllllllleldgggc``````````````````````````````chaacbhkebaeeakdd`ekgedlhlelleckleellflekjeeaeeekeladfjkleffllefffflbcc`````````````````````````````````ibllllfleelfleljjeic`````````````````````````````",
|
||||
"```````jacllledjbcbhbidefekgch`````````````````````````````ci``dkj`elcgeeijed`eealkfblllleceldklelleekeeibejljllifdjlklfkfdllfffebbj````````````````````````````````biillflllfleelllljgc`````````````````````````````",
|
||||
"```````d`becbbijdelllllejag`j`````````````````````````````bhgc`iek`klj`keccek`eealdlclllllikedjlekfleeclebkeclblelkhfelfkfjelfffflcbc```````````````````````````````ibilfffleefffllflkgc`````````````````````````````",
|
||||
"```````d``bjelflkdjjdjdekchgc````````````````````````````gj``ddkee`kle`dekilkgeeildldllellbekkildeleelillkjlkldcjklilelfefdelflflflcch``````````````````````````````jadklffffekjkflllkai`````````````````````````````",
|
||||
"```````j``jlejcjdkeeekdkkihac```````````````````````````gdggccbllegdelgclecle`elhejlkelellbeddhlkleleljekklejieaehfjklllkelelflflflljkg`````````````````````````````d`jihdffffflddlllk`ig````````````````````````````",
|
||||
"```````j`gedkellleekkkekdihgc```````````````````````````jabbkicellajelaileilk`klaejleelkllhedkhljejeelkeedjj`gjbjlldjllelklllleflflllkda```````````````````````````gjgeellfffffleedeelhba````````````````````````````",
|
||||
"```````i`hedeeekkkkeekellljaj``````````````````````````jh``kljcdfehjelbheehekgelaejlleljllhedjaljeikdeelffildh`cklleblleldfellklllfllleka``````````````````````````iigedfffffffffeejelgba````````````````````````````",
|
||||
"```````a`cilledjiabcjelleb``j`````````````````````````ci```kljjiflhceliaelakkgllalcllllkeebkdcalieheckkkhchlleb`bflfbeleeefkllkellfllllekg`````````````````````````jg`aelfffffffffeeilhbg````````````````````````````",
|
||||
"`````````kdba`gikelkcjjkeeh`j````````````````````````iia``eeljdhflhcelcallhdkhllblielleelkcdebhliealieea`ahffflelflfddfeeeflllekllflllfllk`````````````````````````d``ilfleffffffffldhgbg````````````````````````````",
|
||||
"```````h`c`bjelekjdeelffleh`j```````````````````````ij`bcallljkgflidelchleakkileclillllllkkjehildkcljlligegeflkeeelfkjflelfllleelelellffllkg```````````````````````d`aeffflkfflfffflea`bg````````````````````````````",
|
||||
"```````b`gieejdellllkcdked``j``````````````````````ic``geglllkk`leideejblegedkfkclbllelledlakhcedkeekfldglabdldhiellkjflllflleellellelfefllkg`````````````````````akelflffflklfllffljc`b`````````````````````````````",
|
||||
"```````iggjjdelllecbjelljh`ach````````````````````ci````ebelekegeljkeldjldalklljkkjllefeledilcec`gcikellaei``blljkjkkjflllflllkllellklfdlllkjg````````````````````cejblffffffklfflfld``i`````````````````````````````",
|
||||
"```````iahcjelecaiefldjledjiaj```````````````````jb``bb`djllekk`eljeeleeljjllllkljefelfklkkck`gahahjlilkeeeg``ielfeleblllllflldllklleeldkleiadih``````````````````dlaelfffffffelfflfi``b`````````````````````````````",
|
||||
"```````bcbiekhgceflddelllecj`d`````````````````gdh```he`ckeleek`keeleellejlkideddieekeddb`dddjeeeldidbkjfjfkihggkfleehellellllkledlfkelljledgaci`````````````````bjkkfffffffffflfflfk``i`````````````````````````````",
|
||||
"```````gjgaigcllllellkellebagib```````````````gda``ghgegbeeelkk`eeeldli`accajliiiceledjjjdlleigahlb`jididkkffleeffebdbjljdllklldicllklllelllj``cc```````````````gdgjflfflfflfffflfflfi`b`````````````````````````````",
|
||||
"````````dgghekbklflkellleekkhgc``````````````gda````dhdbieekeekkljdjjlckflkkeekddjjjdkkkdjcbg````keacfejhejeleeceliajhdflleefleekklllllfflellh`gkc``````````````dballfflfffflffffffla`bg`````````````````````````````",
|
||||
"````````dhclddllleelllelllebg`jh````````````gja`````ijjdblkklljjkghdlejig```````````````gg```````gljghefecljlfdcej`cekkibjdabg`ghiickdkdeedledjagkc````````````jdbkfffffffffffffffflg`c``````````````````````````````",
|
||||
"````````icdbbkllllllejellkllc``jb``````````gdg````ighdbkhlkelebadedch`````````````````````````````hedahkffefklelfiejg`````bdc````````ahbjkeedleeh`cdh``aag``gieeklclffflffffffflffli`ai``````````````````````````````",
|
||||
"````````hcghklllllljdelldefle```jc````````hjg```gikbhkbljlcecjkkig`````````````````````````````````gdlejjellffflelc`````````bkg``````````abkjeeelb`hkellekbjldgdgkfflffflffffffflfk``cg``````````````````````````````",
|
||||
"````````gdikllkeleceklljeflklh```jja````acc`````hckcgececedlkig```````````````````g`````````````````gilelejcfffkjla````ag````hk`````````````ieeekfeh`ghjkkjig``dklelmfffflfffffffflb`c```````````````````````````````",
|
||||
"`````````dakejelkjedlldklldlleg```bcjjjjca``````jcedgekllecg`````````````````gicekj``````````````````ggabjleffcadeb```hed`````bd`````````````ggkllffjgba`bccgihefffeefffffffffffflkdhh```````````````````````````````",
|
||||
"`````````ibdielkdlkeedkllddellbch``````````aghaieaekglfda````````````````ghiiiaifeg`````````````ggg```ggagblfkgdljd``cijdg`````ci`````````````haeelffllljelfllfffffflffflffffffllldic````````````````````````````````",
|
||||
"`````````hcgclkklkeedkllejldfleehg`````````ccbjdeadejfj`````````````````hllkkeeffc`````````````gdlleg````g`ceebfflkghjklkg````g`ka````````````abcllfffffffffflfffffffffffffffffflj`gc````````````````````````````````",
|
||||
"``````````d`cdkleekkklledlklfleedd`aa`````gilildeajlfl`````````````````illlflfffk```````````````ajllig``g```aeefffj`clffi`````h`bd`````````````baelfflfffffffflffllfffffflffffllfa`ia````````````````````````````````",
|
||||
"``````````jagbledjkklfdkeedffelflecbkd````icldejlbjfed````````````````glfffllffkg````````````````gilkh``g``hkllfejagklfla````gb``k`````````````gccllfffffffffffffffffffffflmffflfhgi`````````````````````````````````",
|
||||
"``````````bb`bkkckclleeeljlflkfleeljke`igabkleeclikfcg````````````````cflfflffj```````````adeeja```iiih````blfkjia`gkffja`````h``dg`````````````hjllffffffffflflfffffffflfffffffegcg`````````````````````````````````",
|
||||
"``````````gc`beakbellkeleellleflellkje`ddgdklekdlele`````````````````alffeffdh``````````beffeklk`````hjbb``gijig``gadffiibiiaga``jg``````````````jelfffffffffffflffffffffffffllldbb``````````````````````````````````",
|
||||
"```````````jheajckeldellklllllflleeeie`dehkkelkklljc`````````````````kffelfjb``````````clkig``dlg`````aej````g`````iclfkja`hjhh``d```````````````bllfffffffffffffffffffffffflldeic```````````````````````````````````",
|
||||
"```````````ikagjdekedlekllelelllfkelbk`ekikdelelfba`````````````````blfkdlkcb````````hkeh`````jlc`````bkc``````````jjffedh`ggb``gk```````````````akelfffffffflllffflffffffffefiahh```````````````````````````````````",
|
||||
"```````````gj``idekjekeellklkfllleeeiegekidjleefe``````````````````hefd`ai`e````````ifj```````allg`````iig`````````cjfflb```````bd```````````````bklfflfffffffllffflfffffflfekkgc````````````````````````````````````",
|
||||
"````````````cg`deckjeledleellfelleeedebleidkellfb`````````````````hedi````hk````````ed`````````cfa`````hejg````````iefffcg`g````jb````````````````jlfflfffffffllffffflffflffb`djh````````````````````````````````````",
|
||||
"````````````hb`bedcelekjljllllllleeeeljeeckdelfl`````````````````acbi`````ki```````hea```hbcjdkkfc`````gelb````````hefffekddcb``ja`````````````````hllfeffffffllllffffllfklk`gji`````````````````````````````````````",
|
||||
"`````````````j`gicclejceejlefllllcekledleckkllfd``````````````````gjg````gla```````ifj`beffflffffeh`````hlb````````gcfffffffffecdb``````````````````dlfeflffffflllfflfefeeec`gj``````````````````````````````````````",
|
||||
"`````````````bi```jkdjhlklllflllehekleellbkkkllb``````````````````gg`````ik````````aflefffflfffjclb``````kb`````````alfellekjdellc``````````````````hlflfffffffllllelfefdhb`ajg``````````````````````````````````````",
|
||||
"``````````````jg```khjcldlllllllkbekleeeebkdellg`````````````````````````di````````gefffflfffffjbcd``````gia`````````klkleleeeddllg``````````````````effflfffflfffleffek```bkg```````````````````````````````````````",
|
||||
"``````````````gjg``jgidelldflleljjkelleeebekklj``````````````````````````lg`````````effejlffleffjida``````dc`````````glkcffflfedddh``````````````````kllleffffffllkkkecg`idda````````````````````````````````````````",
|
||||
"```````````````aca`hgbkeeceffjllieceelekeieeelg`````````````````````````gk`````````glebahlfflllfkgag``````kd`````````gdldfflffldjcg``````````````````blllkfffflllejgkkbdejg``````````````````````````````````````````",
|
||||
"`````````````````jg`ggkkcilfljlejeblkedklclefh``````````````````````````ci``````````lh``affffflfeaig`````gea````````gghefffffffkb````````````````````akcbklfflejdlbakfkb`````````````````````````````````````````````",
|
||||
"`````````````````gc```icbkflieldkjiebeeeecelc```````````````````````````dg``````````jj`g`efffffldde``````ji``````````ggblfffffekdkj```````````````````hc`bjdah`gajdkia```````````````````````````````````````````````",
|
||||
"``````````````````hb``bigjkeclddeakkjleldkee````````````````````````````k```````````gddhahlffflkiek`````````````````````jfffffddjle````````````````````ekkjjddddjba````````````g``a`a````````g```````````````````````",
|
||||
"```````````````````aigg```aieeblibejkeelcelb```````````````````````````hlg`````````ggailc`ajjcjcbec`````````````````````alleekchclh````````````````````bagagg```````````ag``gejb``kgk````gbagecdbabg`````````````````",
|
||||
"`````````````````````iba```hbblcgkb`dkeljel````````````````````````````ceg`````````````akdiibdeeej```````````````````````clekkcjeca`````````````````````j```````````````ilh``dfj`gedc`hb`gdkabelcbkeddi``````````````",
|
||||
"```````````````````````hih`hcliidc`akjeeedj````````````````````````````ecg````````````gg`acjcibag`````````````````````````clddedai``````````````````````ca```````````````bea``ek`alegblja`ieeajlcblkbkg``````````````",
|
||||
"`````````````````````````gbibg`gh``hagjhaea```````````````````````````gkig```````````````gg```gg```````````````````````````kla```h``````````````````````gj````````````````akg`ajggeaalfkb``jlkaljhlhkg```````````````",
|
||||
"````````````````````````````bbbbhg``````ge````````````````````````````cjhh``````````````````g`a````````````````````````````aej```cd``````````````````````j`````````````````ik`````ghecfejjdkllklkdeejig``````````````",
|
||||
"````````````````````````````````ghbhhg``kc````````````````````````````eh`ihg````````````````````````````````````````````````ilh``bej`````````````````````bh`````````````hiiceddkkkklkdjjjcbag``c`````gb``````````````",
|
||||
"`````````````````````````````````````ahclg```````````````````````````afg`bha`````````````````````````````````````````````````dd``glka`````````````````````c`````````````dbhhjcbhg``````````````i``````b``````````````",
|
||||
"```````````````````````````````````````ck````````````````````````````dfh`gaa`````````````````````````````````````````````````bla``idjg````````````````````ai````````````j```h``````````````````i`````gb``````````````",
|
||||
"```````````````````````````````````````lh```````````````````````````aelg```g``````````````````````````````````````````````````cj```eadgg```````````````````cg```````````c``gi`````````gaabbicccdibdciab``````````````",
|
||||
"``````````````````````````````````````hk````````````````````````````dceka`````````````````````````````````````````````````````geg``djgda```````````````````gc``````````adjdkejicjddkelledjedckijaaeeich``````````````",
|
||||
"``````````````````````````````````````di```````````````````````````he`bd```````````````````````````````````````````````````````ek``ce`gch```````````````````ab`````````gcidkjlbbbckjadlb``dj`c`ga`cda````````````````",
|
||||
"`````````````````````````````````````glg```````````````````````````dj`ce````````````````````````````````ga`````````````````````aea`ilg``iig``````````````````ba```````````cbae```gki`cli``dd`c``g`gda````````````````",
|
||||
"`````````````````````````````````````bk```````````````````````````hlg`bkjg```````````````````````````gggblig``gh````````````````jj`hli```gjcg`````````````````ig``````````jbbe````ki`ilc``dd`c`````da````````````````",
|
||||
"`````````````````````````````````````di``````````````````````````gec``ajegg`````````````````````````ckkdjcecaaaa````````````````gkbaec`````accig```````````````cjg````````kbhe````ei`ilj``jk`j``g``da````````````````",
|
||||
"`````````````````````````````````````lg``````````````````````````dd````hkkj```````````````````````````````hjkkdjdjjjjb```````````bkhec````````acjbg`````````````gjg```````diak```gei`blc``de`j`````da````````````````",
|
||||
"````````````````````````````````````he``````````````````````````ikg`````dela````````````````````````````ghbhhhaaggg```````````````kjei```````````bdjiag```````gbiig```````dbak````lb`bli``de`j`````da````````````````",
|
||||
"````````````````````````````````````jc````````````````````````gdk````````bkb`````````````````````````akkdjddkeleja````````````````ilkh``````````````hcjjccccjcbg``````````dbhd````ei`hec``dk`j`````ka````````````````",
|
||||
"````````````````````````````````````eg```````````````````````geea`````````ib`````````````````````````ei````````gbjejg`````````````aelg````````````````````````````````````jbhd```gli`hei``dd`j`````kg````````````````",
|
||||
"```````````````````````````````````be```````````````````````hlla``````````g`````````````````````````cj````````````adlb`````````````hlbg```````````````````````````````````dbbd```gli`ali``jd`j`````kg````````````````",
|
||||
"```````````````````````````````````kb``````````````````````allh````````````````````````````````````hla``````````````bejg````````````dla`gahjji````````````````````````````dbbd```glc`glb``dj`d`````kg````````````````",
|
||||
"``````````````````````````````````be``````````````````````beeh`````````````````````````````````````kh`bklljg``````````iei```````````ckelleedddka``````````````````````````dbbd```glc`glh``dj`j`````kg````````````````",
|
||||
"`````````````````````````````````geh```````````````````gikejg`````````````````````````````````````gk`jfeddeea``````````akkb````````````g``````aeg`````````````````````````dbij```glc`glh``jj`d`````kg````````````````",
|
||||
"`````````````````````````````````ec`````````````````gbdledi```````````````````````````````````````ijifd````hg````````````ieda``````````````````ij`````````````````````````dbbj```ali`gla``jc`d`````kg````````````````",
|
||||
"````````````````````````````````jk````````````ghijdkkdjhha````````````````````````````````````````daefb```````````````````gdeb``````````````````e`````````````````````````dhbj```ali`glh``ih`j`````k`````````````````",
|
||||
"```````````````````````````````ilg`````````bdelkjbg``gcabcg```````````````````````````````````````kajlg`````````````````````jei`````````````````ka````````````````````````khbj```hlb`bla``jh`d`````e`````````````````",
|
||||
"``````````````````````````````ila````````cedccb````````ijib```````````````````````````````````````kahe````hdledcg````````````i``````````````````jb````````````````````````khic```hlb`blh``jh`d`````e`````````````````",
|
||||
"`````````````````````````````ilh````````jlg`gc`````````gjdb```````````````````````````````````````bg`a````deahikeg``````````````````````````````ic````````````````````````kaic```hlb`blh``jb`d`````e`````````````````",
|
||||
"````````````````````````````dfb````````alb``ca``````````hlg```````````````````````````````````````ah`````glfklfekd``````````````````````````````ic````````````````````````khcc```blb`blh``jh`d`````e`````````````````",
|
||||
"```````````````````````````cfc`````````kk```d````````````k``````````````````````````````hg```````````````glfffffekcia`````````````````````````abdh````````````````````````eacc```bliiefc``dh`d`````e`````````````````",
|
||||
"```````````````````````````ed`````````blb```d````````````db```````````````````````````gag````````````````gkffffffbelkg```````````````````````gjde`````````````````````````kaic```bldcahkb`kh`d`````e`````````````````",
|
||||
"```````````````````````````lg``gikcghjlc```gj````````````je````````````````````````gjkka``````````````````gkfffflaeefi```````````````````````dedd`````````````````````````eabj```blk``ghegkh`d`````e`````````````````",
|
||||
"```````````````````````````ddjkfeddflda````bc````````````ceb``````````````````````akig``````````````````````bjig``eblk``````````````````````jflld`````````````````````````kghj```bli```cflllcd````ge`````````````````",
|
||||
"```````````````````````````gccib```ga``````ib````````````jhc``````````````````````ea``````````````````````````````khbfg````````````````````jlfflh`````````````````````````egbc```bfj``glkdleid```gbk`````````````````",
|
||||
"```````````````````````````````````````````ca````````````j`j``````````````````````````````big`````````````````````ehgli``````````````````gdlfffd``````````````````````````egbj```ile``ge``kh`dgiaaik`````````````````",
|
||||
"```````````````````````````````````````````ja````````````j`j````````````````````````````helkli`````g`````````````gk``ed````````````````gbklffleg``````````````````````````lgbj```cllh`jj``eb`difdbik`````````````````",
|
||||
"```````````````````````````````````````````ch````````````cgd````````````````````````````iga`geb``ag``````````````````cc`````````````ggadlffflkb```````````````````````````labc```jlka`ec``kb`difehid`````````````````",
|
||||
"```````````````````````````````````````````ch````````````ihja````````````````````````````````hla`j```````````````````````````````````hklffffdj````````````````````````````lhic```kfcggjli`eb`djflbcd`````````````````",
|
||||
"```````````````````````````````````````````ib`````````````ijeg````````````````````````````````dcgj`````````````````````````````````gjefffffekg````````````````````````````laieejelledecieieb`dhkcbcd`````````````````",
|
||||
"```````````````````````````````````````````bc```````````````cd````````````````````````````````akii````````````````````````````````gdlflffflka`````````````````````````````laijeggabijkellllb`dga`bcd`````````````````",
|
||||
"```````````````````````````````````````````aj```````````````gkh````````````````````````````````cki```````````````````````````````gdlflffflkg``````````````````````````````eajkkjihg``````geb`dg``hcd`````````````````",
|
||||
"```````````````````````````````````````````gd````````````````jc````````````````````````````````gej```````````````````````````ggagdllllfflka```````````````````````````````dadlklekeeekkkkjeb`d```acj`````````````````",
|
||||
"````````````````````````````````````````````d```````````````gbj`````````````````````````````````be``````````````````````````````hjjcdeelecg```````````````````````````````khjeeeb`````ghejeb`d```aij`````````````````",
|
||||
"````````````````````````````````````````````d```````````````baj``````````````````````````````````kh`````````````````````````````gg``gabi`ajg```ggga``````````````````````gkckecd`g``````aeeb`k```gic`````````````````",
|
||||
"````````````````````````````````````````````dg``````````````abch`````````````````````````````````bj````````````````````````````````````````bkdkekdklkkka```````````````ajllflkejibhgggghbkli`k```gij`````````````````",
|
||||
"````````````````````````````````````````````cb```````````````chj``````````````````````````````````dg````````````````````````````````````````hh```gbg`gdi```````````````jkiicjcccijdkllllfkli`k```gic`````````````````",
|
||||
"````````````````````````````````````````````bi```````````````gceih````````````````````````````````aj`````````````````````````````````````````ba`cdhhgggkg`````````````bjkellkkeekdeclkkkllligk```aci`````````````````",
|
||||
"````````````````````````````````````````````aj`````````````````bhbjjg``````````````````````````````aj````````````````````````````````````````gcgblfjkg`hd``````````````gbdklcedihbedekellklcae```aji`````````````````",
|
||||
"`````````````````````````````````````````````d`````````````````hb``ajjg`````````````````````````````hc```````````````````````````````````````adgaelfcg``ji````````````````ge`dig`gkghabaahejak```hji`````````````````",
|
||||
"`````````````````````````````````````````````d``````````````````biih`adh`````````````````````````````hc```````````````````````````````g``gbiikfjgjeld```aea```````````````ge`kiaghejaggbbiedgk```bji`````````````````",
|
||||
"`````````````````````````````````````````````ih```````````````````gbch`da`````````````````````````````jkh`````````````````````hckkeeeekdcjkdlielbieeeh```hka`````````````gbebdkeellleekcidfj`k```ijjhhhha````````````",
|
||||
"`````````````````````````````````````````````ac``````````````````````ibjki````````````````````````````gdlcg``ghbhgg```ggacckelfflllllffffflbagbfkilelddcbghkjg``````````bkllllllllllelllekligk```ajeeeelleka`````````",
|
||||
"``````````````````````````````````````````````k``````````````````````gccgd``````````````````````````````ileeefflkchahabklfffffffffffffffflc````dflfelkcdkkddlkjjjcjjccccklllleeeeeleeeeeleli`k````jklellllljci```````",
|
||||
"``````````````````````````````````````````````ja`````````````````````cgj`j```````````````````````````````hllebahabcdelffffffffffflllffllfj`````aleejllkdjba`aihgbiibibibijcccccccccccccjddeh`eg```djbbhbiiiibdd``````",
|
||||
"``````````````````````````````````````````````aj`````````````````````jacih````````````````````````````````gefllllflfffffffffllfflekkeelfd``````glkkjedghifdbgjdjjdkdjjjjjjddjdccccjiiibbbiebheg```djccjkkkejjkc``````",
|
||||
"```````````````````````````````````````````````d`````````````````````cjgjg`````````````````````````````````hdlffffflkjjjjdibhbiig`g`agaci```````ljjkkk`gafldhlcaahbbiibbbideilkchjehhhahhbdabeh``gdh```jbak``ch``````",
|
||||
"```````````````````````````````````````````````d`````````````````````dj`j`````````````````````````````````````gahaaag``````````````````aj```````edbejea`glldhlb```````````jkglcg`id```````jggeh``ada```jhgk``ca``````",
|
||||
"```````````````````````````````````````````````ja````````````````````djhi``````````````````````````````````````````h```````````````````gd``````gejhkclc`geecbla```````````id`lj`gcc```````j``ea``gka```chgk``ca``````",
|
||||
"```````````````````````````````````````````````bi````````````````````ckhi``````````````````````````````````````````````````````````````bj``````gejajcee``kehbk````````````ckgej``jj``````adggea```ka```jhad``cg``````",
|
||||
"````````````````````````````````````````````````d`````````````````````dcj``````````````````````````````````````````````````````````````ka``````aejgddkeg`kkgcd````````````ck`ed``cj``````ad``eg```ka```jaaj``jg``````",
|
||||
"````````````````````````````````````````````````bi`````````````````````kkh````````````````````````````````````````````````````````````hk```````akcgkkjebgkk`jj````````````ck`ec``cc``````gj`gk````eg```jghc``d```````",
|
||||
"`````````````````````````````````````````````````d`````````````````````gjd```a```````````````````````````````````````````````````````gda```````hei`kdcfjakd`ki````````````ieaec``jc```````c`gd````eg```j`bi``d```````",
|
||||
"`````````````````````````````````````````````````ch``````````````````````bb``d`````````````````````````````````````````````````````ajjg````````behgkdcfeadjgeg````````````cehlc``jc```````c`gd````eg```j`ib``k```````",
|
||||
"`````````````````````````````````````````````````aj```````````````````````iggj```````````````````````````````````````````````g`gbjjig``````````blghjicllbdiae`````````````ckhlc``di```````c`gd````e````j`ca``d```````",
|
||||
"``````````````````````````````````````````````````dg```````````````````````ihc``a`````````````````````````````````abckdkkeeeedjjh``````````````blgbjakdejdhcd`````````````jkalc`gdi```````c`gd````k````j`jg`gk```````",
|
||||
"``````````````````````````````````````````````````bj```````````````````````ihc``a```````````````````````````````bklffffflffflg`````````````````ce`iigkiekkadc`````````````jkalc`gki``````gj`gj````k````j`j``ae```````",
|
||||
"```````````````````````````````````````````````````cb`````````````````````hbbc`gj````````````````````````````gclffffffffffffd``````````````````jk`ji`dakeeaea`````````````jkali``ei``````gd`gj````d````d`d``be```````",
|
||||
"````````````````````````````````````````````````````dg````````````````````iahc`ia```````````````````````````bellffffflffflfla``````````````````dk`db`cdkekge``````````````ckgfb``lh```````c`gj````d```gj`d``hj```````",
|
||||
"````````````````````````````````````````````````````ac````````````````````higd`j`g``````````````````````````jffffffffffflffc```````````````````kj`ka`hecldhe``````````````iegfh``liiicdjccj`aj```hlc``gj`d``hb```````",
|
||||
"`````````````````````````````````````````````````````ih````````````````````dgjhd````````````````````````````chkkekeelkcagkfi```````````````````ec`k``glbljhlkkkdddkkdjddkkekalh``lcbbbiccdj`hd```gelkabj`d``hi```````",
|
||||
"``````````````````````````````````````````````````````jg```````````````````gjcdd```h``````````````````````````hejgdiach`gjklh`````````````````gec`k``gddkchkggggaaagaagg``heglh`ala``````bc`ad````ihkldjgj``hi```````",
|
||||
"``````````````````````````````````````````````````````gdg````````````````````ilea``h```abg`a```ig``````````````dhak``hb``b`jk`````````````````bkcgk```alkbalcg````````````hk`fh`glg``````hh`gc```gc``hkdac``bb```````",
|
||||
"```````````````````````````````````````````````````````gdh```````````````````gdli``h`h`gjhg```bk```````````````icijg`gc````ala````````````````bkhad````eeaijdda```````````bkala`alg``````aa``c```gc```ichi``ia```````",
|
||||
"`````````````````````````````````````````````````````````cb``````````````````gclk``b`b`bhgb```eh```````````````gjgji`gc`ha``dk````````````````jegcc````jegeiahkcg`````````aklfeeel```````gb``j```gj```jiibg`i````````",
|
||||
"``````````````````````````````````````````````````````````ic```````````````````cla`b`hgja`c``bii````````````````a`jicbb`aj``bd````````````````aekeh````jkakejggdlc``````````ghbihg```````gj`ge```gc```kkekjckh```````",
|
||||
"```````````````````````````````````````````````````````````hda`````````````````alkgb`aachbjg`jhh`````````````````ga`cd```d``cj```````````````````ig```gjcgkgjec`adeb``````````````````````ekij```gb```ha`gaaklja`````",
|
||||
"````````````````````````````````````````````````````````````gjh`````````````````cdhj`gbhkchi`j`b````````````````````ik``gd``kh````````````````````````heigd``helb`gdkddddkkeeeeekdcjjjcciijkleeeediiiiibibbbbckc`````",
|
||||
"``````````````````````````````````````````````````````````````jg`````````````````cccigigekgj`j`b```````````````````ajcb`bi`bj`````````````````````````ieihc```aefkhglhgagggghbcciichaahhbbbbiiccicjiiiiiiiicjcjc`````",
|
||||
"``````````````````````````````````````````````````````````````ga``````````````````ckgii`jecbid`ha`````````````````gb`hb`dg`kg`````````````````````````cldji````gcefllg````````````````````````````````````````aj`````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````abbc`ajeaikb`i```````````````````gcghj`dh```````````````````````````hdeb```````aefjccibhhhhhhbbibbibiiibhaggahbcjjjjccciccjdi`````",
|
||||
"````````````````````````````````````````````````````````````````````````````````````iiac``ckgjkgah``````````````````caadgjh``````````````````````````````g`````````gadjdkkkeekkdddjjjjjccccjdkkddjcbhhhhhhhagg```````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````aab`acjgkdgdd`i`````````````````chadgba```````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````bi````ghajbiciab``````````````gcbhdgbb````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````````````````````````````````````````````````bha`````g`bdgjj`bg``````````gahbggdgih`````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````gbc`````gghadgcj``i`````````jeda`gdgcg```ghiccg`````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````i`j``````hcgjgjcg`gc```````gdkh``jajh`acjia`bbjhg```````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````c`j````abgdhichig``j```````jik``chjhgjdeg``gg``jba``````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````c`c``gih`cgcgdgia`bb```````kid`hcch`dhdlkhildb`gjb``````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````igb`ab`gia`jgj`cg`c````````kij`jci`gddlllbjlcj``db``````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````aaa`b`bcg``jbc`j`ab````````ehjgkj``celfffjklldjkei``````````````````````````````````````````````````````````````````````````````````",
|
||||
"````````````````````````````````````````````````````````````````````````````````````hgcg````chj`c`ba`````g``k`dbeg``klfflflefelfkjj``````````````````````````````````````````````````````````````````````````````````",
|
||||
"````````````````````````````````````````````````````````````````````````````````````gcg`````ibkhabcg`````a``k`jbl```kllfllfdllffleb``````````````````````````````````````````````````````````````````````````````````",
|
||||
"````````````````````````````````````````````````````````````````````````````````````ab``````gjci`iba`````aa`jbhidb``jflfklfllfflkk```````````````````````````````````````````````````````````````````````````````````",
|
||||
"````````````````````````````````````````````````````````````````````````````````````bg```````cbkhbgi`g````i`be`g`cb`hfecajfllffecj```````````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````````````````````````````````````````````````````````````chj``b``g```jggej```ccgeljdjllffleeg```````````````````````````````````````````````````````````````````````````````````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````````````````hh`````````bc`iji```bddlfffffffeljg```````````````````````````````````````````````````````````````````````````````````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````````````````i```````````ikjjejg```hjdlffffffekelc`````````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````````````````````````````````````````````````````````````gb````````````bccidkcg````ahidekjg``gkci```````````````````````````````````````````````````````````````````````````````",
|
||||
"``````````````````````````````````````````````````````````````````````````````````````````````h````````````````g``hdg`````````g```bkji```````````````````````````````````````````````````````````````````````````````",
|
||||
"```````````````````````````````````````````````````````````````````````````````````````````````````````````````````ga````````````gklei```````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````",
|
||||
"`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````"
|
||||
};
|
@ -1,9 +1,7 @@
|
||||
.sc
|
||||
.nr pp 12
|
||||
.nr tp 12
|
||||
.nr sp 12
|
||||
.nr fi 0
|
||||
.st ug
|
||||
.ls 1
|
||||
.po 1i
|
||||
.pl 11i
|
||||
|
297
contrib/groff/doc/groff
Normal file
297
contrib/groff/doc/groff
Normal file
@ -0,0 +1,297 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.1 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, with the Front-Cover texts
|
||||
being `A GNU Manual," and with the Back-Cover Texts as in (a)
|
||||
below. A copy of the license is included in the section entitled
|
||||
`GNU Free Documentation License."
|
||||
|
||||
(a) The FSF's Back-Cover Text is: `You have freedom to copy and
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
Indirect:
|
||||
groff-1: 1001
|
||||
groff-2: 48538
|
||||
groff-3: 97766
|
||||
groff-4: 140652
|
||||
groff-5: 187441
|
||||
groff-6: 231433
|
||||
groff-7: 275695
|
||||
groff-8: 325582
|
||||
groff-9: 372274
|
||||
groff-10: 420373
|
||||
groff-11: 430355
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top1001
|
||||
Node: Introduction2290
|
||||
Node: What Is groff?2764
|
||||
Node: What Is groff?-Footnotes4270
|
||||
Ref: What Is groff?-Footnote-14339
|
||||
Node: History4376
|
||||
Node: groff Capabilities9327
|
||||
Node: Macro Package Intro10513
|
||||
Node: Preprocessor Intro11135
|
||||
Node: Output device intro12631
|
||||
Node: Credits13095
|
||||
Node: Invoking groff13599
|
||||
Node: Groff Options14876
|
||||
Node: Environment24383
|
||||
Node: Macro Directories26210
|
||||
Node: Font Directories27532
|
||||
Node: Invocation Examples29179
|
||||
Node: Invocation Examples-Footnotes30377
|
||||
Ref: Invocation Examples-Footnote-130456
|
||||
Node: grog30689
|
||||
Node: Tutorial for Macro Users31958
|
||||
Node: Basics32378
|
||||
Node: Basics-Footnotes37183
|
||||
Ref: Basics-Footnote-137236
|
||||
Ref: Basics-Footnote-237330
|
||||
Node: Common Features37444
|
||||
Node: Paragraphs38230
|
||||
Node: Sections and Chapters39728
|
||||
Node: Headers and Footers40219
|
||||
Node: Page Layout Adjustment41092
|
||||
Node: Displays41359
|
||||
Node: Footnotes and Annotations42617
|
||||
Node: Table of Contents43276
|
||||
Node: Indices43790
|
||||
Node: Paper Formats44192
|
||||
Node: Multiple Columns44565
|
||||
Node: Font and Size Changes44813
|
||||
Node: Predefined Strings45115
|
||||
Node: Preprocessor Support45451
|
||||
Node: Configuration and Customization46005
|
||||
Node: Macro Packages46372
|
||||
Node: man46632
|
||||
Node: Man options47036
|
||||
Node: Man usage48538
|
||||
Node: Man font macros53889
|
||||
Node: Miscellaneous man macros55415
|
||||
Node: Predefined man strings56246
|
||||
Node: Preprocessors in man pages56721
|
||||
Node: mdoc57303
|
||||
Node: ms57472
|
||||
Node: ms Intro57948
|
||||
Node: General ms Structure58617
|
||||
Node: General ms Structure-Footnotes61058
|
||||
Ref: General ms Structure-Footnote-161139
|
||||
Node: ms Document Control Registers61185
|
||||
Node: ms Cover Page Macros64241
|
||||
Node: ms Body Text67159
|
||||
Node: Paragraphs in ms67628
|
||||
Node: Headings in ms69181
|
||||
Node: Highlighting in ms69967
|
||||
Node: Lists in ms72429
|
||||
Node: Indents in ms75662
|
||||
Node: Tabstops in ms76228
|
||||
Node: ms Displays and Keeps76625
|
||||
Node: ms Insertions80077
|
||||
Node: Example multi-page table81628
|
||||
Node: ms Footnotes82071
|
||||
Node: ms Page Layout82943
|
||||
Node: ms Headers and Footers83460
|
||||
Node: ms Margins84483
|
||||
Node: ms Multiple Columns84724
|
||||
Node: ms TOC85525
|
||||
Node: ms Strings and Special Characters88230
|
||||
Node: ms Strings and Special Characters-Footnotes90886
|
||||
Ref: ms Strings and Special Characters-Footnote-190993
|
||||
Node: Differences from AT&T ms91080
|
||||
Node: Missing ms Macros91379
|
||||
Node: Additional ms Macros92123
|
||||
Node: me93375
|
||||
Node: mm93533
|
||||
Node: gtroff Reference93680
|
||||
Node: Text94608
|
||||
Node: Filling and Adjusting95130
|
||||
Node: Hyphenation95843
|
||||
Node: Sentences96626
|
||||
Node: Tab Stops97766
|
||||
Node: Implicit Line Breaks98660
|
||||
Node: Input Conventions99647
|
||||
Node: Measurements100431
|
||||
Node: Measurements-Footnotes102638
|
||||
Ref: Measurements-Footnote-1102703
|
||||
Node: Default Units102775
|
||||
Node: Expressions103821
|
||||
Node: Identifiers106535
|
||||
Node: Embedded Commands110391
|
||||
Node: Requests111138
|
||||
Node: Request Arguments112726
|
||||
Node: Request Arguments-Footnotes115077
|
||||
Ref: Request Arguments-Footnote-1115152
|
||||
Ref: Request Arguments-Footnote-2115280
|
||||
Node: Macros115634
|
||||
Node: Escapes115991
|
||||
Node: Comments118872
|
||||
Node: Comments-Footnotes121447
|
||||
Ref: Comments-Footnote-1121504
|
||||
Node: Registers121603
|
||||
Node: Setting Registers122106
|
||||
Node: Interpolating Registers124388
|
||||
Node: Auto-increment125192
|
||||
Node: Assigning Formats126722
|
||||
Node: Built-in Registers129630
|
||||
Node: Manipulating Filling and Adjusting132879
|
||||
Node: Manipulating Hyphenation140652
|
||||
Node: Manipulating Hyphenation-Footnotes150959
|
||||
Ref: Manipulating Hyphenation-Footnote-1151048
|
||||
Node: Manipulating Spacing151123
|
||||
Node: Tabs and Fields154514
|
||||
Node: Tabs and Fields-Footnotes160646
|
||||
Ref: Tabs and Fields-Footnote-1160717
|
||||
Node: Leaders160795
|
||||
Node: Leaders-Footnotes162386
|
||||
Ref: Leaders-Footnote-1162441
|
||||
Node: Fields162522
|
||||
Node: Character Translations163938
|
||||
Node: Troff and Nroff Mode173148
|
||||
Node: Line Layout175133
|
||||
Node: Line Control181040
|
||||
Node: Page Layout183713
|
||||
Node: Page Control187441
|
||||
Node: Fonts190921
|
||||
Node: Changing Fonts191458
|
||||
Node: Font Families193243
|
||||
Node: Font Positions197760
|
||||
Node: Using Symbols200875
|
||||
Node: Using Symbols-Footnotes208965
|
||||
Ref: Using Symbols-Footnote-1209032
|
||||
Ref: Using Symbols-Footnote-2209485
|
||||
Ref: Using Symbols-Footnote-3209556
|
||||
Ref: Using Symbols-Footnote-4209795
|
||||
Node: Special Fonts209858
|
||||
Node: Artificial Fonts210962
|
||||
Node: Ligatures and Kerning216170
|
||||
Node: Sizes221992
|
||||
Node: Sizes-Footnotes222809
|
||||
Ref: Sizes-Footnote-1222860
|
||||
Node: Changing Type Sizes223272
|
||||
Node: Fractional Type Sizes228416
|
||||
Node: Strings231433
|
||||
Node: Conditionals and Loops239418
|
||||
Node: Operators in Conditionals239635
|
||||
Node: Operators in Conditionals-Footnotes242271
|
||||
Ref: Operators in Conditionals-Footnote-1242362
|
||||
Ref: Operators in Conditionals-Footnote-2242441
|
||||
Node: if-else242540
|
||||
Node: while244074
|
||||
Node: Writing Macros246447
|
||||
Node: Copy-in Mode250343
|
||||
Node: Parameters251226
|
||||
Node: Page Motions253341
|
||||
Node: Drawing Requests260414
|
||||
Node: Traps268264
|
||||
Node: Page Location Traps268869
|
||||
Node: Diversion Traps273301
|
||||
Node: Input Line Traps273775
|
||||
Node: Blank Line Traps274765
|
||||
Node: End-of-input Traps275037
|
||||
Node: Diversions275695
|
||||
Node: Environments282393
|
||||
Node: Suppressing output286006
|
||||
Node: Colors287820
|
||||
Node: I/O290802
|
||||
Node: Postprocessor Access298807
|
||||
Node: Miscellaneous300362
|
||||
Node: Miscellaneous-Footnotes305422
|
||||
Ref: Miscellaneous-Footnote-1305489
|
||||
Node: Gtroff Internals305559
|
||||
Node: Gtroff Internals-Footnotes309281
|
||||
Ref: Gtroff Internals-Footnote-1309354
|
||||
Node: Debugging309488
|
||||
Node: Warnings315098
|
||||
Node: Warnings-Footnotes318024
|
||||
Ref: Warnings-Footnote-1318081
|
||||
Node: Implementation Differences318202
|
||||
Node: Implementation Differences-Footnotes322826
|
||||
Ref: Implementation Differences-Footnote-1322919
|
||||
Node: Preprocessors323054
|
||||
Node: geqn323355
|
||||
Node: Invoking geqn323481
|
||||
Node: gtbl323575
|
||||
Node: Invoking gtbl323692
|
||||
Node: gpic323786
|
||||
Node: Invoking gpic323903
|
||||
Node: ggrn323997
|
||||
Node: Invoking ggrn324114
|
||||
Node: grap324208
|
||||
Node: grefer324479
|
||||
Node: Invoking grefer324607
|
||||
Node: gsoelim324711
|
||||
Node: Invoking gsoelim324829
|
||||
Node: Output Devices324938
|
||||
Node: Special Characters325173
|
||||
Node: grotty325337
|
||||
Node: Invoking grotty325478
|
||||
Node: grops325582
|
||||
Node: Invoking grops325733
|
||||
Node: Embedding PostScript325861
|
||||
Node: grodvi325983
|
||||
Node: Invoking grodvi326112
|
||||
Node: grolj4326216
|
||||
Node: Invoking grolj4326346
|
||||
Node: grolbp326450
|
||||
Node: Invoking grolbp326581
|
||||
Node: grohtml326685
|
||||
Node: Invoking grohtml326865
|
||||
Node: grohtml specific registers and strings327021
|
||||
Node: gxditview327884
|
||||
Node: Invoking gxditview328012
|
||||
Node: File formats328131
|
||||
Node: gtroff Output328401
|
||||
Node: gtroff Output-Footnotes330237
|
||||
Ref: gtroff Output-Footnote-1330304
|
||||
Node: Language Concepts330438
|
||||
Node: Separation331175
|
||||
Node: Argument Units333413
|
||||
Node: Document Parts334553
|
||||
Node: Command Reference335942
|
||||
Node: Comment Command336344
|
||||
Node: Simple Commands336821
|
||||
Node: Simple Commands-Footnotes342728
|
||||
Ref: Simple Commands-Footnote-1342799
|
||||
Node: Graphics Commands342860
|
||||
Node: Device Control Commands350194
|
||||
Node: Obsolete Command354229
|
||||
Node: Intermediate Output Examples355497
|
||||
Node: Output Language Compatibility358310
|
||||
Node: Font Files360357
|
||||
Node: Font Files-Footnotes360966
|
||||
Ref: Font Files-Footnote-1361027
|
||||
Node: DESC File Format361088
|
||||
Node: Font File Format365330
|
||||
Node: Font File Format-Footnotes371553
|
||||
Ref: Font File Format-Footnote-1371626
|
||||
Ref: Font File Format-Footnote-2371717
|
||||
Node: Installation371936
|
||||
Node: Copying This Manual372058
|
||||
Node: GNU Free Documentation License372274
|
||||
Node: Request Index392134
|
||||
Node: Escape Index401929
|
||||
Node: Operator Index406157
|
||||
Node: Register Index407262
|
||||
Node: Macro Index414789
|
||||
Node: String Index420373
|
||||
Node: Glyph Name Index424697
|
||||
Node: Font File Keyword Index424983
|
||||
Node: Program and File Index427384
|
||||
Node: Concept Index430355
|
||||
|
||||
End Tag Table
|
1386
contrib/groff/doc/groff-1
Normal file
1386
contrib/groff/doc/groff-1
Normal file
File diff suppressed because it is too large
Load Diff
208
contrib/groff/doc/groff-10
Normal file
208
contrib/groff/doc/groff-10
Normal file
@ -0,0 +1,208 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.1 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, with the Front-Cover texts
|
||||
being `A GNU Manual," and with the Back-Cover Texts as in (a)
|
||||
below. A copy of the license is included in the section entitled
|
||||
`GNU Free Documentation License."
|
||||
|
||||
(a) The FSF's Back-Cover Text is: `You have freedom to copy and
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: String Index, Next: Glyph Name Index, Prev: Macro Index, Up: Top
|
||||
|
||||
String Index
|
||||
************
|
||||
|
||||
The macro package or program a specific string belongs to is
|
||||
appended in brackets.
|
||||
|
||||
A string name `x' consisting of exactly one character can be
|
||||
accessed as `\*x'. A string name `xx' consisting of exactly two
|
||||
characters can be accessed as `\*(xx'. String names `xxx' of any
|
||||
length can be accessed as `\*[xxx]'.
|
||||
|
||||
* Menu:
|
||||
|
||||
* ! [ms]: ms Strings and Special Characters.
|
||||
* ' [ms]: ms Strings and Special Characters.
|
||||
* * [ms]: ms Footnotes.
|
||||
* *Q [ms]: ms Strings and Special Characters.
|
||||
* *U [ms]: ms Strings and Special Characters.
|
||||
* , [ms]: ms Strings and Special Characters.
|
||||
* - [ms]: ms Strings and Special Characters.
|
||||
* . [ms]: ms Strings and Special Characters.
|
||||
* .T: Built-in Registers.
|
||||
* 3 [ms]: ms Strings and Special Characters.
|
||||
* 8 [ms]: ms Strings and Special Characters.
|
||||
* <colon> [ms]: ms Strings and Special Characters.
|
||||
* ? [ms]: ms Strings and Special Characters.
|
||||
* ^ [ms]: ms Strings and Special Characters.
|
||||
* _ [ms]: ms Strings and Special Characters.
|
||||
* ` [ms]: ms Strings and Special Characters.
|
||||
* ABSTRACT [ms]: ms Strings and Special Characters.
|
||||
* Ae [ms]: ms Strings and Special Characters.
|
||||
* ae [ms]: ms Strings and Special Characters.
|
||||
* CF [ms]: ms Headers and Footers.
|
||||
* CH [ms]: ms Headers and Footers.
|
||||
* d- [ms]: ms Strings and Special Characters.
|
||||
* D- [ms]: ms Strings and Special Characters.
|
||||
* LF [ms]: ms Headers and Footers.
|
||||
* LH [ms]: ms Headers and Footers.
|
||||
* lq [man]: Predefined man strings.
|
||||
* MONTH1 [ms]: ms Strings and Special Characters.
|
||||
* MONTH10 [ms]: ms Strings and Special Characters.
|
||||
* MONTH11 [ms]: ms Strings and Special Characters.
|
||||
* MONTH12 [ms]: ms Strings and Special Characters.
|
||||
* MONTH2 [ms]: ms Strings and Special Characters.
|
||||
* MONTH3 [ms]: ms Strings and Special Characters.
|
||||
* MONTH4 [ms]: ms Strings and Special Characters.
|
||||
* MONTH5 [ms]: ms Strings and Special Characters.
|
||||
* MONTH6 [ms]: ms Strings and Special Characters.
|
||||
* MONTH7 [ms]: ms Strings and Special Characters.
|
||||
* MONTH8 [ms]: ms Strings and Special Characters.
|
||||
* MONTH9 [ms]: ms Strings and Special Characters.
|
||||
* o [ms]: ms Strings and Special Characters.
|
||||
* q [ms]: ms Strings and Special Characters.
|
||||
* R [man]: Predefined man strings.
|
||||
* REFERENCES [ms]: ms Strings and Special Characters.
|
||||
* RF [ms]: ms Headers and Footers.
|
||||
* RH [ms]: ms Headers and Footers.
|
||||
* rq [man]: Predefined man strings.
|
||||
* S [man]: Predefined man strings.
|
||||
* th [ms]: ms Strings and Special Characters.
|
||||
* Th [ms]: ms Strings and Special Characters.
|
||||
* Tm [man]: Predefined man strings.
|
||||
* TOC [ms]: ms Strings and Special Characters.
|
||||
* v [ms]: ms Strings and Special Characters.
|
||||
* www-image-template [grohtml]: grohtml specific registers and strings.
|
||||
* ~ [ms]: ms Strings and Special Characters.
|
||||
|
||||
|
||||
File: groff, Node: Glyph Name Index, Next: Font File Keyword Index, Prev: String Index, Up: Top
|
||||
|
||||
Glyph Name Index
|
||||
****************
|
||||
|
||||
A glyph name `xx' consisting of exactly two characters can be
|
||||
accessed as `\(xx'. Glyph names `xxx' of any length can be accessed as
|
||||
`\[xxx]'.
|
||||
|
||||
|
||||
File: groff, Node: Font File Keyword Index, Next: Program and File Index, Prev: Glyph Name Index, Up: Top
|
||||
|
||||
Font File Keyword Index
|
||||
***********************
|
||||
|
||||
* Menu:
|
||||
|
||||
* #: Font File Format.
|
||||
* ---: Font File Format.
|
||||
* biggestfont: DESC File Format.
|
||||
* charset <1>: Font File Format.
|
||||
* charset: DESC File Format.
|
||||
* family <1>: DESC File Format.
|
||||
* family <2>: Font Positions.
|
||||
* family: Changing Fonts.
|
||||
* fonts <1>: DESC File Format.
|
||||
* fonts <2>: Special Fonts.
|
||||
* fonts: Using Symbols.
|
||||
* hor: DESC File Format.
|
||||
* kernpairs: Font File Format.
|
||||
* ligatures: Font File Format.
|
||||
* name: Font File Format.
|
||||
* papersize: DESC File Format.
|
||||
* pass_filenames: DESC File Format.
|
||||
* postpro: DESC File Format.
|
||||
* prepro: DESC File Format.
|
||||
* print: DESC File Format.
|
||||
* res: DESC File Format.
|
||||
* sizes: DESC File Format.
|
||||
* sizescale: DESC File Format.
|
||||
* slant: Font File Format.
|
||||
* spacewidth: Font File Format.
|
||||
* spare1: DESC File Format.
|
||||
* spare2: DESC File Format.
|
||||
* special <1>: Font File Format.
|
||||
* special: Artificial Fonts.
|
||||
* styles <1>: DESC File Format.
|
||||
* styles <2>: Font Positions.
|
||||
* styles <3>: Font Families.
|
||||
* styles: Changing Fonts.
|
||||
* tcommand: DESC File Format.
|
||||
* unitwidth: DESC File Format.
|
||||
* use_charnames_in_special <1>: DESC File Format.
|
||||
* use_charnames_in_special: Postprocessor Access.
|
||||
* vert: DESC File Format.
|
||||
|
||||
|
||||
File: groff, Node: Program and File Index, Next: Concept Index, Prev: Font File Keyword Index, Up: Top
|
||||
|
||||
Program and File Index
|
||||
**********************
|
||||
|
||||
* Menu:
|
||||
|
||||
* an.tmac: man.
|
||||
* changebar: Miscellaneous.
|
||||
* DESC <1>: Special Fonts.
|
||||
* DESC <2>: Using Symbols.
|
||||
* DESC <3>: Font Positions.
|
||||
* DESC <4>: Font Families.
|
||||
* DESC: Changing Fonts.
|
||||
* DESC file format: DESC File Format.
|
||||
* DESC, and font mounting: Font Positions.
|
||||
* DESC, and use_charnames_in_special: Postprocessor Access.
|
||||
* ditroff: History.
|
||||
* eqn: ms Insertions.
|
||||
* geqn: Groff Options.
|
||||
* geqn, invocation in manual pages: Preprocessors in man pages.
|
||||
* ggrn: Groff Options.
|
||||
* gpic: Groff Options.
|
||||
* grap: Groff Options.
|
||||
* grefer: Groff Options.
|
||||
* grefer, invocation in manual pages: Preprocessors in man pages.
|
||||
* groff: Groff Options.
|
||||
* grog: grog.
|
||||
* grohtml: Miscellaneous man macros.
|
||||
* gsoelim: Groff Options.
|
||||
* gtbl: Groff Options.
|
||||
* gtbl, invocation in manual pages: Preprocessors in man pages.
|
||||
* gtroff: Groff Options.
|
||||
* hyphen.us: Manipulating Hyphenation.
|
||||
* makeindex: Indices.
|
||||
* man, invocation of preprocessors: Preprocessors in man pages.
|
||||
* man-old.tmac: man.
|
||||
* man.local: Man usage.
|
||||
* man.tmac: man.
|
||||
* nrchbar: Miscellaneous.
|
||||
* perl: I/O.
|
||||
* pic: ms Insertions.
|
||||
* post-grohtml: Groff Options.
|
||||
* pre-grohtml: Groff Options.
|
||||
* refer: ms Insertions.
|
||||
* soelim: Debugging.
|
||||
* tbl: ms Insertions.
|
||||
* trace.tmac: Writing Macros.
|
||||
* troffrc <1>: Line Layout.
|
||||
* troffrc <2>: Troff and Nroff Mode.
|
||||
* troffrc <3>: Manipulating Hyphenation.
|
||||
* troffrc: Groff Options.
|
||||
* troffrc-end <1>: Troff and Nroff Mode.
|
||||
* troffrc-end <2>: Manipulating Hyphenation.
|
||||
* troffrc-end: Groff Options.
|
||||
* tty.tmac: Troff and Nroff Mode.
|
||||
|
1536
contrib/groff/doc/groff-11
Normal file
1536
contrib/groff/doc/groff-11
Normal file
File diff suppressed because it is too large
Load Diff
1683
contrib/groff/doc/groff-2
Normal file
1683
contrib/groff/doc/groff-2
Normal file
File diff suppressed because it is too large
Load Diff
1374
contrib/groff/doc/groff-3
Normal file
1374
contrib/groff/doc/groff-3
Normal file
File diff suppressed because it is too large
Load Diff
1316
contrib/groff/doc/groff-4
Normal file
1316
contrib/groff/doc/groff-4
Normal file
File diff suppressed because it is too large
Load Diff
1185
contrib/groff/doc/groff-5
Normal file
1185
contrib/groff/doc/groff-5
Normal file
File diff suppressed because it is too large
Load Diff
1415
contrib/groff/doc/groff-6
Normal file
1415
contrib/groff/doc/groff-6
Normal file
File diff suppressed because it is too large
Load Diff
1608
contrib/groff/doc/groff-7
Normal file
1608
contrib/groff/doc/groff-7
Normal file
File diff suppressed because it is too large
Load Diff
1268
contrib/groff/doc/groff-8
Normal file
1268
contrib/groff/doc/groff-8
Normal file
File diff suppressed because it is too large
Load Diff
931
contrib/groff/doc/groff-9
Normal file
931
contrib/groff/doc/groff-9
Normal file
@ -0,0 +1,931 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.1 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, with the Front-Cover texts
|
||||
being `A GNU Manual," and with the Back-Cover Texts as in (a)
|
||||
below. A copy of the license is included in the section entitled
|
||||
`GNU Free Documentation License."
|
||||
|
||||
(a) The FSF's Back-Cover Text is: `You have freedom to copy and
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: GNU Free Documentation License, Up: Copying This Manual
|
||||
|
||||
GNU Free Documentation License
|
||||
==============================
|
||||
|
||||
Version 1.1, March 2000
|
||||
Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
0. PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
written document "free" in the sense of freedom: to assure everyone
|
||||
the effective freedom to copy and redistribute it, with or without
|
||||
modifying it, either commercially or noncommercially. Secondarily,
|
||||
this License preserves for the author and publisher a way to get
|
||||
credit for their work, while not being considered responsible for
|
||||
modifications made by others.
|
||||
|
||||
This License is a kind of "copyleft", which means that derivative
|
||||
works of the document must themselves be free in the same sense.
|
||||
It complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for
|
||||
free software, because free software needs free documentation: a
|
||||
free program should come with manuals providing the same freedoms
|
||||
that the software does. But this License is not limited to
|
||||
software manuals; it can be used for any textual work, regardless
|
||||
of subject matter or whether it is published as a printed book.
|
||||
We recommend this License principally for works whose purpose is
|
||||
instruction or reference.
|
||||
|
||||
1. APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work that contains a
|
||||
notice placed by the copyright holder saying it can be distributed
|
||||
under the terms of this License. The "Document", below, refers to
|
||||
any such manual or work. Any member of the public is a licensee,
|
||||
and is addressed as "you".
|
||||
|
||||
A "Modified Version" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter
|
||||
section of the Document that deals exclusively with the
|
||||
relationship of the publishers or authors of the Document to the
|
||||
Document's overall subject (or to related matters) and contains
|
||||
nothing that could fall directly within that overall subject.
|
||||
(For example, if the Document is in part a textbook of
|
||||
mathematics, a Secondary Section may not explain any mathematics.)
|
||||
The relationship could be a matter of historical connection with
|
||||
the subject or with related matters, or of legal, commercial,
|
||||
philosophical, ethical or political position regarding them.
|
||||
|
||||
The "Invariant Sections" are certain Secondary Sections whose
|
||||
titles are designated, as being those of Invariant Sections, in
|
||||
the notice that says that the Document is released under this
|
||||
License.
|
||||
|
||||
The "Cover Texts" are certain short passages of text that are
|
||||
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
||||
that says that the Document is released under this License.
|
||||
|
||||
A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, whose contents can be viewed and edited directly
|
||||
and straightforwardly with generic text editors or (for images
|
||||
composed of pixels) generic paint programs or (for drawings) some
|
||||
widely available drawing editor, and that is suitable for input to
|
||||
text formatters or for automatic translation to a variety of
|
||||
formats suitable for input to text formatters. A copy made in an
|
||||
otherwise Transparent file format whose markup has been designed
|
||||
to thwart or discourage subsequent modification by readers is not
|
||||
Transparent. A copy that is not "Transparent" is called "Opaque".
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format,
|
||||
SGML or XML using a publicly available DTD, and
|
||||
standard-conforming simple HTML designed for human modification.
|
||||
Opaque formats include PostScript, PDF, proprietary formats that
|
||||
can be read and edited only by proprietary word processors, SGML
|
||||
or XML for which the DTD and/or processing tools are not generally
|
||||
available, and the machine-generated HTML produced by some word
|
||||
processors for output purposes only.
|
||||
|
||||
The "Title Page" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the
|
||||
material this License requires to appear in the title page. For
|
||||
works in formats which do not have any title page as such, "Title
|
||||
Page" means the text near the most prominent appearance of the
|
||||
work's title, preceding the beginning of the body of the text.
|
||||
|
||||
2. VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License
|
||||
applies to the Document are reproduced in all copies, and that you
|
||||
add no other conditions whatsoever to those of this License. You
|
||||
may not use technical measures to obstruct or control the reading
|
||||
or further copying of the copies you make or distribute. However,
|
||||
you may accept compensation in exchange for copies. If you
|
||||
distribute a large enough number of copies you must also follow
|
||||
the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above,
|
||||
and you may publicly display copies.
|
||||
|
||||
3. COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies of the Document numbering more than
|
||||
100, and the Document's license notice requires Cover Texts, you
|
||||
must enclose the copies in covers that carry, clearly and legibly,
|
||||
all these Cover Texts: Front-Cover Texts on the front cover, and
|
||||
Back-Cover Texts on the back cover. Both covers must also clearly
|
||||
and legibly identify you as the publisher of these copies. The
|
||||
front cover must present the full title with all words of the
|
||||
title equally prominent and visible. You may add other material
|
||||
on the covers in addition. Copying with changes limited to the
|
||||
covers, as long as they preserve the title of the Document and
|
||||
satisfy these conditions, can be treated as verbatim copying in
|
||||
other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto
|
||||
adjacent pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document
|
||||
numbering more than 100, you must either include a
|
||||
machine-readable Transparent copy along with each Opaque copy, or
|
||||
state in or with each Opaque copy a publicly-accessible
|
||||
computer-network location containing a complete Transparent copy
|
||||
of the Document, free of added material, which the general
|
||||
network-using public has access to download anonymously at no
|
||||
charge using public-standard network protocols. If you use the
|
||||
latter option, you must take reasonably prudent steps, when you
|
||||
begin distribution of Opaque copies in quantity, to ensure that
|
||||
this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you
|
||||
distribute an Opaque copy (directly or through your agents or
|
||||
retailers) of that edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of
|
||||
the Document well before redistributing any large number of
|
||||
copies, to give them a chance to provide you with an updated
|
||||
version of the Document.
|
||||
|
||||
4. MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document
|
||||
under the conditions of sections 2 and 3 above, provided that you
|
||||
release the Modified Version under precisely this License, with
|
||||
the Modified Version filling the role of the Document, thus
|
||||
licensing distribution and modification of the Modified Version to
|
||||
whoever possesses a copy of it. In addition, you must do these
|
||||
things in the Modified Version:
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title
|
||||
distinct from that of the Document, and from those of
|
||||
previous versions (which should, if there were any, be listed
|
||||
in the History section of the Document). You may use the
|
||||
same title as a previous version if the original publisher of
|
||||
that version gives permission.
|
||||
|
||||
B. List on the Title Page, as authors, one or more persons or
|
||||
entities responsible for authorship of the modifications in
|
||||
the Modified Version, together with at least five of the
|
||||
principal authors of the Document (all of its principal
|
||||
authors, if it has less than five).
|
||||
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
D. Preserve all the copyright notices of the Document.
|
||||
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
F. Include, immediately after the copyright notices, a license
|
||||
notice giving the public permission to use the Modified
|
||||
Version under the terms of this License, in the form shown in
|
||||
the Addendum below.
|
||||
|
||||
G. Preserve in that license notice the full lists of Invariant
|
||||
Sections and required Cover Texts given in the Document's
|
||||
license notice.
|
||||
|
||||
H. Include an unaltered copy of this License.
|
||||
|
||||
I. Preserve the section entitled "History", and its title, and
|
||||
add to it an item stating at least the title, year, new
|
||||
authors, and publisher of the Modified Version as given on
|
||||
the Title Page. If there is no section entitled "History" in
|
||||
the Document, create one stating the title, year, authors,
|
||||
and publisher of the Document as given on its Title Page,
|
||||
then add an item describing the Modified Version as stated in
|
||||
the previous sentence.
|
||||
|
||||
J. Preserve the network location, if any, given in the Document
|
||||
for public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for
|
||||
previous versions it was based on. These may be placed in
|
||||
the "History" section. You may omit a network location for a
|
||||
work that was published at least four years before the
|
||||
Document itself, or if the original publisher of the version
|
||||
it refers to gives permission.
|
||||
|
||||
K. In any section entitled "Acknowledgments" or "Dedications",
|
||||
preserve the section's title, and preserve in the section all
|
||||
the substance and tone of each of the contributor
|
||||
acknowledgments and/or dedications given therein.
|
||||
|
||||
L. Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section
|
||||
titles.
|
||||
|
||||
M. Delete any section entitled "Endorsements". Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
N. Do not retitle any existing section as "Endorsements" or to
|
||||
conflict in title with any Invariant Section.
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no
|
||||
material copied from the Document, you may at your option
|
||||
designate some or all of these sections as invariant. To do this,
|
||||
add their titles to the list of Invariant Sections in the Modified
|
||||
Version's license notice. These titles must be distinct from any
|
||||
other section titles.
|
||||
|
||||
You may add a section entitled "Endorsements", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text
|
||||
has been approved by an organization as the authoritative
|
||||
definition of a standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text,
|
||||
and a passage of up to 25 words as a Back-Cover Text, to the end
|
||||
of the list of Cover Texts in the Modified Version. Only one
|
||||
passage of Front-Cover Text and one of Back-Cover Text may be
|
||||
added by (or through arrangements made by) any one entity. If the
|
||||
Document already includes a cover text for the same cover,
|
||||
previously added by you or by arrangement made by the same entity
|
||||
you are acting on behalf of, you may not add another; but you may
|
||||
replace the old one, on explicit permission from the previous
|
||||
publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this
|
||||
License give permission to use their names for publicity for or to
|
||||
assert or imply endorsement of any Modified Version.
|
||||
|
||||
5. COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under
|
||||
this License, under the terms defined in section 4 above for
|
||||
modified versions, provided that you include in the combination
|
||||
all of the Invariant Sections of all of the original documents,
|
||||
unmodified, and list them all as Invariant Sections of your
|
||||
combined work in its license notice.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name
|
||||
but different contents, make the title of each such section unique
|
||||
by adding at the end of it, in parentheses, the name of the
|
||||
original author or publisher of that section if known, or else a
|
||||
unique number. Make the same adjustment to the section titles in
|
||||
the list of Invariant Sections in the license notice of the
|
||||
combined work.
|
||||
|
||||
In the combination, you must combine any sections entitled
|
||||
"History" in the various original documents, forming one section
|
||||
entitled "History"; likewise combine any sections entitled
|
||||
"Acknowledgments", and any sections entitled "Dedications". You
|
||||
must delete all sections entitled "Endorsements."
|
||||
|
||||
6. COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other
|
||||
documents released under this License, and replace the individual
|
||||
copies of this License in the various documents with a single copy
|
||||
that is included in the collection, provided that you follow the
|
||||
rules of this License for verbatim copying of each of the
|
||||
documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and
|
||||
distribute it individually under this License, provided you insert
|
||||
a copy of this License into the extracted document, and follow
|
||||
this License in all other respects regarding verbatim copying of
|
||||
that document.
|
||||
|
||||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other
|
||||
separate and independent documents or works, in or on a volume of
|
||||
a storage or distribution medium, does not as a whole count as a
|
||||
Modified Version of the Document, provided no compilation
|
||||
copyright is claimed for the compilation. Such a compilation is
|
||||
called an "aggregate", and this License does not apply to the
|
||||
other self-contained works thus compiled with the Document, on
|
||||
account of their being thus compiled, if they are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one
|
||||
quarter of the entire aggregate, the Document's Cover Texts may be
|
||||
placed on covers that surround only the Document within the
|
||||
aggregate. Otherwise they must appear on covers around the whole
|
||||
aggregate.
|
||||
|
||||
8. TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section
|
||||
4. Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License provided that you also include the
|
||||
original English version of this License. In case of a
|
||||
disagreement between the translation and the original English
|
||||
version of this License, the original English version will prevail.
|
||||
|
||||
9. TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided for under this License. Any other
|
||||
attempt to copy, modify, sublicense or distribute the Document is
|
||||
void, and will automatically terminate your rights under this
|
||||
License. However, parties who have received copies, or rights,
|
||||
from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
10. FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions of
|
||||
the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
`http://www.gnu.org/copyleft/'.
|
||||
|
||||
Each version of the License is given a distinguishing version
|
||||
number. If the Document specifies that a particular numbered
|
||||
version of this License "or any later version" applies to it, you
|
||||
have the option of following the terms and conditions either of
|
||||
that specified version or of any later version that has been
|
||||
published (not as a draft) by the Free Software Foundation. If
|
||||
the Document does not specify a version number of this License,
|
||||
you may choose any version ever published (not as a draft) by the
|
||||
Free Software Foundation.
|
||||
|
||||
ADDENDUM: How to use this License for your documents
|
||||
----------------------------------------------------
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and license
|
||||
notices just after the title page:
|
||||
|
||||
Copyright (C) YEAR YOUR NAME.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1
|
||||
or any later version published by the Free Software Foundation;
|
||||
with the Invariant Sections being LIST THEIR TITLES, with the
|
||||
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
||||
A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
|
||||
If you have no Invariant Sections, write "with no Invariant Sections"
|
||||
instead of saying which ones are invariant. If you have no Front-Cover
|
||||
Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
|
||||
LIST"; likewise for Back-Cover Texts.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License, to
|
||||
permit their use in free software.
|
||||
|
||||
|
||||
File: groff, Node: Request Index, Next: Escape Index, Prev: Copying This Manual, Up: Top
|
||||
|
||||
Request Index
|
||||
*************
|
||||
|
||||
Requests appear without the leading control character (normally
|
||||
either `.' or `'').
|
||||
|
||||
* Menu:
|
||||
|
||||
* ab: Debugging.
|
||||
* ad: Manipulating Filling and Adjusting.
|
||||
* af: Assigning Formats.
|
||||
* aln: Setting Registers.
|
||||
* als: Strings.
|
||||
* am: Writing Macros.
|
||||
* am1: Writing Macros.
|
||||
* ami: Writing Macros.
|
||||
* as: Strings.
|
||||
* as1: Strings.
|
||||
* asciify: Diversions.
|
||||
* backtrace: Debugging.
|
||||
* bd: Artificial Fonts.
|
||||
* blm: Blank Line Traps.
|
||||
* box: Diversions.
|
||||
* boxa: Diversions.
|
||||
* bp: Page Control.
|
||||
* br: Manipulating Filling and Adjusting.
|
||||
* break: while.
|
||||
* brp: Manipulating Filling and Adjusting.
|
||||
* c2: Character Translations.
|
||||
* cc: Character Translations.
|
||||
* ce: Manipulating Filling and Adjusting.
|
||||
* cf: I/O.
|
||||
* cflags: Using Symbols.
|
||||
* ch: Page Location Traps.
|
||||
* char: Using Symbols.
|
||||
* chop: Strings.
|
||||
* close: I/O.
|
||||
* color: Colors.
|
||||
* continue: while.
|
||||
* cp: Implementation Differences.
|
||||
* cs: Artificial Fonts.
|
||||
* cu: Artificial Fonts.
|
||||
* da: Diversions.
|
||||
* de: Writing Macros.
|
||||
* de1: Writing Macros.
|
||||
* defcolor: Colors.
|
||||
* dei: Writing Macros.
|
||||
* di: Diversions.
|
||||
* do: Implementation Differences.
|
||||
* ds: Strings.
|
||||
* ds1: Strings.
|
||||
* dt: Diversion Traps.
|
||||
* ec: Character Translations.
|
||||
* ecr: Character Translations.
|
||||
* ecs: Character Translations.
|
||||
* el: if-else.
|
||||
* em: End-of-input Traps.
|
||||
* eo: Character Translations.
|
||||
* ev: Environments.
|
||||
* evc: Environments.
|
||||
* ex: Debugging.
|
||||
* fam: Font Families.
|
||||
* fc: Fields.
|
||||
* fchar: Using Symbols.
|
||||
* fi: Manipulating Filling and Adjusting.
|
||||
* fl: Debugging.
|
||||
* fp: Font Positions.
|
||||
* fspecial: Special Fonts.
|
||||
* ft <1>: Font Positions.
|
||||
* ft: Changing Fonts.
|
||||
* ftr: Changing Fonts.
|
||||
* hc: Manipulating Hyphenation.
|
||||
* hcode: Manipulating Hyphenation.
|
||||
* hla: Manipulating Hyphenation.
|
||||
* hlm: Manipulating Hyphenation.
|
||||
* hpf: Manipulating Hyphenation.
|
||||
* hpfa: Manipulating Hyphenation.
|
||||
* hpfcode: Manipulating Hyphenation.
|
||||
* hw: Manipulating Hyphenation.
|
||||
* hy: Manipulating Hyphenation.
|
||||
* hym: Manipulating Hyphenation.
|
||||
* hys: Manipulating Hyphenation.
|
||||
* ie: if-else.
|
||||
* if: if-else.
|
||||
* ig: Comments.
|
||||
* in: Line Layout.
|
||||
* it: Input Line Traps.
|
||||
* itc: Input Line Traps.
|
||||
* kern: Ligatures and Kerning.
|
||||
* lc: Leaders.
|
||||
* length: Strings.
|
||||
* lf: Debugging.
|
||||
* lg: Ligatures and Kerning.
|
||||
* linetabs: Tabs and Fields.
|
||||
* ll: Line Layout.
|
||||
* ls: Manipulating Spacing.
|
||||
* lt: Page Layout.
|
||||
* mc: Miscellaneous.
|
||||
* mk: Page Motions.
|
||||
* mso: I/O.
|
||||
* na: Manipulating Filling and Adjusting.
|
||||
* ne: Page Control.
|
||||
* nf: Manipulating Filling and Adjusting.
|
||||
* nh: Manipulating Hyphenation.
|
||||
* nm: Miscellaneous.
|
||||
* nn: Miscellaneous.
|
||||
* nop: if-else.
|
||||
* nr <1>: Auto-increment.
|
||||
* nr: Setting Registers.
|
||||
* nroff: Troff and Nroff Mode.
|
||||
* ns: Manipulating Spacing.
|
||||
* nx: I/O.
|
||||
* open: I/O.
|
||||
* opena: I/O.
|
||||
* os: Page Control.
|
||||
* output: Diversions.
|
||||
* pc: Page Layout.
|
||||
* pi: I/O.
|
||||
* pl: Page Layout.
|
||||
* pm: Debugging.
|
||||
* pn: Page Layout.
|
||||
* pnr: Debugging.
|
||||
* po: Line Layout.
|
||||
* ps: Changing Type Sizes.
|
||||
* psbb: Miscellaneous.
|
||||
* pso: I/O.
|
||||
* ptr: Debugging.
|
||||
* pvs: Changing Type Sizes.
|
||||
* rchar: Using Symbols.
|
||||
* rd: I/O.
|
||||
* return: Writing Macros.
|
||||
* rj: Manipulating Filling and Adjusting.
|
||||
* rm: Strings.
|
||||
* rn: Strings.
|
||||
* rnn: Setting Registers.
|
||||
* rr: Setting Registers.
|
||||
* rs: Manipulating Spacing.
|
||||
* rt: Page Motions.
|
||||
* shc: Manipulating Hyphenation.
|
||||
* shift: Parameters.
|
||||
* sizes: Changing Type Sizes.
|
||||
* so: I/O.
|
||||
* sp: Manipulating Spacing.
|
||||
* special: Special Fonts.
|
||||
* spreadwarn: Debugging.
|
||||
* ss: Manipulating Filling and Adjusting.
|
||||
* sty: Font Families.
|
||||
* substring: Strings.
|
||||
* sv: Page Control.
|
||||
* sy: I/O.
|
||||
* ta: Tabs and Fields.
|
||||
* tc: Tabs and Fields.
|
||||
* ti: Line Layout.
|
||||
* tkf: Ligatures and Kerning.
|
||||
* tl: Page Layout.
|
||||
* tm: Debugging.
|
||||
* tm1: Debugging.
|
||||
* tmc: Debugging.
|
||||
* tr: Character Translations.
|
||||
* trf: I/O.
|
||||
* trin: Character Translations.
|
||||
* trnt: Character Translations.
|
||||
* troff: Troff and Nroff Mode.
|
||||
* uf: Artificial Fonts.
|
||||
* ul: Artificial Fonts.
|
||||
* unformat: Diversions.
|
||||
* vpt: Page Location Traps.
|
||||
* vs: Changing Type Sizes.
|
||||
* warn: Debugging.
|
||||
* warnscale: Debugging.
|
||||
* wh: Page Location Traps.
|
||||
* while: while.
|
||||
* write: I/O.
|
||||
* writec: I/O.
|
||||
* writem: I/O.
|
||||
|
||||
|
||||
File: groff, Node: Escape Index, Next: Operator Index, Prev: Request Index, Up: Top
|
||||
|
||||
Escape Index
|
||||
************
|
||||
|
||||
Any escape sequence `\X' with X not in the list below emits a
|
||||
warning, printing glyph X.
|
||||
|
||||
* Menu:
|
||||
|
||||
* <colon>: Manipulating Hyphenation.
|
||||
* \: Using Symbols.
|
||||
* \!: Diversions.
|
||||
* \": Comments.
|
||||
* \#: Comments.
|
||||
* \$: Parameters.
|
||||
* \$*: Parameters.
|
||||
* \$0: Parameters.
|
||||
* \$@: Parameters.
|
||||
* \%: Manipulating Hyphenation.
|
||||
* \&: Ligatures and Kerning.
|
||||
* \': Using Symbols.
|
||||
* \): Ligatures and Kerning.
|
||||
* \*: Strings.
|
||||
* \,: Ligatures and Kerning.
|
||||
* \-: Using Symbols.
|
||||
* \.: Character Translations.
|
||||
* \/: Ligatures and Kerning.
|
||||
* \0: Page Motions.
|
||||
* \<RET>: Line Control.
|
||||
* \<SP>: Page Motions.
|
||||
* \?: Diversions.
|
||||
* \\: Character Translations.
|
||||
* \^: Page Motions.
|
||||
* \`: Using Symbols.
|
||||
* \a: Leaders.
|
||||
* \A: Identifiers.
|
||||
* \b: Drawing Requests.
|
||||
* \B: Expressions.
|
||||
* \C: Using Symbols.
|
||||
* \c: Line Control.
|
||||
* \D: Drawing Requests.
|
||||
* \d: Page Motions.
|
||||
* \E: Character Translations.
|
||||
* \e: Character Translations.
|
||||
* \f: Font Positions.
|
||||
* \F: Font Families.
|
||||
* \f: Changing Fonts.
|
||||
* \g: Assigning Formats.
|
||||
* \h: Page Motions.
|
||||
* \H: Artificial Fonts.
|
||||
* \k: Page Motions.
|
||||
* \L: Drawing Requests.
|
||||
* \l: Drawing Requests.
|
||||
* \M: Colors.
|
||||
* \m: Colors.
|
||||
* \N: Using Symbols.
|
||||
* \n <1>: Auto-increment.
|
||||
* \n: Interpolating Registers.
|
||||
* \O: Suppressing output.
|
||||
* \o: Page Motions.
|
||||
* \p: Manipulating Filling and Adjusting.
|
||||
* \r: Page Motions.
|
||||
* \R: Setting Registers.
|
||||
* \s: Changing Type Sizes.
|
||||
* \S: Artificial Fonts.
|
||||
* \t: Tabs and Fields.
|
||||
* \u: Page Motions.
|
||||
* \V: I/O.
|
||||
* \v: Page Motions.
|
||||
* \w: Page Motions.
|
||||
* \X: Postprocessor Access.
|
||||
* \x: Manipulating Spacing.
|
||||
* \Y: Postprocessor Access.
|
||||
* \Z: Page Motions.
|
||||
* \z: Page Motions.
|
||||
* \{: if-else.
|
||||
* \|: Page Motions.
|
||||
* \}: if-else.
|
||||
* \~: Page Motions.
|
||||
|
||||
|
||||
File: groff, Node: Operator Index, Next: Register Index, Prev: Escape Index, Up: Top
|
||||
|
||||
Operator Index
|
||||
**************
|
||||
|
||||
* Menu:
|
||||
|
||||
* !: Expressions.
|
||||
* %: Expressions.
|
||||
* &: Expressions.
|
||||
* (: Expressions.
|
||||
* ): Expressions.
|
||||
* *: Expressions.
|
||||
* +: Expressions.
|
||||
* -: Expressions.
|
||||
* /: Expressions.
|
||||
* <: Expressions.
|
||||
* <=: Expressions.
|
||||
* <?: Expressions.
|
||||
* <colon>: Expressions.
|
||||
* =: Expressions.
|
||||
* ==: Expressions.
|
||||
* >: Expressions.
|
||||
* >=: Expressions.
|
||||
* >?: Expressions.
|
||||
|
||||
|
||||
File: groff, Node: Register Index, Next: Macro Index, Prev: Operator Index, Up: Top
|
||||
|
||||
Register Index
|
||||
**************
|
||||
|
||||
The macro package or program a specific register belongs to is
|
||||
appended in brackets.
|
||||
|
||||
A register name `x' consisting of exactly one character can be
|
||||
accessed as `\nx'. A register name `xx' consisting of exactly two
|
||||
characters can be accessed as `\n(xx'. Register names `xxx' of any
|
||||
length can be accessed as `\n[xxx]'.
|
||||
|
||||
* Menu:
|
||||
|
||||
* $$: Built-in Registers.
|
||||
* %: Page Layout.
|
||||
* .$: Parameters.
|
||||
* .a: Manipulating Spacing.
|
||||
* .A: Built-in Registers.
|
||||
* .b: Artificial Fonts.
|
||||
* .C: Implementation Differences.
|
||||
* .c: Built-in Registers.
|
||||
* .cdp: Environments.
|
||||
* .ce: Manipulating Filling and Adjusting.
|
||||
* .cht: Environments.
|
||||
* .color: Colors.
|
||||
* .csk: Environments.
|
||||
* .d: Diversions.
|
||||
* .ev: Environments.
|
||||
* .f: Font Positions.
|
||||
* .F: Built-in Registers.
|
||||
* .fam: Font Families.
|
||||
* .fn: Font Families.
|
||||
* .fp: Font Positions.
|
||||
* .g: Built-in Registers.
|
||||
* .h: Diversions.
|
||||
* .H: Built-in Registers.
|
||||
* .hla: Manipulating Hyphenation.
|
||||
* .hlc: Manipulating Hyphenation.
|
||||
* .hlm: Manipulating Hyphenation.
|
||||
* .hy: Manipulating Hyphenation.
|
||||
* .hym: Manipulating Hyphenation.
|
||||
* .hys: Manipulating Hyphenation.
|
||||
* .i: Line Layout.
|
||||
* .in: Line Layout.
|
||||
* .int: Line Control.
|
||||
* .j: Manipulating Filling and Adjusting.
|
||||
* .k: Page Motions.
|
||||
* .kern: Ligatures and Kerning.
|
||||
* .l: Line Layout.
|
||||
* .L: Manipulating Spacing.
|
||||
* .lg: Ligatures and Kerning.
|
||||
* .linetabs: Tabs and Fields.
|
||||
* .ll: Line Layout.
|
||||
* .lt: Page Layout.
|
||||
* .ne: Page Location Traps.
|
||||
* .ns: Manipulating Spacing.
|
||||
* .o: Line Layout.
|
||||
* .p: Page Layout.
|
||||
* .P: Built-in Registers.
|
||||
* .pn: Page Layout.
|
||||
* .ps: Fractional Type Sizes.
|
||||
* .psr: Fractional Type Sizes.
|
||||
* .pvs: Changing Type Sizes.
|
||||
* .rj: Manipulating Filling and Adjusting.
|
||||
* .s: Changing Type Sizes.
|
||||
* .sr: Fractional Type Sizes.
|
||||
* .ss: Manipulating Filling and Adjusting.
|
||||
* .sss: Manipulating Filling and Adjusting.
|
||||
* .t: Page Location Traps.
|
||||
* .T: Built-in Registers.
|
||||
* .tabs: Tabs and Fields.
|
||||
* .trunc: Page Location Traps.
|
||||
* .u: Manipulating Filling and Adjusting.
|
||||
* .v: Changing Type Sizes.
|
||||
* .V: Built-in Registers.
|
||||
* .vpt: Page Location Traps.
|
||||
* .warn: Debugging.
|
||||
* .x: Built-in Registers.
|
||||
* .Y: Built-in Registers.
|
||||
* .y: Built-in Registers.
|
||||
* .z: Diversions.
|
||||
* c.: Built-in Registers.
|
||||
* ct: Page Motions.
|
||||
* dl: Diversions.
|
||||
* dn: Diversions.
|
||||
* dw: Built-in Registers.
|
||||
* dy: Built-in Registers.
|
||||
* FF [ms]: ms Document Control Registers.
|
||||
* FI [ms]: ms Document Control Registers.
|
||||
* FL [ms]: ms Document Control Registers.
|
||||
* FM [ms]: ms Document Control Registers.
|
||||
* HM [ms]: ms Document Control Registers.
|
||||
* hours: Built-in Registers.
|
||||
* hp: Page Motions.
|
||||
* LL [ms]: ms Document Control Registers.
|
||||
* llx: Miscellaneous.
|
||||
* lly: Miscellaneous.
|
||||
* ln: Built-in Registers.
|
||||
* LT [ms]: ms Document Control Registers.
|
||||
* MINGW [ms] <1>: Additional ms Macros.
|
||||
* MINGW [ms]: ms Document Control Registers.
|
||||
* minutes: Built-in Registers.
|
||||
* mo: Built-in Registers.
|
||||
* nl: Page Control.
|
||||
* opmaxx: Suppressing output.
|
||||
* opmaxy: Suppressing output.
|
||||
* opminx: Suppressing output.
|
||||
* opminy: Suppressing output.
|
||||
* PD [ms]: ms Document Control Registers.
|
||||
* PI [ms]: ms Document Control Registers.
|
||||
* PO [ms]: ms Document Control Registers.
|
||||
* PS [ms]: ms Document Control Registers.
|
||||
* ps4html [grohtml]: grohtml specific registers and strings.
|
||||
* QI [ms]: ms Document Control Registers.
|
||||
* rsb: Page Motions.
|
||||
* rst: Page Motions.
|
||||
* sb: Page Motions.
|
||||
* seconds: Built-in Registers.
|
||||
* skw: Page Motions.
|
||||
* slimit: Debugging.
|
||||
* ssc: Page Motions.
|
||||
* st: Page Motions.
|
||||
* systat: I/O.
|
||||
* urx: Miscellaneous.
|
||||
* ury: Miscellaneous.
|
||||
* VS [ms]: ms Document Control Registers.
|
||||
* year: Built-in Registers.
|
||||
* yr: Built-in Registers.
|
||||
|
||||
|
||||
File: groff, Node: Macro Index, Next: String Index, Prev: Register Index, Up: Top
|
||||
|
||||
Macro Index
|
||||
***********
|
||||
|
||||
The macro package a specific macro belongs to is appended in
|
||||
brackets. They appear without the leading control character (normally
|
||||
`.').
|
||||
|
||||
* Menu:
|
||||
|
||||
* 1C [ms]: ms Multiple Columns.
|
||||
* 2C [ms]: ms Multiple Columns.
|
||||
* [ [ms]: ms Insertions.
|
||||
* ] [ms]: ms Insertions.
|
||||
* AB [ms]: ms Cover Page Macros.
|
||||
* AE [ms]: ms Cover Page Macros.
|
||||
* AI [ms]: ms Cover Page Macros.
|
||||
* AM [ms] <1>: Additional ms Macros.
|
||||
* AM [ms]: ms Strings and Special Characters.
|
||||
* AU [ms]: ms Cover Page Macros.
|
||||
* B [man]: Man font macros.
|
||||
* B [ms]: Highlighting in ms.
|
||||
* B1 [ms]: ms Displays and Keeps.
|
||||
* B2 [ms]: ms Displays and Keeps.
|
||||
* BD [ms]: ms Displays and Keeps.
|
||||
* BI [man]: Man font macros.
|
||||
* BI [ms]: Highlighting in ms.
|
||||
* BR [man]: Man font macros.
|
||||
* BX [ms]: Highlighting in ms.
|
||||
* CD [ms]: ms Displays and Keeps.
|
||||
* CW [ms] <1>: Additional ms Macros.
|
||||
* CW [ms]: Highlighting in ms.
|
||||
* DA [ms]: ms Cover Page Macros.
|
||||
* DE [ms]: ms Displays and Keeps.
|
||||
* DS [ms] <1>: Additional ms Macros.
|
||||
* DS [ms]: ms Displays and Keeps.
|
||||
* DT [man]: Miscellaneous man macros.
|
||||
* EF [ms]: ms Headers and Footers.
|
||||
* EH [ms]: ms Headers and Footers.
|
||||
* EN [ms]: ms Insertions.
|
||||
* EQ [ms]: ms Insertions.
|
||||
* FE [ms]: ms Footnotes.
|
||||
* FS [ms]: ms Footnotes.
|
||||
* HP [man]: Man usage.
|
||||
* I [man]: Man font macros.
|
||||
* I [ms]: Highlighting in ms.
|
||||
* IB [man]: Man font macros.
|
||||
* ID [ms]: ms Displays and Keeps.
|
||||
* IP [man]: Man usage.
|
||||
* IP [ms]: Lists in ms.
|
||||
* IR [man]: Man font macros.
|
||||
* IX [ms]: Additional ms Macros.
|
||||
* KE [ms]: ms Displays and Keeps.
|
||||
* KF [ms]: ms Displays and Keeps.
|
||||
* KS [ms]: ms Displays and Keeps.
|
||||
* LD [ms]: ms Displays and Keeps.
|
||||
* LG [ms]: Highlighting in ms.
|
||||
* LP [man]: Man usage.
|
||||
* LP [ms]: Paragraphs in ms.
|
||||
* MC [ms]: ms Multiple Columns.
|
||||
* ND [ms]: ms Cover Page Macros.
|
||||
* NH [ms]: Headings in ms.
|
||||
* NL [ms]: Highlighting in ms.
|
||||
* OF [ms]: ms Headers and Footers.
|
||||
* OH [ms]: ms Headers and Footers.
|
||||
* P [man]: Man usage.
|
||||
* PD [man]: Miscellaneous man macros.
|
||||
* PE [ms]: ms Insertions.
|
||||
* PP [man]: Man usage.
|
||||
* PP [ms]: Paragraphs in ms.
|
||||
* PS [ms]: ms Insertions.
|
||||
* PX [ms]: ms TOC.
|
||||
* QP [ms]: Paragraphs in ms.
|
||||
* R [ms]: Highlighting in ms.
|
||||
* RB [man]: Man font macros.
|
||||
* RD [ms]: ms Displays and Keeps.
|
||||
* RE [man]: Man usage.
|
||||
* RE [ms]: Indents in ms.
|
||||
* RI [man]: Man font macros.
|
||||
* RP [ms]: ms Cover Page Macros.
|
||||
* RS [man]: Man usage.
|
||||
* RS [ms]: Indents in ms.
|
||||
* SB [man]: Man font macros.
|
||||
* SH [man]: Man usage.
|
||||
* SH [ms]: Headings in ms.
|
||||
* SM [man]: Man font macros.
|
||||
* SM [ms]: Highlighting in ms.
|
||||
* SS [man]: Man usage.
|
||||
* TA [ms]: Tabstops in ms.
|
||||
* TC [ms]: ms TOC.
|
||||
* TE [ms]: ms Insertions.
|
||||
* TH [man]: Man usage.
|
||||
* TL [ms]: ms Cover Page Macros.
|
||||
* TP [man]: Man usage.
|
||||
* TS [ms]: ms Insertions.
|
||||
* UL [ms]: Highlighting in ms.
|
||||
* XA [ms]: ms TOC.
|
||||
* XE [ms]: ms TOC.
|
||||
* XP [ms]: Paragraphs in ms.
|
||||
* XS [ms]: ms TOC.
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
969
contrib/groff/doc/webpage.ms
Normal file
969
contrib/groff/doc/webpage.ms
Normal file
@ -0,0 +1,969 @@
|
||||
.\" This file gives a small example how a web page could look like if created
|
||||
.\" with groff.
|
||||
.\"
|
||||
.\"
|
||||
.\" To make it work with other output devices also, we include www.tmac
|
||||
.\" directly.
|
||||
.\"
|
||||
.nr PS 10
|
||||
.nr VS 12
|
||||
.if '\*[.T]'html' .nr LL 10i
|
||||
.if r ps4html .nr LL 10i
|
||||
.mso www.tmac
|
||||
.
|
||||
.de blm-macro
|
||||
. nr tmp \\n[.i]
|
||||
. LP
|
||||
. in \\n[tmp]u
|
||||
..
|
||||
.blm blm-macro
|
||||
.
|
||||
.HX 0
|
||||
.
|
||||
.defcolor mydarkred rgb 0.65f 0.1f 0.2f
|
||||
.defcolor mydarkgreen rgb 0.1f 0.5f 0.2f
|
||||
.defcolor mydarkblue rgb 0.1f 0.2f 0.6f
|
||||
.
|
||||
.ds GNU \m[mydarkred]G\m[]\m[mydarkgreen]N\m[]\m[mydarkblue]U\m[]
|
||||
.
|
||||
.HTL
|
||||
.NHR
|
||||
.
|
||||
Home of Groff (GNU Troff).
|
||||
.
|
||||
.HTML-IMAGE-LEFT
|
||||
.PSPIC -L gnu.eps 2i 2i
|
||||
.ie r ps4html \
|
||||
. nop \v'-0.66i'\h'2.0i'\s[100]\*[GNU] Troff\s0
|
||||
.el \
|
||||
. nop \v'-0.66i'\h'2.0i'\s[60]\*[GNU] Troff\s0
|
||||
.HTML-IMAGE-END
|
||||
.
|
||||
.HnS 1
|
||||
.HR
|
||||
GNU Troff
|
||||
.URL http://\:groff.ffii.org/ (Groff)
|
||||
\[em] a
|
||||
.URL http://\:www.gnu.org/ GNU
|
||||
project.
|
||||
Hosted by
|
||||
.URL http://\:ffii.org/ FFII .
|
||||
.HR
|
||||
.HnE
|
||||
.LK
|
||||
|
||||
.DC T HE mydarkred
|
||||
groff (GNU Troff) software
|
||||
is a typesetting package which reads plain text mixed with
|
||||
formatting commands and produces formatted output.
|
||||
Groff now supports HTML.
|
||||
.
|
||||
.
|
||||
.SH
|
||||
Download
|
||||
|
||||
.URL "ftp://\:groff.ffii.org/\:pub/\:groff/" Germany
|
||||
|
|
||||
.URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" USA
|
||||
|
||||
.URL http://\:www.gnu.org/\:copyleft/\:gpl.html License
|
||||
|
|
||||
.URL http://\:ffii.org/\:mailman/\:listinfo/\:groff/ "Mailing list"
|
||||
|
|
||||
.URL "http://\:gnuwin32.sf.net/\:packages/\:groffl.htm" "Groff for Windows"
|
||||
|
||||
User issues lead:
|
||||
.MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
|
||||
.br
|
||||
Technical issues lead:
|
||||
.MTO wl@\:gnu.org "Werner Lemberg"
|
||||
.
|
||||
.
|
||||
.SH
|
||||
README
|
||||
|
||||
This is the GNU groff document formatting system.
|
||||
The version number is given in the file VERSION.
|
||||
|
||||
Included in this release are implementations of troff, pic, eqn, tbl, refer,
|
||||
the \-man macros and the \-ms macros, and drivers for PostScript, TeX dvi
|
||||
format, HP LaserJet 4 printers, HTML format (still alpha), and
|
||||
typewriter-like devices.
|
||||
Also included is a modified version of the Berkeley \-me macros, an enhanced
|
||||
version of the X11 xditview previewer, and an implementation of the \-mm
|
||||
macros contributed by
|
||||
.MTO jh@\:axis.se "J\[:o]rgen H\[:a]gg" .
|
||||
|
||||
See the file INSTALL for installation instructions.
|
||||
You will require a C++ compiler.
|
||||
|
||||
The file NEWS describes recent user-visible changes to groff.
|
||||
|
||||
Groff is free software.
|
||||
See the file COPYING for copying permission.
|
||||
|
||||
The file PROBLEMS describes various problems that have been encountered in
|
||||
compiling, installing, and running groff.
|
||||
|
||||
For the moment, the documentation assumes that you are already familiar with
|
||||
the Unix versions of troff, \-man, \-ms and the preprocessors.
|
||||
|
||||
The most recent released version of groff is always available by anonymous
|
||||
ftp from ftp.gnu.org in the directory pub/\:gnu/\:groff.
|
||||
|
||||
A CVS repository is now available, containing the current development
|
||||
version of groff.
|
||||
You can access it with the commands
|
||||
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs
|
||||
cvs login
|
||||
cvs -z9 co groff
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
(if the prompt for the password appears, just press the enter key).
|
||||
After a successful login you no longer need the first two commands; an
|
||||
update of a checked out repository should be done with
|
||||
|
||||
.RS
|
||||
.ft C
|
||||
cvs -z9 update -dP
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
Please read the info pages of cvs for further details.
|
||||
|
||||
Alternatively, you can download snapshots (which are updated twice a day)
|
||||
from
|
||||
.URL ftp://\:ftp.ffii.org/\:pub/\:groff/\:devel/\:groff-current.tar.gz here
|
||||
or a diff file relative to the latest official groff release as:
|
||||
|
||||
.RS
|
||||
.ft C
|
||||
ftp://ftp.ffii.org/pub/groff/devel/groff-\[la]version\[ra]-current.diff.gz
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
Assuming that groff-\[la]version\[ra].tar.gz and
|
||||
groff-\[la]version\[ra]-current.diff.gz are in the same directory, do the
|
||||
following to apply the diff file:
|
||||
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
tar xzvf groff-\[la]version\[ra].tar.gz
|
||||
cd groff-\[la]version\[ra]
|
||||
gunzip -c ../groff-\[la]version\[ra]-current.diff.gz | patch -p1
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
Please report bugs using the form in the file BUG-REPORT; the idea of this
|
||||
is to make sure that FSF has all the information it needs to fix the bug.
|
||||
At the very least, read the BUG-REPORT form and make sure that you supply
|
||||
all the information that it asks for.
|
||||
Even if you are not sure that something is a bug, report it using
|
||||
BUG-REPORT: this will enable us to determine whether it really is a bug or
|
||||
not.
|
||||
|
||||
Three mailing lists are available:
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
.MTO bug-groff@gnu.org bug-groff@gnu.org
|
||||
for reporting bugs
|
||||
|
||||
.LI
|
||||
.MTO groff@gnu.org groff@gnu.org
|
||||
for general discussion of groff
|
||||
|
||||
.LI
|
||||
.MTO groff-commit@ffii.org groff-commit@ffii.org
|
||||
a read-only list showing logs of commitments to the CVS repository
|
||||
.ULE
|
||||
|
||||
Note that groff@gnu.org is an alias for
|
||||
.MTO groff@\:ffii.org groff@\:ffii.org ;
|
||||
you must be subscribed to the `groff' list to send mails.
|
||||
|
||||
To subscribe, send e-mail to \[la]list\[ra]-request@\[la]domain\[ra]
|
||||
(example:
|
||||
.MTO groff-request@\:ffii.org groff-request@\:ffii.org )
|
||||
with the word `subscribe' in either the
|
||||
subject or body of the e-mail (don't include the quotes).
|
||||
|
||||
GNU groff was written by
|
||||
.MTO jjc@\:jclark.com "James Clark" .
|
||||
It is now maintained by
|
||||
.MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
|
||||
and
|
||||
.MTO wl@\:gnu.org "Werner Lemberg" .
|
||||
.
|
||||
.
|
||||
.SH
|
||||
NEWS VERSION 1.18.1
|
||||
.
|
||||
.SH 2
|
||||
troff
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The non-slanted PostScript font definition files have been regenerated to
|
||||
include left and right italic correction values.
|
||||
Applying those to a glyph (this is, prepending the glyph with `\e,' and
|
||||
appending `\e/' to the glyph) sets the glyph width to the real value given
|
||||
by the horizontal bounding box values.
|
||||
Without those escapes, the advance width for the particular glyph is used
|
||||
(which can differ considerably).
|
||||
|
||||
Most users will neither need this feature nor notice a difference in
|
||||
existing documents (provided \e, and \e/ is used as advertised, namely for
|
||||
italic fonts only); its main goal is to improve image generation with
|
||||
grohtml.
|
||||
|
||||
This is an experimental change, and feedback is welcome.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
tbl
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Added global option `nospaces' to ignore leading and trailing spaces in data
|
||||
items.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
grolbp
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The option \-w (\-\-linewidth) has been added (similar to other device
|
||||
drivers) to set the default line width.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
grn
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Support for b-spline and Bezier curves has been added.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
groffer
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New option \-\-shell to select the shell under wich groffer shall run.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
Macro Packages
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The string `Am' (producing an ampersand) has been added to mdoc for
|
||||
compatibility with NetBSD.
|
||||
|
||||
.LI
|
||||
`.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit)
|
||||
instead.
|
||||
|
||||
.LI
|
||||
In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal
|
||||
and vertical movements; please refer to contrib/mom/NEWS for more
|
||||
details.
|
||||
|
||||
.LI
|
||||
New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
Miscellaneous
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The `papersize' keyword in the DESC file now accepts multiple arguments.
|
||||
It is scanned from left to the right, and the first valid argument is used.
|
||||
This makes it possible to provide a fallback paper size.
|
||||
|
||||
Example:
|
||||
.RS
|
||||
.ft C
|
||||
papersize /etc/papersize a4
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
.LI
|
||||
A local font directory has been prepended to the default font path; it
|
||||
defaults to /usr/local/share/groff/site-font. Similar to the normal
|
||||
font searching process, files must be placed into a dev\fIXXX\fP
|
||||
subdirectory, e.g.
|
||||
|
||||
.RS
|
||||
.ft C
|
||||
/usr/local/share/groff/site-font/devps/FOO
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
for a PostScript font definition file FOO.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH
|
||||
NEWS VERSION 1.18
|
||||
|
||||
This section describes recent user-visible changes in groff.
|
||||
Bug fixes are not described.
|
||||
There are more details in the man pages.
|
||||
|
||||
.ad c
|
||||
\s[+5]\m[red]\
|
||||
Please read the changes below regarding
|
||||
.ie '\*[.T]'html' \
|
||||
. URL #grotty grotty ,
|
||||
.el \
|
||||
. nop grotty,
|
||||
groff's tty frontend.\
|
||||
\m[]\s[0]
|
||||
.br
|
||||
.ad n
|
||||
.
|
||||
.SH 2
|
||||
Troff
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Color support has been added to troff and pic (and to the device drivers
|
||||
grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will
|
||||
follow).
|
||||
A new function `defcolor' defines colors; the escape sequence `\em' sets the
|
||||
drawing color, the escape sequence `\eM' specifies the background color for
|
||||
closed objects created with \eD'.\|.\|.' commands.
|
||||
`\em[]' and `\eM[]' switch back to the previous color.
|
||||
`\em' and `\eM' correspond to the new troff output command sets starting
|
||||
with `m' and `DF'.
|
||||
The device-specific default color is called `default' and can't be
|
||||
redefined.
|
||||
|
||||
Use the `color' request to toggle the usage of colors (default is on); the
|
||||
read-only register `.color' is\~0 if colors are not active, and non-zero
|
||||
otherwise.
|
||||
|
||||
The old `Df' output command is mapped onto `DFg'; all color output
|
||||
commands don't change the current font position (consequently, `Df'
|
||||
doesn't either).
|
||||
|
||||
Outputting color can be disabled in troff and groff with the option\~\-c
|
||||
(it is always disabled in compatibility mode).
|
||||
See the section on grotty for the
|
||||
.ie '\*[.T]'html' \
|
||||
. URL #GROFF_NO_SGR GROFF_NO_SGR
|
||||
.el \
|
||||
. nop GROFF_NO_SGR
|
||||
environment variable also.
|
||||
|
||||
For defining color components as fractions between 0 and\~1, a new scaling
|
||||
indicator `f' has been defined: 1f\~=\~65536u.
|
||||
For testing whether a color is defined (with .if and .ie), a new
|
||||
conditional operator `m' is available.
|
||||
|
||||
More details can be found in the groff_diff.7 manual page and in
|
||||
groff.texinfo.
|
||||
|
||||
.LI
|
||||
Similar to \em and \eM, \ef[] switches back to the previous font.
|
||||
\efP (and \ef[P]) is still valid for backwards compatibility.
|
||||
|
||||
.LI
|
||||
The new escape \eF is the same as `.fam'; \eF[] switches back to previous
|
||||
family -- \eF[P] selects family `P'.
|
||||
|
||||
.LI
|
||||
Two new glyph symbols are available: `eu' is the official Euro symbol;
|
||||
`Eu' is a font-specific glyph variant.
|
||||
|
||||
.LI
|
||||
The new glyph symbols `t+\-', `tdi', and `tmu' are textual variants of
|
||||
`+\-', `di', and `mu', respectively.
|
||||
|
||||
.LI
|
||||
Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has
|
||||
got the troff glyph name `mc'.
|
||||
|
||||
.LI
|
||||
\-Tutf8 is now available on EBCDIC hosts.
|
||||
|
||||
.LI
|
||||
Strings can take arguments, using this syntax: \e*[foo\~arg1\~arg2\~.\|.\|.].
|
||||
Example:
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
\&.ds xxx This is a \e\e$1 test.
|
||||
\e*[xxx nice]
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
.LI
|
||||
It is now possible to have whitespace between the first and second dot (or
|
||||
the name of the ending macro) to end a macro definition.
|
||||
Example:
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
\&.de !
|
||||
\&..
|
||||
\&.
|
||||
\&.de foo
|
||||
\&. nop Hello, I'm `foo'.
|
||||
\&. nop I will now define `bar'.
|
||||
\&. de bar !
|
||||
\&. nop Hello, I'm `bar'.
|
||||
\&. !
|
||||
\&..
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
.LI
|
||||
`.fn' is a new string-valued register which returns the (internal) real
|
||||
font name; styles and families are properly concatenated.
|
||||
|
||||
.LI
|
||||
Three new read/write registers `seconds', `minutes', and `hours' contain
|
||||
the current time, set at start-up of troff.
|
||||
Use the `af' request to control their output format.
|
||||
|
||||
.LI
|
||||
The new request `fchar' can be used to provide fallback characters.
|
||||
It has the same syntax as the `char' request; the only difference is that
|
||||
a character defined with `.char' hides the glyph with the same name in the
|
||||
current font, whereas a character defined with `.fchar' is checked only if
|
||||
the particular glyph isn't found in the current font.
|
||||
This test happens before checking special fonts.
|
||||
|
||||
.LI
|
||||
In analogy to the `tmc' request, `.writec' is the same as `.write' but
|
||||
doesn't emit a final newline.
|
||||
|
||||
.LI
|
||||
The new request `itc' is a variant of `.it' for which a line interrupted
|
||||
with \ec counts as one input line.
|
||||
|
||||
.LI
|
||||
Two new requests `ds1' and `as1' which are similar to `ds' and `as' but
|
||||
with compatibility mode disabled during expansion of strings defined by
|
||||
them.
|
||||
|
||||
.LI
|
||||
The syntax of the `substring' request has been changed:
|
||||
The first character in a string now has index\~0, the last character
|
||||
has index\~\-1.
|
||||
Note that this is an incompatible change.
|
||||
|
||||
.LI
|
||||
To emit strings directly to the intermediate output, a new `output'
|
||||
request has been added; it is similar to `\e!' used at the top level.
|
||||
|
||||
.LI
|
||||
`.hpf' has been extended.
|
||||
It can now handle most TeX hyphenation pattern files without
|
||||
modification.
|
||||
To do that, the commands \epatterns, \ehyphenation, and \eendinput are
|
||||
recognized.
|
||||
Please refer to groff_diff.7 for more information.
|
||||
|
||||
.LI
|
||||
`hpfcode' is a new request to provide an input encoding mapping for the
|
||||
`hpf' request.
|
||||
|
||||
.LI
|
||||
The new request `hpfa' appends hyphenation patterns (`hpf' replaces
|
||||
already existing patterns).
|
||||
|
||||
.LI
|
||||
A new request `ami' (append macro indirect) has been added.
|
||||
The first and second parameter of `ami' are taken from string registers
|
||||
rather than directly; this very special request is needed to make
|
||||
`trace.tmac' independent from the escape character (which might even
|
||||
be disabled).
|
||||
|
||||
.LI
|
||||
The new request `sizes' is similar to the `sizes' command in DESC files.
|
||||
It expects the same syntax; the data must be on a single line, and the
|
||||
final `0' can be omitted.
|
||||
|
||||
.LI
|
||||
`trin' (translate input) is a new request which is similar to `tr' with
|
||||
the exception that the `asciify' request will use the character code (if
|
||||
any) before the character translation.
|
||||
Example:
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
\&.trin ax
|
||||
\&.di xxx
|
||||
a
|
||||
\&.br
|
||||
\&.di
|
||||
\&.xxx
|
||||
\&.trin aa
|
||||
\&.asciify xxx
|
||||
\&.xxx
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
The result is `x\~a'. Using `tr', the result would be `x\~x'.
|
||||
|
||||
.LI
|
||||
The request `pvs' isn't new, but hasn't been documented before.
|
||||
It adds vertical space after a line has been output.
|
||||
This makes it an alternative to the `ls' request to produce
|
||||
double-spaced documents.
|
||||
The read-only register `.pvs' holds the current amount of the
|
||||
post-vertical line space.
|
||||
|
||||
.LI
|
||||
For compatibility with plan 9's troff, multiple `pi' requests are
|
||||
supported:
|
||||
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
\&.pi foo
|
||||
\&.pi bar
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
is now equivalent to
|
||||
.RS
|
||||
.ft C
|
||||
\&.pi foo | bar
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
.LI
|
||||
A new escape sequence `\eO' is available to disable and enable glyph
|
||||
output.
|
||||
Please see groff_diff.man and groff.texinfo for more details.
|
||||
|
||||
.LI
|
||||
The escapes `\e%', `\e&', `\e)', and `\e:' no longer cause an error in \eX;
|
||||
they are ignored now.
|
||||
Additionally `\e\ ' and `\e~' are converted to single space characters.
|
||||
|
||||
.LI
|
||||
The default tab distance in nroff mode is now 0.8i to be compatible
|
||||
with UNIX troff.
|
||||
|
||||
.LI
|
||||
Using the latin-1 input character 0xAD (soft hyphen) for the `shc'
|
||||
request was a bad idea.
|
||||
Instead, it is now translated to `\e%', and the default hyphenation
|
||||
character is again \e[hy].
|
||||
Note that the glyph \e[shc] is not useful for typographic purposes;
|
||||
it only exists to have glyph names for all latin-1 characters.
|
||||
.ULE
|
||||
.
|
||||
.SH 2
|
||||
Macro Packages
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
.MTO df191@\:ncf.ca "Peter Schaffter"
|
||||
has contributed a new major macro package called `mom', mainly for
|
||||
non-scientific writers, which takes care of many typographic issues.
|
||||
It comes with a complete reference (in HTML format) and some examples.
|
||||
`mom' has been designed to format documents for PostScript output only.
|
||||
|
||||
.LI
|
||||
Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to
|
||||
the man macros for compatibility with older BSD releases.
|
||||
|
||||
.LI
|
||||
Both the man and mdoc macro packages now use the LL and LT registers for
|
||||
setting the line and title length, respectively (similar to those
|
||||
registers in the ms macro package).
|
||||
If not set on the command line or in a macro file loaded before the macro
|
||||
package itself, they default to 78n in nroff mode and 6.5i in troff mode.
|
||||
|
||||
.LI
|
||||
The `\-xwidth' specifier in the mdoc macro package has been removed.
|
||||
Its functionality is now integrated directly into `\-width'.
|
||||
Similarly, `\-column' has been extended to has this functionality also.
|
||||
|
||||
.LI
|
||||
A new macro `Ex' has been added to the mdoc macro package to document an
|
||||
exit status.
|
||||
|
||||
.LI
|
||||
`troff.man' has been split. Differences to UNIX troff are now documented
|
||||
in the new man page `groff_diff.man'.
|
||||
|
||||
.LI
|
||||
The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is
|
||||
now automatically loaded for \-Tdvi), using a dvips special to load the EPS
|
||||
file.
|
||||
|
||||
.LI
|
||||
The trace.tmac package now traces calls to `am' also.
|
||||
Additionally, it works in compatibility mode.
|
||||
|
||||
.LI
|
||||
`troff.1' has been split.
|
||||
Differences to UNIX troff are now documented in the new man page
|
||||
`groff_diff.7'.
|
||||
|
||||
.LI
|
||||
`groff_mwww.7' has been renamed to `groff_www.7'.
|
||||
The file mwww.tmac has been removed.
|
||||
|
||||
.LI
|
||||
`groff_ms.7' has been completely rewritten.
|
||||
It now contains a complete reference to the ms macros.
|
||||
|
||||
.LI
|
||||
`groff_trace.7' documents the trace macro package.
|
||||
|
||||
.LI
|
||||
Changes in www.tmac
|
||||
|
||||
Note that HTML support is still in alpha change, so it is rather likely
|
||||
that both macro names and macro syntax will change.
|
||||
Some of the macros mentioned below aren't really new but haven't been
|
||||
documented properly before.
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The following macros have been renamed:
|
||||
.RS
|
||||
.nf
|
||||
MAILTO -> MTO
|
||||
IMAGE -> IMG
|
||||
LINE -> HR
|
||||
.fi
|
||||
.RE
|
||||
|
||||
.LI
|
||||
For consistency, the macros `URL', `FTL', and `MTO' now all have the
|
||||
address as the first parameter followed by the description.
|
||||
|
||||
.LI
|
||||
By default, grohtml generates links to all section headings at the top
|
||||
of the document.
|
||||
Use the new `LK' macro to specify a different place.
|
||||
|
||||
.LI
|
||||
For specifying the background color and a background image, use the
|
||||
new macros `BCL' and `BGIMG', respectively.
|
||||
|
||||
.LI
|
||||
The macro `NHR' has been added; it suppresses the generation of top and
|
||||
bottom rules which grohtml emits by default.
|
||||
|
||||
.LI
|
||||
The new macro `HX' determines the cut-off point for automatic link
|
||||
generation to headings.
|
||||
|
||||
.LI
|
||||
The image position parameter names in `IMG' have been changed to `\-L',
|
||||
`\-R', and `\-C'.
|
||||
|
||||
.LI
|
||||
New macro `PIMG' for inclusion of a PNG image (it will automatically
|
||||
convert it into an EPS file if not \-Thtml is used).
|
||||
|
||||
.LI
|
||||
New macro `MPIMG' for putting a PNG image into the left or right margin
|
||||
(it will automatically convert it into an EPS file if not \-Thtml is used).
|
||||
|
||||
.LI
|
||||
New macros `HnS', `HnE' to start and end a header line block.
|
||||
|
||||
.LI
|
||||
New macro `DC' to produce dropcap characters.
|
||||
|
||||
.LI
|
||||
New macro `HTL' to generate an HTML title line only but no H1 heading.
|
||||
|
||||
.LI
|
||||
New macros `ULS' and `ULE' to start and end an unordered list.
|
||||
The new macro `LI' inserts a list item.
|
||||
.ULE
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
groff
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The new command line `\-c' disables color output (which is always disabled
|
||||
in compatibility mode).
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Nroff
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Two new command line options `\-c' and `\-C'; the former passes `\-c' to
|
||||
grotty (switching to the old output scheme); the latter passes `\-C' to
|
||||
groff (enabling compatibility mode).
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
pic
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
|
||||
`outlined'), and `shaded' are available.
|
||||
`outline' sets the color of the outline, `shaded' the fill color, and
|
||||
`color' sets both.
|
||||
Example:
|
||||
.RS
|
||||
.ft C
|
||||
circle shaded "green" outline "black" ;
|
||||
.ft P
|
||||
.RE
|
||||
|
||||
Filled arrows always use the outline color for filling.
|
||||
|
||||
Color support for TeX output is not implemented yet.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Pic2graph
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
A new script contributed by
|
||||
.MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
|
||||
It converts a PIC diagram into a cropped image.
|
||||
Since it uses gs and the PNM library, virtually all graphics formats
|
||||
are available for output.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Eqn2graph
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
A new script contributed by
|
||||
.MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
|
||||
It converts an EQN diagram into a cropped image.
|
||||
Since it uses gs and the PNM library, virtually all graphics formats
|
||||
are available for output.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Groffer
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
A new script contributed by
|
||||
.MTO bwarken@mayn.de "Bernd Warken" .
|
||||
It displays groff files and man pages on X and tty, taking care of most
|
||||
parameters automatically.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Grog
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Documents using the mom macro package are recognized.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grops
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Color support has been added.
|
||||
|
||||
.LI
|
||||
A new option `\-p' is available to select the output paper size.
|
||||
It has the same syntax as the new `papersize' keyword in the DESC file.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Grodvi
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
By default, font sizes are now available in the range 5\-10000pt, similar
|
||||
to PS fonts.
|
||||
If you want the old behaviour (i.e., font sizes at discrete values only),
|
||||
insert the following at the start of your document:
|
||||
.RS
|
||||
.nf
|
||||
.ft C
|
||||
\&.if '\e*[.T]'dvi' \e
|
||||
\&. sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \e
|
||||
\& 1728 1800 2000 2074 2200 2400 2488 2800 3600
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
|
||||
.LI
|
||||
A new font file HBI (using cmssbxo10; this is slanted sans serif bold
|
||||
extended) has been added.
|
||||
|
||||
.LI
|
||||
Two font families are now available: `T' and `H'.
|
||||
|
||||
.LI
|
||||
EC and TC fonts have been integrated.
|
||||
Use `\-mec' (calling the file ec.tmac) to switch to them.
|
||||
Those fonts give a much better coverage of the symbols defined by groff
|
||||
than the CM fonts.
|
||||
|
||||
Note that ec.tmac must be called before any language-specific files; it
|
||||
doesn't take care of hcode values.
|
||||
|
||||
.LI
|
||||
Color support has been added.
|
||||
For drawing commands, colors are translated to gray values currently.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.TAG grotty
|
||||
.SH 2
|
||||
Grotty
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Color support has been added, using the SGR (ISO\~6429, sometimes called
|
||||
ANSI color) escape sequences.
|
||||
|
||||
.LI
|
||||
SGR escape sequences are now used by default for underlining and bold
|
||||
printing also, no longer using the backspace character trick.
|
||||
To revert to the old behaviour, use the `\-c' switch.
|
||||
|
||||
Note that you have to use the `\-R' option of `less' to make SGR escapes
|
||||
display correctly.
|
||||
On the other hand, terminal programs and consoles like `xterm' which
|
||||
support SGR sequences natively can directly display the output of grotty.
|
||||
Consequently, the options `\-b', `\-B', `\-u', and `\-U' work only in
|
||||
combination with `\-c' and are ignored silently otherwise.
|
||||
|
||||
For the `man' program, it may be necessary to add the `\-R' option of
|
||||
`less' to the $PAGER environment variable; alternatively, you can use
|
||||
`man's `\-P' option (or adapt its configuration file accordingly).
|
||||
See man(1) for more details.
|
||||
|
||||
.TAG GROFF_NO_SGR
|
||||
.LI
|
||||
If the environment variable GROFF_NO_SGR is set, SGR output is disabled,
|
||||
reverting to the old behaviour.
|
||||
|
||||
.LI
|
||||
A new special \eX'tty:\~sgr\~n' has been added; if n is non-zero or missing,
|
||||
enable SGR output (the default).
|
||||
|
||||
.LI
|
||||
If the new option `\-i' is used (only in SGR mode), grotty sends escape
|
||||
sequences to set the italic font attribute instead of the underline
|
||||
attribute for italic fonts.
|
||||
Note that many terminals don't have support for this (including xterm).
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grohtml
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Color support for glyphs has been added.
|
||||
|
||||
.LI
|
||||
New option `\-h' to select the style of headings in HTML output.
|
||||
|
||||
.LI
|
||||
New option `\-b' to set the background colour to white.
|
||||
|
||||
.LI
|
||||
New options `\-a' and `\-g' to control the number of bits for anti-aliasing
|
||||
used for text and graphics, respectively.
|
||||
Default value is\~4; 0\~means no anti-aliasing.
|
||||
|
||||
.LI
|
||||
groff character/glyph entities now map onto HTML\~4 character entities.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Grolbp
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Valid paper sizes are now specified as with the new `papersize' keyword
|
||||
in the DESC file.
|
||||
Specifically, the old custom paper type format `custAAAxBBB' is no longer
|
||||
supported.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
Miscellaneous
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
A new manual page `ditroff.7' is available.
|
||||
|
||||
.LI
|
||||
The groff texinfo manual will now be installed, together with a bunch
|
||||
of examples.
|
||||
|
||||
.LI
|
||||
A new keyword `papersize' has been added to the DESC file format.
|
||||
Its argument is either
|
||||
|
||||
.RS
|
||||
.IP \[bu]
|
||||
a predefined paper format (e.g. `A4' or `letter')
|
||||
|
||||
.IP \[bu]
|
||||
a file name pointing to a file which must contain a paper size
|
||||
specification in its first line (e.g. `/etc/papersize')
|
||||
|
||||
.IP \[bu]
|
||||
a custom paper size definition like `35c,4i'
|
||||
.RE
|
||||
|
||||
See groff_font(5) for more details.
|
||||
This keyword only affects the physical dimensions of the output medium;
|
||||
grops, grolj4, and grolbp use it currently.
|
||||
troff completely ignores it.
|
||||
.ULE
|
||||
.
|
||||
.HR
|
||||
.
|
||||
\s-2\fIThis document was produced using
|
||||
.URL http://groff.ffii.org/ groff-\n[.x].\n[.y].\n[.Y] .
|
||||
.br
|
||||
The image at the top has been contributed by Imogen Mulley (born 1991),
|
||||
based on a similar picture found on the
|
||||
.URL http://www.gnu.org "GNU server" .
|
||||
.HR
|
||||
.\" EOF
|
@ -1,6 +1,7 @@
|
||||
name CB
|
||||
spacewidth 10
|
||||
charset
|
||||
--- 10,9 0 00
|
||||
--- 10,1 0 040
|
||||
! 10,11 0 041
|
||||
" 10,11 0 042
|
||||
@ -116,193 +117,100 @@ rC "
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,3 0 0241
|
||||
║ "
|
||||
ct 10,10 0 0242
|
||||
╒ "
|
||||
Po 10,10 0 0243
|
||||
ё "
|
||||
Cs 10,8 0 0244
|
||||
╓ "
|
||||
Ye 10,10 0 0245
|
||||
╔ "
|
||||
bb 10,11,2 0 0246
|
||||
╕ "
|
||||
sc 10,11,1 0 0247
|
||||
╖ "
|
||||
ad 10,10 0 0250
|
||||
╗ "
|
||||
co 10,10 0 0251
|
||||
╘ "
|
||||
Of 10,10 0 0252
|
||||
╙ "
|
||||
Fo 10,7 0 0253
|
||||
╚ "
|
||||
no 10,7 0 0254
|
||||
╛ "
|
||||
- 10,6 0 0255
|
||||
hy "
|
||||
╜ "
|
||||
rg 10,10 0 0256
|
||||
╝ "
|
||||
a- 10,10 0 0257
|
||||
╞ "
|
||||
de 10,11 0 0260
|
||||
╟ "
|
||||
+- 10,9 0 0261
|
||||
╠ "
|
||||
t+- 10,9 0 0261
|
||||
S2 10,11 0 0262
|
||||
╡ "
|
||||
S3 10,11 0 0263
|
||||
Ё "
|
||||
aa 10,11 0 0264
|
||||
╢ "
|
||||
╣ 10,7,3 0 0265
|
||||
mc 10,7,3 0 0265
|
||||
ps 10,11,1 0 0266
|
||||
╤ "
|
||||
pc 10,6 0 0267
|
||||
╥ "
|
||||
ac 10,1,3 0 0270
|
||||
╦ "
|
||||
S1 10,11 0 0271
|
||||
╧ "
|
||||
Om 10,10 0 0272
|
||||
╨ "
|
||||
Fc 10,7 0 0273
|
||||
╩ "
|
||||
14 10,11 0 0274
|
||||
╪ "
|
||||
12 10,11 0 0275
|
||||
╫ "
|
||||
34 10,11 0 0276
|
||||
╬ "
|
||||
r? 10,7,3 0 0277
|
||||
© "
|
||||
`A 10,14 0 0300
|
||||
ю "
|
||||
'A 10,14 0 0301
|
||||
а "
|
||||
^A 10,14 0 0302
|
||||
б "
|
||||
~A 10,13 0 0303
|
||||
ц "
|
||||
:A 10,13 0 0304
|
||||
д "
|
||||
oA 10,14 0 0305
|
||||
е "
|
||||
AE 10,10 0 0306
|
||||
ф "
|
||||
,C 10,10,3 0 0307
|
||||
г "
|
||||
`E 10,14 0 0310
|
||||
х "
|
||||
'E 10,14 0 0311
|
||||
и "
|
||||
^E 10,14 0 0312
|
||||
й "
|
||||
:E 10,13 0 0313
|
||||
к "
|
||||
`I 10,14 0 0314
|
||||
л "
|
||||
'I 10,14 0 0315
|
||||
м "
|
||||
^I 10,14 0 0316
|
||||
н "
|
||||
:I 10,13 0 0317
|
||||
о "
|
||||
-D 10,10 0 0320
|
||||
п "
|
||||
~N 10,13 0 0321
|
||||
я "
|
||||
`O 10,14 0 0322
|
||||
р "
|
||||
'O 10,14 0 0323
|
||||
с "
|
||||
^O 10,14 0 0324
|
||||
т "
|
||||
~O 10,13 0 0325
|
||||
у "
|
||||
:O 10,13 0 0326
|
||||
ж "
|
||||
mu 10,8 0 0327
|
||||
в "
|
||||
tmu 10,8 0 0327
|
||||
/O 10,11,1 0 0330
|
||||
ь "
|
||||
`U 10,14 0 0331
|
||||
ы "
|
||||
'U 10,14 0 0332
|
||||
з "
|
||||
^U 10,14 0 0333
|
||||
ш "
|
||||
:U 10,13 0 0334
|
||||
э "
|
||||
'Y 10,14 0 0335
|
||||
щ "
|
||||
TP 10,10 0 0336
|
||||
ч "
|
||||
ss 10,11 0 0337
|
||||
ъ "
|
||||
`a 10,11 0 0340
|
||||
Ю "
|
||||
'a 10,11 0 0341
|
||||
А "
|
||||
^a 10,11 0 0342
|
||||
Б "
|
||||
~a 10,10 0 0343
|
||||
Ц "
|
||||
:a 10,10 0 0344
|
||||
Д "
|
||||
oa 10,12 0 0345
|
||||
Е "
|
||||
ae 10,7 0 0346
|
||||
Ф "
|
||||
,c 10,7,3 0 0347
|
||||
Г "
|
||||
`e 10,11 0 0350
|
||||
Х "
|
||||
'e 10,11 0 0351
|
||||
И "
|
||||
^e 10,11 0 0352
|
||||
Й "
|
||||
:e 10,10 0 0353
|
||||
К "
|
||||
`i 10,11 0 0354
|
||||
Л "
|
||||
'i 10,11 0 0355
|
||||
М "
|
||||
^i 10,11 0 0356
|
||||
Н "
|
||||
:i 10,10 0 0357
|
||||
О "
|
||||
Sd 10,12 0 0360
|
||||
П "
|
||||
~n 10,10 0 0361
|
||||
Я "
|
||||
`o 10,11 0 0362
|
||||
Р "
|
||||
'o 10,11 0 0363
|
||||
С "
|
||||
^o 10,11 0 0364
|
||||
Т "
|
||||
~o 10,10 0 0365
|
||||
У "
|
||||
:o 10,10 0 0366
|
||||
Ж "
|
||||
di 10,9 0 0367
|
||||
В "
|
||||
tdi 10,9 0 0367
|
||||
/o 10,8,1 0 0370
|
||||
Ь "
|
||||
`u 10,11 0 0371
|
||||
Ы "
|
||||
'u 10,11 0 0372
|
||||
З "
|
||||
^u 10,11 0 0373
|
||||
Ш "
|
||||
:u 10,10 0 0374
|
||||
Э "
|
||||
'y 10,11,3 0 0375
|
||||
Щ "
|
||||
Tp 10,11,3 0 0376
|
||||
Ч "
|
||||
:y 10,10,3 0 0377
|
||||
Ъ "
|
||||
|
@ -1,6 +1,7 @@
|
||||
name CBI
|
||||
spacewidth 10
|
||||
charset
|
||||
--- 10,9 0 00
|
||||
--- 10,1 0 040
|
||||
! 10,11 0 041
|
||||
" 10,11 0 042
|
||||
@ -116,193 +117,100 @@ rC "
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,4 0 0241
|
||||
║ "
|
||||
ct 10,10 0 0242
|
||||
╒ "
|
||||
Po 10,10 0 0243
|
||||
ё "
|
||||
Cs 10,8 0 0244
|
||||
╓ "
|
||||
Ye 10,10 0 0245
|
||||
╔ "
|
||||
bb 10,11,2 0 0246
|
||||
╕ "
|
||||
sc 10,11,1 0 0247
|
||||
╖ "
|
||||
ad 10,10 0 0250
|
||||
╗ "
|
||||
co 10,10 0 0251
|
||||
╘ "
|
||||
Of 10,10 0 0252
|
||||
╙ "
|
||||
Fo 10,7 0 0253
|
||||
╚ "
|
||||
no 10,7 0 0254
|
||||
╛ "
|
||||
- 10,6 0 0255
|
||||
hy "
|
||||
╜ "
|
||||
rg 10,10 0 0256
|
||||
╝ "
|
||||
a- 10,9 0 0257
|
||||
╞ "
|
||||
de 10,11 0 0260
|
||||
╟ "
|
||||
+- 10,10 0 0261
|
||||
╠ "
|
||||
t+- 10,10 0 0261
|
||||
S2 10,11 0 0262
|
||||
╡ "
|
||||
S3 10,11 0 0263
|
||||
Ё "
|
||||
aa 10,11 0 0264
|
||||
╢ "
|
||||
╣ 10,7,3 0 0265
|
||||
mc 10,7,3 0 0265
|
||||
ps 10,11,1 0 0266
|
||||
╤ "
|
||||
pc 10,6 0 0267
|
||||
╥ "
|
||||
ac 10,0,3 0 0270
|
||||
╦ "
|
||||
S1 10,11 0 0271
|
||||
╧ "
|
||||
Om 10,10 0 0272
|
||||
╨ "
|
||||
Fc 10,7 0 0273
|
||||
╩ "
|
||||
14 10,11 0 0274
|
||||
╪ "
|
||||
12 10,11 0 0275
|
||||
╫ "
|
||||
34 10,11 0 0276
|
||||
╬ "
|
||||
r? 10,7,4 0 0277
|
||||
© "
|
||||
`A 10,14 0 0300
|
||||
ю "
|
||||
'A 10,14 0 0301
|
||||
а "
|
||||
^A 10,14 0 0302
|
||||
б "
|
||||
~A 10,13 0 0303
|
||||
ц "
|
||||
:A 10,13 0 0304
|
||||
д "
|
||||
oA 10,14 0 0305
|
||||
е "
|
||||
AE 10,10 0 0306
|
||||
ф "
|
||||
,C 10,10,3 0 0307
|
||||
г "
|
||||
`E 10,14 0 0310
|
||||
х "
|
||||
'E 10,14 0 0311
|
||||
и "
|
||||
^E 10,14 0 0312
|
||||
й "
|
||||
:E 10,13 0 0313
|
||||
к "
|
||||
`I 10,14 0 0314
|
||||
л "
|
||||
'I 10,14 0 0315
|
||||
м "
|
||||
^I 10,14 0 0316
|
||||
н "
|
||||
:I 10,13 0 0317
|
||||
о "
|
||||
-D 10,10 0 0320
|
||||
п "
|
||||
~N 10,13 0 0321
|
||||
я "
|
||||
`O 10,14 0 0322
|
||||
р "
|
||||
'O 10,14 0 0323
|
||||
с "
|
||||
^O 10,14 0 0324
|
||||
т "
|
||||
~O 10,13 0 0325
|
||||
у "
|
||||
:O 10,13 0 0326
|
||||
ж "
|
||||
mu 10,8 0 0327
|
||||
в "
|
||||
tmu 10,8 0 0327
|
||||
/O 10,10 0 0330
|
||||
ь "
|
||||
`U 10,14 0 0331
|
||||
ы "
|
||||
'U 10,14 0 0332
|
||||
з "
|
||||
^U 10,14 0 0333
|
||||
ш "
|
||||
:U 10,13 0 0334
|
||||
э "
|
||||
'Y 10,14 0 0335
|
||||
щ "
|
||||
TP 10,10 0 0336
|
||||
ч "
|
||||
ss 10,11 0 0337
|
||||
ъ "
|
||||
`a 10,11 0 0340
|
||||
Ю "
|
||||
'a 10,11 0 0341
|
||||
А "
|
||||
^a 10,11 0 0342
|
||||
Б "
|
||||
~a 10,10 0 0343
|
||||
Ц "
|
||||
:a 10,10 0 0344
|
||||
Д "
|
||||
oa 10,11 0 0345
|
||||
Е "
|
||||
ae 10,7 0 0346
|
||||
Ф "
|
||||
,c 10,7,3 0 0347
|
||||
Г "
|
||||
`e 10,11 0 0350
|
||||
Х "
|
||||
'e 10,11 0 0351
|
||||
И "
|
||||
^e 10,11 0 0352
|
||||
Й "
|
||||
:e 10,10 0 0353
|
||||
К "
|
||||
`i 10,11 0 0354
|
||||
Л "
|
||||
'i 10,11 0 0355
|
||||
М "
|
||||
^i 10,11 0 0356
|
||||
Н "
|
||||
:i 10,10 0 0357
|
||||
О "
|
||||
Sd 10,12 0 0360
|
||||
П "
|
||||
~n 10,10 0 0361
|
||||
Я "
|
||||
`o 10,11 0 0362
|
||||
Р "
|
||||
'o 10,11 0 0363
|
||||
С "
|
||||
^o 10,11 0 0364
|
||||
Т "
|
||||
~o 10,10 0 0365
|
||||
У "
|
||||
:o 10,10 0 0366
|
||||
Ж "
|
||||
di 10,9 0 0367
|
||||
В "
|
||||
tdi 10,9 0 0367
|
||||
/o 10,8,1 0 0370
|
||||
Ь "
|
||||
`u 10,11 0 0371
|
||||
Ы "
|
||||
'u 10,11 0 0372
|
||||
З "
|
||||
^u 10,11 0 0373
|
||||
Ш "
|
||||
:u 10,10 0 0374
|
||||
Э "
|
||||
'y 10,11,3 0 0375
|
||||
Щ "
|
||||
Tp 10,11,3 0 0376
|
||||
Ч "
|
||||
:y 10,10,3 0 0377
|
||||
Ъ "
|
||||
|
@ -1,6 +1,7 @@
|
||||
name CI
|
||||
spacewidth 10
|
||||
charset
|
||||
--- 10,9 0 00
|
||||
--- 10,1 0 040
|
||||
! 10,11 0 041
|
||||
" 10,11 0 042
|
||||
@ -116,193 +117,100 @@ rC "
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,4 0 0241
|
||||
║ "
|
||||
ct 10,10 0 0242
|
||||
╒ "
|
||||
Po 10,10 0 0243
|
||||
ё "
|
||||
Cs 10,8 0 0244
|
||||
╓ "
|
||||
Ye 10,10 0 0245
|
||||
╔ "
|
||||
bb 10,11,2 0 0246
|
||||
╕ "
|
||||
sc 10,11,1 0 0247
|
||||
╖ "
|
||||
ad 10,10 0 0250
|
||||
╗ "
|
||||
co 10,10 0 0251
|
||||
╘ "
|
||||
Of 10,10 0 0252
|
||||
╙ "
|
||||
Fo 10,7 0 0253
|
||||
╚ "
|
||||
no 10,6 0 0254
|
||||
╛ "
|
||||
- 10,5 0 0255
|
||||
hy "
|
||||
╜ "
|
||||
rg 10,10 0 0256
|
||||
╝ "
|
||||
a- 10,10 0 0257
|
||||
╞ "
|
||||
de 10,11 0 0260
|
||||
╟ "
|
||||
+- 10,9 0 0261
|
||||
╠ "
|
||||
t+- 10,9 0 0261
|
||||
S2 10,11 0 0262
|
||||
╡ "
|
||||
S3 10,11 0 0263
|
||||
Ё "
|
||||
aa 10,11 0 0264
|
||||
╢ "
|
||||
╣ 10,7,3 0 0265
|
||||
mc 10,7,3 0 0265
|
||||
ps 10,11,1 0 0266
|
||||
╤ "
|
||||
pc 10,6 0 0267
|
||||
╥ "
|
||||
ac 10,0,3 0 0270
|
||||
╦ "
|
||||
S1 10,11 0 0271
|
||||
╧ "
|
||||
Om 10,10 0 0272
|
||||
╨ "
|
||||
Fc 10,7 0 0273
|
||||
╩ "
|
||||
14 10,11 0 0274
|
||||
╪ "
|
||||
12 10,11 0 0275
|
||||
╫ "
|
||||
34 10,11 0 0276
|
||||
╬ "
|
||||
r? 10,7,3 0 0277
|
||||
© "
|
||||
`A 10,14 0 0300
|
||||
ю "
|
||||
'A 10,14 0 0301
|
||||
а "
|
||||
^A 10,14 0 0302
|
||||
б "
|
||||
~A 10,13 0 0303
|
||||
ц "
|
||||
:A 10,13 0 0304
|
||||
д "
|
||||
oA 10,14 0 0305
|
||||
е "
|
||||
AE 10,10 0 0306
|
||||
ф "
|
||||
,C 10,10,3 0 0307
|
||||
г "
|
||||
`E 10,14 0 0310
|
||||
х "
|
||||
'E 10,14 0 0311
|
||||
и "
|
||||
^E 10,14 0 0312
|
||||
й "
|
||||
:E 10,13 0 0313
|
||||
к "
|
||||
`I 10,14 0 0314
|
||||
л "
|
||||
'I 10,14 0 0315
|
||||
м "
|
||||
^I 10,14 0 0316
|
||||
н "
|
||||
:I 10,13 0 0317
|
||||
о "
|
||||
-D 10,10 0 0320
|
||||
п "
|
||||
~N 10,13 0 0321
|
||||
я "
|
||||
`O 10,14 0 0322
|
||||
р "
|
||||
'O 10,14 0 0323
|
||||
с "
|
||||
^O 10,14 0 0324
|
||||
т "
|
||||
~O 10,13 0 0325
|
||||
у "
|
||||
:O 10,13 0 0326
|
||||
ж "
|
||||
mu 10,8 0 0327
|
||||
в "
|
||||
tmu 10,8 0 0327
|
||||
/O 10,10 0 0330
|
||||
ь "
|
||||
`U 10,14 0 0331
|
||||
ы "
|
||||
'U 10,14 0 0332
|
||||
з "
|
||||
^U 10,14 0 0333
|
||||
ш "
|
||||
:U 10,13 0 0334
|
||||
э "
|
||||
'Y 10,14 0 0335
|
||||
щ "
|
||||
TP 10,10 0 0336
|
||||
ч "
|
||||
ss 10,11 0 0337
|
||||
ъ "
|
||||
`a 10,11 0 0340
|
||||
Ю "
|
||||
'a 10,11 0 0341
|
||||
А "
|
||||
^a 10,11 0 0342
|
||||
Б "
|
||||
~a 10,10 0 0343
|
||||
Ц "
|
||||
:a 10,10 0 0344
|
||||
Д "
|
||||
oa 10,11 0 0345
|
||||
Е "
|
||||
ae 10,7 0 0346
|
||||
Ф "
|
||||
,c 10,7,3 0 0347
|
||||
Г "
|
||||
`e 10,11 0 0350
|
||||
Х "
|
||||
'e 10,11 0 0351
|
||||
И "
|
||||
^e 10,11 0 0352
|
||||
Й "
|
||||
:e 10,10 0 0353
|
||||
К "
|
||||
`i 10,11 0 0354
|
||||
Л "
|
||||
'i 10,11 0 0355
|
||||
М "
|
||||
^i 10,11 0 0356
|
||||
Н "
|
||||
:i 10,10 0 0357
|
||||
О "
|
||||
Sd 10,11 0 0360
|
||||
П "
|
||||
~n 10,10 0 0361
|
||||
Я "
|
||||
`o 10,11 0 0362
|
||||
Р "
|
||||
'o 10,11 0 0363
|
||||
С "
|
||||
^o 10,11 0 0364
|
||||
Т "
|
||||
~o 10,10 0 0365
|
||||
У "
|
||||
:o 10,10 0 0366
|
||||
Ж "
|
||||
di 10,8 0 0367
|
||||
В "
|
||||
tdi 10,8 0 0367
|
||||
/o 10,8,1 0 0370
|
||||
Ь "
|
||||
`u 10,11 0 0371
|
||||
Ы "
|
||||
'u 10,11 0 0372
|
||||
З "
|
||||
^u 10,11 0 0373
|
||||
Ш "
|
||||
:u 10,10 0 0374
|
||||
Э "
|
||||
'y 10,11,3 0 0375
|
||||
Щ "
|
||||
Tp 10,11,3 0 0376
|
||||
Ч "
|
||||
:y 10,10,3 0 0377
|
||||
Ъ "
|
||||
|
@ -1,6 +1,7 @@
|
||||
name CR
|
||||
spacewidth 10
|
||||
charset
|
||||
--- 10,9 0 00
|
||||
--- 10,1 0 040
|
||||
! 10,11 0 041
|
||||
" 10,11 0 042
|
||||
@ -116,193 +117,100 @@ rC "
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,3 0 0241
|
||||
║ "
|
||||
ct 10,10 0 0242
|
||||
╒ "
|
||||
Po 10,10 0 0243
|
||||
ё "
|
||||
Cs 10,8 0 0244
|
||||
╓ "
|
||||
Ye 10,10 0 0245
|
||||
╔ "
|
||||
bb 10,10,2 0 0246
|
||||
╕ "
|
||||
sc 10,11,1 0 0247
|
||||
╖ "
|
||||
ad 10,10 0 0250
|
||||
╗ "
|
||||
co 10,10 0 0251
|
||||
╘ "
|
||||
Of 10,10 0 0252
|
||||
╙ "
|
||||
Fo 10,7 0 0253
|
||||
╚ "
|
||||
no 10,6 0 0254
|
||||
╛ "
|
||||
- 10,5 0 0255
|
||||
hy "
|
||||
╜ "
|
||||
rg 10,10 0 0256
|
||||
╝ "
|
||||
a- 10,9 0 0257
|
||||
╞ "
|
||||
de 10,11 0 0260
|
||||
╟ "
|
||||
+- 10,9 0 0261
|
||||
╠ "
|
||||
t+- 10,9 0 0261
|
||||
S2 10,11 0 0262
|
||||
╡ "
|
||||
S3 10,11 0 0263
|
||||
Ё "
|
||||
aa 10,11 0 0264
|
||||
╢ "
|
||||
╣ 10,7,3 0 0265
|
||||
mc 10,7,3 0 0265
|
||||
ps 10,11,1 0 0266
|
||||
╤ "
|
||||
pc 10,6 0 0267
|
||||
╥ "
|
||||
ac 10,1,3 0 0270
|
||||
╦ "
|
||||
S1 10,11 0 0271
|
||||
╧ "
|
||||
Om 10,10 0 0272
|
||||
╨ "
|
||||
Fc 10,7 0 0273
|
||||
╩ "
|
||||
14 10,11 0 0274
|
||||
╪ "
|
||||
12 10,11 0 0275
|
||||
╫ "
|
||||
34 10,11 0 0276
|
||||
╬ "
|
||||
r? 10,7,3 0 0277
|
||||
© "
|
||||
`A 10,14 0 0300
|
||||
ю "
|
||||
'A 10,14 0 0301
|
||||
а "
|
||||
^A 10,14 0 0302
|
||||
б "
|
||||
~A 10,13 0 0303
|
||||
ц "
|
||||
:A 10,13 0 0304
|
||||
д "
|
||||
oA 10,14 0 0305
|
||||
е "
|
||||
AE 10,10 0 0306
|
||||
ф "
|
||||
,C 10,10,3 0 0307
|
||||
г "
|
||||
`E 10,14 0 0310
|
||||
х "
|
||||
'E 10,14 0 0311
|
||||
и "
|
||||
^E 10,14 0 0312
|
||||
й "
|
||||
:E 10,13 0 0313
|
||||
к "
|
||||
`I 10,14 0 0314
|
||||
л "
|
||||
'I 10,14 0 0315
|
||||
м "
|
||||
^I 10,14 0 0316
|
||||
н "
|
||||
:I 10,13 0 0317
|
||||
о "
|
||||
-D 10,10 0 0320
|
||||
п "
|
||||
~N 10,13 0 0321
|
||||
я "
|
||||
`O 10,14 0 0322
|
||||
р "
|
||||
'O 10,14 0 0323
|
||||
с "
|
||||
^O 10,14 0 0324
|
||||
т "
|
||||
~O 10,13 0 0325
|
||||
у "
|
||||
:O 10,13 0 0326
|
||||
ж "
|
||||
mu 10,8 0 0327
|
||||
в "
|
||||
tmu 10,8 0 0327
|
||||
/O 10,10 0 0330
|
||||
ь "
|
||||
`U 10,14 0 0331
|
||||
ы "
|
||||
'U 10,14 0 0332
|
||||
з "
|
||||
^U 10,14 0 0333
|
||||
ш "
|
||||
:U 10,13 0 0334
|
||||
э "
|
||||
'Y 10,14 0 0335
|
||||
щ "
|
||||
TP 10,10 0 0336
|
||||
ч "
|
||||
ss 10,11 0 0337
|
||||
ъ "
|
||||
`a 10,11 0 0340
|
||||
Ю "
|
||||
'a 10,11 0 0341
|
||||
А "
|
||||
^a 10,11 0 0342
|
||||
Б "
|
||||
~a 10,10 0 0343
|
||||
Ц "
|
||||
:a 10,10 0 0344
|
||||
Д "
|
||||
oa 10,12 0 0345
|
||||
Е "
|
||||
ae 10,7 0 0346
|
||||
Ф "
|
||||
,c 10,7,3 0 0347
|
||||
Г "
|
||||
`e 10,11 0 0350
|
||||
Х "
|
||||
'e 10,11 0 0351
|
||||
И "
|
||||
^e 10,11 0 0352
|
||||
Й "
|
||||
:e 10,10 0 0353
|
||||
К "
|
||||
`i 10,11 0 0354
|
||||
Л "
|
||||
'i 10,11 0 0355
|
||||
М "
|
||||
^i 10,11 0 0356
|
||||
Н "
|
||||
:i 10,10 0 0357
|
||||
О "
|
||||
Sd 10,11 0 0360
|
||||
П "
|
||||
~n 10,10 0 0361
|
||||
Я "
|
||||
`o 10,11 0 0362
|
||||
Р "
|
||||
'o 10,11 0 0363
|
||||
С "
|
||||
^o 10,11 0 0364
|
||||
Т "
|
||||
~o 10,10 0 0365
|
||||
У "
|
||||
:o 10,10 0 0366
|
||||
Ж "
|
||||
di 10,8 0 0367
|
||||
В "
|
||||
tdi 10,8 0 0367
|
||||
/o 10,8,1 0 0370
|
||||
Ь "
|
||||
`u 10,11 0 0371
|
||||
Ы "
|
||||
'u 10,11 0 0372
|
||||
З "
|
||||
^u 10,11 0 0373
|
||||
Ш "
|
||||
:u 10,10 0 0374
|
||||
Э "
|
||||
'y 10,11,3 0 0375
|
||||
Щ "
|
||||
Tp 10,11,3 0 0376
|
||||
Ч "
|
||||
:y 10,10,3 0 0377
|
||||
Ъ "
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user