Virgin import of FSF groff v1.19
This commit is contained in:
parent
3018e8e5c7
commit
bdbe8a18ed
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/groff/dist/; revision=114402
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@ This file contains information that supplements those instructions.
|
||||
MS-Windows, see the file arch/djgpp/README.)
|
||||
|
||||
groff is written in C++, so you will need a C++ compiler. The C++
|
||||
source files use a suffix of `.cc', so your C++ compiler must be able
|
||||
source files use a suffix of `.cpp', so your C++ compiler must be able
|
||||
to handle this. If you don't already have a C++ compiler, I suggest
|
||||
gcc 2.7.1 or later (gcc version 2 includes GNU C++ as well as GNU C).
|
||||
From gcc 2.5, it is no longer necessary to install libg++: the C++
|
||||
@ -44,7 +44,7 @@ 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.
|
||||
need texinfo version 4.3 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.
|
||||
|
@ -1,10 +1,10 @@
|
||||
MANIFEST
|
||||
|
||||
Last update: 21 Dec 2001
|
||||
Last update: 13 Apr 2003
|
||||
|
||||
This file is part of groff, the GNU roff type-setting system.
|
||||
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
|
||||
written by Bernd Warken <bwarken@mayn.de>
|
||||
maintained by Werner Lemberg <wl@gnu.org>
|
||||
|
||||
@ -50,6 +50,8 @@ the groff source distribution.
|
||||
djgpp Data special for the 32-bit DOS compiler djgpp.
|
||||
|
||||
./contrib Part of groff, but maintained by other people.
|
||||
eqn2graph Convert equations created with EQN into different
|
||||
graphical formats.
|
||||
groffer A wrapper to conveniently view roff files.
|
||||
mm The groff mm macro package.
|
||||
mom The groff mom macro package.
|
||||
@ -107,8 +109,6 @@ the groff source distribution.
|
||||
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.
|
||||
@ -116,9 +116,11 @@ the groff source distribution.
|
||||
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.
|
||||
pfbtops Translate a PostScript font in PFB format to PFA.
|
||||
tfmtodit Create font description files for TeX DVI device.
|
||||
|
||||
./src/xditview A groff (pre)viewer for the X Window System.
|
||||
|
||||
./tmac Macro files.
|
||||
|
||||
|
||||
@ -141,12 +143,13 @@ The groff documentation is scattered upon several places.
|
||||
|
||||
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.
|
||||
The parsing of the roff language is done by troff. The input is converted
|
||||
to tokens in `src/roff/troff/input.cpp' and transformed into `nodes' by
|
||||
`src/roff/troff/env.cpp' and `src/roff/troff/node.cpp'. From these, the
|
||||
intermediate output is generated (also in `node.cpp').
|
||||
|
||||
|
||||
5) Postprocessing
|
||||
|
||||
The parser for the intermediate output and the postprocessing is in
|
||||
`src/libs/libdriver/input.cc'. This is used by all postprocessors.
|
||||
`src/libs/libdriver/input.cpp'. This is used by all postprocessors.
|
||||
|
@ -9,7 +9,7 @@ MAKEFILEPARTS=\
|
||||
all: $(PROG) $(MANPAGES)
|
||||
|
||||
$(PROG): $(OBJS) $(XLIBS)
|
||||
$(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
||||
$(LINK.cpp) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
||||
|
||||
install_bin: install_prog
|
||||
install_prog: $(PROG)
|
||||
@ -30,4 +30,4 @@ pure: $(PROG).pure
|
||||
|
||||
$(PROG).pure: $(OBJS) $(XLIBS)
|
||||
$(PURIFY) $(PURIFYCCFLAGS) \
|
||||
$(LINK.cc) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
||||
$(LINK.cpp) -o $@ $(OBJS) $(XLIBS) $(LIBS) $(MLIB)
|
||||
|
@ -23,14 +23,14 @@ SHELL=/bin/sh
|
||||
INCLUDES=-I. -I$(srcdir) \
|
||||
-I$(top_builddir)/src/include -I$(top_srcdir)/src/include
|
||||
ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
|
||||
COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
|
||||
COMPILE.cpp=$(CCC) $(ALL_CCFLAGS) -c
|
||||
ALL_CFLAGS=$(INCLUDES) $(CDEFINES) $(CFLAGS) $(CPPFLAGS)
|
||||
COMPILE.c=$(CC) $(ALL_CFLAGS) -c
|
||||
LINK.cc=$(CCC) $(CCFLAGS) $(LDFLAGS)
|
||||
LINK.cpp=$(CCC) $(CCFLAGS) $(LDFLAGS)
|
||||
LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
|
||||
LIBGROFF=$(top_builddir)/src/libs/libgroff/libgroff.a
|
||||
LIBBIB=$(top_builddir)/src/libs/libbib/libbib.a
|
||||
LIBDRIVER=$(top_builddir)/src/libs/libdriver/libdriver.a
|
||||
LIBGROFF=$(top_builddir)/src/libs/libgroff/libgroff.$(LIBEXT)
|
||||
LIBBIB=$(top_builddir)/src/libs/libbib/libbib.$(LIBEXT)
|
||||
LIBDRIVER=$(top_builddir)/src/libs/libdriver/libdriver.$(LIBEXT)
|
||||
MLIB=
|
||||
XLIBS=
|
||||
YTABH=
|
||||
@ -96,21 +96,21 @@ extraclean: distclean
|
||||
-rm -f \#* *~ =* core junk grot old temp tmp tem
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .o .obj .cc .c .y .man .n
|
||||
.SUFFIXES: .o .obj .cpp .c .y .man .n
|
||||
|
||||
.cc.o:
|
||||
$(COMPILE.cc) $<
|
||||
.cpp.o:
|
||||
$(COMPILE.cpp) $<
|
||||
|
||||
.c.o:
|
||||
$(COMPILE.c) $<
|
||||
|
||||
.cc.obj:
|
||||
$(COMPILE.cc) $<
|
||||
.cpp.obj:
|
||||
$(COMPILE.cpp) $<
|
||||
|
||||
.c.obj:
|
||||
$(COMPILE.c) $<
|
||||
|
||||
.y.cc:
|
||||
.y.cpp:
|
||||
if test -n "$(YTABH)"; then \
|
||||
$(YACC) $(YACCFLAGS) -d $<; \
|
||||
else \
|
||||
@ -122,7 +122,7 @@ extraclean: distclean
|
||||
if test -n "$(YTABH)"; then mv y_tab.h $(YTABH); fi
|
||||
|
||||
# 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).
|
||||
# built-in .y.o rule (which takes precedence over the .y.cpp rule above).
|
||||
.y.o:
|
||||
if test -n "$(YTABH)"; then \
|
||||
$(YACC) $(YACCFLAGS) -d $<; \
|
||||
@ -133,7 +133,7 @@ extraclean: distclean
|
||||
-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)
|
||||
$(COMPILE.cpp) $(YTABC)
|
||||
|
||||
.man.n:
|
||||
@echo Making $@ from $<
|
||||
@ -246,10 +246,18 @@ install_dev:
|
||||
$(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
|
||||
fi; \
|
||||
done
|
||||
-for f in $(DEVSCRIPTS); do \
|
||||
rm -f $(fontsubdir)/$$f; \
|
||||
if test -f $$f; then \
|
||||
$(INSTALL_SCRIPT) $$f $(fontsubdir)/$$f; \
|
||||
else \
|
||||
$(INSTALL_SCRIPT) $(srcdir)/$$f $(fontsubdir)/$$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
.PHONY: uninstall_dev
|
||||
uninstall_dev:
|
||||
-for f in $(DEVFILES); do rm -f $(fontsubdir)/$$f; done
|
||||
-for f in $(DEVFILES) $(DEVSCRIPTS); do rm -f $(fontsubdir)/$$f; done
|
||||
-if test -d $(fontsubdir)/generate; then \
|
||||
rmdir $(fontsubdir)/generate; \
|
||||
fi
|
||||
@ -261,8 +269,13 @@ depend_src: depend.temp
|
||||
|
||||
depend.temp: FORCE
|
||||
> depend.temp;
|
||||
if test -f "$(srcdir)/$(YTABC)"; then \
|
||||
ytabc="$(srcdir)/$(YTABC)"; \
|
||||
else \
|
||||
ytabc="$(YTABC)"; \
|
||||
fi; \
|
||||
test -z "$(CCSRCS)$(YTABC)" \
|
||||
|| $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $(YTABC) >>depend.temp
|
||||
|| $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $$ytabc >>depend.temp
|
||||
test -z "$(CSRCS)" \
|
||||
|| $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
|
||||
if test -n "$(YTABH)"; then \
|
||||
|
@ -1,4 +1,4 @@
|
||||
all: $(DEVFILES)
|
||||
all: $(DEVFILES) $(DEVSCRIPTS)
|
||||
install_data: install_dev
|
||||
uninstall_sub: uninstall_dev
|
||||
install_dev: $(DEVFILES)
|
||||
install_dev: $(DEVFILES) $(DEVSCRIPTS)
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1989-2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
# Written by James Clark (jjc@jclark.com)
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -21,6 +21,7 @@ srcdir=@srcdir@
|
||||
top_srcdir=@top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
top_builddir=@groff_top_builddir@
|
||||
SEP=@PATH_SEPARATOR@
|
||||
|
||||
version=`cat $(top_srcdir)/VERSION`
|
||||
# No additional number if revision is zero.
|
||||
@ -120,7 +121,7 @@ localfontdir=$(dataprogramdir)/site-font
|
||||
legacyfontdir=/usr/lib/font
|
||||
|
||||
# `fontpath' says where to look for dev*/*.
|
||||
fontpath=$(localfontdir):$(fontdir):$(legacyfontdir)
|
||||
fontpath=$(localfontdir)$(SEP)$(fontdir)$(SEP)$(legacyfontdir)
|
||||
|
||||
# `tmacdir' says where to install macros.
|
||||
tmacdir=$(datasubdir)/tmac
|
||||
@ -136,11 +137,16 @@ localtmacdir=$(dataprogramdir)/site-tmac
|
||||
# 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)
|
||||
tmacpath=$(systemtmacdir)$(SEP)$(localtmacdir)$(SEP)$(tmacdir)
|
||||
|
||||
# `sys_tmac_prefix' is prefix (if any) for system macro packages.
|
||||
sys_tmac_prefix=@sys_tmac_prefix@
|
||||
|
||||
# `pnmtops_nosetpage' is the command to be run to generate an eps
|
||||
# file. Some versions of pnmtops provide the -nosetpage option.
|
||||
# We detect this and use it if present.
|
||||
pnmtops_nosetpage=@pnmtops_nosetpage@
|
||||
|
||||
# `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
|
||||
@ -214,7 +220,7 @@ make_install_html=@make_install_html@
|
||||
# -DHAVE_CC_LIMITS_H if you have a C++ <limits.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_CC_STDINT_H if you have a C++ <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>
|
||||
@ -230,6 +236,7 @@ make_install_html=@make_install_html@
|
||||
# -DHAVE_MMAP if you have mmap()
|
||||
# -DHAVE_PUTENV if you have putenv()
|
||||
# -DHAVE_RENAME if you have rename()
|
||||
# -DHAVE_SETLOCALE if you have setlocale()
|
||||
# -DHAVE_SNPRINTF if you have snprintf()
|
||||
# -DHAVE_STRCASECMP if you have strcasecmp()
|
||||
# -DHAVE_STRNCASECMP if you have strncasecmp()
|
||||
@ -244,6 +251,9 @@ make_install_html=@make_install_html@
|
||||
# -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_RAND if your C++ <stdlib.h> doesn't declare rand()
|
||||
# -DNEED_DECLARATION_SNPRINTF if your C++ <stdio.h> doesn't declare snprintf()
|
||||
# -DNEED_DECLARATION_SRAND if your C++ <stdlib.h> doesn't declare srand()
|
||||
# -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare
|
||||
# strcasecmp()
|
||||
# -DNEED_DECLARATION_STRNCASECMP
|
||||
@ -265,12 +275,13 @@ DEFINES=@DEFS@
|
||||
|
||||
# Include
|
||||
#
|
||||
# {fmod,getcwd,mkstemp,putenv,snprintf,strerror,strtol}.$(OBJEXT)
|
||||
# {fmod,getcwd,mkstemp,putenv,snprintf,strcasecmp,
|
||||
# strerror,strncasecmp,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++ (.cpp) files.
|
||||
CCC=@CXX@
|
||||
CC=@CC@
|
||||
# CCDEFINES are definitions for C++ compilations.
|
||||
@ -286,6 +297,8 @@ YACCFLAGS=-v
|
||||
|
||||
EXEEXT=@EXEEXT@
|
||||
OBJEXT=@OBJEXT@
|
||||
# a simple heuristic assumption
|
||||
LIBEXT=`case $(OBJEXT) in obj) echo lib;; *) echo a;; esac`
|
||||
LIBS=@LIBS@
|
||||
LIBM=@LIBM@
|
||||
RANLIB=@RANLIB@
|
||||
@ -317,85 +330,88 @@ PURIFYCCFLAGS=
|
||||
# copy of $(MDEFINES) when making individual directories; this could
|
||||
# cause the argument list to become too long on some systems.
|
||||
MDEFINES= \
|
||||
"MAKEOVERRIDES=$(MAKEOVERRIDES)" \
|
||||
"PAGE=$(PAGE)" \
|
||||
"AR=$(AR)" \
|
||||
"BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
|
||||
"CC=$(CC)" \
|
||||
"CCC=$(CCC)" \
|
||||
"CCDEFINES=$(CCDEFINES)" \
|
||||
"CCFLAGS=$(CCFLAGS)" \
|
||||
"CDEFINES=$(CDEFINES)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"DEVICE=$(DEVICE)" \
|
||||
"TTYDEVDIRS=$(TTYDEVDIRS)" \
|
||||
"OTHERDEVDIRS=$(OTHERDEVDIRS)" \
|
||||
"PSPRINT=$(PSPRINT)" \
|
||||
"DVIPRINT=$(DVIPRINT)" \
|
||||
"version=$(version)" \
|
||||
"revision=$(revision)" \
|
||||
"top_srcdir=$(top_srcdir)" \
|
||||
"top_builddir=$(top_builddir)" \
|
||||
"prefix=$(prefix)" \
|
||||
"exec_prefix=$(exec_prefix)" \
|
||||
"g=$(g)" \
|
||||
"ETAGS=$(ETAGS)" \
|
||||
"ETAGSCCFLAG=$(ETAGSCCFLAG)" \
|
||||
"ETAGSFLAGS=$(ETAGSFLAGS)" \
|
||||
"EXEEXT=$(EXEEXT)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_INFO=$(INSTALL_INFO)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"LIBEXT=$(LIBEXT)" \
|
||||
"LIBM=$(LIBM)" \
|
||||
"LIBOBJS=$(LIBOBJS)" \
|
||||
"LIBS=$(LIBS)" \
|
||||
"MAKEOVERRIDES=$(MAKEOVERRIDES)" \
|
||||
"OBJEXT=$(OBJEXT)" \
|
||||
"OTHERDEVDIRS=$(OTHERDEVDIRS)" \
|
||||
"PAGE=$(PAGE)" \
|
||||
"PERLPATH=$(PERLPATH)" \
|
||||
"PSPRINT=$(PSPRINT)" \
|
||||
"PURIFY=$(PURIFY)" \
|
||||
"PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"SEP=$(SEP)" \
|
||||
"SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
|
||||
"TTYDEVDIRS=$(TTYDEVDIRS)" \
|
||||
"YACC=$(YACC)" \
|
||||
"YACCFLAGS=$(YACCFLAGS)" \
|
||||
"bindir=$(bindir)" \
|
||||
"common_words_file=$(common_words_file)" \
|
||||
"datadir=$(datadir)" \
|
||||
"dataprogramdir=$(dataprogramdir)" \
|
||||
"datasubdir=$(datasubdir)" \
|
||||
"infodir=$(infodir)" \
|
||||
"docdir=$(docdir)" \
|
||||
"exampledir=$(exampledir)" \
|
||||
"exec_prefix=$(exec_prefix)" \
|
||||
"fontdir=$(fontdir)" \
|
||||
"fontpath=$(fontpath)" \
|
||||
"g=$(g)" \
|
||||
"htmldocdir=$(htmldocdir)" \
|
||||
"indexdir=$(indexdir)" \
|
||||
"indexext=$(indexext)" \
|
||||
"indexname=$(indexname)" \
|
||||
"infodir=$(infodir)" \
|
||||
"legacyfontdir=$(legacyfontdir)" \
|
||||
"libdir=$(libdir)" \
|
||||
"libprogramdir=$(libprogramdir)" \
|
||||
"bindir=$(bindir)" \
|
||||
"fontdir=$(fontdir)" \
|
||||
"localfontdir=$(localfontdir)" \
|
||||
"legacyfontdir=$(legacyfontdir)" \
|
||||
"fontpath=$(fontpath)" \
|
||||
"tmacdir=$(tmacdir)" \
|
||||
"systemtmacdir=$(systemtmacdir)" \
|
||||
"localtmacdir=$(localtmacdir)" \
|
||||
"tmacpath=$(tmacpath)" \
|
||||
"indexext=$(indexext)" \
|
||||
"indexdir=$(indexdir)" \
|
||||
"indexname=$(indexname)" \
|
||||
"common_words_file=$(common_words_file)" \
|
||||
"manroot=$(manroot)" \
|
||||
"man1ext=$(man1ext)" \
|
||||
"man1dir=$(man1dir)" \
|
||||
"man5ext=$(man5ext)" \
|
||||
"man5dir=$(man5dir)" \
|
||||
"man7ext=$(man7ext)" \
|
||||
"man7dir=$(man7dir)" \
|
||||
"make_html=$(make_html)" \
|
||||
"make_install_html=$(make_install_html)" \
|
||||
"man1dir=$(man1dir)" \
|
||||
"man1ext=$(man1ext)" \
|
||||
"man5dir=$(man5dir)" \
|
||||
"man5ext=$(man5ext)" \
|
||||
"man7dir=$(man7dir)" \
|
||||
"man7ext=$(man7ext)" \
|
||||
"manroot=$(manroot)" \
|
||||
"mkinstalldirs=$(mkinstalldirs)" \
|
||||
"tmac_wrap=$(tmac_wrap)" \
|
||||
"prefix=$(prefix)" \
|
||||
"revision=$(revision)" \
|
||||
"sys_tmac_prefix=$(sys_tmac_prefix)" \
|
||||
"pnmtops_nosetpage=$(pnmtops_nosetpage)" \
|
||||
"systemtmacdir=$(systemtmacdir)" \
|
||||
"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)" \
|
||||
"CDEFINES=$(CDEFINES)" \
|
||||
"CCFLAGS=$(CCFLAGS)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"YACC=$(YACC)" \
|
||||
"YACCFLAGS=$(YACCFLAGS)" \
|
||||
"LIBM=$(LIBM)" \
|
||||
"LIBS=$(LIBS)" \
|
||||
"LIBOBJS=$(LIBOBJS)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"AR=$(AR)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_INFO=$(INSTALL_INFO)" \
|
||||
"ETAGS=$(ETAGS)" \
|
||||
"ETAGSFLAGS=$(ETAGSFLAGS)" \
|
||||
"ETAGSCCFLAG=$(ETAGSCCFLAG)" \
|
||||
"PERLPATH=$(PERLPATH)" \
|
||||
"SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
|
||||
"PURIFY=$(PURIFY)" \
|
||||
"PURIFYCCFLAGS=$(PURIFYCCFLAGS)"
|
||||
"tmac_s_prefix=$(tmac_s_prefix)" \
|
||||
"tmac_wrap=$(tmac_wrap)" \
|
||||
"tmacdir=$(tmacdir)" \
|
||||
"tmacpath=$(tmacpath)" \
|
||||
"top_builddir=$(top_builddir)" \
|
||||
"top_srcdir=$(top_srcdir)" \
|
||||
"version=$(version)"
|
||||
|
||||
SHELL=/bin/sh
|
||||
INCDIRS=src/include
|
||||
|
@ -1,4 +1,4 @@
|
||||
LIBCLEAN=lib$(LIB).a
|
||||
LIBCLEAN=lib$(LIB).$(LIBEXT)
|
||||
MAKEFILEPARTS=\
|
||||
$(top_srcdir)/Makefile.comm \
|
||||
$(top_builddir)/Makefile.cfg \
|
||||
@ -6,9 +6,9 @@ MAKEFILEPARTS=\
|
||||
$(top_srcdir)/Makefile.lib \
|
||||
Makefile.dep
|
||||
|
||||
all: lib$(LIB).a
|
||||
all: lib$(LIB).$(LIBEXT)
|
||||
|
||||
lib$(LIB).a: $(OBJS)
|
||||
lib$(LIB).$(LIBEXT): $(OBJS)
|
||||
$(AR) r $@ $?
|
||||
$(RANLIB) $@
|
||||
|
||||
|
@ -5,6 +5,7 @@ DISTCLEANFILES=\
|
||||
stamp-h \
|
||||
Makefile \
|
||||
src/xditview/Imakefile \
|
||||
$(srcdir)/src/xditview/gxditview._man \
|
||||
src/include/config.h
|
||||
CLEANADD=Makefile.cfg conftest*
|
||||
|
||||
|
@ -1,6 +1,227 @@
|
||||
This file describes recent user-visible changes in groff. Bug fixes are not
|
||||
described. There are more details in the man and info pages.
|
||||
|
||||
VERSION 1.19
|
||||
============
|
||||
|
||||
Troff
|
||||
-----
|
||||
|
||||
o Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and
|
||||
latin-2 (ISO 8859-2) have been added. Example use:
|
||||
|
||||
groff -Tdvi -mlatin9 my_file > my_file.dvi
|
||||
|
||||
You still need proper fonts with the necessary glyphs. Out of the box,
|
||||
the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8,
|
||||
and latin-2 only for -Tdvi and -Tutf8.
|
||||
|
||||
o Composite glyphs are now supported. To do this, a subset of the Adobe
|
||||
Glyph List (AGL) Algorithm as described in
|
||||
|
||||
http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
|
||||
|
||||
is used to construct glyph names based on Unicode character codes. The
|
||||
existing groff glyph names are frozen; no glyph names which can't be
|
||||
constructed algorithmically will be added in the future.
|
||||
|
||||
The \[...] escape sequence has been extended to specify multiple glyph
|
||||
components. Example:
|
||||
|
||||
\[A ho]
|
||||
|
||||
this accesses a glyph with the name `u0041_0328'.
|
||||
|
||||
Some groff glyphs which are useful as composites map to `wrong' Unicode
|
||||
code points. For example, `ho' maps to U+02DB which is a spacing
|
||||
ogonek, whereas a non-spacing ogonek U+0328 is needed for composite
|
||||
glyphs. The new request
|
||||
|
||||
.composite from to
|
||||
|
||||
will change the mapping while a composite glyph name is constructed.
|
||||
To make \[A ho] yield the expected result,
|
||||
|
||||
.composite ho u0328
|
||||
|
||||
is needed. [The new file `composite.tmac' loaded at start-up already
|
||||
contains proper calls to `.composite'.]
|
||||
|
||||
Please refer to the info pages of groff and to the groff_char man page
|
||||
for more details.
|
||||
|
||||
o A new request `fschar' has been added to define font-specific fallback
|
||||
characters. They are searched after the list of fonts declared with the
|
||||
`fspecial' request but before the list of fonts declared with `special'.
|
||||
|
||||
o Fallback characters defined with `fschar' can be removed with the
|
||||
new `rfschar' request.
|
||||
|
||||
o A new request `schar' has been added to define global fallback
|
||||
characters. They are searched after the list of fonts declared with the
|
||||
`special' request but before the already mounted special fonts.
|
||||
|
||||
o In groff versions 1.18 and 1.18.1, \D'f ...' didn't move the current
|
||||
point horizontally. Despite of being silly, this change has been
|
||||
reverted for backwards compatibility. Consequently, the intermediate
|
||||
output command `Df' also moves the position horizontally again.
|
||||
|
||||
\D'f ...' is deprecated since it depends on the horizontal resolution of
|
||||
the output device (given with the `hor' parameter in the DESC file).
|
||||
Use the new \D'Fg ...' escape instead.
|
||||
|
||||
o For orthogonality, new \D subcommands to change the fill color are
|
||||
available:
|
||||
|
||||
\D'Fr ...' (rgb)
|
||||
\D'Fc ...' (cmy)
|
||||
\D'Fg ...' (gray)
|
||||
\D'Fk ...' (cmyk)
|
||||
\D'Fd' (default color)
|
||||
|
||||
The arguments are the same as with the `defcolor' request. The current
|
||||
position is *not* changed.
|
||||
|
||||
o The values set with \H and \S are now available in number registers
|
||||
\n[.height] and \n[.slant], respectively.
|
||||
|
||||
o The `.pe' number register isn't new but hasn't been documented before.
|
||||
It is set to 1 during a page ejection caused by the `bp' request.
|
||||
|
||||
o The new glyph symbol `tno' is a textual variant of `no'.
|
||||
|
||||
o The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
|
||||
(Well, it is not really new since it has been previously supported by
|
||||
grolj4.) The mapping for both the dvi and lj4 symbol font has been
|
||||
changed accordingly so that Greek small letter epsilon, `*e', has the
|
||||
same glyph shape as with other devices.
|
||||
|
||||
Grops
|
||||
-----
|
||||
|
||||
o The font `freeeuro.pfa' has been added to provide various default glyph
|
||||
shapes for `eu' and `Eu'.
|
||||
|
||||
o It is now possible to access all glyphs in a Type 1 font, not only 256
|
||||
(provided the font file created by afmtodit has proper entries). grops
|
||||
constructs additional encoding vectors on the fly if necessary.
|
||||
|
||||
o The paper size is now emitted via the %%DocumentMedia and PageSize
|
||||
mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
|
||||
about the paper size. The `broken' flag value 16 omits this feature
|
||||
(the used PostScript command `setpagedevice' is a LanguageLevel 2
|
||||
extension). Patch by Egil Kvaleberg <egil@kvaleberg.no>.
|
||||
|
||||
o Non-slanted PostScript metrics have been changed again; they no longer
|
||||
contain negative left italic correction values. This assures correct
|
||||
spacing with eqn.
|
||||
|
||||
Grodvi
|
||||
------
|
||||
|
||||
o The font cmtex10 has been added as the special font `SC' to the DVI fonts.
|
||||
It is used as a font-specific special font for CW and CWI.
|
||||
|
||||
o New options -l and -p to set landscape orientation and the paper size.
|
||||
grodvi now emits a `papersize' special which is understood by DVI drivers
|
||||
like dvips.
|
||||
|
||||
Consequently, the DESC file should contain a `papersize' keyword.
|
||||
|
||||
o The glyph shapes for \[*f] and \[*e] have been exchanged with \[+f] and
|
||||
\[+e], respectively, to be in sync with all other devices.
|
||||
|
||||
o Glyphs \[HE] and \[DI] have been replaced with \[u2662] and \[u2661],
|
||||
respectively, since the former two glyphs have a black (filled) shape
|
||||
which grodvi doesn't provide by default (it never has actually).
|
||||
|
||||
Grolj4
|
||||
------
|
||||
|
||||
o The glyphs \[*e] and \[+e] have been exchanged to be in sync with
|
||||
all other devices.
|
||||
|
||||
o The glyph \[~=] is now called \[|=]. Similar to other devices, \[~=]
|
||||
is now another name for glyph \[~~].
|
||||
|
||||
Grotty
|
||||
------
|
||||
|
||||
o New option `-r'. It is similar to the -i option except it tells grotty to
|
||||
use the `reverse video' attribute to render italic fonts.
|
||||
|
||||
Pic
|
||||
---
|
||||
|
||||
o New command `figname' to set the name of a picture's output box in TeX
|
||||
mode.
|
||||
|
||||
Refer
|
||||
-----
|
||||
|
||||
o The environment variable `REFER' to override the name of the default
|
||||
database isn't new but hasn't been documented before.
|
||||
|
||||
Soelim
|
||||
------
|
||||
|
||||
o New option `-r' to avoid emission of `.lf' lines.
|
||||
|
||||
o New option `-t' to emit TeX comment lines (giving current file and the
|
||||
line number) instead of `.lf' lines.
|
||||
|
||||
Afmtodit
|
||||
--------
|
||||
|
||||
o Unencoded glyphs in an AFM file are output also (since grops can now emit
|
||||
multiple encoding vectors for a single font).
|
||||
|
||||
o New option `-m' to prevent negative left italic correction values.
|
||||
|
||||
o The mapping and encoding file together with file `DESC' are now searched
|
||||
in the default font directory also. Please refer to the man page of
|
||||
afmtodit for more details.
|
||||
|
||||
Macro Packages
|
||||
--------------
|
||||
|
||||
o Larry Kollar <kollar@alltel.net> and others made the man macros more
|
||||
customizable.
|
||||
|
||||
. New command line options -rFT, -rIN, and -rSN to set the vertical
|
||||
location of the footer line, the body text indentation, and the
|
||||
sub-subheading indentation.
|
||||
|
||||
. New command line option -rHY (similar to the ms macros) to control
|
||||
hyphenation.
|
||||
|
||||
. New macros `.PT' and `.BT' to print the header and footer strings.
|
||||
They can be replaced with a customized version in `man.local'.
|
||||
|
||||
. The string `HF' now holds the typeface to print headings and
|
||||
subheadings.
|
||||
|
||||
. Similar to the ms macros, the LT register now defaults to LL if not
|
||||
explicitly specified on the command line.
|
||||
|
||||
o troff's start-up file `troffrc' now includes `papersize.tmac' to set
|
||||
the paper size with the command line option `-dpaper=<size>'.
|
||||
|
||||
Possible values for `<size>' are the same as the predefined `papersize'
|
||||
values in the DESC file (only lowercase; see the groff_font man page)
|
||||
except a7-d7. An appended `l' (ell) character denotes landscape
|
||||
orientation. Examples: `a4', `c3l', `letterl'.
|
||||
|
||||
Most output drivers need additional command line switches `-p' and
|
||||
`-l' to override the default paper length and orientation as set in
|
||||
the driver specific DESC file.
|
||||
|
||||
For example, use the following for PS output on A4 paper in landscape
|
||||
orientation:
|
||||
|
||||
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
|
||||
|
||||
|
||||
VERSION 1.18.1
|
||||
==============
|
||||
|
||||
@ -8,11 +229,11 @@ 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).
|
||||
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
|
||||
|
@ -38,10 +38,10 @@ or, if you want to be portable to older troff versions, as follows:
|
||||
* 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'
|
||||
which will attempt to edit a file of macros so that it can be used
|
||||
with groff without the -C flag.
|
||||
Read the section on incompatibilities in groff_diff(7). Try using
|
||||
the -C option. Alternatively there's the sed script
|
||||
`tmac/fixmacros.sed' which will attempt to edit a file of macros so
|
||||
that it can be used with groff without the -C flag.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -69,7 +69,7 @@ slow computers.)
|
||||
|
||||
* Groff doesn't use the font names I'm used to.
|
||||
|
||||
Use the `ftr' request. See (g)troff(1).
|
||||
Use the `ftr' request. See groff_diff(7).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -119,18 +119,8 @@ comments, you can do it like this:
|
||||
|
||||
There seem to be many different styles of page header and footer
|
||||
produced by different versions of the -man macros. You will need to
|
||||
modify tmac/an-old.tmac to suit your personal taste. For example, if
|
||||
you want the center of the page header to say
|
||||
|
||||
System Programmer's Manual
|
||||
|
||||
you will need to change the line
|
||||
|
||||
.el .ds an-extra3 \"System Programmer's Manual
|
||||
|
||||
to
|
||||
|
||||
.el .ds an-extra3 System Programmer's Manual
|
||||
put modified macros from tmac/an-old.tmac into man.local. More
|
||||
information is available in groff_man(7).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -335,18 +325,26 @@ are available in the devps directory.
|
||||
* 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.
|
||||
This is intentional. The PAGE option during configuration 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.
|
||||
|
||||
A convenient way to set paper dimensions is to use the -dpaper option
|
||||
of groff, together with proper -P options for the postprocessor
|
||||
(overriding the default). For example, use the following for PS
|
||||
output on A4 paper in landscape orientation:
|
||||
|
||||
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
|
||||
|
||||
See groff_tmac(5) for more information.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* 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.
|
||||
* When I print the output of 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.
|
||||
Make sure that the paper size is `letter'. See groff_tmac(5).
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -421,12 +419,14 @@ You have at least 3 options:
|
||||
* Groff seems to generate level 3 Postscript, but my printer is only a
|
||||
level 1 or 2 PostScript printer.
|
||||
|
||||
In fact groff generates only level 1 PostScript. The `%!PS-Adobe-3.0'
|
||||
comment at the beginning of PostScript output generated by groff
|
||||
indicates that the file conforms to version 3.0 of the Adobe Document
|
||||
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.
|
||||
In fact groff generates only level 2 PostScript (or rather level 1
|
||||
with some extensions; see grops(1) for more information how to disable
|
||||
them). The `%!PS-Adobe-3.0' comment at the beginning of PostScript
|
||||
output generated by groff indicates that the file conforms to
|
||||
version 3.0 of the Adobe Document 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.
|
||||
|
||||
|
||||
|
||||
@ -613,8 +613,12 @@ Compilation Problems
|
||||
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.
|
||||
* bison reports conflicts (either on stderr or in the `pic.output'
|
||||
file) while processing `pic.y', and the produced pic binary doesn't
|
||||
work at all.
|
||||
|
||||
You need bison version 1.875b or greater. Alternatively, use yacc or
|
||||
byacc.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -783,3 +787,9 @@ patch is available. Use GCC 2.95.2 or later instead.
|
||||
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.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
* When compiling on MacOS X, groff compiles but does not run well.
|
||||
|
||||
Use ./configure CXX=g++2 then make as usual.
|
||||
|
6
contrib/groff/README.CVS
Normal file
6
contrib/groff/README.CVS
Normal file
@ -0,0 +1,6 @@
|
||||
You need the following tools to build groff directly from CVS:
|
||||
|
||||
the netpbm package
|
||||
texinfo >= 4.3
|
||||
bison >= 1.875b or byacc
|
||||
ghostscript
|
@ -1 +1 @@
|
||||
1
|
||||
0
|
||||
|
@ -1 +1 @@
|
||||
1.18
|
||||
1.19
|
||||
|
86
contrib/groff/aclocal.m4
vendored
86
contrib/groff/aclocal.m4
vendored
@ -63,25 +63,82 @@ dnl
|
||||
AC_DEFUN(GROFF_HTML_PROGRAMS,
|
||||
[make_html=html
|
||||
make_install_html=install_html
|
||||
missing=
|
||||
AC_CHECK_PROG(pnmcut, pnmcut, found, missing)
|
||||
if test $pnmcut = missing; then
|
||||
missing="$missing pnmcut"
|
||||
fi
|
||||
AC_CHECK_PROG(pnmcrop, pnmcrop, found, missing)
|
||||
if test $pnmcrop = missing; then
|
||||
missing="$missing pnmcrop"
|
||||
fi
|
||||
AC_CHECK_PROG(pnmtopng, pnmtopng, found, missing)
|
||||
if test $pnmtopng = missing; then
|
||||
missing="$missing pnmtopng"
|
||||
fi
|
||||
AC_CHECK_PROG(gs, gs gsos2, found, missing)
|
||||
if test $gs = missing; then
|
||||
missing="$missing gs"
|
||||
fi
|
||||
AC_CHECK_PROG(psselect, psselect, found, missing)
|
||||
case "x$pnmcut$pnmcrop$pnmtopng$gs$psselect" in
|
||||
*missing*)
|
||||
if test $psselect = missing; then
|
||||
missing="$missing psselect"
|
||||
fi
|
||||
AC_CHECK_PROG(pnmtops, pnmtops, found, missing)
|
||||
if test $pnmtops = missing; then
|
||||
missing="$missing pnmtops"
|
||||
fi
|
||||
if test -n "$missing"; then
|
||||
cnt=0
|
||||
for i in $missing
|
||||
do
|
||||
cnt=`expr $cnt + 1`
|
||||
eval "prog$cnt=$i"
|
||||
done
|
||||
plural="s"
|
||||
case $cnt in
|
||||
1)
|
||||
plural=""
|
||||
progs="\`$prog1'" ;;
|
||||
2)
|
||||
progs="\`$prog1' and \`$prog2'" ;;
|
||||
3)
|
||||
progs="\`$prog1', \`$prog2', and \`$prog3'" ;;
|
||||
4)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;;
|
||||
5)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;;
|
||||
6)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;;
|
||||
esac
|
||||
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
|
||||
The program$plural
|
||||
$progs
|
||||
can't be found in the path, thus the HTML backend of groff (grohtml)
|
||||
won't work properly. Consequently, no documentation in HTML format
|
||||
is built and installed.
|
||||
])
|
||||
fi
|
||||
AC_SUBST(make_html)
|
||||
AC_SUBST(make_install_html)])dnl
|
||||
dnl
|
||||
dnl check to see whether pnmtops can handle the -nosetpage option
|
||||
dnl
|
||||
AC_DEFUN(GROFF_PNMTOPS_NOSETPAGE,
|
||||
[AC_MSG_CHECKING([whether pnmtops can handle the -nosetpage option])
|
||||
if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
pnmtops_nosetpage="pnmtops -nosetpage"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
pnmtops_nosetpage="pnmtops"
|
||||
fi
|
||||
AC_SUBST(pnmtops_nosetpage)
|
||||
])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl GROFF_CSH_HACK(if hack present, if not present)
|
||||
dnl
|
||||
@ -188,6 +245,17 @@ AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
AC_DEFUN(GROFF_STDINT_H,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([C++ <stdint.h>])
|
||||
AC_TRY_COMPILE([#include <stdint.h>],
|
||||
[uint32_t x; int32_t y;],
|
||||
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_STDINT_H, 1,
|
||||
[Define if you have a C++ <stdint.h>.]),
|
||||
AC_MSG_RESULT(no))
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
AC_DEFUN(GROFF_TIME_T,
|
||||
[AC_LANG_PUSH(C++)
|
||||
AC_MSG_CHECKING([for declaration of time_t])
|
||||
@ -545,12 +613,12 @@ fi
|
||||
AC_LANG_POP(C++)])dnl
|
||||
dnl
|
||||
dnl
|
||||
dnl If mkstemp() isn't available, use our own mkstemp.cc file.
|
||||
dnl If mkstemp() isn't available, use our own mkstemp.cpp file.
|
||||
dnl
|
||||
AC_DEFUN(GROFF_MKSTEMP,
|
||||
[AC_MSG_CHECKING([for mkstemp])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_LIBSOURCE(mkstemp.cc)
|
||||
AC_LIBSOURCE(mkstemp.cpp)
|
||||
AC_TRY_LINK([#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
int (*f) (char *);],
|
||||
|
421
contrib/groff/configure
vendored
421
contrib/groff/configure
vendored
@ -267,7 +267,7 @@ PACKAGE_VERSION=
|
||||
PACKAGE_STRING=
|
||||
PACKAGE_BUGREPORT=
|
||||
|
||||
ac_unique_file="src/roff/groff/groff.cc"
|
||||
ac_unique_file="src/roff/groff/groff.cpp"
|
||||
# Factoring default headers for most tests.
|
||||
ac_includes_default="\
|
||||
#include <stdio.h>
|
||||
@ -305,7 +305,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS groff_top_builddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap pnmcut pnmcrop pnmtopng gs psselect make_html make_install_html LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS groff_top_builddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap pnmcut pnmcrop pnmtopng gs psselect pnmtops make_html make_install_html pnmtops_nosetpage LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@ -3459,9 +3459,8 @@ done
|
||||
|
||||
|
||||
|
||||
|
||||
for ac_header in stdlib.h unistd.h dirent.h limits.h sys/dir.h \
|
||||
string.h strings.h math.h stdint.h sys/time.h
|
||||
string.h strings.h math.h sys/time.h
|
||||
do
|
||||
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
||||
@ -4093,6 +4092,246 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking whether rand must be declared" >&5
|
||||
echo $ECHO_N "checking whether rand must be declared... $ECHO_C" >&6
|
||||
ac_ext=cc
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
if test "${groff_cv_decl_needed_rand+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRINGS_H
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#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
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifndef rand
|
||||
char *p = (char *) rand;
|
||||
#endif
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
groff_cv_decl_needed_rand=no
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
groff_cv_decl_needed_rand=yes
|
||||
fi
|
||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
echo "$as_me:$LINENO: result: $groff_cv_decl_needed_rand" >&5
|
||||
echo "${ECHO_T}$groff_cv_decl_needed_rand" >&6
|
||||
if test $groff_cv_decl_needed_rand = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define NEED_DECLARATION_RAND 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking whether snprintf must be declared" >&5
|
||||
echo $ECHO_N "checking whether snprintf must be declared... $ECHO_C" >&6
|
||||
ac_ext=cc
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
if test "${groff_cv_decl_needed_snprintf+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRINGS_H
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#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
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifndef snprintf
|
||||
char *p = (char *) snprintf;
|
||||
#endif
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
groff_cv_decl_needed_snprintf=no
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
groff_cv_decl_needed_snprintf=yes
|
||||
fi
|
||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
echo "$as_me:$LINENO: result: $groff_cv_decl_needed_snprintf" >&5
|
||||
echo "${ECHO_T}$groff_cv_decl_needed_snprintf" >&6
|
||||
if test $groff_cv_decl_needed_snprintf = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define NEED_DECLARATION_SNPRINTF 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking whether srand must be declared" >&5
|
||||
echo $ECHO_N "checking whether srand must be declared... $ECHO_C" >&6
|
||||
ac_ext=cc
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
if test "${groff_cv_decl_needed_srand+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_STRINGS_H
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#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
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifndef srand
|
||||
char *p = (char *) srand;
|
||||
#endif
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
groff_cv_decl_needed_srand=no
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
groff_cv_decl_needed_srand=yes
|
||||
fi
|
||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
echo "$as_me:$LINENO: result: $groff_cv_decl_needed_srand" >&5
|
||||
echo "${ECHO_T}$groff_cv_decl_needed_srand" >&6
|
||||
if test $groff_cv_decl_needed_srand = yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define NEED_DECLARATION_SRAND 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking whether strcasecmp must be declared" >&5
|
||||
echo $ECHO_N "checking whether strcasecmp must be declared... $ECHO_C" >&6
|
||||
ac_ext=cc
|
||||
@ -4453,6 +4692,57 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking C++ <stdint.h>" >&5
|
||||
echo $ECHO_N "checking C++ <stdint.h>... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdint.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
uint32_t x; int32_t y;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6;
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_CC_STDINT_H 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
cat conftest.$ac_ext >&5
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
ac_ext=cc
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
echo "$as_me:$LINENO: checking for inttypes.h" >&5
|
||||
echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
@ -5118,7 +5408,10 @@ LIBS="$LIBS -lc $LIBM"
|
||||
|
||||
|
||||
|
||||
for ac_func in fmod getcwd putenv snprintf strerror strtol
|
||||
|
||||
|
||||
for ac_func in fmod getcwd putenv snprintf strcasecmp \
|
||||
strerror strncasecmp strtol
|
||||
do
|
||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||
@ -5196,8 +5489,7 @@ LIBS="$saved_libs"
|
||||
|
||||
|
||||
|
||||
|
||||
for ac_func in gettimeofday isatty rename strcasecmp strncasecmp strsep
|
||||
for ac_func in gettimeofday isatty rename setlocale strsep
|
||||
do
|
||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||
@ -5660,6 +5952,7 @@ echo "${ECHO_T}$tmac_wrap" >&6
|
||||
|
||||
make_html=html
|
||||
make_install_html=install_html
|
||||
missing=
|
||||
# Extract the first word of "pnmcut", so it can be a program name with args.
|
||||
set dummy pnmcut; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
@ -5696,6 +5989,9 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
if test $pnmcut = missing; then
|
||||
missing="$missing pnmcut"
|
||||
fi
|
||||
# Extract the first word of "pnmcrop", so it can be a program name with args.
|
||||
set dummy pnmcrop; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
@ -5732,6 +6028,9 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
if test $pnmcrop = missing; then
|
||||
missing="$missing pnmcrop"
|
||||
fi
|
||||
# Extract the first word of "pnmtopng", so it can be a program name with args.
|
||||
set dummy pnmtopng; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
@ -5768,6 +6067,9 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
if test $pnmtopng = missing; then
|
||||
missing="$missing pnmtopng"
|
||||
fi
|
||||
# Extract the first word of "gs gsos2", so it can be a program name with args.
|
||||
set dummy gs gsos2; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
@ -5804,6 +6106,9 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
if test $gs = missing; then
|
||||
missing="$missing gs"
|
||||
fi
|
||||
# Extract the first word of "psselect", so it can be a program name with args.
|
||||
set dummy psselect; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
@ -5840,23 +6145,103 @@ else
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
case "x$pnmcut$pnmcrop$pnmtopng$gs$psselect" in
|
||||
*missing*)
|
||||
if test $psselect = missing; then
|
||||
missing="$missing psselect"
|
||||
fi
|
||||
# Extract the first word of "pnmtops", so it can be a program name with args.
|
||||
set dummy pnmtops; ac_word=$2
|
||||
echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
|
||||
if test "${ac_cv_prog_pnmtops+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test -n "$pnmtops"; then
|
||||
ac_cv_prog_pnmtops="$pnmtops" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_pnmtops="found"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
test -z "$ac_cv_prog_pnmtops" && ac_cv_prog_pnmtops="missing"
|
||||
fi
|
||||
fi
|
||||
pnmtops=$ac_cv_prog_pnmtops
|
||||
if test -n "$pnmtops"; then
|
||||
echo "$as_me:$LINENO: result: $pnmtops" >&5
|
||||
echo "${ECHO_T}$pnmtops" >&6
|
||||
else
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
fi
|
||||
|
||||
if test $pnmtops = missing; then
|
||||
missing="$missing pnmtops"
|
||||
fi
|
||||
if test -n "$missing"; then
|
||||
cnt=0
|
||||
for i in $missing
|
||||
do
|
||||
cnt=`expr $cnt + 1`
|
||||
eval "prog$cnt=$i"
|
||||
done
|
||||
plural="s"
|
||||
case $cnt in
|
||||
1)
|
||||
plural=""
|
||||
progs="\`$prog1'" ;;
|
||||
2)
|
||||
progs="\`$prog1' and \`$prog2'" ;;
|
||||
3)
|
||||
progs="\`$prog1', \`$prog2', and \`$prog3'" ;;
|
||||
4)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', and \`$prog4'" ;;
|
||||
5)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', and \`$prog5'" ;;
|
||||
6)
|
||||
progs="\`$prog1', \`$prog2', \`$prog3', \`$prog4', \`$prog5', and \`$prog6'" ;;
|
||||
esac
|
||||
make_html=
|
||||
make_install_html=
|
||||
{ echo "$as_me:$LINENO: WARNING:
|
||||
|
||||
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.
|
||||
The program$plural
|
||||
$progs
|
||||
can't be found in the path, thus the HTML backend of groff (grohtml)
|
||||
won't work properly. Consequently, no documentation in HTML format
|
||||
is built and installed.
|
||||
" >&5
|
||||
echo "$as_me: WARNING:
|
||||
|
||||
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.
|
||||
" >&2;} ;;
|
||||
esac
|
||||
The program$plural
|
||||
$progs
|
||||
can't be found in the path, thus the HTML backend of groff (grohtml)
|
||||
won't work properly. Consequently, no documentation in HTML format
|
||||
is built and installed.
|
||||
" >&2;}
|
||||
fi
|
||||
|
||||
|
||||
echo "$as_me:$LINENO: checking whether pnmtops can handle the -nosetpage option" >&5
|
||||
echo $ECHO_N "checking whether pnmtops can handle the -nosetpage option... $ECHO_C" >&6
|
||||
if echo P2 2 2 255 0 1 2 0 | pnmtops -nosetpage > /dev/null 2>&1 ; then
|
||||
echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6
|
||||
pnmtops_nosetpage="pnmtops -nosetpage"
|
||||
else
|
||||
echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6
|
||||
pnmtops_nosetpage="pnmtops"
|
||||
fi
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files stamp-h"
|
||||
@ -6495,8 +6880,10 @@ s,@pnmcrop@,$pnmcrop,;t t
|
||||
s,@pnmtopng@,$pnmtopng,;t t
|
||||
s,@gs@,$gs,;t t
|
||||
s,@psselect@,$psselect,;t t
|
||||
s,@pnmtops@,$pnmtops,;t t
|
||||
s,@make_html@,$make_html,;t t
|
||||
s,@make_install_html@,$make_install_html,;t t
|
||||
s,@pnmtops_nosetpage@,$pnmtops_nosetpage,;t t
|
||||
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
|
||||
CEOF
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
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])
|
||||
AC_CONFIG_SRCDIR([src/roff/groff/groff.cpp])
|
||||
dnl checks for programs
|
||||
GROFF_SRCDIR
|
||||
GROFF_BUILDDIR
|
||||
@ -24,7 +24,7 @@ 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 stdint.h sys/time.h)
|
||||
string.h strings.h math.h sys/time.h)
|
||||
GROFF_ISC_SYSV3
|
||||
GROFF_POSIX
|
||||
GROFF_SRAND
|
||||
@ -33,12 +33,16 @@ GROFF_NEED_DECLARATION(hypot)
|
||||
GROFF_NEED_DECLARATION(popen)
|
||||
GROFF_NEED_DECLARATION(pclose)
|
||||
GROFF_NEED_DECLARATION(putenv)
|
||||
GROFF_NEED_DECLARATION(rand)
|
||||
GROFF_NEED_DECLARATION(snprintf)
|
||||
GROFF_NEED_DECLARATION(srand)
|
||||
GROFF_NEED_DECLARATION(strcasecmp)
|
||||
GROFF_NEED_DECLARATION(strncasecmp)
|
||||
GROFF_SYS_NERR
|
||||
GROFF_SYS_ERRLIST
|
||||
GROFF_OSFCN_H
|
||||
GROFF_LIMITS_H
|
||||
GROFF_STDINT_H
|
||||
GROFF_INTTYPES_H
|
||||
dnl checks for typedefs
|
||||
GROFF_UNSIGNED_LONG_LONG
|
||||
@ -52,9 +56,10 @@ dnl checks for functions
|
||||
AC_FUNC_MMAP
|
||||
saved_libs="$LIBS"
|
||||
LIBS="$LIBS -lc $LIBM"
|
||||
AC_REPLACE_FUNCS(fmod getcwd putenv snprintf strerror strtol)
|
||||
AC_REPLACE_FUNCS(fmod getcwd putenv snprintf strcasecmp \
|
||||
strerror strncasecmp strtol)
|
||||
LIBS="$saved_libs"
|
||||
AC_CHECK_FUNCS(gettimeofday isatty rename strcasecmp strncasecmp strsep)
|
||||
AC_CHECK_FUNCS(gettimeofday isatty rename setlocale strsep)
|
||||
GROFF_MKSTEMP
|
||||
AC_DECL_SYS_SIGLIST
|
||||
dnl checks for compiler characteristics
|
||||
@ -68,6 +73,7 @@ GROFF_PAGE
|
||||
GROFF_G
|
||||
GROFF_TMAC
|
||||
GROFF_HTML_PROGRAMS
|
||||
GROFF_PNMTOPS_NOSETPAGE
|
||||
AC_CONFIG_FILES(stamp-h, [echo timestamp > stamp-h])
|
||||
AC_CONFIG_FILES([Makefile doc/Makefile src/xditview/Imakefile])
|
||||
AC_OUTPUT
|
||||
|
@ -1,3 +1,100 @@
|
||||
2003-01-22 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.4
|
||||
|
||||
* groffer.sh: corrections for some restrictive shells
|
||||
- Possible exit codes in actual `ash' are between 0 and 63. To
|
||||
handle even deeper restrictions, use 7 as maximal code instead
|
||||
of 255 as replacement for error -1.
|
||||
- Remove variables $_BAD2 and $_BAD3.
|
||||
- Replace `trap' argument `EXIT' by 0 and write new fuctions
|
||||
`trap_clean' and `trap_set' to handle the restrictions of `trap'
|
||||
for some shells.
|
||||
- Correct wrong $MANPATH to $_MAN_PATH in function
|
||||
`man_do_filespec'.
|
||||
- Test existence of directory before deleting it in the
|
||||
`clean_up' definitions.
|
||||
- Correct help output in `usage' (called by `--help').
|
||||
|
||||
* TODO:
|
||||
Remove mention of `shoop' and `apropos'.
|
||||
|
||||
2002-10-21 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.3
|
||||
|
||||
* groffer.sh: new temporary subdirectory
|
||||
- Generate temporary subdirectory for storing temporary files
|
||||
with better names in future groffer versions (name:
|
||||
"groffer$$" in usual temporary directory).
|
||||
- Use `umask 000' for temporary files to allow cleaning up
|
||||
for everyone after a system break.
|
||||
- Change both clean_up() functions (for normal shell and
|
||||
for main_display() subshell) to handle the new subdirectory.
|
||||
- clean_up_secondary() and $_TMP_PREFIX are unnecessary now, so
|
||||
they were removed.
|
||||
|
||||
* Makefile.sub: `sed' commands for "groffer:"
|
||||
- Remove "@g@" entry (not used in "groffer.sh").
|
||||
- Add global replace for "@BINDIR@" and "@VERSION@" for future
|
||||
usage.
|
||||
|
||||
* TODO: think about...
|
||||
- writing part of groffer in C/C++.
|
||||
- handling several files with different macro packages.
|
||||
|
||||
2002-10-17 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* fixes of groffer 0.9.2
|
||||
|
||||
* groffer.sh:
|
||||
Terminate main_parse_MANOPT() if $MANOPT is empty or consists
|
||||
of space characters only.
|
||||
|
||||
* groffer.man: some fixes in "GROFFER OPTIONS"
|
||||
- New macro ".Header_CB" for CB font in .TP headers; used for
|
||||
definition of variables in option --mode.
|
||||
- Fix some option references to refer to long options.
|
||||
|
||||
* README:
|
||||
New file for general information on the groffer source; it is
|
||||
not installed.
|
||||
|
||||
2002-10-14 Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
* Makefile.sub:
|
||||
add replacement "@BINDIR@" to "$(bindir)" for "groffer:"
|
||||
|
||||
* groffer.sh:
|
||||
Define $_this as "@BINDIR@/${_PROGRAM_NAME}" to save the right
|
||||
installation position of groffer for the special shell calling.
|
||||
|
||||
* groffer.man:
|
||||
Remove double definition of filespec parameters.
|
||||
|
||||
2002-10-13 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.2
|
||||
|
||||
* groffer.sh: fixes
|
||||
- Fix some 'sed' functions: two in func_stack_dump(), one in
|
||||
base_name(), add 'sed' command in list_from_cmdline().
|
||||
- Finish main_parse_MANOPT() if $MANOPT is empty.
|
||||
- Sort $_OPTS_GROFF_SHORT_NA like groff short options (but
|
||||
unchanged).
|
||||
- Fix some comments.
|
||||
|
||||
* groffer.man: make it more readable (but no additions)
|
||||
- A shortened section "SYNOPSIS" is followed by a simplified
|
||||
section "DESCRIPTION".
|
||||
- The options from "SYNOPSIS" go to new section "OPTION
|
||||
OVERVIEW" with all groffer options in a single subsection.
|
||||
- The details of all groffer options are described in section
|
||||
"GROFFER OPTIONS".
|
||||
- New macro for file names ".File_name".
|
||||
- "Option Parsing" is moved to section "COMPATIBILITY".
|
||||
- Fix some "EXAMPLES".
|
||||
|
||||
2002-09-30 Bernd Warken <bwarken@mayn.de>
|
||||
________________________________________________________________
|
||||
* release of groffer 0.9.1
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
# File position: <groff-source>/contrib/groffer/Makefile.sub
|
||||
|
||||
# Last update: 23 June 2002
|
||||
# Last update: 21 October 2002
|
||||
|
||||
# Copyright (C) 2001,2002 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
@ -33,8 +33,8 @@ all: groffer
|
||||
|
||||
groffer: groffer.sh
|
||||
rm -f $@; \
|
||||
sed -e "s|@g@|$(g)|g" \
|
||||
-e "s|@VERSION@|$(version)$(revision)|" \
|
||||
sed -e "s|@BINDIR@|$(bindir)|g" \
|
||||
-e "s|@VERSION@|$(version)$(revision)|g" \
|
||||
-e $(SH_SCRIPT_SED_CMD) $(srcdir)/groffer.sh >$@; \
|
||||
chmod +x $@
|
||||
|
||||
|
23
contrib/groff/contrib/groffer/README
Normal file
23
contrib/groff/contrib/groffer/README
Normal file
@ -0,0 +1,23 @@
|
||||
The `groffer' program is the easiest way to read `groff' documents.
|
||||
All input is sent to `grog' and then to `groff' such that no special
|
||||
`groff' arguments must be determined.
|
||||
|
||||
`groffer' also has many built-in `man' functionalities to find and
|
||||
read the manual pages on UNIX and similar operating systems. It
|
||||
accepts the information from an installed `man' program, but tries to
|
||||
find a man path by itself if there isn't any.
|
||||
|
||||
So far, `groffer' is a shell script. It should run on any POSIX or
|
||||
Bourne style shell, but it runs the fastest if the `ash' shell is
|
||||
installed on the system. This shell is found out and started
|
||||
automatically. There are efforts to port part of the shell script to
|
||||
C/C++ to increase the speed independent of the shell.
|
||||
|
||||
For reporting bugs of `groffer', groff's free mailing list
|
||||
<bug-groff@gnu.org> can be used. For a general discussion, the
|
||||
<groff@gnu.org> is more useful; see the `README' file in the top
|
||||
directory of the `groff' source package for more details on this
|
||||
mailing list.
|
||||
|
||||
`groffer' is a `groff contrib' project that was written by Bernd
|
||||
Warken <bwarken@mayn.de>.
|
@ -2,9 +2,9 @@
|
||||
|
||||
# File position: <groff-source>/contrib/groffer/TODO
|
||||
|
||||
# Last update: 30 Sep 2002
|
||||
# Last update: 22 Jan 2003
|
||||
|
||||
# Copyright (C) 2001,2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
|
||||
# Written by Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
# This file is part of groff.
|
||||
@ -32,9 +32,10 @@ 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).
|
||||
- To increase the running speed write part of the groffer shell script
|
||||
in C/C++.
|
||||
|
||||
Features:
|
||||
- Consider using the `shoop' package (OOP for `sh').
|
||||
- Revise option handling of `grog'.
|
||||
- `gxditview' needs a complete shower.
|
||||
|
||||
@ -42,9 +43,11 @@ 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).
|
||||
- The actual `groff' and `grog' do not support file arguments each
|
||||
of which has a different macro package (except `man' and `doc'). So
|
||||
`roffer' should create several display files for such arguments.
|
||||
|
||||
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
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,9 @@
|
||||
|
||||
# groffer - display groff files
|
||||
|
||||
# File position: <groff-source>/contrib/groffer/groffer
|
||||
# Source file position: <groff-source>/contrib/groffer/groffer.sh
|
||||
|
||||
# Copyright (C) 2001,2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001,2002,2003 Free Software Foundation, Inc.
|
||||
# Written by Bernd Warken <bwarken@mayn.de>
|
||||
|
||||
# This file is part of groff.
|
||||
@ -29,8 +29,10 @@ export _PROGRAM_VERSION;
|
||||
export _LAST_UPDATE;
|
||||
|
||||
_PROGRAM_NAME='groffer';
|
||||
_PROGRAM_VERSION='0.9.1';
|
||||
_LAST_UPDATE='30 Sep 2002';
|
||||
_PROGRAM_VERSION='0.9.4';
|
||||
_LAST_UPDATE='22 Jan 2003';
|
||||
|
||||
# This program is installed with groff version @VERSION@.
|
||||
|
||||
########################################################################
|
||||
# Determine the shell under which to run this script;
|
||||
@ -44,9 +46,7 @@ if test "${_groffer_run}" != 'second'; then
|
||||
export _groffer_run;
|
||||
export _this;
|
||||
|
||||
|
||||
#_this="@BINDIR@/${_PROGRAM_NAME}";
|
||||
_this='groffer.sh';
|
||||
_this="@BINDIR@/${_PROGRAM_NAME}";
|
||||
|
||||
###########################
|
||||
# _get_opt_shell ("$@")
|
||||
@ -217,7 +217,6 @@ _DEBUG_LM='no'; # disable landmark messages
|
||||
# base_name (path)
|
||||
# catz (<file>)
|
||||
# clean_up ()
|
||||
# clean_up_secondary ()
|
||||
# diag (text>*)
|
||||
# dirname_append (<path> [<dir...>])
|
||||
# dirname_chop (<path>)
|
||||
@ -271,6 +270,8 @@ _DEBUG_LM='no'; # disable landmark messages
|
||||
# tmp_cat ()
|
||||
# tmp_create (<suffix>?)
|
||||
# to_tmp (<filename>)
|
||||
# trap_clean ()
|
||||
# trap_set (<functionname>)
|
||||
# usage ()
|
||||
# version ()
|
||||
# warning (<string>)
|
||||
@ -366,9 +367,8 @@ _SQUOTE="'";
|
||||
_TAB=' ';
|
||||
|
||||
# function return values; `0' means ok; other values are error codes
|
||||
export _ALL_EXIT;
|
||||
export _BAD;
|
||||
export _BAD2;
|
||||
export _BAD3;
|
||||
export _ERROR;
|
||||
export _GOOD;
|
||||
export _NO;
|
||||
@ -377,9 +377,9 @@ export _YES;
|
||||
|
||||
_GOOD='0'; # return ok
|
||||
_BAD='1'; # return negatively, error code `1'
|
||||
_BAD2='2'; # return negatively, error code `2'
|
||||
_BAD3='3'; # return negatively, error code `3'
|
||||
_ERROR='255'; # for syntax errors; no `-1' in `ash'
|
||||
_ERROR='7'; # for syntax errors; no `-1' in `ash'
|
||||
|
||||
_ALL_EXIT="${_GOOD} ${_BAD} ${_ERROR}"; # all exit codes (for `trap_set')
|
||||
|
||||
_NO="${_BAD}";
|
||||
_YES="${_GOOD}";
|
||||
@ -492,8 +492,8 @@ _OPTS_GROFFER_LONG_ARG="'background' 'bd' 'bg' 'bw' 'default-modes' \
|
||||
|
||||
##### options inhereted from groff
|
||||
|
||||
_OPTS_GROFF_SHORT_NA="'a' 'b' 'c' 'e' 'g' 'i' 'l' 'p' 's' 't' 'z' \
|
||||
'C' 'E' 'G' 'N' 'R' 'S' 'U' 'V'";
|
||||
_OPTS_GROFF_SHORT_NA="'a' 'b' 'c' 'C' 'e' 'E' 'g' 'G' 'i' 'l' 'N' 'p' \
|
||||
'R' 's' 'S' 't' 'U' 'V' 'z'";
|
||||
_OPTS_GROFF_SHORT_ARG="'d' 'f' 'F' 'I' 'L' 'm' 'M' 'n' 'o' 'P' 'r' \
|
||||
'w' 'W'";
|
||||
_OPTS_GROFF_LONG_NA="";
|
||||
@ -614,9 +614,9 @@ export _OPT_X; # groff option -X.
|
||||
export _OPT_XRM; # specify X resource.
|
||||
export _OPT_Z; # groff option -Z.
|
||||
# _TMP_* temporary files
|
||||
export _TMP_DIR; # directory for temporary files
|
||||
export _TMP_DIR; # groff directory for temporary files
|
||||
export _TMP_DIR_SUB; # groffer directory for temporary files
|
||||
export _TMP_CAT; # stores concatenation of everything
|
||||
export _TMP_PREFIX; # dir and base name for temporary files
|
||||
export _TMP_STDIN; # stores stdin, if any
|
||||
|
||||
# these variables are preset in section `Preset' after the rudim. test
|
||||
@ -674,8 +674,8 @@ _HAS_OPTS_POSIX='';
|
||||
|
||||
# _TMP_* temporary files
|
||||
_TMP_DIR='';
|
||||
_TMP_DIR_SUB='';
|
||||
_TMP_CAT='';
|
||||
_TMP_PREFIX='';
|
||||
_TMP_STDIN='';
|
||||
|
||||
|
||||
@ -790,19 +790,10 @@ landmark "1: debugging functions";
|
||||
#
|
||||
clean_up()
|
||||
{
|
||||
clean_up_secondary;
|
||||
rm -f "${_TMP_CAT}";
|
||||
}
|
||||
|
||||
|
||||
##############
|
||||
# clean_up_secondary ()
|
||||
#
|
||||
# Clean up temporary files without $_TMP_CAT.
|
||||
#
|
||||
clean_up_secondary()
|
||||
{
|
||||
rm -f "${_TMP_STDIN}";
|
||||
if test -d "${_TMP_DIR}"; then
|
||||
rm -f "${_TMP_DIR}"/*;
|
||||
rmdir "${_TMP_DIR}";
|
||||
fi;
|
||||
}
|
||||
|
||||
|
||||
@ -1044,9 +1035,9 @@ func_stack_dump()
|
||||
_rest="${_FUNC_STACK}";
|
||||
while test "${_rest}" != ''; do
|
||||
# get part before the first bang `!'.
|
||||
diag "$(echo -n "${_rest}" | sed -e 's/^\([^!]*\)!.*$/\1/')";
|
||||
# delete part up to the first bang `!'.
|
||||
_rest="$(echo -n "${_rest}" | sed -e 's/^!*[^!]*!*//')";
|
||||
diag "$(echo -n "${_rest}" | sed -e 's/!.*$//')";
|
||||
# delete part before and including the first bang `!'.
|
||||
_rest="$(echo -n "${_rest}" | sed -e 's/^[^!]*!//')";
|
||||
done;
|
||||
;;
|
||||
*)
|
||||
@ -1219,8 +1210,8 @@ base_name()
|
||||
do_nothing;
|
||||
;;
|
||||
*/*)
|
||||
# delete everything up to last slash `/'.
|
||||
echo -n "$1" | sed -e '\|^.*/*\([^/]*\)$|s||\1|';
|
||||
# delete everything before and including the last slash `/'.
|
||||
echo -n "$1" | sed -e '\|^.*//*\([^/]*\)$|s||\1|';
|
||||
;;
|
||||
*)
|
||||
echo -n "$1";
|
||||
@ -1279,14 +1270,6 @@ fi;
|
||||
# defined above
|
||||
|
||||
|
||||
########################################################################
|
||||
# clean_up_secondary ()
|
||||
#
|
||||
# Do the second but final cleaning up.
|
||||
#
|
||||
# defined above
|
||||
|
||||
|
||||
########################################################################
|
||||
# diag (<text>*)
|
||||
#
|
||||
@ -1926,7 +1909,7 @@ list_from_args()
|
||||
|
||||
|
||||
########################################################################
|
||||
# list_from_cmdline (<s_n> <s_a> <l_n> <l_n> [<cmdline_arg>...])
|
||||
# list_from_cmdline (<s_n> <s_a> <l_n> <l_a> [<cmdline_arg>...])
|
||||
#
|
||||
# Transform command line arguments into a normalized form.
|
||||
#
|
||||
@ -2033,20 +2016,20 @@ list_from_cmdline()
|
||||
# get next short option from cluster (first char of $_rest)
|
||||
_optchar="$(echo -n "${_rest}" | sed -e 's/^\(.\).*$/\1/')";
|
||||
# remove first character from ${_rest};
|
||||
_rest="$(echo -n "${_rest}" | 's/^.//')";
|
||||
_rest="$(echo -n "${_rest}" | sed -e 's/^.//')";
|
||||
if list_has "${_short_n}" "${_optchar}"; then
|
||||
_result="$(list_append "${_result}" "-${_optchar}")";
|
||||
continue;
|
||||
elif list_has "${_short_a}" "${_optchar}"; then
|
||||
# remove leading character
|
||||
case "${_optchar}" in
|
||||
/) # cannot use normal `sed' separator
|
||||
/)
|
||||
_rest="$(echo -n "${_rest}" | sed -e '\|^.|s|||')";
|
||||
;;
|
||||
?)
|
||||
_rest="$(echo -n "${_rest}" | sed -e 's/^.//')";
|
||||
;;
|
||||
*)
|
||||
??*)
|
||||
error "${_fn} several chars parsed for short option."
|
||||
;;
|
||||
esac;
|
||||
@ -2283,7 +2266,7 @@ man_do_filespec()
|
||||
local _spec;
|
||||
local _string;
|
||||
local s;
|
||||
if is_empty "${MANPATH}"; then
|
||||
if is_empty "${_MAN_PATH}"; then
|
||||
eval "${return_bad}";
|
||||
fi;
|
||||
if is_empty "$1"; then
|
||||
@ -2915,7 +2898,7 @@ if test "${_HAS_COMPRESSION}" = 'yes'; then
|
||||
{
|
||||
local _f;
|
||||
func_check save_stdin = 0 "$@";
|
||||
_f="$(tmp_create)";
|
||||
_f="${_TMP_DIR}"/INPUT;
|
||||
cat >"${_f}";
|
||||
catz "${_f}" >"${_TMP_STDIN}";
|
||||
rm -f "${_f}";
|
||||
@ -3007,9 +2990,9 @@ tmp_create()
|
||||
{
|
||||
func_check tmp_create '<=' 1 "$@";
|
||||
local _tmp;
|
||||
_tmp="${_TMP_PREFIX}${_PROCESS_ID}$1";
|
||||
_tmp="${_TMP_DIR}/$1";
|
||||
echo -n >"${_tmp}";
|
||||
echo -n "${_tmp}";
|
||||
echo -n "${_tmp}"; # output file name
|
||||
eval "${return_ok}";
|
||||
}
|
||||
|
||||
@ -3038,6 +3021,44 @@ to_tmp()
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# trap_clean ()
|
||||
#
|
||||
# disable trap on all exit codes ($_ALL_EXIT)
|
||||
#
|
||||
# Arguments: 0
|
||||
# Globals: $_ALL_EXIT
|
||||
#
|
||||
trap_clean()
|
||||
{
|
||||
func_check trap_clean = 0 "$@";
|
||||
local i;
|
||||
for i in ${_ALL_EXIT}; do
|
||||
trap "" "$i" 2>/dev/null || true;
|
||||
done;
|
||||
eval "${return_ok}";
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# trap_set (<functionname>)
|
||||
#
|
||||
# call function on all exit codes ($_ALL_EXIT)
|
||||
#
|
||||
# Arguments: 1 (name of a shell function)
|
||||
# Globals: $_ALL_EXIT
|
||||
#
|
||||
trap_set()
|
||||
{
|
||||
func_check trap_set = 1 "$@";
|
||||
local i;
|
||||
for i in ${_ALL_EXIT}; do
|
||||
trap "$1" "$i" 2>/dev/null || true;
|
||||
done;
|
||||
eval "${return_ok}";
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
# usage ()
|
||||
#
|
||||
@ -3054,18 +3075,18 @@ This is free software licensed under the GNU General Public License.
|
||||
|
||||
EOF
|
||||
|
||||
echo2 "Usage: ${_PROGRAM_NAME} ${_header} [option]... [filespec]...";
|
||||
echo2 "Usage: ${_PROGRAM_NAME} [option]... [filespec]...";
|
||||
|
||||
cat >&2 <<EOF
|
||||
|
||||
where "filespec" is one of
|
||||
"filename" name of a readablefile
|
||||
"filename" name of a readable file
|
||||
"-" for standard input
|
||||
"man:name.n" man page "name" in section "n"
|
||||
"man:name" man page "name" in first section found
|
||||
"name.n" man page "name" in section "n"
|
||||
"name" man page "name" in first section found
|
||||
and some more (see groff(1) for details).
|
||||
and some more (see groffer(1) for details).
|
||||
|
||||
Display roff files, standard input, and/or Unix manual pages with
|
||||
in a X window viewer or in a text pager.
|
||||
@ -3279,7 +3300,7 @@ main_init()
|
||||
{
|
||||
func_check main_init = 0 "$@";
|
||||
# call clean_up() on any signal
|
||||
trap clean_up 2>/dev/null || true;
|
||||
trap_set clean_up;
|
||||
|
||||
for f in ${_CONFFILES}; do
|
||||
if is_file "$f"; then
|
||||
@ -3288,24 +3309,39 @@ main_init()
|
||||
done;
|
||||
|
||||
# determine temporary directory
|
||||
umask 000;
|
||||
_TMP_DIR='';
|
||||
for d in "${GROFF_TMPDIR}" "${TMPDIR}" "${TMP}" "${TEMP}" \
|
||||
"${TEMPDIR}" "${HOME}"'/tmp' '/tmp' "${HOME}" '.';
|
||||
do
|
||||
if test "$d" != ""; then
|
||||
if test -d "$d" && test -r "$d" && test -w "$d"; then
|
||||
_TMP_DIR="$d";
|
||||
break;
|
||||
_TMP_DIR="${d}/${_PROGRAM_NAME}${_PROCESS_ID}";
|
||||
if test -d "${_TMP_DIR}"; then
|
||||
rm -f "${_TMP_DIR}"/*;
|
||||
break;
|
||||
else
|
||||
mkdir "${_TMP_DIR}";
|
||||
if test ! -d "${_TMP_DIR}"; then
|
||||
_TMP_DIR='';
|
||||
continue;
|
||||
fi;
|
||||
break;
|
||||
fi;
|
||||
fi;
|
||||
if test ! -w "${_TMP_DIR}"; then
|
||||
_TMP_DIR='';
|
||||
continue;
|
||||
fi;
|
||||
fi;
|
||||
done;
|
||||
unset d;
|
||||
if test "${_TMP_DIR}" = ""; then
|
||||
error "Couldn't find a directory for storing temorary files.";
|
||||
if test "${_TMP_DIR}" = ''; then
|
||||
error "Couldn't create a directory for storing temporary files.";
|
||||
fi;
|
||||
_TMP_PREFIX="${_TMP_DIR}/${_PROGRAM_NAME}";
|
||||
|
||||
_TMP_CAT="$(tmp_create)";
|
||||
_TMP_STDIN="$(tmp_create i)";
|
||||
_TMP_CAT="$(tmp_create groffer_cat)";
|
||||
_TMP_STDIN="$(tmp_create groffer_input)";
|
||||
eval "${return_ok}";
|
||||
} # main_init()
|
||||
|
||||
@ -3313,7 +3349,8 @@ main_init()
|
||||
########################################################################
|
||||
# main_parse_MANOPT ()
|
||||
#
|
||||
# Parse $MANOPT; this clobbered by the command line.
|
||||
# Parse $MANOPT to retrieve man options, but only if it is a non-empty
|
||||
# string; found man arguments can be overwritten by the command line.
|
||||
#
|
||||
# Globals:
|
||||
# in: $MANOPT, $_OPTS_MAN_*
|
||||
@ -3327,7 +3364,14 @@ main_parse_MANOPT()
|
||||
local _opt;
|
||||
local _list;
|
||||
_list='';
|
||||
# feed in $MANOPT
|
||||
if test "${MANOPT}" != ''; then
|
||||
MANOPT="$(echo -n "${MANOPT}" | \
|
||||
sed -e 's/^'"${_SPACE}${_SPACE}"'*//')";
|
||||
fi;
|
||||
if test "${MANOPT}" = ''; then
|
||||
eval "${return_ok}";
|
||||
fi;
|
||||
# add arguments in $MANOPT by mapping them to groffer options
|
||||
eval set -- "$(list_from_cmdline \
|
||||
"${_OPTS_MAN_SHORT_NA}" "${_OPTS_MAN_SHORT_ARG}" \
|
||||
"${_OPTS_MAN_LONG_NA}" "${_OPTS_MAN_LONG_ARG}" \
|
||||
@ -4042,7 +4086,7 @@ main_do_fileargs()
|
||||
_exitcode="${_GOOD}";
|
||||
fi;
|
||||
done;
|
||||
clean_up_secondary;
|
||||
rm -f "${_TMP_STDIN}";
|
||||
if is_equal "${_exitcode}" "${_BAD}"; then
|
||||
eval "${return_bad}";
|
||||
fi;
|
||||
@ -4185,7 +4229,7 @@ main_set_resources()
|
||||
# Globals:
|
||||
# in: $_DISPLAY_MODE, $_OPT_DEVICE,
|
||||
# $_ADDOPTS_GROFF, $_ADDOPTS_POST, $_ADDOPTS_X,
|
||||
# $_REGISTERED_TITLE, $_TMP_PREFIX, $_TMP_CAT,
|
||||
# $_REGISTERED_TITLE, $_TMP_CAT,
|
||||
# $_OPT_PAGER $PAGER $_MANOPT_PAGER
|
||||
#
|
||||
landmark '19: main_display()';
|
||||
@ -4218,7 +4262,7 @@ main_display()
|
||||
_ADDOPTS_GROFF="${_ADDOPTS_GROFF} -T${_OPT_DEVICE}";
|
||||
fi;
|
||||
_groggy="$(tmp_cat | eval grog "${_options}")";
|
||||
trap "" EXIT 2>/dev/null || true;
|
||||
trap_clean;
|
||||
# start a new shell program to get another process ID.
|
||||
sh -c '
|
||||
set -e;
|
||||
@ -4233,7 +4277,7 @@ main_display()
|
||||
{
|
||||
rm -f "${_modefile}";
|
||||
}
|
||||
trap clean_up EXIT 2>/dev/null || true;
|
||||
trap clean_up 0 2>/dev/null || true;
|
||||
eval "${_groggy}" "${_ADDOPTS_GROFF}";
|
||||
) &'
|
||||
;;
|
||||
@ -4293,7 +4337,7 @@ main_display()
|
||||
;;
|
||||
esac;
|
||||
_groggy="$(tmp_cat | grog -Tps)";
|
||||
trap "" EXIT 2>/dev/null || true;
|
||||
trap_clean;
|
||||
# start a new shell program to get another process ID.
|
||||
sh -c '
|
||||
set -e;
|
||||
@ -4313,7 +4357,7 @@ main_display()
|
||||
{
|
||||
rm -f "${_modefile}";
|
||||
}
|
||||
trap clean_up EXIT 2>/dev/null || true;
|
||||
trap clean_up 0 2>/dev/null || true;
|
||||
eval "${_DISPLAY_PROG}" ${_DISPLAY_ARGS} "${_modefile}";
|
||||
) &'
|
||||
;;
|
||||
@ -4370,8 +4414,9 @@ main_display()
|
||||
|
||||
_do_display()
|
||||
{
|
||||
trap "" EXIT 2>/dev/null || true;
|
||||
# start a new shell program to get another process ID.
|
||||
trap_clean;
|
||||
# start a new shell program for another process ID and better
|
||||
# cleaning-up of the temporary files.
|
||||
sh -c '
|
||||
set -e;
|
||||
_PROCESS_ID="$$";
|
||||
@ -4383,9 +4428,12 @@ _do_display()
|
||||
(
|
||||
clean_up()
|
||||
{
|
||||
rm -f "${_modefile}";
|
||||
if test -d "${_TMP_DIR}"; then
|
||||
rm -f "${_TMP_DIR}"/*;
|
||||
rmdir "${_TMP_DIR}";
|
||||
fi;
|
||||
}
|
||||
trap clean_up EXIT 2>/dev/null || true;
|
||||
trap clean_up 0 2>/dev/null || true;
|
||||
eval "${_DISPLAY_PROG}" ${_DISPLAY_ARGS} "${_modefile}";
|
||||
) &'
|
||||
}
|
||||
|
@ -1,3 +1,33 @@
|
||||
Wed Apr 06:42:35 2003 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* the footer was not adjusted by VM due to a missing
|
||||
pg*extra-footer-size in the calculation of pg*last-pos
|
||||
|
||||
Wed Apr 06:04:58 2003 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* space adjustments in 4.MT to make it more like
|
||||
the original
|
||||
|
||||
Sun Mar 21:45:10 2003 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* removed error check i 4.MT, .AF is not mandatory anymore
|
||||
|
||||
Sat Mar 21:56:57 2003 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* cov*firm now defined only if arg to AF is non-empty
|
||||
That will also enable cov*default-firm from the mm locale-file
|
||||
to work.
|
||||
|
||||
Sat Mar 21:05:29 2003 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* added .ll in pg@set-env to initialize the
|
||||
header environment properly
|
||||
|
||||
Wed Mar 19 23:02:16 2003 Werner LEMBERG <wl@gnu.org>
|
||||
|
||||
* groff_mm.man: Some fixes from Robert D. Goulding
|
||||
<goulding@Princeton.EDU>.
|
||||
|
||||
Wed Sep 09:53:06 2002 Joergen Haegg <jh@axis.com>
|
||||
|
||||
* added implicit -mm to mmroff, it's now possible
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"
|
||||
.\" $Id: groff_mm.man,v 2.8 2002/05/30 05:39:54 jhaegg Exp $
|
||||
.\" $Id: groff_mm.man,v 2.9 2003/03/19 22:05:11 wlemb Exp $
|
||||
.\"
|
||||
.de T2
|
||||
.if t .ne 2v
|
||||
@ -1654,8 +1654,8 @@ Floating displays does not generate line break.
|
||||
A string containing the word "APPENDIX".
|
||||
.TP
|
||||
.B Apptxt
|
||||
.TP
|
||||
The current appendix text.
|
||||
.TP
|
||||
.B "EM"
|
||||
Em dash string
|
||||
.TP
|
||||
@ -1673,11 +1673,11 @@ Normally "0 0 0 0 0 0 0" which is the same as
|
||||
"10 10 10 10 10 10 10".
|
||||
.TP
|
||||
.B Index
|
||||
.TP
|
||||
Contains \fIINDEX\fP.
|
||||
.B Indcmd
|
||||
.TP
|
||||
.B Indcmd
|
||||
Contains the index command, \fIsort\ -t\et\fP.
|
||||
.TP
|
||||
.B Lifg
|
||||
String containing \fIFigure\fP.
|
||||
.TP
|
||||
@ -1845,10 +1845,10 @@ Append a dot after the level one heading number if >\ 0.
|
||||
Default is\ 1.
|
||||
.TP
|
||||
.B H1h
|
||||
.TP
|
||||
Copy of number register \fBH1\fP, but it is incremented
|
||||
just before the page break.
|
||||
Useful in user defined header macros.
|
||||
.TP
|
||||
.B Hb
|
||||
Heading break level [0:7], default\ 2.
|
||||
.TP
|
||||
@ -1866,7 +1866,7 @@ Heading temporary indent [0:2], default\ 1.
|
||||
2\ ->\ indent to line up with text part of preceding heading
|
||||
.TP
|
||||
.B Hps
|
||||
Numbervariable with the heading pre-space level.
|
||||
Number variable with the heading pre-space level.
|
||||
If the heading-level
|
||||
is less than or equal to \fBHps\fP, then two lines will precede the
|
||||
section heading instead of one.
|
||||
|
@ -3,8 +3,8 @@
|
||||
.ds RE \\$2
|
||||
..
|
||||
.\"
|
||||
.\" $Id: m.tmac,v 2.15 2002/08/07 23:23:34 wlemb Exp $
|
||||
.@revision $Revision: 2.15 $
|
||||
.\" $Id: m.tmac,v 2.18 2003/04/02 04:44:59 jhaegg Exp $
|
||||
.@revision $Revision: 2.18 $
|
||||
.ig
|
||||
|
||||
Copyright (C) 1991-2000 Free Software Foundation, Inc.
|
||||
@ -1130,8 +1130,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\"
|
||||
.\" 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]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]
|
||||
.nr pg*last-pos \\n[@pl]u-(\\n[pg*block-size]u+\\n[pg*foot-margin]u+\\n[pg*footer-size]u+\\n[pg*extra-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*extra-footer-size]u) = \\n[pg*last-pos]
|
||||
..
|
||||
.de pg@enable-trap
|
||||
.wh \\n[pg*foot-trap]u pg@footer
|
||||
@ -1246,7 +1246,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\" FOOTER
|
||||
.de pg@footer
|
||||
.ec
|
||||
.if \\n[D]>2 .tm Footer# \\n[%] (\\n[.F]:\\n[c.])
|
||||
.if \\n[D]>2 .tm Footer# \\n[%] (\\n[.F]:\\n[c.]) nl=\\n[nl]
|
||||
.pg@disable-trap
|
||||
.\".debug footer
|
||||
.tbl@bottom-hook
|
||||
@ -1254,7 +1254,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\" move to the exact start of footer.
|
||||
'sp |\\n[pg*foot-trap]u+1v
|
||||
.\"
|
||||
.if \\n[D]>3 .tm FOOTER after .sp
|
||||
.if \\n[D]>3 .tm FOOTER after .sp, nl=\\n[nl]
|
||||
.\" print footnotes
|
||||
.if d ft*div .ft@print
|
||||
.\"
|
||||
@ -1269,6 +1269,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.de pg@print-footer
|
||||
.\" jump to the position just below the foot-notes.
|
||||
'sp |\\n[pg*last-pos]u+1v
|
||||
.if \\n[D]>3 .tm print-footer nl=\\n[nl]
|
||||
.\" check if there are any bottom block
|
||||
.if d pg*block-div .pg@block
|
||||
.\"
|
||||
@ -1311,6 +1312,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
. vs \\n[pg*vs]u
|
||||
.\}
|
||||
.lt \\n[@ll]u
|
||||
.ll \\n[@ll]u
|
||||
..
|
||||
.\"-------------------------
|
||||
.de PH
|
||||
@ -2959,7 +2961,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
|
||||
.\"-------------------
|
||||
.de AF
|
||||
.cov@title-end
|
||||
.ds cov*firm \\$1
|
||||
.if !''\\$1' .ds cov*firm \\$1
|
||||
..
|
||||
.de AST
|
||||
.ds cov*abs-name \\$1
|
||||
|
@ -1,11 +1,11 @@
|
||||
.\"------------
|
||||
.\" $Id: 4.MT,v 2.0 2000/09/14 03:40:25 jhaegg Exp $
|
||||
.\" $Id: 4.MT,v 2.2 2003/04/02 04:06:40 jhaegg Exp $
|
||||
.\" Cover sheet. Memorandum type 4
|
||||
.\"------------
|
||||
.de cov@print-title
|
||||
.if !d cov*title .@error title (.TL) not defined!
|
||||
.MOVE 2.4c
|
||||
.S +4
|
||||
.MOVE 2.8c
|
||||
.S +2
|
||||
.ad c
|
||||
.fi
|
||||
.B
|
||||
@ -14,27 +14,28 @@
|
||||
.S
|
||||
.R
|
||||
.ad b
|
||||
.PGFORM
|
||||
..
|
||||
.\"------------
|
||||
.de cov@print-authors
|
||||
.SP 0.5
|
||||
.I
|
||||
.S +1
|
||||
.nr cov*i 0 1
|
||||
.while \\n+[cov*i]<=\\n[cov*au] \{\
|
||||
.ce
|
||||
\\*[cov*au!\\n[cov*i]!1]
|
||||
.br
|
||||
.\}
|
||||
.S
|
||||
.R
|
||||
.PGFORM
|
||||
..
|
||||
.\"------------
|
||||
.de cov@print-firm
|
||||
.if !d cov*firm .@error firm (.AF) not defined!
|
||||
.SP 0.5
|
||||
.ce
|
||||
.if d cov*firm \{\
|
||||
. SP 0.5
|
||||
. ce
|
||||
\\*[cov*firm]
|
||||
.\}
|
||||
..
|
||||
.\"------------
|
||||
.de cov@print-abstract
|
||||
@ -64,7 +65,7 @@
|
||||
. if d cov*abstract \{\
|
||||
. if !\n[cov*abs-arg] .cov@print-abstract
|
||||
. \}
|
||||
. SP 3
|
||||
. SP 2
|
||||
. nr hd*cur-bline \n[nl]
|
||||
. ds cov*mt-printed
|
||||
. pg@enable-top-trap
|
||||
|
@ -11,9 +11,27 @@ questions and suggestions, or contact me directly at:
|
||||
|
||||
========================================================================
|
||||
|
||||
Version 1.1.3c
|
||||
==============
|
||||
Version 1.1.5
|
||||
=============
|
||||
|
||||
Draft and revision not appearing in page headers.
|
||||
---Fixed---
|
||||
|
||||
\*[RULE] not working properly with indents and justified copy.
|
||||
---Fixed---
|
||||
|
||||
Post-epigraph spacing in TYPEWRITE causing some first pages to run too
|
||||
deep.
|
||||
---Fixed---
|
||||
|
||||
Spacing of docheaders in TYPEWRITE not always consistent.
|
||||
---Fixed---
|
||||
|
||||
Version 1.1.4
|
||||
=============
|
||||
|
||||
Blockquotes that span pages running too deep.
|
||||
---Fixed---
|
||||
|
||||
Version 1.1.3
|
||||
=============
|
||||
|
@ -1,3 +1,43 @@
|
||||
*Sun Feb 16 2003
|
||||
|
||||
o Added James Ramsey's proposed CHAPTER_TITLE macro, along with his
|
||||
rewritten START macro and his utility macros to make START easier
|
||||
to read.
|
||||
|
||||
o Expanded handling of CHAPTER_TITLE to encompass TYPEWRITE, as well as
|
||||
plugging it into the docheaders. Made CHAPTER_TITLE backwardly
|
||||
compatible so that pre-1.1.5 docs using CHAPTER_STRING to create a
|
||||
chapter title remain unaffected when groffed with 1.1.5.
|
||||
|
||||
o Created control macros for CHAPTER_TITLE FAMILY, FONT and SIZE.
|
||||
Added defaults for handling of CHAPTER title to DEFAULTS. Documented
|
||||
CHAPTER_TITLE and everything that goes along with it.
|
||||
|
||||
o Fixed broken draft and revision in headers/footers.
|
||||
|
||||
o Fixed \*[RULE] so that it behaves properly with indents and justified
|
||||
copy.
|
||||
|
||||
o Fixed/tweaked handling of epigraph spacing in TYPEWRITE.
|
||||
|
||||
o Fixed broken spacing of docheaders in TYPEWRITE.
|
||||
|
||||
*Mon Feb 3 2003
|
||||
|
||||
o Fixed an oversight in CLOSING for DOCTYPE LETTER (closing wasn't
|
||||
being set flush left)
|
||||
|
||||
*Sun Sep 29 2002
|
||||
|
||||
o Changed .ne in .HEAD when PRINTSTYLE TYPESET from 5 to 4. With 5,
|
||||
heads required at least 2 lines of text underneath or they'd be
|
||||
defered to the next page, which created too much whitespace at the
|
||||
end of the page. Heads will now be processed on the same page if the
|
||||
head plus at least one line of text underneath fits. I figure it's
|
||||
easier for the user to break to a new page manually if this behaviour
|
||||
is unsatisfactory than to massage the page to fix the excess
|
||||
whitespace.
|
||||
|
||||
*Sun Aug 25 2002
|
||||
|
||||
o Changed .IX to .IQ. The older form still works, but emits a message
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg (wl@gnu.org)
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -17,20 +17,23 @@
|
||||
# with groff; see the file COPYING. If not, write to the Free Software
|
||||
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# These may be overridden if cross-compiling.
|
||||
GROFFBIN=$(top_builddir)/src/roff/groff/groff
|
||||
GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
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); \
|
||||
GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
|
||||
export GROFF_BIN_PATH; \
|
||||
$(top_builddir)/src/roff/groff/groff $(FFLAG) $(TFLAG)
|
||||
$(GROFFBIN) $(FFLAG) $(TFLAG)
|
||||
|
||||
MAN7=\
|
||||
groff_mom.n
|
||||
|
@ -1,3 +1,29 @@
|
||||
Release 1.1.5
|
||||
-------------
|
||||
|
||||
***NEW***
|
||||
|
||||
Added James Ramsey's CHAPTER_TITLE macro as well as control macros to
|
||||
go with it. Thanks James. Also from James came a patch to handle
|
||||
START differenty which has been incorporated into om.tmac. Thanks
|
||||
again, James.
|
||||
|
||||
Some bits and pieces of the docs have been tweaked, but nothing
|
||||
changed. Hopefully, the changes will make parts of the docs easier to
|
||||
read and navigate.
|
||||
|
||||
***FIXES***
|
||||
|
||||
o \*[RULE]
|
||||
|
||||
o broken draft and revision in docheaders
|
||||
|
||||
o post-epigraph spacing in TYPEWRITE
|
||||
|
||||
o header spacing in TYPEWRITE
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Release 1.1.4
|
||||
-------------
|
||||
|
||||
|
@ -7,8 +7,8 @@ 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 .CAPS .CENTER .CENTRE
|
||||
keyword .CHAPTER .CHAPTER_TITLE CHAPTER_STRING .CITATION .CITE .CLOSING
|
||||
keyword .COLLATE .COL_BREAK .COL_BREAK .COL_NEXT .COLUMNS
|
||||
keyword .COMMENT .CONDENSE .COPYSTYLE
|
||||
keyword .DATE .DEFAULTS
|
||||
|
@ -137,9 +137,10 @@ sit amet. Accusam et justo duo do\%lo\%res et ea rebum
|
||||
\# 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.
|
||||
\# top of a collated document, now you know how to get around it.
|
||||
\#
|
||||
.TRAP OFF
|
||||
.RIGHT
|
||||
@ -405,11 +406,11 @@ justo duo do\%lo\%res et ea rebum.
|
||||
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-
|
||||
duo do\%lo\%res et ea rebum amet. Consetetur sadipsc\%
|
||||
ing elitr sed diam nonumy eirmod tempor invidunt ut
|
||||
.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
|
||||
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
|
||||
|
@ -763,7 +763,9 @@ in the string(s) you pass to <strong>HEAD</strong>
|
||||
For example,
|
||||
<p>
|
||||
<pre>
|
||||
.HEAD "\[ALD3]Text of head
|
||||
.HEAD "\[ALD3]Text of head"
|
||||
or
|
||||
.HEAD "\[DOWN 3p]Text of head"
|
||||
</pre>
|
||||
|
||||
will lower the baseline of the head by three points. Note that
|
||||
@ -774,6 +776,8 @@ the escape in the string for each line, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.HEAD "\[ALD3]First line" "\[ALD3]Next line"
|
||||
or
|
||||
.HEAD "\[DOWN 3p]First line" "\[DOWN 3p]Next line"
|
||||
</pre>
|
||||
|
||||
|
||||
@ -880,7 +884,7 @@ the next in ascending order (i.e. the last subhead number + 1), invoke
|
||||
Your next subhead will be numbered "4" and subsequent
|
||||
subheads will be numbered in ascending order from "4".
|
||||
|
||||
<a name="#SUBHEAD_INLINES"><h3><u>Vertical inline escapes inside subheads</u></h3></a>
|
||||
<a name="SUBHEAD_INLINES"><h3><u>Vertical inline escapes inside subheads</u></h3></a>
|
||||
See
|
||||
<a href="#HEAD_INLINES">Vertical inline escapes inside heads</a>.
|
||||
The information there applies equally to subheads.
|
||||
|
@ -675,7 +675,8 @@ She also puts the same thing in the middle of
|
||||
<p>
|
||||
If you're not using <strong>DOCTYPE CHAPTER</strong>, the macro serves
|
||||
no purpose and <strong>mom</strong> ignores it.
|
||||
<a name="CHAPTER_STRING"></a>
|
||||
<p>
|
||||
<a name="CHAPTER_STRING"><strong>CHAPTER_STRING<strong></a>
|
||||
<p>
|
||||
If you're not writing in English, you can ask <strong>mom</strong>
|
||||
to use the word for chapter in your own language by telling
|
||||
@ -688,8 +689,42 @@ like this:
|
||||
|
||||
You can also use <strong>CHAPTER_STRING</strong> if you want
|
||||
"CHAPTER" instead of "Chapter" in the doc- and
|
||||
page-headers. (See also the
|
||||
<a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>.)
|
||||
page-headers.
|
||||
<br>
|
||||
|
||||
<!---CHAPTER_TITLE--->
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<p>
|
||||
<a name="CHAPTER_TITLE"></a>
|
||||
Macro: <strong>CHAPTER_TITLE</strong> <var>"<chapter title>"</var>
|
||||
|
||||
<p>
|
||||
If, either in addition to or instead of "Chapter #" appearing
|
||||
at the top of chapters, you want your chapter to have a title, use
|
||||
<strong>CHAPTER_TITLE</strong> with your title enclosed in
|
||||
double-quotes, like this:
|
||||
<p>
|
||||
<pre>
|
||||
.CHAPTER_TITLE "The DMCA Nazis"
|
||||
</pre>
|
||||
|
||||
If you've used
|
||||
<a href="#CHAPTER">CHAPTER</a> to give the chapter a number,
|
||||
"Chapter #" and the title will appear at the top of the
|
||||
chapter, like this:
|
||||
<p>
|
||||
<pre>
|
||||
Chapter 1
|
||||
The DMCA Nazis
|
||||
</pre>
|
||||
|
||||
In such a case, by default, only the chapter's title will appear in the
|
||||
page headers, not "Chapter #".
|
||||
<p>
|
||||
If you omit <strong>CHAPTER</strong> when setting up your reference
|
||||
macros, only the title will appear, both at the top of page one and in
|
||||
subsequent page headers.
|
||||
<br>
|
||||
|
||||
<!---DRAFT--->
|
||||
@ -710,13 +745,16 @@ default), <strong>mom</strong> ignores <strong>DRAFT</strong>.
|
||||
<strong>Mom</strong> prints the draft number beside the word
|
||||
"Draft" in the middle part of
|
||||
<a href="definitions.html#TERMS_HEADER">page headers</a>.
|
||||
<p>
|
||||
<a name="DRAFT_STRING"><strong>DRAFT STRING<strong></a>
|
||||
<p>
|
||||
If you're not writing in English, you can ask <strong>mom</strong>
|
||||
to use the word for draft in your own language by telling
|
||||
her what it is with the <strong>DRAFT_STRING</strong> macro,
|
||||
like this:
|
||||
<p>
|
||||
<pre>
|
||||
.DRAFT_STRING "Ébauche"
|
||||
.DRAFT_STRING "Jet"
|
||||
</pre>
|
||||
|
||||
<!---REVISION--->
|
||||
@ -738,6 +776,9 @@ accepts a
|
||||
<strong>Mom</strong> prints the revision number beside the shortform
|
||||
"Rev." in the middle part of
|
||||
<a href="definitions.html#TERMS_HEADER">page headers</a>.
|
||||
<p>
|
||||
<a name="REVISION_STRING"><strong>REVISION STRING</strong></a>
|
||||
<p>
|
||||
If you're not writing in English, you can ask <strong>mom</strong>
|
||||
to use the word for revision, or a shortform therof in your own language
|
||||
by telling her what it is with the <strong>REVISION_STRING</strong>
|
||||
@ -807,24 +848,30 @@ for how <strong>mom</strong>'s outputs each part of the page header.)
|
||||
<p>
|
||||
<strong>CHAPTER</strong> prints "Chapter #" in place of a
|
||||
<a href="definitions.html#TERMS_DOCHEADER">docheader</a>
|
||||
(# is what you gave to
|
||||
<a href="#CHAPTER">CHAPTER</a>),
|
||||
or, if you omit the <strong>CHAPTER</strong> macro and give the chapter
|
||||
a title with
|
||||
<a href="#CHAPTER_STRING">CHAPTER_STRING</a>,
|
||||
<strong>mom</strong> prints the chapter title. Page headers contain the
|
||||
author, the title of the book (which you gave with
|
||||
(# is what you gave to the
|
||||
<a href="#REFERENCE_MACROS">reference macro</a>
|
||||
<a href="#CHAPTER">CHAPTER</a>).
|
||||
If you give the chapter a title with
|
||||
<a href="#CHAPTER_TITLE">CHAPTER TITLE</a>,
|
||||
<strong>mom</strong> prints "Chapter #" and the title
|
||||
underneath. If you omit the <strong>CHAPTER</strong> reference
|
||||
macro but supply a
|
||||
<a href="#CHAPTER_TITLE">CHAPTER_TITLE</a>,
|
||||
<strong>mom</strong> prints only the chapter title. <em>(*For
|
||||
backward compatability with pre-1.1.5 versions of</em>
|
||||
<strong>mom</strong><em>, you can also supply a chapter title by
|
||||
ommitting the</em> <strong>CHAPTER</strong> <em>reference macro and
|
||||
supplying a chapter title with
|
||||
<a href="#CHAPTER_STRING">CHAPTER_STRING</a>.
|
||||
<p>
|
||||
The page headers in <strong>DOCTYPE CHAPTER</a> contain the author,
|
||||
the title of the book (which you gave with
|
||||
<a href="#TITLE">TITLE</a>),
|
||||
and "Chapter #" (or the chapter title). See
|
||||
<a href="headfootpage.html#HEADER_STYLE">Default Specs for Headers</a>
|
||||
for <strong>mom</strong>'s default type parameters for each part of
|
||||
the page header.
|
||||
<p>
|
||||
<em>*See the
|
||||
<a href="#CHAPTER_NOTE">Special Note on CHAPTER</a>
|
||||
below for how you can make DOCTYPE CHAPTER print something
|
||||
other than "Chapter #" as its docheader.</em>
|
||||
<p>
|
||||
<strong>NAMED</strong> takes an additional argument: a name
|
||||
for this particular kind of document (e.g. outline, synopsis,
|
||||
abstract, memorandum), enclosed in double-quotes.
|
||||
@ -841,35 +888,6 @@ for how <strong>mom</strong>'s outputs each part of the page header.)
|
||||
the section
|
||||
<a href="letters.html#INTRO">Writing Letters</a>
|
||||
for instructions on using <strong>mom</strong> to format letters.
|
||||
|
||||
<a name="CHAPTER_NOTE"><h3><u>Special Note on CHAPTER</u></h3></a>
|
||||
In novels, new chapters are generally (but not always)
|
||||
introduced by "Chapter #". Other types of documents
|
||||
(reports and so on) often require specific titles for chapters.
|
||||
If your document is of this latter type, use <strong>DOCTYPE
|
||||
CHAPTER</strong> in the following way:
|
||||
<br>
|
||||
<ol>
|
||||
<li>Omit the
|
||||
<a href="#REFERENCE_MACROS">reference macro</a>
|
||||
<a href="#CHAPTER">CHAPTER</a>
|
||||
<li>Invoke
|
||||
<a href="#CHAPTER_STRING">.CHAPTER_STRING</a>
|
||||
with the title you'd like the chapter to have (enclosed
|
||||
in double-quotes, of course).
|
||||
</ol>
|
||||
<p>
|
||||
Here's a recipe for setting up a chapter entitled "The DMCA
|
||||
Nazis".
|
||||
<pre>
|
||||
.AUTHOR "Outraged Hacker"
|
||||
.TITLE "Limiting Copyright"
|
||||
\#
|
||||
.DOCTYPE CHAPTER
|
||||
.PRINTSTYLE TYPESET
|
||||
\#
|
||||
.CHAPTER_STRING "The DMCA Nazis"
|
||||
</pre>
|
||||
<br>
|
||||
|
||||
<!---PRINTSTYLE--->
|
||||
@ -1123,7 +1141,7 @@ adjusted to fill pages fully to the bottom margin.
|
||||
</ul>
|
||||
|
||||
<hr width="66%" align="left">
|
||||
<a name="TYPE_BEFORE_START"><h2><u>Using typesetting macros prior to START</u></h2></a>
|
||||
<a name="TYPE_BEFORE_START"><h2><u>Using the typesetting macros prior to START</u></h2></a>
|
||||
|
||||
When used before the
|
||||
<a href="#START">START</a>
|
||||
@ -1306,6 +1324,15 @@ compensate:
|
||||
(Document type) bold italic, underscored, 3 points larger than running text
|
||||
</pre>
|
||||
|
||||
If the
|
||||
<a href="#DOCTYPE">DOCTYPE</a>
|
||||
is CHAPTER,
|
||||
<pre>
|
||||
Chapter # bold, 4 points larger than running text
|
||||
Chapter Title bold italic, 4 points larger than running text
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
The
|
||||
<a href="definitions.html#TERMS_FAMILY">family</a>
|
||||
is the prevailing family of the whole document.
|
||||
@ -1313,7 +1340,7 @@ is the prevailing family of the whole document.
|
||||
<h3><u>The docheader macros to:</u></h3>
|
||||
<ol>
|
||||
<li><a href="#CHANGE_START">Change the starting position</a>
|
||||
<li><a href="#ADJUST_LEADING">Adjust the leading</a>
|
||||
<li><a href="#ADJUST_LEADING">Adjust the docheader leading</a>
|
||||
<li><a href="#CHANGE_FAMILY">Change the family of docheader elements</a>
|
||||
<li><a href="#CHANGE_FONT">Change the font of docheader elements</a>
|
||||
<li><a href="#CHANGE_SIZE">Adjust the size of docheader elements</a>
|
||||
@ -1357,9 +1384,14 @@ to place them where you want.
|
||||
<a name="ADJUST_LEADING"><h3><u>2. Adjust the leading</u></h3></a>
|
||||
The
|
||||
<a href="definitions.html#TERMS_LEADING">leading</a> of
|
||||
docheaders is the same as running text. If you'd like a
|
||||
different leading, say, 2 points more than the lead of running
|
||||
text, use:
|
||||
docheaders is the same as running text (except when
|
||||
<a href="#DOCTYPE">DOCTYPE</a>
|
||||
is <strong>CHAPTER</a> <em>and both</em> a chapter number and a
|
||||
chapter title have been supplied, in which case the default is 4 points
|
||||
more than running text.)
|
||||
<p>
|
||||
If you'd like your docheaders to have a different leading, say, 2
|
||||
points more than the lead of running text, use:
|
||||
<p>
|
||||
<pre>
|
||||
.DOCHEADER_LEAD +2p
|
||||
@ -1378,6 +1410,7 @@ of each docheader element separately:
|
||||
<p>
|
||||
<ul>
|
||||
<li><strong>TITLE_FAMILY</strong> <var><family></var>
|
||||
<li><strong>CHAPTER_TITLE_FAMILY</strong> <var><family></var>
|
||||
<li><strong>SUBTITLE_FAMILY</strong> <var><family></var>
|
||||
<li><strong>AUTHOR_FAMILY</strong> <var><family></var>
|
||||
<li><strong>DOCTYPE_FAMILY</strong> <var><family></var> (if
|
||||
@ -1393,6 +1426,7 @@ of each docheader element separately:
|
||||
<p>
|
||||
<ul>
|
||||
<li><strong>TITLE_FONT</strong> <var>R | B | I | BI</var>
|
||||
<li><strong>CHAPTER_TITLE_FONT</strong> <var>R | B | I | BI</var>
|
||||
<li><strong>SUBTITLE_FONT</strong> <var>R | B | I | BI</var>
|
||||
<li><strong>AUTHOR_FONT</strong> <var>R | B | I | BI</var>
|
||||
<li><strong>DOCTYPE_FONT</strong> <var>R | B | I | BI</var> (if
|
||||
@ -1410,8 +1444,8 @@ The following macros let you adjust the point size of each docheader
|
||||
element separately.
|
||||
<p>
|
||||
<strong>Mom</strong> calculates the point size
|
||||
of docheader elements from the point size of paragraphs, so you
|
||||
must prepend a + or - sign to the argument. Points is
|
||||
of docheader elements from the point size of paragraphs in running
|
||||
text, so you must prepend a + or - sign to the argument. Points is
|
||||
assumed as the
|
||||
<a href="definitions.html#TERMS_UNITOFMEASURE">unit of measure</a>,
|
||||
so there's no need to append a unit to the argument. Fractional point
|
||||
@ -1421,6 +1455,9 @@ sizes are allowed.
|
||||
<li><strong>TITLE_SIZE</strong> <var><+/-points></var>
|
||||
<br>
|
||||
default = +3.5 (+4 if docheader title is "Chapter #")
|
||||
<li><strong>CHAPTER_TITLE_SIZE</strong> <var><+/-points></var>
|
||||
<br>
|
||||
default = +4
|
||||
<li><strong>SUBTITLE_SIZE</strong> <var><+/-points></var>
|
||||
<br>
|
||||
default = +0
|
||||
@ -1436,6 +1473,7 @@ default = +3
|
||||
Simply pass the appropriate macro the size adjustment you want.
|
||||
|
||||
<a name="CHANGE_ATTRIBUTE"><h3><u>6. Change the attribution string ("by")</u></h3></a>
|
||||
<p>
|
||||
If you're not writing in English, you can change what
|
||||
<strong>mom</strong> prints where "by" appears in
|
||||
docheaders. For example,
|
||||
@ -1582,7 +1620,7 @@ or (god help us) an epigraph, you must do the following in order for
|
||||
<!========================================================================>
|
||||
|
||||
<a name="START_MACRO">
|
||||
<h2><u>Initiate document processing</u></h2>
|
||||
<h2><u>Start document processing</u></h2>
|
||||
</a>
|
||||
|
||||
In order to use <strong>mom</strong>'s document element macros
|
||||
|
@ -552,6 +552,7 @@ When the line is output, the space remaining on the line, after
|
||||
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.
|
||||
<a name="PAD_EXAMPLE"></a>
|
||||
<p>
|
||||
One rarely wants merely to insert space in a line; one usually
|
||||
wants to fill it with something, hence <strong>PAD</strong> is
|
||||
|
@ -344,6 +344,22 @@ example:
|
||||
</pre>
|
||||
|
||||
The above draws a rule the full measure of the 6-pica line length.
|
||||
Please note that <strong>\*[$RULE]</strong> should appear on a line by
|
||||
itself and that it draws the rule to the full measure, hence it
|
||||
<em>cannot</em> be used to fill the remainder of a partial line with
|
||||
a rule in this way:
|
||||
<p>
|
||||
<pre>
|
||||
Signature__________________________________________
|
||||
</pre>
|
||||
|
||||
If you wish to accomplish this effect, you have to use
|
||||
<strong>\*[RULE]</strong> in conjunction with the
|
||||
<a href="goodies.html#PAD"><strong>PAD</strong></a>
|
||||
macro and
|
||||
<a href="typesetting.html#STRING_TABS">string tabs</a>.
|
||||
(See the example provided with
|
||||
<a href="goodies.html#PAD_EXAMPLE"><strong>.PAD</strong></a>.
|
||||
<p>
|
||||
See groff's
|
||||
<a href="#INLINE_LINEDRAWING_GROFF">Horizontal line drawing function</a>
|
||||
|
@ -179,7 +179,7 @@ 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
|
||||
"you're stuck with what you 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.
|
||||
|
@ -212,6 +212,7 @@ p Output line horiz position at end of $PAD_STRING
|
||||
#Q_AT_TOP Does a quote start at the top of a new page? (toggle)
|
||||
#QUAD In autoquad mode? (toggle)
|
||||
#RESTORE_LEAD Lead value in effect prior to AUTOLEAD
|
||||
#RESTORE_LINE_LENGTH Restores actual line length in RULE
|
||||
#RESTORE_PT_SIZE Stores current point size (in units) prior to underscore
|
||||
#R_INDENT Value of right indent
|
||||
#RLD RLD value
|
||||
@ -242,6 +243,7 @@ u Horiz position of start of underscore
|
||||
+++STRINGS+++
|
||||
|
||||
$COND_PERCENT Percentage by which to pseudo-condense type
|
||||
$CURRENT_QUAD Restores current quad value in RULE
|
||||
$CURRENT_TAB Current tab number
|
||||
$DC_ADJUST +|- # of points to subtract from dropcap
|
||||
$DC_FAM Drop cap family
|
||||
@ -352,12 +354,13 @@ DOCUMENT PROCESSING
|
||||
|
||||
Document info
|
||||
-------------
|
||||
AUTHOR Author
|
||||
CHAPTER Chapter number
|
||||
DRAFT Draft number
|
||||
REVISION Revision number
|
||||
SUBTITLE Doc subtitle
|
||||
TITLE Doc title
|
||||
AUTHOR Author
|
||||
CHAPTER Chapter number
|
||||
CHAPTER_TITLE Chapter title
|
||||
DRAFT Draft number
|
||||
REVISION Revision number
|
||||
SUBTITLE Doc subtitle
|
||||
TITLE Doc title
|
||||
|
||||
Document style
|
||||
--------------
|
||||
@ -408,6 +411,9 @@ BLOCKQUOTE_FONT Font to use in blockquotes
|
||||
BLOCKQUOTE_QUAD How to quad blockquotes
|
||||
BLOCKQUOTE_SIZE How much to de/increase point size of bquotes
|
||||
CHAPTER_STRING What to print whenever the word "chapter" is required
|
||||
CHAPTER_TITLE_FAMILY Family to use for chapter title in doc header
|
||||
CHAPTER_TITLE_FONT Font to use for chapter title in doc header
|
||||
CHAPTER_TITLE_SIZE ps in/decrease of chapter title (relative to size of running text)
|
||||
COLUMNS Print in columns
|
||||
DOC_FAMILY Overall doc family
|
||||
DOCHEADER_ADVANCE Start position of docheader (relative to top of page)
|
||||
@ -608,7 +614,6 @@ TRAPS Sets hdrftr traps; optionally adjusts #DOC_LEAD to fill pag
|
||||
#CAP_HEIGHT_ADJUST Tallest cap height of strings LEFT, CENTER, and RIGHT in footers; used to place rule over footer
|
||||
#CAPS_WAS_ON In HDRFTR, to re-enable running text CAPS (toggle)
|
||||
#CENTER_CAP_HEIGHT Cap height of center string in headers/footers
|
||||
#CHAPTER The chapter number
|
||||
#CLOSING Is there a closing (for letters)? 1=yes
|
||||
#COL_L_LENGTH Line length of columns
|
||||
#COL_NEXT Was COL_NEXT invoked? (toggle; used in FOOTER)
|
||||
@ -801,12 +806,19 @@ $AUTHOR_1...9 Document author(s)
|
||||
$AUTHOR_FAM Family to use for author in doc header
|
||||
$AUTHOR_FT Font to use for author in doc header
|
||||
$AUTHOR_SIZE_CHANGE ps in/decrease of author in doc header*
|
||||
$AUTHOR_PT_SIZE Absolute ps of authors
|
||||
$BQUOTE_FAM Family to use for blockquotes
|
||||
$BQUOTE_FT Font to use for blockquotes
|
||||
$BQUOTE_QUAD Quad value for blockquotes
|
||||
$BQUOTE_SIZE_CHANGE ps in/decrease of blockquotes*
|
||||
$CENTER_TITLE What to put in the middle of header title
|
||||
$CHAPTER The chapter number
|
||||
$CHAPTER_STRING What to print whenever the word "chapter" is required
|
||||
$CHAPTER_TITLE Chapter title (if there is one)
|
||||
$CHAPTER_TITLE_FAM Family of chapter title
|
||||
$CHAPTER_TITLE_FT Font of chapter title
|
||||
$CHAPTER_TITLE_SIZE_CHANGE ps in/decrease of chapter title*
|
||||
$CHAPTER_TITLE_PT_SIZE Absolute ps of chapter title
|
||||
$COPY_STYLE DRAFT or FINAL
|
||||
$DOC_FAM Predominant font family used in the document
|
||||
$DOC_QUAD Quad used for body text (justified or left)
|
||||
@ -814,6 +826,7 @@ $DOC_TYPE Document type (default, chapter, named, letter)
|
||||
$DOCTYPE_FAM Family to use for DOCTYPE string in doc header
|
||||
$DOCTYPE_FT Font to use for DOCTYPE string in doc header
|
||||
$DOCTYPE_SIZE_CHANGE ps in/decrease of DOCTYPE string in doc header*
|
||||
$DOCTYPE_PT_SIZE Absolute ps of DOCTYPE
|
||||
$DRAFT_STRING What to print whenever the word "draft" is required
|
||||
$EN_FAMILY Family for endnotes
|
||||
$EN_FT Font for endnotes
|
||||
@ -880,11 +893,13 @@ $SH_SIZE_CHANGE ps in/decrease of subheads*
|
||||
$SUBTITLE Document subtitle
|
||||
$SUBTITLE_FAM Family to use for subtitle in doc header
|
||||
$SUBTITLE_FT Font to use for subtitle in doc header
|
||||
$SUBTITLE_SIZE_CHANGE Font to use for subtitle in doc header
|
||||
$SUBTITLE_SIZE_CHANGE ps in/decrease of subtitle*
|
||||
$SUBTITLE_PT_SIZE Absolute ps of subtitle
|
||||
$SUITE The #SUITE number register
|
||||
$TITLE Document title
|
||||
$TITLE_FAM Family to use for title in doc header
|
||||
$TITLE_FT Font to use for title in doc header
|
||||
$TITLE_PT_SIZE Absolute point size of title in docheader
|
||||
$TITLE_SIZE_CHANGE ps in/decrease of title in doc header*
|
||||
$USERDEF_HDRFTR_RECTO User defined header/footer recto string
|
||||
$USERDEF_HDRFTR_VERSO User defined header/footer verso string
|
||||
|
@ -115,8 +115,9 @@
|
||||
<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>
|
||||
<li><a href="docprocessing.html#CHAPTER_TITLE">5.3.2.5 CHAPTER_TITLE</a>
|
||||
<li><a href="docprocessing.html#DRAFT">5.3.2.6 DRAFT</a>
|
||||
<li><a href="docprocessing.html#REVISION">5.3.2.7 REVISION</a>
|
||||
</ul>
|
||||
<li><a href="docprocessing.html#DOCSTYLE_MACROS"><strong>5.3.3 The Docstyle Macros</strong></a>
|
||||
<ul>
|
||||
|
@ -1085,14 +1085,21 @@ systems, where it stood for "End Line." Conceptually,
|
||||
with no linefeed.
|
||||
|
||||
<p>
|
||||
Every once in a while, the need arises for breaking a line without
|
||||
advancing on the page. Imagine, for example, that you're working from
|
||||
marked-up copy. The markup indicates 24 points of space between
|
||||
two given lines, but the prevailing line spacing is 12.5 points.
|
||||
You may find it more convenient to break the first line with
|
||||
<strong>EL</strong> and instruct <strong>mom</strong> to advance 24
|
||||
points to the next line, rather than calculating the lead that needs
|
||||
to be added to 12.5 to get 24. To demonstrate:
|
||||
<em>Note to groff jocks:</em> <strong>EL</strong> is
|
||||
unrelated to groff's <strong>.el</strong>. If you find the
|
||||
similarity confusing, you may want to alias <strong>EL</strong> as
|
||||
<strong>EOL</strong>.
|
||||
|
||||
<p>
|
||||
<strong>EL</strong>'s function is simple: it breaks a line without
|
||||
advancing on the page. As an example of where you might use it,
|
||||
imagine that you're working from marked-up copy. The markup
|
||||
indicates 24 points of space between two given lines, but the
|
||||
prevailing line spacing is 12.5 points. You may find it more
|
||||
convenient to break the first line with <strong>EL</strong> and
|
||||
instruct <strong>mom</strong> to advance 24 points to the next line
|
||||
instead of calculating the lead that needs to be added to 12.5 to
|
||||
get 24. To demonstrate:
|
||||
<p>
|
||||
<pre>
|
||||
.LS 12.5
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\"
|
||||
.\" Mom -- a typesetting/document-processing macro set for groff.
|
||||
.\"
|
||||
.\" Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
.\" Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
.\" Written by Peter Schaffter (df191@ncf.ca)
|
||||
.\"
|
||||
.\" This file is part of groff.
|
||||
@ -23,7 +23,7 @@
|
||||
.\"
|
||||
.
|
||||
.
|
||||
\# Version 1.1.4
|
||||
\# Version 1.1.5
|
||||
\# -------------
|
||||
\#
|
||||
.if (\n[.x]\n[.y] < 118) \
|
||||
@ -442,10 +442,6 @@
|
||||
.ds PREV \EfP
|
||||
.ds S \Es
|
||||
\#
|
||||
\# ADDITIONAL STRINGS
|
||||
\# ------------------
|
||||
.ds RULE \El'\En(.lu'
|
||||
\#
|
||||
\#
|
||||
\# =====================================================================
|
||||
\#
|
||||
@ -1629,7 +1625,7 @@
|
||||
\[`a] \[^a] \['a] \[:a] \[oa] \[~a] \[ae] \[`e] \[^e] \['e] \[:e] \[`i] \
|
||||
\[^i] \['i] \[:i] \[`o] \[^o] \['o] \[:o] \[~o] \[/o] \[`u] \[^u] \['u] \
|
||||
\[:u] \[,c] \[Sd] \[~n] \[Tp] \['y] \[:y] \[ss] \
|
||||
1 2 3 4 5 6 7 8 9 0
|
||||
' 1 2 3 4 5 6 7 8 9 0
|
||||
. \}
|
||||
.END
|
||||
\#
|
||||
@ -1788,7 +1784,7 @@
|
||||
\[`a] \[^a] \['a] \[:a] \[oa] \[~a] \[ae] \[`e] \[^e] \['e] \[:e] \[`i] \
|
||||
\[^i] \['i] \[:i] \[`o] \[^o] \['o] \[:o] \[~o] \[/o] \[`u] \[^u] \['u] \
|
||||
\[:u] \[,c] \[Sd] \[~n] \[Tp] \['y] \[:y] \[ss] \
|
||||
1 2 3 4 5 6 7 8 9 0
|
||||
' 1 2 3 4 5 6 7 8 9 0
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
@ -2282,6 +2278,35 @@
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
\# RULE
|
||||
\# ----
|
||||
\# *Argument:
|
||||
\# <none>
|
||||
\# *Function:
|
||||
\# Draws a rule the length of the current measure.
|
||||
\# *Notes:
|
||||
\#
|
||||
.MAC RULE END
|
||||
. if \\n(.j=1 \{\
|
||||
. ds $CURRENT_QUAD \\*[$QUAD_VALUE]
|
||||
. nf
|
||||
. \}
|
||||
. ie \\n[#INDENT_ACTIVE] \{\
|
||||
. nr #RESTORE_L_LENGTH \\n(.l
|
||||
. if \\n[#INDENT_BOTH_ACTIVE] \{ .ll \\n(.lu-\\n[#BL_INDENT]u \}
|
||||
. if \\n[#INDENT_LEFT_ACTIVE] \{ .ll \\n(.lu-\\n[#L_INDENT]u \}
|
||||
. PRINT \El'\En(.lu'
|
||||
. ll \\n[#RESTORE_L_LENGTH]u
|
||||
. rr #RESTORE_L_LENGTH]u
|
||||
. \}
|
||||
. el \{\
|
||||
. PRINT \El'\En(.lu'
|
||||
. \}
|
||||
. QUAD \\*[$CURRENT_QUAD]
|
||||
. rm $CURRENT_QUAD
|
||||
. EL
|
||||
.END
|
||||
\#
|
||||
\# =====================================================================
|
||||
\#
|
||||
\# +++WORD AND SENTENCE SPACING+++
|
||||
@ -3201,7 +3226,7 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. nr #COPY_STYLE 1
|
||||
. if !r#DRAFT \{ .DRAFT 1 \}
|
||||
. \}
|
||||
. if '\\*[$COPY_STYLE]'FINAL' \{ .nr #COPY_STYLE 2 \}
|
||||
. if '\\*[$COPY_STYLE]'FINAL' \{ .nr #COPY_STYLE 2 \}
|
||||
. if !d$CHAPTER_STRING \{ .CHAPTER_STRING "Chapter" \}
|
||||
. if !d$DRAFT_STRING \{ .DRAFT_STRING "Draft" \}
|
||||
. if !d$REVISION_STRING \{ .REVISION_STRING "Rev." \}
|
||||
@ -3235,49 +3260,106 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. \}
|
||||
\# Chapter
|
||||
. if \\n[#DOC_TYPE]=2 \{\
|
||||
\# Copystyle DRAFT
|
||||
. ie \\n[#COPY_STYLE]=1 \{\
|
||||
. ie \\n[#PAGENUM_STYLE_SET] \{ .PAGENUM_STYLE \\*[$PAGENUM_STYLE] \}
|
||||
. el \{ .PAGENUM_STYLE roman \}
|
||||
. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{\
|
||||
. ie \\n[#DRAFT_WITH_PAGENUM] \{\
|
||||
. ie '\\*[$CHAPTER]'' \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
|
||||
. el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \}
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie !\\n[#REVISION] \{\
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_TITLE], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING] \\*[$CHAPTER], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_TITLE], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING] \\*[$CHAPTER], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT]
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. el \{\
|
||||
\\*[$CHAPTER_STRING], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_TITLE], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. \}
|
||||
. \}
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING] \\*[$CHAPTER], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. el \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_TITLE], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \
|
||||
\\*[$CHAPTER_STRING] \\*[$CHAPTER], \
|
||||
\\*[$DRAFT_STRING] \\n[#DRAFT], \
|
||||
\\*[$REVISION_STRING] \\n[#REVISION]
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
\# Copystyle FINAL
|
||||
. el \{\
|
||||
. if \\n[#USER_DEF_HDRFTR_CENTER]=0 \{\
|
||||
. ie \\n[#PAGENUM_STYLE_SET] \{ .PAGENUM_STYLE \\*[$PAGENUM_STYLE] \}
|
||||
. el \{ .PAGENUM_STYLE DIGIT \}
|
||||
. ie '\\*[$CHAPTER]'' \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \}
|
||||
. el \{ .ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \\*[$CHAPTER_STRING]
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ds $HDRFTR_CENTER \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{\
|
||||
. ds $HDRFTR_CENTER \\*[$CHAPTER_STRING] \\*[$CHAPTER]
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
@ -3339,6 +3421,11 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC CHAPTER_TITLE END \" This defines what comes after Chapter #
|
||||
. ds $CHAPTER_TITLE \\$1
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC DRAFT END \"Draft number
|
||||
. nr #DRAFT \\$1
|
||||
.END
|
||||
@ -3354,7 +3441,7 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC AUTHOR END \"Author. Use "..." with this macro.
|
||||
.MAC AUTHOR END \"Author. Enclose all args fully in double quotes.
|
||||
. nr #AUTHOR_NUM -1 1
|
||||
. while \\n[#NUM_ARGS]>\\n[#AUTHOR_NUM] \{\
|
||||
. ds $AUTHOR_\\n+[#AUTHOR_NUM] \\$\\n[#AUTHOR_NUM]
|
||||
@ -3492,6 +3579,7 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. br
|
||||
. nr #CLOSING 1
|
||||
. di CLOSING
|
||||
. LEFT
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
@ -3662,13 +3750,24 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. \}
|
||||
\# Defaults for printstyle TYPESET
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. if !#DOCHEADER_LEAD \{ .DOCHEADER_LEAD +0 \}
|
||||
. if !r#DOCHEADER_LEAD_ADJ \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. ie !'\\*[$CHAPTER_STRING]'' \{\
|
||||
. DOCHEADER_LEAD +4p
|
||||
. \}
|
||||
. el \{ .DOCHEADER_LEAD +0 \}
|
||||
. \}
|
||||
. el \{ .DOCHEADER_LEAD +0 \}
|
||||
. \}
|
||||
. if !d$TITLE_FAM \{ .TITLE_FAMILY \\*[$DOC_FAM] \}
|
||||
. if !d$TITLE_FT \{ .TITLE_FONT B \}
|
||||
. if !d$TITLE_SIZE_CHANGE \{\
|
||||
. ie \\n[#DOC_TYPE]=2 \{ .TITLE_SIZE +4 \}
|
||||
. el \{ .TITLE_SIZE +3.5 \}
|
||||
. \}
|
||||
. if !d$CHAPTER_TITLE_FAM \{ .CHAPTER_TITLE_FAMILY \\*[$DOC_FAM] \}
|
||||
. if !d$CHAPTER_TITLE_FT \{ .CHAPTER_TITLE_FONT BI \}
|
||||
. if !d$CHAPTER_TITLE_SIZE_CHANGE \{ .CHAPTER_TITLE_SIZE +4 \}
|
||||
. if !d$SUBTITLE_FAM \{ .SUBTITLE_FAMILY \\*[$DOC_FAM] \}
|
||||
. if !d$SUBTITLE_FT \{ .SUBTITLE_FONT R \}
|
||||
. if !d$SUBTITLE_SIZE_CHANGE \{ .SUBTITLE_SIZE +0 \}
|
||||
@ -3762,6 +3861,113 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
\# are stored in #DOC_L_LENGTH, $DOC_FAM, and #DOC_PT_SIZE for
|
||||
\# use in the HEADER and FOOTER macros.
|
||||
\#
|
||||
.\" First, define some strings for point sizes
|
||||
\#
|
||||
.ds $TITLE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$TITLE_SIZE_CHANGE]
|
||||
.ds $CHAPTER_TITLE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$CHAPTER_TITLE_SIZE_CHANGE]
|
||||
.ds $SUBTITLE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$SUBTITLE_SIZE_CHANGE]
|
||||
.ds $AUTHOR_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$AUTHOR_SIZE_CHANGE]
|
||||
.ds $DOCTYPE_PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$DOCTYPE_SIZE_CHANGE]
|
||||
\#
|
||||
.\" Next, some utility macros for various routines to prevent repetition
|
||||
\#
|
||||
.MAC PRINT_AUTHORS END
|
||||
. nr #AUTHORS \\n[#AUTHOR_NUM]
|
||||
. nr #NEXT_AUTHOR 0 1
|
||||
. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\
|
||||
. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]
|
||||
. \}
|
||||
.END
|
||||
\#
|
||||
.MAC DEFAULT_DOCHEADER END
|
||||
. CENTER
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\*[$TITLE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. PRINT \\*[$TITLE]
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. FAMILY \\*[$SUBTITLE_FAM]
|
||||
. FT \\*[$SUBTITLE_FT]
|
||||
. PT_SIZE \\*[$SUBTITLE_PT_SIZE]
|
||||
. PRINT \\*[$SUBTITLE]
|
||||
. \}
|
||||
. if !'\\*[$AUTHOR_1]'' \{\
|
||||
. FAMILY \\*[$AUTHOR_FAM]
|
||||
. FT \\*[$AUTHOR_FT]
|
||||
. PT_SIZE \\*[$AUTHOR_PT_SIZE]
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. PRINT_AUTHORS
|
||||
. \}
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC CHAPTER_DOCHEADER END
|
||||
. CENTER
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\*[$TITLE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$CHAPTER_TITLE_FAM]
|
||||
. FT \\*[$CHAPTER_TITLE_FT]
|
||||
. PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. \}
|
||||
. PRINT \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{\
|
||||
. PRINT \\*[$CHAPTER_STRING]
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER]
|
||||
. if !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{ .PRINT \\*[$CHAPTER_TITLE] \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$CHAPTER_TITLE_FAM]
|
||||
. FT \\*[$CHAPTER_TITLE_FT]
|
||||
. PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. PRINT \\*[$CHAPTER_TITLE]
|
||||
. RLD \\n[#DOC_LEAD]u \" Just looks better this way
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC NAMED_DOCHEADER END
|
||||
. CENTER
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\*[$TITLE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. PRINT \\*[$TITLE]
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. FAMILY \\*[$SUBTITLE_FAM]
|
||||
. FT \\*[$SUBTITLE_FT]
|
||||
. PT_SIZE \\*[$SUBTITLE_PT_SIZE]
|
||||
. PRINT \\*[$SUBTITLE]
|
||||
. \}
|
||||
. if !'\\*[$AUTHOR_1]'' \{\
|
||||
. FAMILY \\*[$AUTHOR_FAM]
|
||||
. FT \\*[$AUTHOR_FT]
|
||||
. PT_SIZE \\*[$AUTHOR_PT_SIZE]
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. PRINT_AUTHORS
|
||||
. \}
|
||||
. FAMILY \\*[$DOCTYPE_FAM]
|
||||
. FT \\*[$DOCTYPE_FT]
|
||||
. PT_SIZE \\*[$DOCTYPE_PT_SIZE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. ALD \\n[#DOCHEADER_LEAD]u
|
||||
. UNDERSCORE "\\*[$DOC_TYPE]
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
.MAC START END
|
||||
. if !\\n[#PRINT_STYLE] \{\
|
||||
. PRINTSTYLE TYPEWRITE
|
||||
@ -3805,7 +4011,6 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. if r#ADVANCE_FROM_TOP \{ .rr #ADVANCE_FROM_TOP \}
|
||||
. \}
|
||||
. el \{\
|
||||
. nr #DOCHEADER_LINES 0 1
|
||||
. if \\n[#PRINT_STYLE]=2 \{ .LS \\n[#DOC_LEAD]u+\\n[#DOCHEADER_LEAD_ADJ]u \}
|
||||
. nr #DOCHEADER_LEAD \\n[#LEAD]
|
||||
\# Default
|
||||
@ -3813,11 +4018,11 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. PRINT \&
|
||||
. sp |\\n[#DOCHEADER_ADVANCE]u-1v
|
||||
. ev TITLE
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. CENTER
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
@ -3826,82 +4031,53 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. CAPS
|
||||
. if !'\\*[$TITLE]'' \{ .UNDERSCORE "\\*[$TITLE]\}
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$TITLE_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. PRINT \\*[$TITLE]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. ev
|
||||
. ev SUBTITLE
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .vs \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .vs \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$SUBTITLE_FAM]
|
||||
. FT \\*[$SUBTITLE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$SUBTITLE_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. \}
|
||||
. PRINT \\*[$SUBTITLE]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. \}
|
||||
. if '\\*[$SUBTITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. \}
|
||||
. if '\\*[$SUBTITLE]'' \{\
|
||||
. ALD \\n[#DOC_LEAD]u
|
||||
. \}
|
||||
. \}
|
||||
. ev
|
||||
. ev AUTHOR
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if !'\\*[$AUTHOR_1]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. ie !'\\*[$AUTHOR_1]'' \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .vs \\n[#DOC_LEAD]u \}
|
||||
. el \{ .vs \\n[#DOC_LEAD]u/2u \}
|
||||
. if !d$SUBTITLE \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u*2u \}
|
||||
. ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u*2u \}
|
||||
. \}
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. nr #AUTHORS \\n[#AUTHOR_NUM]
|
||||
. nr #NEXT_AUTHOR 0 1
|
||||
. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\
|
||||
. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$AUTHOR_FAM]
|
||||
. FT \\*[$AUTHOR_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$AUTHOR_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. \}
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. nr #AUTHORS \\n[#AUTHOR_NUM]
|
||||
. nr #NEXT_AUTHOR 0 1
|
||||
. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\
|
||||
. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. if \\n[#AUTHOR_LINES]=1 \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u/2u \}
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie !d$SUBTITLE \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. DEFAULT_DOCHEADER
|
||||
. di DOCHEADER_DIVERSION \" This diversion is only
|
||||
. br \" necessary to find the depth of the
|
||||
. DEFAULT_DOCHEADER \" docheader
|
||||
. br
|
||||
. di
|
||||
. nr #DOCHEADER_DEPTH \\n(dn-\\n[#DOCHEADER_LEAD] \"Storing the depth (height) of the diversion
|
||||
. \"in #DOCHEADER_DEPTH
|
||||
. rm DOCHEADER_DIVERSION \" Removing the diversion macro
|
||||
. \}
|
||||
. ev
|
||||
. \}
|
||||
@ -3913,29 +4089,44 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. CENTER
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. CENTER
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. ie \\n[#SINGLE_SPACE] \{ .vs \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .vs \\n[#DOC_LEAD]u \}
|
||||
. vs \\n[#DOC_LEAD]u
|
||||
. ie '\\*[$CHAPTER]'' \{\
|
||||
. CAPS
|
||||
. ie !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. PRINT \\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. el \{\
|
||||
. CAPS
|
||||
. PRINT \\*[$CHAPTER_STRING]
|
||||
. \}
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. el \{\
|
||||
. CAPS
|
||||
. PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER]
|
||||
. CAPS OFF
|
||||
. if !'\\*[$CHAPTER_TITLE]'' \{\
|
||||
. if \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. UNDERSCORE "\\*[$CHAPTER_TITLE]
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$TITLE_SIZE_CHANGE]
|
||||
. LS \\n[#DOC_LEAD]u
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. CAPS
|
||||
. ie '\\*[$CHAPTER]'' \{ .PRINT \\*[$CHAPTER_STRING] \}
|
||||
. el \{ .PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. ie '\\*[$CHAPTER]'' \{ .PRINT \\*[$CHAPTER_STRING] \}
|
||||
. el \{ .PRINT \\*[$CHAPTER_STRING] \\*[$CHAPTER] \}
|
||||
. CHAPTER_DOCHEADER
|
||||
. di DOCHEADER_DIVERSION \" This diversion is only
|
||||
. br \" necessary to find the depth of the
|
||||
. CHAPTER_DOCHEADER \" docheader
|
||||
. br
|
||||
. di
|
||||
. nr #DOCHEADER_DEPTH \\n(dn-\\n[#DOCHEADER_LEAD] \" Storing the depth (height) of the diversion
|
||||
. \" in #DOCHEADER_DEPTH
|
||||
. rm DOCHEADER_DIVERSION \" Removing the diversion macro
|
||||
. \}
|
||||
. ev
|
||||
. \}
|
||||
@ -3943,12 +4134,12 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. if \\n[#DOC_TYPE]=3 \{\
|
||||
. PRINT \&
|
||||
. sp |\\n[#DOCHEADER_ADVANCE]u-1v
|
||||
. ev TITLE
|
||||
. CENTER
|
||||
. ev NAMED
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. CENTER
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
@ -3957,101 +4148,40 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. CAPS
|
||||
. if !'\\*[$TITLE]'' \{ .UNDERSCORE "\\*[$TITLE]\}
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$TITLE_FAM]
|
||||
. FT \\*[$TITLE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$TITLE_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. PRINT \\*[$TITLE]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. CAPS OFF
|
||||
. \}
|
||||
. ev
|
||||
. ev SUBTITLE
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. if !'\\*[$SUBTITLE]'' \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .vs \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .vs \\n[#DOC_LEAD]u \}
|
||||
. PRINT \\*[$SUBTITLE]
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$SUBTITLE_FAM]
|
||||
. FT \\*[$SUBTITLE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$SUBTITLE_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. \}
|
||||
. PRINT \\*[$SUBTITLE]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. \}
|
||||
. if '\\*[$SUBTITLE]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. if '\\*[$SUBTITLE]'' \{\
|
||||
. ALD \\n[#DOC_LEAD]u
|
||||
. \}
|
||||
. \}
|
||||
. ev
|
||||
. ev AUTHOR
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if !'\\*[$AUTHOR_1]'' \{\
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. ie !'\\*[$AUTHOR_1]'' \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .vs \\n[#DOC_LEAD]u \}
|
||||
. el \{ .vs \\n[#DOC_LEAD]u/2u \}
|
||||
. if !d$SUBTITLE \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u*2u \}
|
||||
. ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u*2u \}
|
||||
. \}
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. nr #AUTHORS \\n[#AUTHOR_NUM]
|
||||
. nr #NEXT_AUTHOR 0 1
|
||||
. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\
|
||||
. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$AUTHOR_FAM]
|
||||
. FT \\*[$AUTHOR_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$AUTHOR_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. \}
|
||||
. PRINT \\*[$ATTRIBUTE_STRING]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. nr #AUTHORS \\n[#AUTHOR_NUM]
|
||||
. nr #NEXT_AUTHOR 0 1
|
||||
. while \\n[#AUTHORS]>\\n[#NEXT_AUTHOR] \{\
|
||||
. PRINT \\*[$AUTHOR_\\n+[#NEXT_AUTHOR]]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. if \\n[#AUTHOR_LINES]=1 \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u/2u \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. ev
|
||||
. ev DOCTYPE
|
||||
. CENTER
|
||||
. L_MARGIN \\n[#DOC_L_MARGIN]u
|
||||
. LL \\n[#DOC_L_LENGTH]u
|
||||
. ta \\n(.lu
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. fam C
|
||||
. ft R
|
||||
. ps 12
|
||||
. vs \\n[#DOC_LEAD]u
|
||||
. if '\\*[$AUTHOR_1]'' \{\
|
||||
. el \{\
|
||||
. ie !d$SUBTITLE \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \}
|
||||
. el \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .RLD \\n[#DOC_LEAD]u*2u \}
|
||||
. ie \\n[#SINGLE_SPACE] \{ . \}
|
||||
. el \{ .RLD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. \}
|
||||
@ -4061,40 +4191,24 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. if \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. FAMILY \\*[$DOCTYPE_FAM]
|
||||
. FT \\*[$DOCTYPE_FT]
|
||||
. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$DOCTYPE_SIZE_CHANGE]
|
||||
. LS \\n[#DOCHEADER_LEAD]u
|
||||
. ALD \\n[#DOCHEADER_LEAD]u
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. UNDERSCORE "\\*[$DOC_TYPE]
|
||||
. \\n+[#DOCHEADER_LINES]
|
||||
. NAMED_DOCHEADER
|
||||
. di DOCHEADER_DIVERSION \" This diversion is only
|
||||
. br \" necessary to find the depth of the
|
||||
. NAMED_DOCHEADER \" docheader
|
||||
. br
|
||||
. di
|
||||
. nr #DOCHEADER_DEPTH \\n(dn-\\n[#DOCHEADER_LEAD] \"Storing the depth (height) of the diversion
|
||||
. \"in #DOCHEADER_DEPTH
|
||||
. rm DOCHEADER_DIVERSION \" Removing the diversion macro
|
||||
. \}
|
||||
. ev
|
||||
. \}
|
||||
. if !\\n[#DOC_TYPE]=4 \{\
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. nr #DEPTH_1 \\n[#DOCHEADER_LINES]*\\n[#DOCHEADER_LEAD]
|
||||
. nr #DEPTH_2 \\n[#DOCHEADER_LINES]*\\n[#DOC_LEAD]
|
||||
. ie \\n[#DEPTH_1]<\\n[#DEPTH_2] \{\
|
||||
. nr #DOCHEADER_SPACE_ADJ \\n[#DEPTH_2]-\\n[#DEPTH_1]
|
||||
. \}
|
||||
. el \{\
|
||||
. nr #DOCHEADER_SPACE_ADJ \\n[#DEPTH_1]-\\n[#DEPTH_2]
|
||||
. \}
|
||||
. nr #DOCHEADER_EXTRA_SPACE \\n[#DOCHEADER_SPACE_ADJ] \\n[#DOC_LEAD]
|
||||
. while \\n[#DOCHEADER_EXTRA_SPACE]>\\n[#DOC_LEAD] \{\
|
||||
. \\n-[#DOCHEADER_EXTRA_SPACE]
|
||||
. \}
|
||||
. if \\n[#DOCHEADER_EXTRA_SPACE]>0 \{\
|
||||
. ie \\n[#DOCHEADER_LEAD_ADJ]<0 \{\
|
||||
. ALD \\n[#DOCHEADER_EXTRA_SPACE]u
|
||||
. \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u-\\n[#DOCHEADER_EXTRA_SPACE]u \}
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{ .ALD \\n[#DOC_LEAD]u*2u \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. nr #DOCHEADER_SPACE_ADJ \\n[#DOCHEADER_DEPTH]%\\n[#DOC_LEAD] \"Do we need the units?
|
||||
. ie !\\n[#DOCHEADER_SPACE_ADJ]=0 \{ .nr #DOCHEADER_EXTRA_SPACE \\n[#DOC_LEAD]u-\\n[#DOCHEADER_SPACE_ADJ]u \}
|
||||
. el \{ .nr #DOCHEADER_EXTRA_SPACE 0 \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{ .ALD (\\n[#DOC_LEAD]u*2u)+\\n[#DOCHEADER_EXTRA_SPACE]u \}
|
||||
. if \\n[#COLUMNS] \{\
|
||||
. nr #COL_NUM 0 1
|
||||
. nr #L_LENGTH_FOR_EPI \\n[#L_LENGTH]
|
||||
@ -4112,7 +4226,6 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. rr #DOCHEADER_ADVANCE
|
||||
. rr #ADVANCE_FROM_TOP
|
||||
. rr #DOCHEADER_SPACE_ADJ
|
||||
. rr #DOCHEADER_LINES
|
||||
. rr #DOCHEADER_EXTRA_SPACE
|
||||
. rr #AUTHORS
|
||||
. rr #NEXT_AUTHOR
|
||||
@ -4224,6 +4337,53 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
\# CHAPTER TITLE FAMILY
|
||||
\# --------------------
|
||||
\# *Argument:
|
||||
\# <family to use for the chapter title, if there is one>
|
||||
\# *Function:
|
||||
\# Creates or modifies string $CHAPTER_TITLE_FAM.
|
||||
\# *Notes:
|
||||
\# Default isame as running text.
|
||||
\#
|
||||
.MAC CHAPTER_TITLE_FAMILY END
|
||||
. ds $CHAPTER_TITLE_FAM \\$1
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
\# CHAPTER TITLE FONT
|
||||
\# ------------------
|
||||
\# *Argument:
|
||||
\# <font to use for the chapter title, if there is one>
|
||||
\# *Function:
|
||||
\# Creates or modifies string $CHAPTER_TITLE_FT.
|
||||
\# *Notes:
|
||||
\# Default is bold italic for TYPESET; varies in TYPEWRITE between
|
||||
\# caps and underscored, depending on whether chapter title stands
|
||||
\# alone or has CHAPTER # above it.
|
||||
\#
|
||||
.MAC CHAPTER_TITLE_FONT END
|
||||
. ds $CHAPTER_TITLE_FT \\$1
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
\# CHAPTER TITLE SIZE
|
||||
\# ------------------
|
||||
\# *Argument:
|
||||
\# <+|- number of points by which to in/decrease title at start
|
||||
\# of the document (relative to running text)>
|
||||
\# *Function:
|
||||
\# Creates string $CHAPTER_TITLE_SIZE_CHANGE.
|
||||
\# *Notes:
|
||||
\# Must be preceded by a +|- sign, with no space afterwards.
|
||||
\# Fractional point sizes are allowed.
|
||||
\# Default is +4 for printstyle TYPESET
|
||||
\#
|
||||
.MAC CHAPTER_TITLE_SIZE END
|
||||
. ds $CHAPTER_TITLE_SIZE_CHANGE \\$1
|
||||
.END
|
||||
\#
|
||||
\#
|
||||
\# SUBTITLE FAMILY
|
||||
\# ---------------
|
||||
\# *Argument:
|
||||
@ -4850,11 +5010,8 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. ie \\n[#START] \{\
|
||||
. nr #EPI_WHITESPACE (\\n[#DOC_LEAD]*\\n[#EPI_LINES])-\\n[#EPI_DEPTH]
|
||||
. while \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{ .nr #EPI_WHITESPACE -\\n[#DOC_LEAD] \}
|
||||
. RLD \\n[#DOC_LEAD]u
|
||||
. ie \\n[#PRINT_STYLE]=1 \{\
|
||||
. if \\n[#EPI_WHITESPACE]=\\n[#DOC_LEAD] \{ .ALD \\n[#EPI_WHITESPACE]u/2u \}
|
||||
. \}
|
||||
. el \{\
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. RLD \\n[#DOC_LEAD]u
|
||||
. if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\
|
||||
. ALD \\n[#EPI_LEAD_DIFF]u+(\\n[#EPI_WHITESPACE]u/2u)
|
||||
. \}
|
||||
@ -4905,11 +5062,19 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. EPI_TEXT
|
||||
. br
|
||||
. ie \\n[#START] \{\
|
||||
. if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\
|
||||
. ALD \\n[#EPI_WHITESPACE]u/2u
|
||||
. if \\n[#PRINT_STYLE]=1 \{\
|
||||
. ie \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. el \{\
|
||||
. if \\n[#EPI_WHITESPACE]=\\n[#DOC_LEAD] \{ .ALD \\n[#DOC_LEAD]u/2u \}
|
||||
. \}
|
||||
. \}
|
||||
. if \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\
|
||||
. ALD (\\n[#EPI_WHITESPACE]u/2u)-\\n[#DOC_LEAD]u
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. if \\n[#EPI_WHITESPACE]<\\n[#DOC_LEAD] \{\
|
||||
. ALD \\n[#EPI_WHITESPACE]u/2u
|
||||
. \}
|
||||
. if \\n[#EPI_WHITESPACE]>\\n[#DOC_LEAD] \{\
|
||||
. ALD (\\n[#EPI_WHITESPACE]u/2u)-\\n[#DOC_LEAD]u
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. el \{\
|
||||
@ -6382,7 +6547,7 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. if r#EPIGRAPH \{ .rr #EPIGRAPH \}
|
||||
. if \\n[#PRINT_STYLE]=1 \{ .ne 3 \}
|
||||
. if \\n[#PRINT_STYLE]=2 \{\
|
||||
. ie \\n[#HEAD_SPACE] \{ .ne 5 \}
|
||||
. ie \\n[#HEAD_SPACE] \{ .ne 4 \}
|
||||
. el \{ .ne 3 \}
|
||||
. \}
|
||||
. ie \\n[#START] \{\
|
||||
@ -7492,9 +7657,13 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. ie \\n[#START] \{ . \}
|
||||
. el \{\
|
||||
. ie \\n[#FULLSPACE_QUOTES] \{\
|
||||
. ALD \\n[#DOC_LEAD]u
|
||||
. ie \\n[#ENDNOTE] \{ .ALD \\n[#EN_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. el \{\
|
||||
. ie \\n[#ENDNOTE] \{ .ALD \\n[#EN_LEAD]u/2u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u/2u \}
|
||||
. \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u/2u \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
@ -7503,7 +7672,10 @@ y\\R'#DESCENDER \\n[.cdp]'
|
||||
. ie r#HEAD \{\
|
||||
. if \\n[#HEAD]=1 \{ . \}
|
||||
. \}
|
||||
. el \{ .ALD \\n[#EN_LEAD]u \}
|
||||
. el \{\
|
||||
. ie \\n[#ENDNOTE] \{ .ALD \\n[#EN_LEAD]u \}
|
||||
. el \{ .ALD \\n[#DOC_LEAD]u \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
. \}
|
||||
|
@ -32,7 +32,7 @@
|
||||
# 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 $
|
||||
# $Id: pic2graph.sh,v 1.3 2002/12/21 08:32:56 wlemb Exp $
|
||||
#
|
||||
groffpic_opts=""
|
||||
gs_opts=""
|
||||
@ -44,7 +44,7 @@ while [ "$1" ]
|
||||
do
|
||||
case $1 in
|
||||
-unsafe)
|
||||
groffpic_opts="-U"
|
||||
groffpic_opts="-U";;
|
||||
-format)
|
||||
format=$2
|
||||
shift;;
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -32,7 +32,12 @@ srcdir=@srcdir@
|
||||
top_srcdir=@top_srcdir@
|
||||
VPATH=@srcdir@
|
||||
top_builddir=@groff_top_builddir@
|
||||
pnmtops=@pnmtops_nosetpage@
|
||||
|
||||
# These may be overridden if cross-compiling.
|
||||
TROFFBIN=$(top_builddir)/src/roff/troff/troff
|
||||
GROFFBIN=$(top_builddir)/src/roff/groff/groff
|
||||
GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
# Since info files are distributed within the groff package, no
|
||||
# autoconf test for the makeinfo binary is done.
|
||||
@ -58,7 +63,6 @@ groff_bin_dirs=\
|
||||
$(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.
|
||||
@ -67,13 +71,13 @@ 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
|
||||
TROFF=$(TROFFBIN) $(TFLAG) $(FFLAG) -ww
|
||||
GROFF=GROFF_COMMAND_PREFIX=''; \
|
||||
export GROFF_COMMAND_PREFIX; \
|
||||
GROFF_BIN_PATH=$(groff_bin_path); \
|
||||
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
|
||||
| $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
|
||||
|
||||
imagedir=img
|
||||
|
||||
@ -110,7 +114,7 @@ groff: groff.texinfo
|
||||
$(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
|
||||
|
||||
gnu.eps: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn >$@
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | $(pnmtops) -noturn >$@
|
||||
gnu.png: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
# Written by Werner Lemberg <wl@gnu.org>
|
||||
#
|
||||
# This file is part of groff.
|
||||
@ -17,6 +17,10 @@
|
||||
# with groff; see the file COPYING. If not, write to the Free Software
|
||||
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
# These may be overridden if cross-compiling.
|
||||
GROFFBIN=$(top_builddir)/src/roff/groff/groff
|
||||
GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's| *|:|g'`
|
||||
|
||||
# Since info files are distributed within the groff package, no
|
||||
# autoconf test for the makeinfo binary is done.
|
||||
MAKEINFO=makeinfo
|
||||
@ -33,7 +37,6 @@ groff_bin_dirs=\
|
||||
$(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
|
||||
@ -41,10 +44,10 @@ TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
|
||||
GROFF=\
|
||||
GROFF_COMMAND_PREFIX=''; \
|
||||
export GROFF_COMMAND_PREFIX; \
|
||||
GROFF_BIN_PATH=$(groff_bin_path); \
|
||||
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
|
||||
| $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
|
||||
|
||||
DOCFILES=\
|
||||
meref.me \
|
||||
@ -122,7 +125,8 @@ groff: groff.texinfo
|
||||
$(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
|
||||
|
||||
gnu.eps: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn -rle >$@
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \
|
||||
$(pnmtops_nosetpage) -noturn -rle >$@
|
||||
gnu.png: gnu.xpm
|
||||
xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,282 +17,285 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
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
|
||||
groff-1: 1006
|
||||
groff-2: 48734
|
||||
groff-3: 96786
|
||||
groff-4: 143635
|
||||
groff-5: 193057
|
||||
groff-6: 242522
|
||||
groff-7: 290092
|
||||
groff-8: 338472
|
||||
groff-9: 384440
|
||||
groff-10: 430986
|
||||
groff-11: 456663
|
||||
|
||||
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
|
||||
Node: Top1006
|
||||
Node: Introduction2301
|
||||
Node: What Is groff?2775
|
||||
Node: What Is groff?-Footnotes4281
|
||||
Ref: What Is groff?-Footnote-14350
|
||||
Node: History4387
|
||||
Node: groff Capabilities9338
|
||||
Node: Macro Package Intro10524
|
||||
Node: Preprocessor Intro11147
|
||||
Node: Output device intro12643
|
||||
Node: Credits13107
|
||||
Node: Invoking groff13611
|
||||
Node: Groff Options14903
|
||||
Node: Environment24409
|
||||
Node: Macro Directories26236
|
||||
Node: Font Directories27562
|
||||
Node: Paper Size29204
|
||||
Node: Invocation Examples30549
|
||||
Node: Invocation Examples-Footnotes31741
|
||||
Ref: Invocation Examples-Footnote-131820
|
||||
Node: grog32053
|
||||
Node: Tutorial for Macro Users33322
|
||||
Node: Basics33742
|
||||
Node: Basics-Footnotes38557
|
||||
Ref: Basics-Footnote-138610
|
||||
Ref: Basics-Footnote-238704
|
||||
Node: Common Features38818
|
||||
Node: Paragraphs39604
|
||||
Node: Sections and Chapters41102
|
||||
Node: Headers and Footers41593
|
||||
Node: Page Layout Adjustment42466
|
||||
Node: Displays42733
|
||||
Node: Footnotes and Annotations43991
|
||||
Node: Table of Contents44650
|
||||
Node: Indices45164
|
||||
Node: Paper Formats45566
|
||||
Node: Multiple Columns45939
|
||||
Node: Font and Size Changes46187
|
||||
Node: Predefined Strings46489
|
||||
Node: Preprocessor Support46825
|
||||
Node: Configuration and Customization47379
|
||||
Node: Macro Packages47746
|
||||
Node: man48302
|
||||
Node: Man options48734
|
||||
Node: Man usage51159
|
||||
Node: Man font macros57184
|
||||
Node: Miscellaneous man macros58997
|
||||
Node: Predefined man strings60715
|
||||
Node: Preprocessors in man pages61267
|
||||
Node: Optional man extensions61881
|
||||
Node: mdoc65860
|
||||
Node: ms66029
|
||||
Node: ms Intro66505
|
||||
Node: General ms Structure67174
|
||||
Node: General ms Structure-Footnotes69615
|
||||
Ref: General ms Structure-Footnote-169696
|
||||
Node: ms Document Control Registers69742
|
||||
Node: ms Cover Page Macros72798
|
||||
Node: ms Body Text75716
|
||||
Node: Paragraphs in ms76185
|
||||
Node: Headings in ms77738
|
||||
Node: Highlighting in ms78524
|
||||
Node: Lists in ms80986
|
||||
Node: Indents in ms84219
|
||||
Node: Tabstops in ms84785
|
||||
Node: ms Displays and Keeps85182
|
||||
Node: ms Insertions88634
|
||||
Node: Example multi-page table90185
|
||||
Node: ms Footnotes90628
|
||||
Node: ms Page Layout91500
|
||||
Node: ms Headers and Footers92017
|
||||
Node: ms Margins93040
|
||||
Node: ms Multiple Columns93281
|
||||
Node: ms TOC94082
|
||||
Node: ms Strings and Special Characters96786
|
||||
Node: ms Strings and Special Characters-Footnotes99442
|
||||
Ref: ms Strings and Special Characters-Footnote-199549
|
||||
Node: Differences from AT&T ms99636
|
||||
Node: Missing ms Macros99935
|
||||
Node: Additional ms Macros100679
|
||||
Node: me101931
|
||||
Node: mm102089
|
||||
Node: gtroff Reference102236
|
||||
Node: Text103154
|
||||
Node: Filling and Adjusting103713
|
||||
Node: Hyphenation104426
|
||||
Node: Sentences105209
|
||||
Node: Tab Stops106349
|
||||
Node: Implicit Line Breaks107243
|
||||
Node: Input Conventions108256
|
||||
Node: Input Encodings109047
|
||||
Node: Measurements111008
|
||||
Node: Measurements-Footnotes113202
|
||||
Ref: Measurements-Footnote-1113267
|
||||
Node: Default Units113339
|
||||
Node: Expressions114385
|
||||
Node: Identifiers117109
|
||||
Node: Embedded Commands120965
|
||||
Node: Requests121712
|
||||
Node: Request and Macro Arguments123310
|
||||
Node: Request and Macro Arguments-Footnotes125787
|
||||
Ref: Request and Macro Arguments-Footnote-1125882
|
||||
Ref: Request and Macro Arguments-Footnote-2126010
|
||||
Node: Macros126364
|
||||
Node: Escapes126741
|
||||
Node: Comments129622
|
||||
Node: Comments-Footnotes132202
|
||||
Ref: Comments-Footnote-1132259
|
||||
Node: Registers132358
|
||||
Node: Setting Registers132861
|
||||
Node: Interpolating Registers135143
|
||||
Node: Auto-increment135948
|
||||
Node: Assigning Formats137478
|
||||
Node: Built-in Registers140386
|
||||
Node: Manipulating Filling and Adjusting143635
|
||||
Node: Manipulating Hyphenation152167
|
||||
Node: Manipulating Hyphenation-Footnotes162506
|
||||
Ref: Manipulating Hyphenation-Footnote-1162595
|
||||
Node: Manipulating Spacing162670
|
||||
Node: Tabs and Fields166677
|
||||
Node: Tabs and Fields-Footnotes172663
|
||||
Ref: Tabs and Fields-Footnote-1172734
|
||||
Node: Leaders172812
|
||||
Node: Leaders-Footnotes174403
|
||||
Ref: Leaders-Footnote-1174458
|
||||
Node: Fields174539
|
||||
Node: Character Translations175955
|
||||
Node: Troff and Nroff Mode185165
|
||||
Node: Line Layout187150
|
||||
Node: Line Control193057
|
||||
Node: Page Layout195730
|
||||
Node: Page Control199458
|
||||
Node: Fonts and Symbols203051
|
||||
Node: Changing Fonts203624
|
||||
Node: Font Families205433
|
||||
Node: Font Positions209962
|
||||
Node: Using Symbols213089
|
||||
Node: Using Symbols-Footnotes227673
|
||||
Ref: Using Symbols-Footnote-1227740
|
||||
Ref: Using Symbols-Footnote-2228193
|
||||
Ref: Using Symbols-Footnote-3228264
|
||||
Ref: Using Symbols-Footnote-4228503
|
||||
Node: Special Fonts228566
|
||||
Node: Artificial Fonts229738
|
||||
Node: Ligatures and Kerning235224
|
||||
Node: Sizes241230
|
||||
Node: Sizes-Footnotes242059
|
||||
Ref: Sizes-Footnote-1242110
|
||||
Node: Changing Type Sizes242522
|
||||
Node: Fractional Type Sizes247658
|
||||
Node: Strings250675
|
||||
Node: Conditionals and Loops258670
|
||||
Node: Operators in Conditionals258887
|
||||
Node: Operators in Conditionals-Footnotes261523
|
||||
Ref: Operators in Conditionals-Footnote-1261614
|
||||
Ref: Operators in Conditionals-Footnote-2261693
|
||||
Node: if-else261792
|
||||
Node: while263326
|
||||
Node: Writing Macros265699
|
||||
Node: Copy-in Mode269622
|
||||
Node: Parameters270505
|
||||
Node: Page Motions272640
|
||||
Node: Drawing Requests279907
|
||||
Node: Traps289487
|
||||
Node: Page Location Traps290092
|
||||
Node: Diversion Traps295934
|
||||
Node: Input Line Traps296407
|
||||
Node: Blank Line Traps297420
|
||||
Node: End-of-input Traps297692
|
||||
Node: Diversions298350
|
||||
Node: Environments305308
|
||||
Node: Suppressing output309178
|
||||
Node: Colors310992
|
||||
Node: I/O313974
|
||||
Node: Postprocessor Access321986
|
||||
Node: Miscellaneous323541
|
||||
Node: Miscellaneous-Footnotes328601
|
||||
Ref: Miscellaneous-Footnote-1328668
|
||||
Node: Gtroff Internals328738
|
||||
Node: Gtroff Internals-Footnotes332460
|
||||
Ref: Gtroff Internals-Footnote-1332533
|
||||
Node: Debugging332667
|
||||
Node: Warnings338472
|
||||
Node: Warnings-Footnotes341398
|
||||
Ref: Warnings-Footnote-1341455
|
||||
Node: Implementation Differences341576
|
||||
Node: Implementation Differences-Footnotes346197
|
||||
Ref: Implementation Differences-Footnote-1346290
|
||||
Node: Preprocessors346425
|
||||
Node: geqn346726
|
||||
Node: Invoking geqn346852
|
||||
Node: gtbl346946
|
||||
Node: Invoking gtbl347063
|
||||
Node: gpic347157
|
||||
Node: Invoking gpic347274
|
||||
Node: ggrn347368
|
||||
Node: Invoking ggrn347485
|
||||
Node: grap347579
|
||||
Node: grefer347850
|
||||
Node: Invoking grefer347978
|
||||
Node: gsoelim348082
|
||||
Node: Invoking gsoelim348200
|
||||
Node: Output Devices348309
|
||||
Node: Special Characters348544
|
||||
Node: grotty348708
|
||||
Node: Invoking grotty348849
|
||||
Node: grops348953
|
||||
Node: Invoking grops349104
|
||||
Node: Embedding PostScript349232
|
||||
Node: grodvi349354
|
||||
Node: Invoking grodvi349483
|
||||
Node: grolj4349587
|
||||
Node: Invoking grolj4349717
|
||||
Node: grolbp349821
|
||||
Node: Invoking grolbp349952
|
||||
Node: grohtml350056
|
||||
Node: Invoking grohtml350236
|
||||
Node: grohtml specific registers and strings350392
|
||||
Node: gxditview351255
|
||||
Node: Invoking gxditview351383
|
||||
Node: File formats351502
|
||||
Node: gtroff Output351772
|
||||
Node: gtroff Output-Footnotes353608
|
||||
Ref: gtroff Output-Footnote-1353675
|
||||
Node: Language Concepts353810
|
||||
Node: Separation354547
|
||||
Node: Argument Units356785
|
||||
Node: Document Parts357925
|
||||
Node: Command Reference359314
|
||||
Node: Comment Command359716
|
||||
Node: Simple Commands360193
|
||||
Node: Simple Commands-Footnotes366102
|
||||
Ref: Simple Commands-Footnote-1366173
|
||||
Node: Graphics Commands366234
|
||||
Node: Device Control Commands373543
|
||||
Node: Obsolete Command377579
|
||||
Node: Intermediate Output Examples378848
|
||||
Node: Output Language Compatibility381662
|
||||
Node: Font Files383709
|
||||
Node: Font Files-Footnotes384318
|
||||
Ref: Font Files-Footnote-1384379
|
||||
Node: DESC File Format384440
|
||||
Node: Font File Format388830
|
||||
Node: Font File Format-Footnotes395053
|
||||
Ref: Font File Format-Footnote-1395126
|
||||
Ref: Font File Format-Footnote-2395217
|
||||
Node: Installation395436
|
||||
Node: Copying This Manual395558
|
||||
Node: GNU Free Documentation License395774
|
||||
Node: Request Index415634
|
||||
Node: Escape Index425653
|
||||
Node: Operator Index429881
|
||||
Node: Register Index430986
|
||||
Node: Macro Index438803
|
||||
Node: String Index445907
|
||||
Node: Glyph Name Index450296
|
||||
Node: Font File Keyword Index450582
|
||||
Node: Program and File Index452983
|
||||
Node: Concept Index456663
|
||||
|
||||
End Tag Table
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,7 +17,7 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
@ -27,9 +28,10 @@ File: groff, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
|
||||
GNU troff
|
||||
*********
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -292,7 +294,7 @@ Macro Packages
|
||||
Since `groff' provides such low-level facilities, it can be quite
|
||||
difficult to use by itself. However, `groff' provides a "macro"
|
||||
facility to specify how certain routine operations (e.g. starting
|
||||
paragraphs, printing headers and footers, etc.) should be done. These
|
||||
paragraphs, printing headers and footers, etc.) should be done. These
|
||||
macros can be collected together into a "macro package". There are a
|
||||
number of macro packages available; the most common (and the ones
|
||||
described in this manual) are `man', `mdoc', `me', `ms', and `mm'.
|
||||
@ -390,6 +392,7 @@ called AT&T `troff' which is the common origin of all `troff' derivates
|
||||
* Environment::
|
||||
* Macro Directories::
|
||||
* Font Directories::
|
||||
* Paper Size::
|
||||
* Invocation Examples::
|
||||
|
||||
|
||||
@ -665,7 +668,7 @@ to format a file.
|
||||
`-rNAME=N'
|
||||
Set number register C or NAME to the value N. C must be a
|
||||
one-letter name; NAME can be of arbitrary length. N can be any
|
||||
`gtroff' numeric expression. All register assignments happen
|
||||
`gtroff' numeric expression. All register assignments happen
|
||||
before loading any macro file (including the start-up file).
|
||||
|
||||
`-FDIR'
|
||||
@ -764,14 +767,14 @@ files are (in that order):
|
||||
|
||||
/usr/local/lib/groff/site-tmac
|
||||
/usr/local/share/groff/site-tmac
|
||||
/usr/local/share/groff/1.18/tmac
|
||||
/usr/local/share/groff/1.18.2/tmac
|
||||
|
||||
assuming that the version of `groff' is 1.18, and the installation
|
||||
prefix was `/usr/local'. It is possible to fine-tune those
|
||||
directories during the installation process.
|
||||
assuming that the version of `groff' is 1.18.2, and the
|
||||
installation prefix was `/usr/local'. It is possible to fine-tune
|
||||
those directories during the installation process.
|
||||
|
||||
|
||||
File: groff, Node: Font Directories, Next: Invocation Examples, Prev: Macro Directories, Up: Invoking groff
|
||||
File: groff, Node: Font Directories, Next: Paper Size, Prev: Macro Directories, Up: Invoking groff
|
||||
|
||||
Font Directories
|
||||
================
|
||||
@ -805,14 +808,47 @@ files for `grodvi' must be in `/foo/bar/devdvi'.
|
||||
|
||||
|
||||
/usr/local/share/groff/site-font
|
||||
/usr/local/share/groff/1.18/font
|
||||
/usr/local/share/groff/1.18.2/font
|
||||
|
||||
assuming that the version of `groff' is 1.18, and the installation
|
||||
prefix was `/usr/local'. It is possible to fine-tune those
|
||||
directories during the installation process.
|
||||
assuming that the version of `groff' is 1.18.2, and the
|
||||
installation prefix was `/usr/local'. It is possible to fine-tune
|
||||
those directories during the installation process.
|
||||
|
||||
|
||||
File: groff, Node: Invocation Examples, Prev: Font Directories, Up: Invoking groff
|
||||
File: groff, Node: Paper Size, Next: Invocation Examples, Prev: Font Directories, Up: Invoking groff
|
||||
|
||||
Paper Size
|
||||
==========
|
||||
|
||||
In groff, the page size for `gtroff' and for output devices are
|
||||
handled separately. *Note Page Layout::, for vertical manipulation of
|
||||
the page size. *Note Line Layout::, for horizontal changes.
|
||||
|
||||
A default paper size can be set in the device's `DESC' file. Most
|
||||
output devices also have a command line option `-p' to override the
|
||||
default paper size and option `-l' to use landscape orientation. *Note
|
||||
DESC File Format::, for a description of the `papersize' keyword which
|
||||
takes the same argument as `-p'.
|
||||
|
||||
A convenient shorthand to set a particular paper size for `gtroff'
|
||||
is command line option `-dpaper=SIZE'. This defines string `paper'
|
||||
which is processed in file `papersize.tmac' (loaded in the start-up
|
||||
file `troffrc' by default). Possible values for SIZE are the same as
|
||||
the predefined values for the `papersize' keyword (but only in
|
||||
lowercase) except `a7'-`d7'. An appended `l' (ell) character denotes
|
||||
landscape orientation.
|
||||
|
||||
For example, use the following for PS output on A4 paper in landscape
|
||||
orientation:
|
||||
|
||||
|
||||
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
|
||||
|
||||
Note that it is up to the particular macro package to respect default
|
||||
page dimensions set in this way (most do).
|
||||
|
||||
|
||||
File: groff, Node: Invocation Examples, Prev: Paper Size, Up: Invoking groff
|
||||
|
||||
Invocation Examples
|
||||
===================
|
||||
@ -946,7 +982,7 @@ spaces one line, but
|
||||
spaces four lines. The number 4 is an argument to the `sp' request
|
||||
which says to space four lines instead of one. Arguments are separated
|
||||
from the request and from each other by spaces (_no_ tabs). More
|
||||
details on this can be found in *Note Request Arguments::.
|
||||
details on this can be found in *Note Request and Macro Arguments::.
|
||||
|
||||
The primary function of `gtroff' is to collect words from input
|
||||
lines, fill output lines with those words, justify the right-hand margin
|
||||
@ -1307,6 +1343,18 @@ Macro Packages
|
||||
This chapter documents the main macro packages that come with
|
||||
`groff'.
|
||||
|
||||
Different main macro packages can't be used at the same time; for
|
||||
example
|
||||
|
||||
|
||||
groff -m man foo.man -m ms bar.doc
|
||||
|
||||
doesn't work. Note that option arguments are processed before
|
||||
non-option arguments; the above (failing) sample is thus reordered to
|
||||
|
||||
|
||||
groff -m man -m ms foo.man bar.doc
|
||||
|
||||
* Menu:
|
||||
|
||||
* man::
|
||||
@ -1333,54 +1381,5 @@ pages are based on it.
|
||||
* Miscellaneous man macros::
|
||||
* Predefined man strings::
|
||||
* Preprocessors in man pages::
|
||||
|
||||
|
||||
File: groff, Node: Man options, Next: Man usage, Prev: man, Up: man
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
The command line format for using the `man' macros with `groff' is:
|
||||
|
||||
|
||||
groff -m man [ -rLL=LENGTH ] [ -rLT=LENGTH ]
|
||||
[ -rcR=1 ] [ -rC1 ] [ -rD1 ] [ -rPNNN ]
|
||||
[ -rSXX ] [ -rXNNN ] [ FILES... ]
|
||||
|
||||
It is possible to use `-man' instead of `-m man'.
|
||||
|
||||
`-rLL=LENGTH'
|
||||
Set line length to LENGTH. If not specified, the line length
|
||||
defaults to 78 en in nroff mode (this is 78 characters per line)
|
||||
and 6.5 inch otherwise.
|
||||
|
||||
`-rLT=LENGTH'
|
||||
Set title length to LENGTH. If not specified, the title length
|
||||
defaults to 78 en in nroff mode (this is 78 characters per line)
|
||||
and 6.5 inch otherwise.
|
||||
|
||||
`-rcR=1'
|
||||
This option (the default if a TTY output device is used) creates a
|
||||
single, very long page instead of multiple pages. Use `-rcR=0' to
|
||||
disable it.
|
||||
|
||||
`-rC1'
|
||||
If more than one manual page is given on the command line, number
|
||||
the pages continuously, rather than starting each at 1.
|
||||
|
||||
`-rD1'
|
||||
Double-sided printing. Footers for even and odd pages are
|
||||
formatted differently.
|
||||
|
||||
`-rPNNN'
|
||||
Page numbering starts with NNN rather than with 1.
|
||||
|
||||
`-rSXX'
|
||||
Use XX (which can be 10, 11, or 12pt) as the base document font
|
||||
size instead of the default value of 10pt.
|
||||
|
||||
`-rXNNN'
|
||||
After page NNN, number pages as NNNa, NNNb, NNNc, etc. For
|
||||
example, the option `-rX2' produces the following page numbers: 1,
|
||||
2, 2a, 2b, 2c, etc.
|
||||
* Optional man extensions::
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,274 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
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.
|
||||
* .height: Artificial Fonts.
|
||||
* .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.
|
||||
* .n: Environments.
|
||||
* .ne: Page Location Traps.
|
||||
* .ns: Manipulating Spacing.
|
||||
* .o: Line Layout.
|
||||
* .p: Page Layout.
|
||||
* .P: Built-in Registers.
|
||||
* .pe: Page Location Traps.
|
||||
* .pn: Page Layout.
|
||||
* .ps: Fractional Type Sizes.
|
||||
* .psr: Fractional Type Sizes.
|
||||
* .pvs: Changing Type Sizes.
|
||||
* .rj: Manipulating Filling and Adjusting.
|
||||
* .s: Changing Type Sizes.
|
||||
* .slant: Artificial Fonts.
|
||||
* .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.
|
||||
* .w: Environments.
|
||||
* .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.
|
||||
* AT [man]: Miscellaneous man macros.
|
||||
* 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.
|
||||
* BT [man]: Optional man extensions.
|
||||
* BX [ms]: Highlighting in ms.
|
||||
* CD [ms]: ms Displays and Keeps.
|
||||
* CT [man]: Optional man extensions.
|
||||
* CW [man]: Optional man extensions.
|
||||
* CW [ms] <1>: Additional ms Macros.
|
||||
* CW [ms]: Highlighting in ms.
|
||||
* DA [ms]: ms Cover Page Macros.
|
||||
* De [man]: Optional man extensions.
|
||||
* DE [ms]: ms Displays and Keeps.
|
||||
* Ds [man]: Optional man extensions.
|
||||
* DS [ms] <1>: Additional ms Macros.
|
||||
* DS [ms]: ms Displays and Keeps.
|
||||
* DT [man]: Miscellaneous man macros.
|
||||
* EE [man]: Optional man extensions.
|
||||
* EF [ms]: ms Headers and Footers.
|
||||
* EH [ms]: ms Headers and Footers.
|
||||
* EN [ms]: ms Insertions.
|
||||
* EQ [ms]: ms Insertions.
|
||||
* EX [man]: Optional man extensions.
|
||||
* FE [ms]: ms Footnotes.
|
||||
* FS [ms]: ms Footnotes.
|
||||
* G [man]: Optional man extensions.
|
||||
* GL [man]: Optional man extensions.
|
||||
* HB [man]: Optional man extensions.
|
||||
* 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.
|
||||
* MS [man]: Optional man extensions.
|
||||
* ND [ms]: ms Cover Page Macros.
|
||||
* NE [man]: Optional man extensions.
|
||||
* NH [ms]: Headings in ms.
|
||||
* NL [ms]: Highlighting in ms.
|
||||
* NT [man]: Optional man extensions.
|
||||
* 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.
|
||||
* Pn [man]: Optional man extensions.
|
||||
* PN [man]: Optional man extensions.
|
||||
* PP [man]: Man usage.
|
||||
* PP [ms]: Paragraphs in ms.
|
||||
* PS [ms]: ms Insertions.
|
||||
* PT [man]: Optional man extensions.
|
||||
* PX [ms]: ms TOC.
|
||||
* QP [ms]: Paragraphs in ms.
|
||||
* R [man]: Optional man extensions.
|
||||
* 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.
|
||||
* RN [man]: Optional man extensions.
|
||||
* 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.
|
||||
* TB [man]: Optional man extensions.
|
||||
* 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.
|
||||
* UC [man]: Miscellaneous man macros.
|
||||
* UL [ms]: Highlighting in ms.
|
||||
* VE [man]: Optional man extensions.
|
||||
* VS [man]: Optional man extensions.
|
||||
* XA [ms]: ms TOC.
|
||||
* XE [ms]: ms TOC.
|
||||
* XP [ms]: Paragraphs in ms.
|
||||
* XS [ms]: ms TOC.
|
||||
|
||||
|
||||
File: groff, Node: String Index, Next: Glyph Name Index, Prev: Macro Index, Up: Top
|
||||
|
||||
@ -48,8 +312,8 @@ length can be accessed as `\*[xxx]'.
|
||||
* .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.
|
||||
* \*[<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.
|
||||
@ -60,6 +324,7 @@ length can be accessed as `\*[xxx]'.
|
||||
* CH [ms]: ms Headers and Footers.
|
||||
* d- [ms]: ms Strings and Special Characters.
|
||||
* D- [ms]: ms Strings and Special Characters.
|
||||
* HF [man]: Predefined man strings.
|
||||
* LF [ms]: ms Headers and Footers.
|
||||
* LH [ms]: ms Headers and Footers.
|
||||
* lq [man]: Predefined man strings.
|
||||
@ -158,6 +423,8 @@ Program and File Index
|
||||
|
||||
* an.tmac: man.
|
||||
* changebar: Miscellaneous.
|
||||
* composite.tmac: Using Symbols.
|
||||
* cp1047.tmac: Input Encodings.
|
||||
* DESC <1>: Special Fonts.
|
||||
* DESC <2>: Using Symbols.
|
||||
* DESC <3>: Font Positions.
|
||||
@ -167,7 +434,9 @@ Program and File Index
|
||||
* DESC, and font mounting: Font Positions.
|
||||
* DESC, and use_charnames_in_special: Postprocessor Access.
|
||||
* ditroff: History.
|
||||
* ec.tmac: Input Encodings.
|
||||
* eqn: ms Insertions.
|
||||
* freeeuro.pfa: Input Encodings.
|
||||
* geqn: Groff Options.
|
||||
* geqn, invocation in manual pages: Preprocessors in man pages.
|
||||
* ggrn: Groff Options.
|
||||
@ -183,12 +452,19 @@ Program and File Index
|
||||
* gtbl, invocation in manual pages: Preprocessors in man pages.
|
||||
* gtroff: Groff Options.
|
||||
* hyphen.us: Manipulating Hyphenation.
|
||||
* hyphenex.us: Manipulating Hyphenation.
|
||||
* latin1.tmac: Input Encodings.
|
||||
* latin2.tmac: Input Encodings.
|
||||
* latin9.tmac: Input Encodings.
|
||||
* makeindex: Indices.
|
||||
* man, invocation of preprocessors: Preprocessors in man pages.
|
||||
* man-old.tmac: man.
|
||||
* man.local <1>: Optional man extensions.
|
||||
* man.local: Man usage.
|
||||
* man.tmac: man.
|
||||
* man.ultrix: Optional man extensions.
|
||||
* nrchbar: Miscellaneous.
|
||||
* papersize.tmac: Paper Size.
|
||||
* perl: I/O.
|
||||
* pic: ms Insertions.
|
||||
* post-grohtml: Groff Options.
|
||||
@ -200,6 +476,7 @@ Program and File Index
|
||||
* troffrc <1>: Line Layout.
|
||||
* troffrc <2>: Troff and Nroff Mode.
|
||||
* troffrc <3>: Manipulating Hyphenation.
|
||||
* troffrc <4>: Paper Size.
|
||||
* troffrc: Groff Options.
|
||||
* troffrc-end <1>: Troff and Nroff Mode.
|
||||
* troffrc-end <2>: Manipulating Hyphenation.
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,7 +17,7 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
@ -31,7 +32,7 @@ Concept Index
|
||||
|
||||
* ", at end of sentence <1>: Using Symbols.
|
||||
* ", at end of sentence: Sentences.
|
||||
* ", in a macro argument: Request Arguments.
|
||||
* ", in a macro argument: Request and Macro Arguments.
|
||||
* %, as delimiter: Escapes.
|
||||
* &, as delimiter: Escapes.
|
||||
* ', as a comment: Comments.
|
||||
@ -105,7 +106,7 @@ Concept Index
|
||||
* \<colon>, in \X: Postprocessor Access.
|
||||
* \<colon>, used as delimiter: Escapes.
|
||||
* \<RET>, when reading text for a macro: Copy-in Mode.
|
||||
* \<SP>, difference to \~: Request Arguments.
|
||||
* \<SP>, difference to \~: Request and Macro Arguments.
|
||||
* \<SP>, incompatibilities with AT&T troff: Implementation Differences.
|
||||
* \<SP>, used as delimiter: Escapes.
|
||||
* \?, in top-level diversion: Diversions.
|
||||
@ -135,6 +136,7 @@ Concept Index
|
||||
* \C, and translations: Character Translations.
|
||||
* \c, incompatibilities with AT&T troff: Implementation Differences.
|
||||
* \c, used as delimiter: Escapes.
|
||||
* \D'f ...' and horizontal resolution: Drawing Requests.
|
||||
* \D, allowed delimiters: Escapes.
|
||||
* \d, used as delimiter: Escapes.
|
||||
* \e, and glyph definitions: Using Symbols.
|
||||
@ -196,7 +198,7 @@ Concept Index
|
||||
* \}, incompatibilities with AT&T troff: Implementation Differences.
|
||||
* \}, used as delimiter: Escapes.
|
||||
* \~, and translations: Character Translations.
|
||||
* \~, difference to \<SP>: Request Arguments.
|
||||
* \~, difference to \<SP>: Request and Macro Arguments.
|
||||
* \~, used as delimiter: Escapes.
|
||||
* ], as part of an identifier: Identifiers.
|
||||
* ], at end of sentence <1>: Using Symbols.
|
||||
@ -217,6 +219,8 @@ Concept Index
|
||||
* adjusting: Filling and Adjusting.
|
||||
* adjusting and filling, manipulating: Manipulating Filling and Adjusting.
|
||||
* adjustment mode register (.j): Manipulating Filling and Adjusting.
|
||||
* adobe glyph list (AGL): Using Symbols.
|
||||
* AGL (adobe glyph list): Using Symbols.
|
||||
* alias, diversion, creating (als): Strings.
|
||||
* alias, macro, creating (als): Strings.
|
||||
* alias, number register, creating (aln): Setting Registers.
|
||||
@ -230,7 +234,7 @@ Concept Index
|
||||
* appending to a string (as): Strings.
|
||||
* arc, drawing (\D'a ...'): Drawing Requests.
|
||||
* argument delimiting characters: Escapes.
|
||||
* arguments to requests: Request Arguments.
|
||||
* arguments to requests and macros: Request and Macro Arguments.
|
||||
* arguments, macro (\$): Parameters.
|
||||
* arguments, of strings: Strings.
|
||||
* arithmetic operators: Expressions.
|
||||
@ -239,7 +243,7 @@ Concept Index
|
||||
* as, as1 requests, and warnings: Warnings.
|
||||
* ASCII approximation output register (.A) <1>: Built-in Registers.
|
||||
* ASCII approximation output register (.A): Groff Options.
|
||||
* ASCII, encoding: Groff Options.
|
||||
* ASCII, output encoding: Groff Options.
|
||||
* asciify request, and writem: I/O.
|
||||
* assigning formats (af): Assigning Formats.
|
||||
* assignments, indirect: Interpolating Registers.
|
||||
@ -276,7 +280,9 @@ Concept Index
|
||||
* bounding box: Miscellaneous.
|
||||
* box rule glyph (\[br]): Drawing Requests.
|
||||
* box, boxa requests, and warnings: Warnings.
|
||||
* boxa request, and dn (dl): Diversions.
|
||||
* bp request, and top-level diversion: Page Control.
|
||||
* bp request, and traps (.pe): Page Location Traps.
|
||||
* bp request, causing implicit linebreak: Manipulating Filling and Adjusting.
|
||||
* bp request, using + and -: Expressions.
|
||||
* br glyph, and cflags: Using Symbols.
|
||||
@ -319,6 +325,7 @@ Concept Index
|
||||
* character, control (.): Requests.
|
||||
* character, control, changing (cc): Character Translations.
|
||||
* character, defining (char): Using Symbols.
|
||||
* character, defining fallback (fchar, fschar, schar): Using Symbols.
|
||||
* character, escape, changing (ec): Character Translations.
|
||||
* character, escape, while defining glyph: Using Symbols.
|
||||
* character, field delimiting (fc): Fields.
|
||||
@ -361,6 +368,7 @@ Concept Index
|
||||
* code, hyphenation (hcode): Manipulating Hyphenation.
|
||||
* color, default: Colors.
|
||||
* colors: Colors.
|
||||
* colors, fill, unnamed (\D'F...'): Drawing Requests.
|
||||
* command prefix: Environment.
|
||||
* command-line options: Groff Options.
|
||||
* commands, embedded: Embedded Commands.
|
||||
@ -373,6 +381,7 @@ Concept Index
|
||||
* comparison operators: Expressions.
|
||||
* compatibility mode <1>: Implementation Differences.
|
||||
* compatibility mode: Warnings.
|
||||
* composite glyph names: Using Symbols.
|
||||
* conditional block, begin (\{): if-else.
|
||||
* conditional block, end (\}): if-else.
|
||||
* conditional page break (ne): Page Control.
|
||||
@ -401,7 +410,8 @@ Concept Index
|
||||
* correction, left italic (\,): Ligatures and Kerning.
|
||||
* cover page macros, [ms]: ms Cover Page Macros.
|
||||
* cp request, and glyph definitions: Using Symbols.
|
||||
* cp1047: Groff Options.
|
||||
* cp1047, input encoding: Input Encodings.
|
||||
* cp1047, output encoding: Groff Options.
|
||||
* creating alias, for diversion (als): Strings.
|
||||
* creating alias, for macro (als): Strings.
|
||||
* creating alias, for number register (aln): Setting Registers.
|
||||
@ -418,6 +428,7 @@ Concept Index
|
||||
* current time, hours (hours): Built-in Registers.
|
||||
* current time, minutes (minutes): Built-in Registers.
|
||||
* current time, seconds (seconds): Built-in Registers.
|
||||
* da request, and dn (dl): Diversions.
|
||||
* da request, and warnings: Warnings.
|
||||
* date, day of the month register (dy): Built-in Registers.
|
||||
* date, day of the week register (dw): Built-in Registers.
|
||||
@ -433,13 +444,16 @@ Concept Index
|
||||
* default indentation, resetting [man]: Man usage.
|
||||
* default units: Default Units.
|
||||
* defining character (char): Using Symbols.
|
||||
* defining fallback character (fchar, fschar, schar): Using Symbols.
|
||||
* defining glyph (char): Using Symbols.
|
||||
* defining symbol (char): Using Symbols.
|
||||
* delayed text: Footnotes and Annotations.
|
||||
* delimited arguments, incompatibilities with AT&T troff: Implementation Differences.
|
||||
* delimiting character, for fields (fc): Fields.
|
||||
* delimiting characters for arguments: Escapes.
|
||||
* depth, of last glyph (.cdp): Environments.
|
||||
* DESC file, format: DESC File Format.
|
||||
* device resolution: DESC File Format.
|
||||
* devices for output <1>: Output Devices.
|
||||
* devices for output: Output device intro.
|
||||
* dg glyph, at end of sentence <1>: Using Symbols.
|
||||
@ -459,6 +473,8 @@ Concept Index
|
||||
* directory, site-specific: Macro Directories.
|
||||
* disabling \ (eo): Character Translations.
|
||||
* disabling hyphenation (\%): Manipulating Hyphenation.
|
||||
* discardable horizontal space: Manipulating Filling and Adjusting.
|
||||
* discarded space in traps: Manipulating Spacing.
|
||||
* displays: Displays.
|
||||
* displays [ms]: ms Displays and Keeps.
|
||||
* distance to next trap register (.t): Page Location Traps.
|
||||
@ -481,10 +497,13 @@ Concept Index
|
||||
* diversion, unformatting (asciify): Diversions.
|
||||
* diversion, vertical position in, register (.d): Diversions.
|
||||
* diversions: Diversions.
|
||||
* diversions, and traps: Page Location Traps.
|
||||
* diversions, shared name space with macros and strings: Strings.
|
||||
* dl register, and da (boxa): Diversions.
|
||||
* dn register, and da (boxa): Diversions.
|
||||
* documents, multi-file: Debugging.
|
||||
* documents, structuring the source code: Requests.
|
||||
* double quote, in a macro argument: Request Arguments.
|
||||
* double quote, in a macro argument: Request and Macro Arguments.
|
||||
* double-spacing (ls) <1>: Manipulating Spacing.
|
||||
* double-spacing (ls): Basics.
|
||||
* double-spacing (vs, pvs): Changing Type Sizes.
|
||||
@ -501,17 +520,18 @@ Concept Index
|
||||
* drawing requests: Drawing Requests.
|
||||
* drawing vertical lines (\L): Drawing Requests.
|
||||
* ds request, and comments: Strings.
|
||||
* ds request, and double quotes: Request Arguments.
|
||||
* ds request, and double quotes: Request and Macro Arguments.
|
||||
* ds request, and leading spaces: Strings.
|
||||
* ds, ds1 requests, and comments: Comments.
|
||||
* ds, ds1 requests, and warnings: Warnings.
|
||||
* dumping number registers (pnr): Debugging.
|
||||
* dumping symbol table (pm): Debugging.
|
||||
* dumping traps (ptr): Debugging.
|
||||
* EBCDIC encoding <1>: Tab Stops.
|
||||
* EBCDIC encoding: Groff Options.
|
||||
* EBCDIC encoding: Tab Stops.
|
||||
* EBCDIC encoding of a tab: Tabs and Fields.
|
||||
* EBCDIC encoding of backspace: Identifiers.
|
||||
* EBCDIC, input encoding: Input Encodings.
|
||||
* EBCDIC, output encoding: Groff Options.
|
||||
* el request, and warnings: Warnings.
|
||||
* ellipse, drawing (\D'e ...'): Drawing Requests.
|
||||
* ellipse, solid, drawing (\D'E ...'): Drawing Requests.
|
||||
@ -525,12 +545,17 @@ Concept Index
|
||||
* empty space before a paragraph [man]: Miscellaneous man macros.
|
||||
* en unit (n): Measurements.
|
||||
* enabling vertical position traps (vpt): Page Location Traps.
|
||||
* encoding, ASCII: Groff Options.
|
||||
* encoding, cp1047: Groff Options.
|
||||
* encoding, EBCDIC <1>: Tab Stops.
|
||||
* encoding, EBCDIC: Groff Options.
|
||||
* encoding, latin-1: Groff Options.
|
||||
* encoding, utf-8: Groff Options.
|
||||
* encoding, EBCDIC: Tab Stops.
|
||||
* encoding, input, cp1047: Input Encodings.
|
||||
* encoding, input, EBCDIC: Input Encodings.
|
||||
* encoding, input, latin-1 (ISO 8859-1): Input Encodings.
|
||||
* encoding, input, latin-2 (ISO 8859-2): Input Encodings.
|
||||
* encoding, input, latin-9 (latin-0, ISO 8859-15): Input Encodings.
|
||||
* encoding, output, ASCII: Groff Options.
|
||||
* encoding, output, cp1047: Groff Options.
|
||||
* encoding, output, EBCDIC: Groff Options.
|
||||
* encoding, output, latin-1 (ISO 8859-1): Groff Options.
|
||||
* encoding, output, utf-8: Groff Options.
|
||||
* end of conditional block (\}): if-else.
|
||||
* end-of-input macro (em): End-of-input Traps.
|
||||
* end-of-input trap, setting (em): End-of-input Traps.
|
||||
@ -540,7 +565,8 @@ Concept Index
|
||||
* environment number/name register (.ev): Environments.
|
||||
* environment variables: Environment.
|
||||
* environment, copying (evc): Environments.
|
||||
* environment, last glyph: Environments.
|
||||
* environment, dimensions of last glyph (.w, .cht, .cdp, .csk): Environments.
|
||||
* environment, previous line length (.n): Environments.
|
||||
* environment, switching (ev): Environments.
|
||||
* environments: Environments.
|
||||
* eqn, the program: geqn.
|
||||
@ -570,6 +596,8 @@ Concept Index
|
||||
* extremum operators (>?, <?): Expressions.
|
||||
* f unit: Measurements.
|
||||
* f unit, and colors: Colors.
|
||||
* fallback character, defining (fchar, fschar, schar): Using Symbols.
|
||||
* fallback glyph, removing definition (rchar, rfschar): Using Symbols.
|
||||
* fam request, and changing fonts: Changing Fonts.
|
||||
* fam request, and font positions: Font Positions.
|
||||
* families, font: Font Families.
|
||||
@ -590,6 +618,7 @@ Concept Index
|
||||
* file, writing to (write): I/O.
|
||||
* files, font: Font Files.
|
||||
* files, macro, searching: Macro Directories.
|
||||
* fill colors, unnamed (\D'F...'): Drawing Requests.
|
||||
* fill mode <1>: Warnings.
|
||||
* fill mode <2>: Manipulating Filling and Adjusting.
|
||||
* fill mode: Implicit Line Breaks.
|
||||
@ -622,7 +651,7 @@ Concept Index
|
||||
* font, mounting (fp): Font Positions.
|
||||
* font, previous (ft, \f[], \fP): Changing Fonts.
|
||||
* fonts <1>: Changing Fonts.
|
||||
* fonts: Fonts.
|
||||
* fonts: Fonts and Symbols.
|
||||
* fonts, artificial: Artificial Fonts.
|
||||
* fonts, changing (ft, \f): Changing Fonts.
|
||||
* fonts, PostScript: Font Families.
|
||||
@ -649,15 +678,18 @@ Concept Index
|
||||
* french-spacing: Sentences.
|
||||
* fspecial request, and font styles: Font Families.
|
||||
* fspecial request, and font translations: Changing Fonts.
|
||||
* fspecial request, and glyph search order: Using Symbols.
|
||||
* fspecial request, and imitating bold: Artificial Fonts.
|
||||
* ft request, and font translations: Changing Fonts.
|
||||
* geqn, invoking: Invoking geqn.
|
||||
* geqn, the program: geqn.
|
||||
* GGL (groff glyph list): Using Symbols.
|
||||
* ggrn, invoking: Invoking ggrn.
|
||||
* ggrn, the program: ggrn.
|
||||
* glossary-style list, example markup [ms]: Lists in ms.
|
||||
* glyph: Using Symbols.
|
||||
* glyph for line drawing: Drawing Requests.
|
||||
* glyph names, composite: Using Symbols.
|
||||
* glyph pile (\b): Drawing Requests.
|
||||
* glyph properties (cflags): Using Symbols.
|
||||
* glyph, box rule (\[br]): Drawing Requests.
|
||||
@ -666,11 +698,12 @@ Concept Index
|
||||
* glyph, for line drawing: Drawing Requests.
|
||||
* glyph, for margins (mc): Miscellaneous.
|
||||
* glyph, italic correction (\/): Ligatures and Kerning.
|
||||
* glyph, last, dimensions (.w, .cht, .cdp, .csk): Environments.
|
||||
* glyph, leader repetition (lc): Leaders.
|
||||
* glyph, left italic correction (\,): Ligatures and Kerning.
|
||||
* glyph, numbered (\N) <1>: Using Symbols.
|
||||
* glyph, numbered (\N): Character Translations.
|
||||
* glyph, removing definition (rchar): Using Symbols.
|
||||
* glyph, removing definition (rchar, rfschar): Using Symbols.
|
||||
* glyph, soft hyphen (hy): Manipulating Hyphenation.
|
||||
* glyph, tab repetition (tc): Tabs and Fields.
|
||||
* glyph, underscore (\[ru]): Drawing Requests.
|
||||
@ -691,6 +724,7 @@ Concept Index
|
||||
* grodvi, the program: grodvi.
|
||||
* groff - what is it?: What Is groff?.
|
||||
* groff capabilities: groff Capabilities.
|
||||
* groff glyph list (GGL): Using Symbols.
|
||||
* groff invocation: Invoking groff.
|
||||
* groff, and pi request: I/O.
|
||||
* GROFF_BIN_PATH, environment variable: Environment.
|
||||
@ -730,14 +764,17 @@ Concept Index
|
||||
* headers: Page Layout.
|
||||
* headers [ms]: ms Headers and Footers.
|
||||
* height, font, changing (\H): Artificial Fonts.
|
||||
* height, of last glyph (.cht): Environments.
|
||||
* high-water mark register (.h): Diversions.
|
||||
* history: History.
|
||||
* home directory: Macro Directories.
|
||||
* horizontal discardable space: Manipulating Filling and Adjusting.
|
||||
* horizontal input line position register (hp): Page Motions.
|
||||
* horizontal input line position, saving (\k): Page Motions.
|
||||
* horizontal line, drawing (\l): Drawing Requests.
|
||||
* horizontal motion (\h): Page Motions.
|
||||
* horizontal output line position register (.k): Page Motions.
|
||||
* horizontal resolution: DESC File Format.
|
||||
* horizontal resolution register (.H): Built-in Registers.
|
||||
* horizontal space (\h): Page Motions.
|
||||
* horizontal space, unformatting: Strings.
|
||||
@ -762,7 +799,8 @@ Concept Index
|
||||
* hyphenation, manipulating: Manipulating Hyphenation.
|
||||
* i unit: Measurements.
|
||||
* i/o: I/O.
|
||||
* IBM cp1047: Groff Options.
|
||||
* IBM cp1047 input encoding: Input Encodings.
|
||||
* IBM cp1047 output encoding: Groff Options.
|
||||
* identifiers: Identifiers.
|
||||
* identifiers, undefined: Identifiers.
|
||||
* ie request, and warnings: Warnings.
|
||||
@ -788,6 +826,11 @@ Concept Index
|
||||
* input characters and output glyphs, compatibility with AT&T troff: Implementation Differences.
|
||||
* input characters, invalid: Identifiers.
|
||||
* input conventions: Input Conventions.
|
||||
* input encoding, cp1047: Input Encodings.
|
||||
* input encoding, EBCDIC: Input Encodings.
|
||||
* input encoding, latin-1 (ISO 8859-1): Input Encodings.
|
||||
* input encoding, latin-2 (ISO 8859-2): Input Encodings.
|
||||
* input encoding, latin-9 (latin-9, ISO 8859-15): Input Encodings.
|
||||
* input file name, current, register (.F): Built-in Registers.
|
||||
* input level in delimited arguments: Implementation Differences.
|
||||
* input line continuation (\): Line Control.
|
||||
@ -830,6 +873,10 @@ Concept Index
|
||||
* invoking gsoelim: Invoking gsoelim.
|
||||
* invoking gtbl: Invoking gtbl.
|
||||
* invoking gxditview: Invoking gxditview.
|
||||
* ISO 8859-1 (latin-1), input encoding: Input Encodings.
|
||||
* ISO 8859-1 (latin-1), output encoding: Groff Options.
|
||||
* ISO 8859-15 (latin-9, latin-0), input encoding: Input Encodings.
|
||||
* ISO 8859-2 (latin-2), input encoding: Input Encodings.
|
||||
* italic correction (\/): Ligatures and Kerning.
|
||||
* italic fonts [man]: Man font macros.
|
||||
* italic glyph, correction after roman glyph (\,): Ligatures and Kerning.
|
||||
@ -843,8 +890,13 @@ Concept Index
|
||||
* kerning enabled register (.kern): Ligatures and Kerning.
|
||||
* kerning, activating (kern): Ligatures and Kerning.
|
||||
* kerning, track: Ligatures and Kerning.
|
||||
* landscape page orientation: Paper Size.
|
||||
* last glyph, dimensions (.w, .cht, .cdp, .csk): Environments.
|
||||
* last-requested point size registers (.psr, .sr): Fractional Type Sizes.
|
||||
* latin-1, encoding: Groff Options.
|
||||
* latin-1 (ISO 8859-1), input encoding: Input Encodings.
|
||||
* latin-1 (ISO 8859-1), output encoding: Groff Options.
|
||||
* latin-2 (ISO 8859-2), input encoding: Input Encodings.
|
||||
* latin-9 (latin-0, ISO 8859-15), input encoding: Input Encodings.
|
||||
* layout, line: Line Layout.
|
||||
* layout, page: Page Layout.
|
||||
* lc request, and glyph definitions: Using Symbols.
|
||||
@ -862,6 +914,7 @@ Concept Index
|
||||
* length of a string (length): Strings.
|
||||
* length of line (ll): Line Layout.
|
||||
* length of page (pl): Page Layout.
|
||||
* length of previous line (.n): Environments.
|
||||
* length of title line (lt): Page Layout.
|
||||
* letters, form: I/O.
|
||||
* level of warnings (warn): Debugging.
|
||||
@ -883,6 +936,7 @@ Concept Index
|
||||
* line layout: Line Layout.
|
||||
* line length (ll): Line Layout.
|
||||
* line length register (.l): Line Layout.
|
||||
* line length, previous (.n): Environments.
|
||||
* line number, input, register (.c, c.): Built-in Registers.
|
||||
* line number, output, register (ln): Built-in Registers.
|
||||
* line numbers, printing (nm): Miscellaneous.
|
||||
@ -923,6 +977,7 @@ Concept Index
|
||||
* M unit: Measurements.
|
||||
* m unit: Measurements.
|
||||
* machine unit (u): Measurements.
|
||||
* macro arguments: Request and Macro Arguments.
|
||||
* macro basics: Basics.
|
||||
* macro directories: Macro Directories.
|
||||
* macro files, searching: Macro Directories.
|
||||
@ -948,6 +1003,7 @@ Concept Index
|
||||
* major version number register (.x): Built-in Registers.
|
||||
* man macros: Man usage.
|
||||
* man macros, bold face: Man font macros.
|
||||
* man macros, custom headers and footers: Optional man extensions.
|
||||
* man macros, default indentation: Miscellaneous man macros.
|
||||
* man macros, empty space before a paragraph: Miscellaneous man macros.
|
||||
* man macros, hanging indentation: Man usage.
|
||||
@ -958,10 +1014,12 @@ Concept Index
|
||||
* man macros, moving left margin: Man usage.
|
||||
* man macros, resetting default indentation: Man usage.
|
||||
* man macros, tab stops: Miscellaneous man macros.
|
||||
* man macros, Ultrix-specific: Optional man extensions.
|
||||
* man pages: man.
|
||||
* manipulating filling and adjusting: Manipulating Filling and Adjusting.
|
||||
* manipulating hyphenation: Manipulating Hyphenation.
|
||||
* manipulating spacing: Manipulating Spacing.
|
||||
* manmacros, BSD compatibility: Miscellaneous man macros.
|
||||
* manual pages: man.
|
||||
* margin for hyphenation (hym): Manipulating Hyphenation.
|
||||
* margin glyph (mc): Miscellaneous.
|
||||
@ -1099,6 +1157,7 @@ Concept Index
|
||||
* operators, unary: Expressions.
|
||||
* options: Groff Options.
|
||||
* order of evaluation in expressions: Expressions.
|
||||
* orientation, landscape: Paper Size.
|
||||
* orphan lines, preventing with ne: Page Control.
|
||||
* os request, and no-space mode: Page Control.
|
||||
* output and input requests: I/O.
|
||||
@ -1107,6 +1166,11 @@ Concept Index
|
||||
* output device usage number register (.T): Groff Options.
|
||||
* output devices <1>: Output Devices.
|
||||
* output devices: Output device intro.
|
||||
* output encoding, ASCII: Groff Options.
|
||||
* output encoding, cp1047: Groff Options.
|
||||
* output encoding, EBCDIC: Groff Options.
|
||||
* output encoding, latin-1 (ISO 8859-1): Groff Options.
|
||||
* output encoding, utf-8: Groff Options.
|
||||
* output glyphs, and input characters,compatibility with AT&T troff: Implementation Differences.
|
||||
* output line number register (ln): Built-in Registers.
|
||||
* output line, continuation (\c): Line Control.
|
||||
@ -1129,6 +1193,7 @@ Concept Index
|
||||
* padding character, for fields (fc): Fields.
|
||||
* page break, conditional (ne): Page Control.
|
||||
* page control: Page Control.
|
||||
* page ejecting register (.pe): Page Location Traps.
|
||||
* page footers: Page Location Traps.
|
||||
* page headers: Page Location Traps.
|
||||
* page layout: Page Layout.
|
||||
@ -1144,8 +1209,10 @@ Concept Index
|
||||
* page number character, changing (pc): Page Layout.
|
||||
* page number register (%): Page Layout.
|
||||
* page offset (po): Line Layout.
|
||||
* page orientation, landscape: Paper Size.
|
||||
* page, new (bp): Page Control.
|
||||
* paper formats: Paper Formats.
|
||||
* paper size: Paper Size.
|
||||
* paragraphs: Paragraphs.
|
||||
* parameters: Parameters.
|
||||
* parentheses: Expressions.
|
||||
@ -1190,6 +1257,7 @@ Concept Index
|
||||
* preprocessors <1>: Preprocessors.
|
||||
* preprocessors: Preprocessor Intro.
|
||||
* previous font (ft, \f[], \fP): Changing Fonts.
|
||||
* previous line length (.n): Environments.
|
||||
* print current page register (.P): Groff Options.
|
||||
* printing backslash (\\, \e, \E, \[rs]) <1>: Implementation Differences.
|
||||
* printing backslash (\\, \e, \E, \[rs]): Escapes.
|
||||
@ -1208,6 +1276,7 @@ Concept Index
|
||||
* pvs request, using + and -: Expressions.
|
||||
* quotes, major: Displays.
|
||||
* quotes, trailing: Strings.
|
||||
* radicalex glyph, and cflags: Using Symbols.
|
||||
* ragged-left: Manipulating Filling and Adjusting.
|
||||
* ragged-right: Manipulating Filling and Adjusting.
|
||||
* rc request, and glyph definitions: Using Symbols.
|
||||
@ -1228,7 +1297,7 @@ Concept Index
|
||||
* registers, interpolating (\n): Interpolating Registers.
|
||||
* registers, setting (nr, \R): Setting Registers.
|
||||
* removing diversion (rm): Strings.
|
||||
* removing glyph definition (rchar): Using Symbols.
|
||||
* removing glyph definition (rchar, rfschar): Using Symbols.
|
||||
* removing macro (rm): Strings.
|
||||
* removing number register (rr): Setting Registers.
|
||||
* removing request (rm): Strings.
|
||||
@ -1238,14 +1307,17 @@ Concept Index
|
||||
* renaming number register (rnn): Setting Registers.
|
||||
* renaming request (rn): Strings.
|
||||
* renaming string (rn): Strings.
|
||||
* request arguments: Request Arguments.
|
||||
* request arguments: Request and Macro Arguments.
|
||||
* request, removing (rm): Strings.
|
||||
* request, renaming (rn): Strings.
|
||||
* request, undefined: Comments.
|
||||
* requests: Requests.
|
||||
* requests for drawing: Drawing Requests.
|
||||
* requests for input and output: I/O.
|
||||
* resolution, device: DESC File Format.
|
||||
* resolution, horizontal: DESC File Format.
|
||||
* resolution, horizontal, register (.H): Built-in Registers.
|
||||
* resolution, vertical: DESC File Format.
|
||||
* resolution, vertical, register (.V): Built-in Registers.
|
||||
* returning to marked vertical page location (rt): Page Motions.
|
||||
* revision number register (.Y): Built-in Registers.
|
||||
@ -1290,9 +1362,11 @@ Concept Index
|
||||
* size of sentence space register (.sss): Manipulating Filling and Adjusting.
|
||||
* size of type: Sizes.
|
||||
* size of word space register (.ss): Manipulating Filling and Adjusting.
|
||||
* size, paper: Paper Size.
|
||||
* sizes: Sizes.
|
||||
* sizes, fractional <1>: Implementation Differences.
|
||||
* sizes, fractional: Fractional Type Sizes.
|
||||
* skew, of last glyph (.csk): Environments.
|
||||
* slant, font, changing (\S): Artificial Fonts.
|
||||
* soelim, the program: gsoelim.
|
||||
* soft hyphen character, setting (shc): Manipulating Hyphenation.
|
||||
@ -1301,6 +1375,7 @@ Concept Index
|
||||
* solid ellipse, drawing (\D'E ...'): Drawing Requests.
|
||||
* solid polygon, drawing (\D'P ...'): Drawing Requests.
|
||||
* sp request, and no-space mode: Manipulating Spacing.
|
||||
* sp request, and traps: Manipulating Spacing.
|
||||
* sp request, causing implicit linebreak: Manipulating Filling and Adjusting.
|
||||
* space between sentences: Sentences.
|
||||
* space between sentences register (.sss): Manipulating Filling and Adjusting.
|
||||
@ -1310,12 +1385,15 @@ Concept Index
|
||||
* space character, zero width (\&) <2>: Ligatures and Kerning.
|
||||
* space character, zero width (\&): Requests.
|
||||
* space characters, in expressions: Expressions.
|
||||
* space, discardable, horizontal: Manipulating Filling and Adjusting.
|
||||
* space, discarded, in traps: Manipulating Spacing.
|
||||
* space, horizontal (\h): Page Motions.
|
||||
* space, horizontal, unformatting: Strings.
|
||||
* space, unbreakable: Page Motions.
|
||||
* space, vertical, unit (v): Measurements.
|
||||
* space, width of a digit (\0): Page Motions.
|
||||
* spaces with ds: Strings.
|
||||
* spaces, in a macro argument: Request and Macro Arguments.
|
||||
* spaces, leading and trailing: Filling and Adjusting.
|
||||
* spacing: Basics.
|
||||
* spacing, manipulating: Manipulating Spacing.
|
||||
@ -1328,8 +1406,10 @@ Concept Index
|
||||
* special fonts: Using Symbols.
|
||||
* special fonts, emboldening: Artificial Fonts.
|
||||
* special request, and font translations: Changing Fonts.
|
||||
* special request, and glyph search order: Using Symbols.
|
||||
* spline, drawing (\D'~ ...'): Drawing Requests.
|
||||
* springing a trap: Traps.
|
||||
* sqrtex glyph, and cflags: Using Symbols.
|
||||
* stacking glyphs (\b): Drawing Requests.
|
||||
* standard input, reading from (rd): I/O.
|
||||
* stderr, printing to (tm, tm1, tmc): Debugging.
|
||||
@ -1431,6 +1511,8 @@ Concept Index
|
||||
* trap, planting: Traps.
|
||||
* trap, springing: Traps.
|
||||
* traps: Traps.
|
||||
* traps, and discarded space: Manipulating Spacing.
|
||||
* traps, and diversions: Page Location Traps.
|
||||
* traps, blank line: Blank Line Traps.
|
||||
* traps, diversion: Diversion Traps.
|
||||
* traps, dumping (ptr): Debugging.
|
||||
@ -1438,6 +1520,7 @@ Concept Index
|
||||
* traps, input line: Input Line Traps.
|
||||
* traps, input line, and interrupted lines (itc): Input Line Traps.
|
||||
* traps, page location: Page Location Traps.
|
||||
* traps, sprung by bp request (.pe): Page Location Traps.
|
||||
* trf request, and invalid characters: I/O.
|
||||
* trf request, causing implicit linebreak: Manipulating Filling and Adjusting.
|
||||
* trin request, and asciify: Diversions.
|
||||
@ -1454,6 +1537,7 @@ Concept Index
|
||||
* uf request, and font styles: Font Families.
|
||||
* ul glyph, and cflags: Using Symbols.
|
||||
* ul request, and font translations: Changing Fonts.
|
||||
* Ultrix-specific man macros: Optional man extensions.
|
||||
* unary operators: Expressions.
|
||||
* unbreakable space: Page Motions.
|
||||
* undefined identifiers: Identifiers.
|
||||
@ -1483,6 +1567,7 @@ Concept Index
|
||||
* unit, z: Measurements.
|
||||
* units of measurement: Measurements.
|
||||
* units, default: Default Units.
|
||||
* unnamed fill colors (\D'F...'): Drawing Requests.
|
||||
* unnamed glyphs: Using Symbols.
|
||||
* unnamed glyphs, accessing with \N: Font File Format.
|
||||
* unsafe mode <1>: I/O.
|
||||
@ -1491,7 +1576,7 @@ Concept Index
|
||||
* user's macro tutorial: Tutorial for Macro Users.
|
||||
* user's tutorial for macros: Tutorial for Macro Users.
|
||||
* using symbols: Using Symbols.
|
||||
* utf-8, encoding: Groff Options.
|
||||
* utf-8, output encoding: Groff Options.
|
||||
* v unit: Measurements.
|
||||
* valid numeric expression: Expressions.
|
||||
* value, incrementing without changing the register: Auto-increment.
|
||||
@ -1508,6 +1593,7 @@ Concept Index
|
||||
* vertical position in diversion register (.d): Diversions.
|
||||
* vertical position trap enable register (.vpt): Page Location Traps.
|
||||
* vertical position traps, enabling (vpt): Page Location Traps.
|
||||
* vertical resolution: DESC File Format.
|
||||
* vertical resolution register (.V): Built-in Registers.
|
||||
* vertical space unit (v): Measurements.
|
||||
* vertical spacing: Sizes.
|
||||
@ -1521,6 +1607,7 @@ Concept Index
|
||||
* while request, operators to use with: Operators in Conditionals.
|
||||
* whitespace characters: Identifiers.
|
||||
* width escape (\w): Page Motions.
|
||||
* width, of last glyph (.w): Environments.
|
||||
* word space size register (.ss): Manipulating Filling and Adjusting.
|
||||
* writing macros: Writing Macros.
|
||||
* writing to file (write): I/O.
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,83 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Man options, Next: Man usage, Prev: man, Up: man
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
The command line format for using the `man' macros with `groff' is:
|
||||
|
||||
|
||||
groff -m man [ -rLL=LENGTH ] [ -rLT=LENGTH ] [ -rFT=DIST ]
|
||||
[ -rcR=1 ] [ -rC1 ] [ -rD1 ] [-rHY=FLAGS ]
|
||||
[ -rPNNN ] [ -rSXX ] [ -rXNNN ]
|
||||
[ -rIN=LENGTH ] [ -rSN=LENGTH ] [ FILES... ]
|
||||
|
||||
It is possible to use `-man' instead of `-m man'.
|
||||
|
||||
`-rcR=1'
|
||||
This option (the default if a TTY output device is used) creates a
|
||||
single, very long page instead of multiple pages. Use `-rcR=0' to
|
||||
disable it.
|
||||
|
||||
`-rC1'
|
||||
If more than one manual page is given on the command line, number
|
||||
the pages continuously, rather than starting each at 1.
|
||||
|
||||
`-rD1'
|
||||
Double-sided printing. Footers for even and odd pages are
|
||||
formatted differently.
|
||||
|
||||
`-rFT=DIST'
|
||||
Set the position of the footer text to DIST. If positive, the
|
||||
distance is measured relative to the top of the page, otherwise it
|
||||
is relative to the bottom. The default is -0.5i.
|
||||
|
||||
`-rHY=FLAGS'
|
||||
Set hyphenation flags. Possible values are 1 to hyphenate without
|
||||
restrictions, 2 to not hyphenate the last word on a page, 4 to
|
||||
not hyphenate the last two characters of a word, and 8 to not
|
||||
hyphenate the first two characters of a word. These values are
|
||||
additive; the default is 14.
|
||||
|
||||
`-rIN=LENGTH'
|
||||
Set the body text indent to LENGTH. If not specified, the indent
|
||||
defaults to 7n (7 characters) in nroff mode and 7.2n otherwise.
|
||||
For nroff, this value should always be an integer multiple of unit
|
||||
`n' to get consistent indentation.
|
||||
|
||||
`-rLL=LENGTH'
|
||||
Set line length to LENGTH. If not specified, the line length
|
||||
defaults to 78 en in nroff mode (this is 78 characters per line)
|
||||
and 6.5 inch otherwise.
|
||||
|
||||
`-rLT=LENGTH'
|
||||
Set title length to LENGTH. If not specified, the title length
|
||||
defaults to the line length.
|
||||
|
||||
`-rPNNN'
|
||||
Page numbering starts with NNN rather than with 1.
|
||||
|
||||
`-rSXX'
|
||||
Use XX (which can be 10, 11, or 12pt) as the base document font
|
||||
size instead of the default value of 10pt.
|
||||
|
||||
`-rSN=LENGTH'
|
||||
Set the indent for sub-subheadings to LENGTH. If not specified,
|
||||
the indent defaults to 3n.
|
||||
|
||||
`-rXNNN'
|
||||
After page NNN, number pages as NNNa, NNNb, NNNc, etc. For
|
||||
example, the option `-rX2' produces the following page numbers: 1,
|
||||
2, 2a, 2b, 2c, etc.
|
||||
|
||||
|
||||
File: groff, Node: Man usage, Next: Man font macros, Prev: Man options, Up: man
|
||||
|
||||
@ -56,34 +129,37 @@ further customization, put additional macros and requests into the file
|
||||
Set up an unnumbered section heading sticking out to the left.
|
||||
Prints out all the text following `SH' up to the end of the line
|
||||
(or the text in the next line if there is no argument to `SH') in
|
||||
bold face, one size larger than the base document size.
|
||||
Additionally, the left margin for the following text is reset to
|
||||
its default value.
|
||||
bold face (or the font specified by the string `HF'), one size
|
||||
larger than the base document size. Additionally, the left margin
|
||||
and the indentation for the following text is reset to its default
|
||||
value.
|
||||
|
||||
- Macro: .SS [heading]
|
||||
Set up an unnumbered (sub)section heading. Prints out all the text
|
||||
following `SS' up to the end of the line (or the text in the next
|
||||
line if there is no argument to `SS') in bold face, at the same
|
||||
size as the base document size. Additionally, the left margin for
|
||||
the following text is reset to its default value.
|
||||
line if there is no argument to `SS') in bold face (or the font
|
||||
specified by the string `HF'), at the same size as the base
|
||||
document size. Additionally, the left margin and the indentation
|
||||
for the following text is reset to its default value.
|
||||
|
||||
- Macro: .TP [nnn]
|
||||
Set up an indented paragraph with label. The indentation is set to
|
||||
NNN if that argument is supplied (the default unit is `n' if
|
||||
omitted), otherwise it is set to the default indentation value.
|
||||
omitted), otherwise it is set to the previous indentation value
|
||||
specified with `TP', `IP', or `HP' (or to the default value if
|
||||
none of them have been used yet).
|
||||
|
||||
The first line of text following this macro is interpreted as a
|
||||
string to be printed flush-left, as it is appropriate for a label.
|
||||
It is not interpreted as part of a paragraph, so there is no
|
||||
attempt to fill the first line with text from the following input
|
||||
lines. Nevertheless, if the label is not as wide as the
|
||||
indentation, then the paragraph starts at the same line (but
|
||||
indented), continuing on the following lines. If the label is
|
||||
wider than the indentation, then the descriptive part of the
|
||||
paragraph begins on the line following the label, entirely
|
||||
indented. Note that neither font shape nor font size of the label
|
||||
is set to a default value; on the other hand, the rest of the text
|
||||
has default font settings.
|
||||
indentation the paragraph starts at the same line (but indented),
|
||||
continuing on the following lines. If the label is wider than the
|
||||
indentation the descriptive part of the paragraph begins on the
|
||||
line following the label, entirely indented. Note that neither
|
||||
font shape nor font size of the label is set to a default value;
|
||||
on the other hand, the rest of the text has default font settings.
|
||||
|
||||
- Macro: .LP
|
||||
- Macro: .PP
|
||||
@ -92,18 +168,21 @@ further customization, put additional macros and requests into the file
|
||||
at the current position, followed by a vertical space downwards by
|
||||
the amount specified by the `PD' macro. The font size and shape
|
||||
are reset to the default value (10pt roman if no `-rS' option is
|
||||
given on the command line). Finally, the current left margin is
|
||||
restored.
|
||||
given on the command line). Finally, the current left margin and
|
||||
the indentation is restored.
|
||||
|
||||
- Macro: .IP [designator [nnn]]
|
||||
Set up an indented paragraph, using DESIGNATOR as a tag to mark
|
||||
its beginning. The indentation is set to NNN if that argument is
|
||||
supplied (default unit is `n'), otherwise the default indentation
|
||||
value is used. Font size and face of the paragraph (but not the
|
||||
designator) are reset to their default values. To start an
|
||||
indented paragraph with a particular indentation but without a
|
||||
designator, use `""' (two double quotes) as the first argument of
|
||||
`IP'.
|
||||
supplied (default unit is `n'), otherwise it is set to the
|
||||
previous indentation value specified with `TP', `IP', or `HP' (or
|
||||
the default value if none of them have been used yet). Font size
|
||||
and face of the paragraph (but not the designator) are reset to
|
||||
their default values.
|
||||
|
||||
To start an indented paragraph with a particular indentation but
|
||||
without a designator, use `""' (two double quotes) as the first
|
||||
argument of `IP'.
|
||||
|
||||
For example, to start a paragraph with bullets as the designator
|
||||
and 4 en indentation, write
|
||||
@ -115,18 +194,25 @@ further customization, put additional macros and requests into the file
|
||||
- Macro: .HP [nnn]
|
||||
Set up a paragraph with hanging left indentation. The indentation
|
||||
is set to NNN if that argument is supplied (default unit is `n'),
|
||||
otherwise the default indentation value is used. Font size and
|
||||
face are reset to their default values.
|
||||
otherwise it is set to the previous indentation value specified
|
||||
with `TP', `IP', or `HP' (or the default value if non of them have
|
||||
been used yet). Font size and face are reset to their default
|
||||
values.
|
||||
|
||||
- Macro: .RS [nnn]
|
||||
Move the left margin to the right by the value NNN if specified
|
||||
(default unit is `n'); otherwise the default indentation value is
|
||||
used. Calls to the `RS' macro can be nested.
|
||||
(default unit is `n'); otherwise it is set to the previous
|
||||
indentation value specified with `TP', `IP', or `HP' (or to the
|
||||
default value if none of them have been used yet). The
|
||||
indentation value is then set to the default.
|
||||
|
||||
Calls to the `RS' macro can be nested.
|
||||
|
||||
- Macro: .RE [nnn]
|
||||
Move the left margin back to level NNN; if no argument is given,
|
||||
it moves one level back. The first level (i.e., no call to `RS'
|
||||
yet) has number 1, and each call to `RS' increases the level by 1.
|
||||
Move the left margin back to level NNN, restoring the previous left
|
||||
margin. If no argument is given, it moves one level back. The
|
||||
first level (i.e., no call to `RS' yet) has number 1, and each call
|
||||
to `RS' increases the level by 1.
|
||||
|
||||
To summarize, the following macros cause a line break with the
|
||||
insertion of vertical space (which amount can be changed with the `PD'
|
||||
@ -156,28 +242,34 @@ command line option `-rS=N' is given, use Npt as the default text size.
|
||||
face font, one point size smaller than the default font.
|
||||
|
||||
- Macro: .BI text
|
||||
Set its arguments alternately in bold face and italic. Thus,
|
||||
Set its arguments alternately in bold face and italic, without a
|
||||
space between the arguments. Thus,
|
||||
|
||||
|
||||
.BI this "word and" that
|
||||
|
||||
would set "this" and "that" in bold face, and "word and" in
|
||||
italics.
|
||||
produces "thisword andthat" with "this" and "that" in bold face,
|
||||
and "word and" in italics.
|
||||
|
||||
- Macro: .IB text
|
||||
Set its arguments alternately in italic and bold face.
|
||||
Set its arguments alternately in italic and bold face, without a
|
||||
space between the arguments.
|
||||
|
||||
- Macro: .RI text
|
||||
Set its arguments alternately in roman and italic.
|
||||
Set its arguments alternately in roman and italic, without a space
|
||||
between the arguments.
|
||||
|
||||
- Macro: .IR text
|
||||
Set its arguments alternately in italic and roman.
|
||||
Set its arguments alternately in italic and roman, without a space
|
||||
between the arguments.
|
||||
|
||||
- Macro: .BR text
|
||||
Set its arguments alternately in bold face and roman.
|
||||
Set its arguments alternately in bold face and roman, without a
|
||||
space between the arguments.
|
||||
|
||||
- Macro: .RB text
|
||||
Set its arguments alternately in roman and bold face.
|
||||
Set its arguments alternately in roman and bold face, without a
|
||||
space between the arguments.
|
||||
|
||||
- Macro: .B [text]
|
||||
Set TEXT in bold face. If no text is present on the line where
|
||||
@ -194,8 +286,8 @@ File: groff, Node: Miscellaneous man macros, Next: Predefined man strings, Pr
|
||||
Miscellaneous macros
|
||||
--------------------
|
||||
|
||||
The default indentation is 7.2 en for all output devices except for
|
||||
`grohtml' which ignores indentation.
|
||||
The default indentation is 7.2n in troff mode and 7n in nroff mode
|
||||
except for `grohtml' which ignores indentation.
|
||||
|
||||
- Macro: .DT
|
||||
Set tabs every 0.5 inches. Since this macro is always executed
|
||||
@ -206,10 +298,48 @@ Miscellaneous macros
|
||||
Adjust the empty space before a new paragraph (or section). The
|
||||
optional argument gives the amount of space (default unit is `v');
|
||||
without parameter, the value is reset to its default value (1 line
|
||||
for TTY devices, 0.4v otherwise).
|
||||
in nroff mode, 0.4v otherwise).
|
||||
|
||||
This affects the macros `SH', `SS', `TP', `LP' (as well as `PP' and
|
||||
`P'), `IP', and `HP'.
|
||||
This affects the macros `SH', `SS', `TP', `LP' (as well as `PP'
|
||||
and `P'), `IP', and `HP'.
|
||||
|
||||
The following two macros are included for BSD compatibility.
|
||||
|
||||
- Macro: .AT [system [release]]
|
||||
Alter the footer for use with AT&T manpages. This command exists
|
||||
only for compatibility; don't use it. The first argument SYSTEM
|
||||
can be:
|
||||
|
||||
`3'
|
||||
7th Edition (the default)
|
||||
|
||||
`4'
|
||||
System III
|
||||
|
||||
`5'
|
||||
System V
|
||||
|
||||
An optional second argument RELEASE to `AT' specifies the release
|
||||
number (such as "System V Release 3").
|
||||
|
||||
- Macro: .UC [version]
|
||||
Alters the footer for use with BSD manpages. This command exists
|
||||
only for compatibility; don't use it. The argument can be:
|
||||
|
||||
`3'
|
||||
3rd Berkeley Distribution (the default)
|
||||
|
||||
`4'
|
||||
4th Berkeley Distribution
|
||||
|
||||
`5'
|
||||
4.2 Berkeley Distribution
|
||||
|
||||
`6'
|
||||
4.3 Berkeley Distribution
|
||||
|
||||
`7'
|
||||
4.4 Berkeley Distribution
|
||||
|
||||
|
||||
File: groff, Node: Predefined man strings, Next: Preprocessors in man pages, Prev: Miscellaneous man macros, Up: man
|
||||
@ -222,6 +352,9 @@ Predefined strings
|
||||
- String: \*[S]
|
||||
Switch back to the default font size.
|
||||
|
||||
- String: \*[HF]
|
||||
The typeface used for headings. The default is `B'.
|
||||
|
||||
- String: \*[R]
|
||||
The `registered' sign.
|
||||
|
||||
@ -234,7 +367,7 @@ Predefined strings
|
||||
respectively.
|
||||
|
||||
|
||||
File: groff, Node: Preprocessors in man pages, Prev: Predefined man strings, Up: man
|
||||
File: groff, Node: Preprocessors in man pages, Next: Optional man extensions, Prev: Predefined man strings, Up: man
|
||||
|
||||
Preprocessors in `man' pages
|
||||
----------------------------
|
||||
@ -250,6 +383,134 @@ of letters for the needed preprocessors: `e' for `geqn', `r' for
|
||||
`grefer', `t' for `gtbl'. Modern implementations of the `man' program
|
||||
read this first line and automatically call the right preprocessor(s).
|
||||
|
||||
|
||||
File: groff, Node: Optional man extensions, Prev: Preprocessors in man pages, Up: man
|
||||
|
||||
Optional `man' extensions
|
||||
-------------------------
|
||||
|
||||
Use the file `man.local' for local extensions to the `man' macros or
|
||||
for style changes.
|
||||
|
||||
Custom headers and footers
|
||||
..........................
|
||||
|
||||
In groff versions 1.18.2 and later, you can specify custom headers
|
||||
and footers by redefining the following macros in `man.local'.
|
||||
|
||||
- Macro: .PT
|
||||
Control the content of the headers. Normally, the header prints
|
||||
the command name and section number on either side, and the
|
||||
optional fifth argument to `TH' in the center.
|
||||
|
||||
- Macro: .BT
|
||||
Control the content of the footers. Normally, the footer prints
|
||||
the page number and the third and fourth arguments to `TH'.
|
||||
|
||||
Use the `FT' number register to specify the footer position. The
|
||||
default is -0.5i.
|
||||
|
||||
Ultrix-specific man macros
|
||||
..........................
|
||||
|
||||
The `groff' source distribution includes a file named `man.ultrix',
|
||||
containing macros compatible with the Ultrix variant of `man'. Copy
|
||||
this file into `man.local' (or use the `mso' request to load it) to
|
||||
enable the following macros.
|
||||
|
||||
- Macro: .CT key
|
||||
Print `<CTRL/KEY>'.
|
||||
|
||||
- Macro: .CW
|
||||
Print subsequent text using the constant width (Courier) typeface.
|
||||
|
||||
- Macro: .Ds
|
||||
Begin a non-filled display.
|
||||
|
||||
- Macro: .De
|
||||
End a non-filled display started with `Ds'.
|
||||
|
||||
- Macro: .EX [indent]
|
||||
Begins a non-filled display using the constant width (Courier)
|
||||
typeface. Use the optional INDENT argument to indent the display.
|
||||
|
||||
- Macro: .EE
|
||||
End a non-filled display started with `EX'.
|
||||
|
||||
- Macro: .G [text]
|
||||
Sets TEXT in Helvetica. If no text is present on the line where
|
||||
the macro is called, then the text of the next line appears in
|
||||
Helvetica.
|
||||
|
||||
- Macro: .GL [text]
|
||||
Sets TEXT in Helvetica Oblique. If no text is present on the line
|
||||
where the macro is called, then the text of the next line appears
|
||||
in Helvetica Oblique.
|
||||
|
||||
- Macro: .HB [text]
|
||||
Sets TEXT in Helvetica Bold. If no text is present on the line
|
||||
where the macro is called, then all text up to the next `HB'
|
||||
appears in Helvetica Bold.
|
||||
|
||||
- Macro: .TB [text]
|
||||
Identical to `HB'.
|
||||
|
||||
- Macro: .MS title sect [punct]
|
||||
Set a manpage reference in Ultrix format. The TITLE is in Courier
|
||||
instead of italic. Optional punctuation follows the section
|
||||
number without an intervening space.
|
||||
|
||||
- Macro: .NT [`C'] [title]
|
||||
Begin a note. Print the optional title, or the word "Note",
|
||||
centered on the page. Text following the macro makes up the body
|
||||
of the note, and is indented on both sides. If the first argument
|
||||
is `C', the body of the note is printed centered (the second
|
||||
argument replaces the word "Note" if specified).
|
||||
|
||||
- Macro: .NE
|
||||
End a note begun with `NT'.
|
||||
|
||||
- Macro: .PN path [punct]
|
||||
Set the path name in constant width (Courier), followed by
|
||||
optional punctuation.
|
||||
|
||||
- Macro: .Pn [punct] path [punct]
|
||||
When called with two arguments, identical to `PN'. When called
|
||||
with three arguments, set the second argument in constant width
|
||||
(Courier), bracketed by the first and third arguments in the
|
||||
current font.
|
||||
|
||||
- Macro: .R
|
||||
Switch to roman font and turn off any underlining in effect.
|
||||
|
||||
- Macro: .RN
|
||||
Print the string `<RETURN>'.
|
||||
|
||||
- Macro: .VS [`4']
|
||||
Start printing a change bar in the margin if the number `4' is
|
||||
specified. Otherwise, this macro does nothing.
|
||||
|
||||
- Macro: .VE
|
||||
End printing the change bar begun by `VS'.
|
||||
|
||||
Simple example
|
||||
..............
|
||||
|
||||
The following example `man.local' file alters the `SH' macro to add
|
||||
some extra vertical space before printing the heading. Headings are
|
||||
printed in Helvetica Bold.
|
||||
|
||||
|
||||
.\" Make the heading fonts Helvetica
|
||||
.ds HF HB
|
||||
.
|
||||
.\" Put more whitespace in front of headings.
|
||||
.rn SH SH-orig
|
||||
.de SH
|
||||
. if t .sp (u;\\n[PD]*2)
|
||||
. SH-orig \\$*
|
||||
..
|
||||
|
||||
|
||||
File: groff, Node: mdoc, Next: ms, Prev: man, Up: Macro Packages
|
||||
|
||||
@ -1256,7 +1517,7 @@ those headings wrapped in `XS' and `XE' macros.
|
||||
.NH 2
|
||||
Methodology
|
||||
.XS
|
||||
Methodology
|
||||
Methodology
|
||||
.XE
|
||||
.LP
|
||||
...
|
||||
@ -1304,380 +1565,3 @@ a document.
|
||||
is perhaps initially more difficult, but would save a great deal of
|
||||
time in the long run if you use `ms' regularly.
|
||||
|
||||
|
||||
File: groff, Node: ms Strings and Special Characters, Prev: ms TOC, Up: ms Page Layout
|
||||
|
||||
Strings and Special Characters
|
||||
..............................
|
||||
|
||||
The `ms' macros provide the following predefined strings. You can
|
||||
change the string definitions to help in creating documents in
|
||||
languages other than English.
|
||||
|
||||
- String: \*[REFERENCES]
|
||||
Contains the string printed at the beginning of the references
|
||||
(bibliography) page. The default is `References'.
|
||||
|
||||
- String: \*[ABSTRACT]
|
||||
Contains the string printed at the beginning of the abstract. The
|
||||
default is `ABSTRACT'.
|
||||
|
||||
- String: \*[TOC]
|
||||
Contains the string printed at the beginning of the table of
|
||||
contents.
|
||||
|
||||
- String: \*[MONTH1]
|
||||
- String: \*[MONTH2]
|
||||
- String: \*[MONTH3]
|
||||
- String: \*[MONTH4]
|
||||
- String: \*[MONTH5]
|
||||
- String: \*[MONTH6]
|
||||
- String: \*[MONTH7]
|
||||
- String: \*[MONTH8]
|
||||
- String: \*[MONTH9]
|
||||
- String: \*[MONTH10]
|
||||
- String: \*[MONTH11]
|
||||
- String: \*[MONTH12]
|
||||
Prints the full name of the month in dates. The default is
|
||||
`January', `February', etc.
|
||||
|
||||
The following special characters are available(1) (*note ms Strings
|
||||
and Special Characters-Footnote-1::):
|
||||
|
||||
- String: \*[-]
|
||||
Prints an em dash.
|
||||
|
||||
- String: \*[*Q]
|
||||
- String: \*[*U]
|
||||
Prints typographer's quotes in troff, plain quotes in nroff. `*Q'
|
||||
is the left quote and `*U' is the right quote.
|
||||
|
||||
Improved accent marks are available in the `ms' macros.
|
||||
|
||||
- Macro: .AM
|
||||
Specify this macro at the beginning of your document to enable
|
||||
extended accent marks and special characters. This is a Berkeley
|
||||
extension.
|
||||
|
||||
To use the accent marks, place them *after* the character being
|
||||
accented.
|
||||
|
||||
The following accent marks are available after invoking the `AM'
|
||||
macro:
|
||||
|
||||
- String: \*[']
|
||||
Acute accent.
|
||||
|
||||
- String: \*[`]
|
||||
Grave accent.
|
||||
|
||||
- String: \*[^]
|
||||
Circumflex.
|
||||
|
||||
- String: \*[,]
|
||||
Cedilla.
|
||||
|
||||
- String: \*[~]
|
||||
Tilde.
|
||||
|
||||
- String: \*[:]
|
||||
Umlaut.
|
||||
|
||||
- String: \*[v]
|
||||
Hacek.
|
||||
|
||||
- String: \*[_]
|
||||
Macron (overbar).
|
||||
|
||||
- String: \*[.]
|
||||
Underdot.
|
||||
|
||||
- String: \*[o]
|
||||
Ring above.
|
||||
|
||||
The following are standalone characters available after invoking the
|
||||
`AM' macro:
|
||||
|
||||
- String: \*[?]
|
||||
Upside-down question mark.
|
||||
|
||||
- String: \*[!]
|
||||
Upside-down exclamation point.
|
||||
|
||||
- String: \*[8]
|
||||
German ss ligature.
|
||||
|
||||
- String: \*[3]
|
||||
Yogh.
|
||||
|
||||
- String: \*[Th]
|
||||
Uppercase thorn.
|
||||
|
||||
- String: \*[th]
|
||||
Lowercase thorn.
|
||||
|
||||
- String: \*[D-]
|
||||
Uppercase eth.
|
||||
|
||||
- String: \*[d-]
|
||||
Lowercase eth.
|
||||
|
||||
- String: \*[q]
|
||||
Hooked o.
|
||||
|
||||
- String: \*[ae]
|
||||
Lowercase ae ligature.
|
||||
|
||||
- String: \*[Ae]
|
||||
Uppercase AE ligature.
|
||||
|
||||
|
||||
File: groff, Node: ms Strings and Special Characters-Footnotes, Up: ms Strings and Special Characters
|
||||
|
||||
(1) For an explanation what special characters are see *Note Special
|
||||
Characters::.
|
||||
|
||||
|
||||
File: groff, Node: Differences from AT&T ms, Prev: ms Page Layout, Up: ms
|
||||
|
||||
Differences from AT&T `ms'
|
||||
--------------------------
|
||||
|
||||
This section lists the (minor) differences between the `groff -ms'
|
||||
macros and AT&T `troff -ms' macros.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Missing ms Macros::
|
||||
* Additional ms Macros::
|
||||
|
||||
|
||||
File: groff, Node: Missing ms Macros, Next: Additional ms Macros, Prev: Differences from AT&T ms, Up: Differences from AT&T ms
|
||||
|
||||
`troff' macros not appearing in `groff'
|
||||
.......................................
|
||||
|
||||
Macros missing from `groff -ms' are cover page macros specific to
|
||||
Bell Labs. The macros known to be missing are:
|
||||
|
||||
`.TM'
|
||||
Technical memorandum; a cover sheet style
|
||||
|
||||
`.IM'
|
||||
Internal memorandum; a cover sheet style
|
||||
|
||||
`.MR'
|
||||
Memo for record; a cover sheet style
|
||||
|
||||
`.MF'
|
||||
Memo for file; a cover sheet style
|
||||
|
||||
`.EG'
|
||||
Engineer's notes; a cover sheet style
|
||||
|
||||
`.TR'
|
||||
Computing Science Tech Report; a cover sheet style
|
||||
|
||||
`.OK'
|
||||
Other keywords
|
||||
|
||||
`.CS'
|
||||
Cover sheet information
|
||||
|
||||
`.MH'
|
||||
A cover sheet macro
|
||||
|
||||
|
||||
File: groff, Node: Additional ms Macros, Prev: Missing ms Macros, Up: Differences from AT&T ms
|
||||
|
||||
`groff' macros not appearing in AT&T `troff'
|
||||
............................................
|
||||
|
||||
The `groff -ms' macros have a few minor extensions compared to the
|
||||
AT&T `troff -ms' macros.
|
||||
|
||||
- Macro: .AM
|
||||
Improved accent marks. *Note ms Strings and Special Characters::,
|
||||
for details.
|
||||
|
||||
- Macro: .DS I
|
||||
Indented display. The default behavior of AT&T `troff -ms' was to
|
||||
indent; the `groff' default prints displays flush left with the
|
||||
body text.
|
||||
|
||||
- Macro: .CW
|
||||
Print text in `constant width' (Courier) font.
|
||||
|
||||
- Macro: .IX
|
||||
Indexing term (printed on standard error). You can write a script
|
||||
to capture and process an index generated in this manner.
|
||||
|
||||
|
||||
The following additional number registers appear in `groff -ms':
|
||||
|
||||
- Register: \n[MINGW]
|
||||
Specifies a minimum space between columns (for multi-column
|
||||
output); this takes the place of the `GW' register that was
|
||||
documented but apparently not implemented in AT&T `troff'.
|
||||
|
||||
|
||||
Several new string registers are available as well. You can change
|
||||
these to handle (for example) the local language. *Note ms Strings and
|
||||
Special Characters::, for details.
|
||||
|
||||
|
||||
File: groff, Node: me, Next: mm, Prev: ms, Up: Macro Packages
|
||||
|
||||
`me'
|
||||
====
|
||||
|
||||
See the `meintro.me' and `meref.me' documents in groff's `doc'
|
||||
directory.
|
||||
|
||||
|
||||
File: groff, Node: mm, Prev: me, Up: Macro Packages
|
||||
|
||||
`mm'
|
||||
====
|
||||
|
||||
See the `groff_mm(7)' man page (type `man groff_mm' at the command
|
||||
line).
|
||||
|
||||
|
||||
File: groff, Node: gtroff Reference, Next: Preprocessors, Prev: Macro Packages, Up: Top
|
||||
|
||||
`gtroff' Reference
|
||||
******************
|
||||
|
||||
This chapter covers *all* of the facilities of `gtroff'. Users of
|
||||
macro packages may skip it if not interested in details.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Text::
|
||||
* Input Conventions::
|
||||
* Measurements::
|
||||
* Expressions::
|
||||
* Identifiers::
|
||||
* Embedded Commands::
|
||||
* Registers::
|
||||
* Manipulating Filling and Adjusting::
|
||||
* Manipulating Hyphenation::
|
||||
* Manipulating Spacing::
|
||||
* Tabs and Fields::
|
||||
* Character Translations::
|
||||
* Troff and Nroff Mode::
|
||||
* Line Layout::
|
||||
* Line Control::
|
||||
* Page Layout::
|
||||
* Page Control::
|
||||
* Fonts::
|
||||
* Sizes::
|
||||
* Strings::
|
||||
* Conditionals and Loops::
|
||||
* Writing Macros::
|
||||
* Page Motions::
|
||||
* Drawing Requests::
|
||||
* Traps::
|
||||
* Diversions::
|
||||
* Environments::
|
||||
* Suppressing output::
|
||||
* Colors::
|
||||
* I/O::
|
||||
* Postprocessor Access::
|
||||
* Miscellaneous::
|
||||
* Gtroff Internals::
|
||||
* Debugging::
|
||||
* Implementation Differences::
|
||||
|
||||
|
||||
File: groff, Node: Text, Next: Input Conventions, Prev: gtroff Reference, Up: gtroff Reference
|
||||
|
||||
Text
|
||||
====
|
||||
|
||||
`gtroff' input files contain text with control commands interspersed
|
||||
throughout. But, even without control codes, `gtroff' still does
|
||||
several things with the input text:
|
||||
|
||||
* filling and adjusting
|
||||
|
||||
* adding additional space after sentences
|
||||
|
||||
* hyphenating
|
||||
|
||||
* inserting implicit line breaks
|
||||
|
||||
* Menu:
|
||||
|
||||
* Filling and Adjusting::
|
||||
* Hyphenation::
|
||||
* Sentences::
|
||||
* Tab Stops::
|
||||
* Implicit Line Breaks::
|
||||
|
||||
|
||||
File: groff, Node: Filling and Adjusting, Next: Hyphenation, Prev: Text, Up: Text
|
||||
|
||||
Filling and Adjusting
|
||||
---------------------
|
||||
|
||||
When `gtroff' reads text, it collects words from the input and fits
|
||||
as many of them together on one output line as it can. This is known as
|
||||
"filling".
|
||||
|
||||
Once `gtroff' has a "filled" line, it tries to "adjust" it. This
|
||||
means it widens the spacing between words until the text reaches the
|
||||
right margin (in the default adjustment mode). Extra spaces between
|
||||
words are preserved, but spaces at the end of lines are ignored.
|
||||
Spaces at the front of a line cause a "break" (breaks are explained in
|
||||
*Note Implicit Line Breaks::).
|
||||
|
||||
*Note Manipulating Filling and Adjusting::.
|
||||
|
||||
|
||||
File: groff, Node: Hyphenation, Next: Sentences, Prev: Filling and Adjusting, Up: Text
|
||||
|
||||
Hyphenation
|
||||
-----------
|
||||
|
||||
Since the odds are not great for finding a set of words, for every
|
||||
output line, which fit nicely on a line without inserting excessive
|
||||
amounts of space between words, `gtroff' hyphenates words so that it
|
||||
can justify lines without inserting too much space between words. It
|
||||
uses an internal hyphenation algorithm (a simplified version of the
|
||||
algorithm used within TeX) to indicate which words can be hyphenated
|
||||
and how to do so. When a word is hyphenated, the first part of the
|
||||
word is added to the current filled line being output (with an attached
|
||||
hyphen), and the other portion is added to the next line to be filled.
|
||||
|
||||
*Note Manipulating Hyphenation::.
|
||||
|
||||
|
||||
File: groff, Node: Sentences, Next: Tab Stops, Prev: Hyphenation, Up: Text
|
||||
|
||||
Sentences
|
||||
---------
|
||||
|
||||
Although it is often debated, some typesetting rules say there
|
||||
should be different amounts of space after various punctuation marks.
|
||||
For example, the `Chicago typsetting manual' says that a period at the
|
||||
end of a sentence should have twice as much space following it as would
|
||||
a comma or a period as part of an abbreviation.
|
||||
|
||||
`gtroff' does this by flagging certain characters (normally `!',
|
||||
`?', and `.') as "end-of-sentence" characters. When `gtroff'
|
||||
encounters one of these characters at the end of a line, it appends a
|
||||
normal space followed by a "sentence space" in the formatted output.
|
||||
(This justifies one of the conventions mentioned in *Note Input
|
||||
Conventions::.)
|
||||
|
||||
In addition, the following characters and symbols are treated
|
||||
transparently while handling end-of-sentence characters: `"', `'', `)',
|
||||
`]', `*', `\[dg]', and `\[rq]'.
|
||||
|
||||
See the `cflags' request in *Note Using Symbols::, for more details.
|
||||
|
||||
To prevent the insertion of extra space after an end-of-sentence
|
||||
character (at the end of a line), append `\&'.
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,389 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: ms Strings and Special Characters, Prev: ms TOC, Up: ms Page Layout
|
||||
|
||||
Strings and Special Characters
|
||||
..............................
|
||||
|
||||
The `ms' macros provide the following predefined strings. You can
|
||||
change the string definitions to help in creating documents in
|
||||
languages other than English.
|
||||
|
||||
- String: \*[REFERENCES]
|
||||
Contains the string printed at the beginning of the references
|
||||
(bibliography) page. The default is `References'.
|
||||
|
||||
- String: \*[ABSTRACT]
|
||||
Contains the string printed at the beginning of the abstract. The
|
||||
default is `ABSTRACT'.
|
||||
|
||||
- String: \*[TOC]
|
||||
Contains the string printed at the beginning of the table of
|
||||
contents.
|
||||
|
||||
- String: \*[MONTH1]
|
||||
- String: \*[MONTH2]
|
||||
- String: \*[MONTH3]
|
||||
- String: \*[MONTH4]
|
||||
- String: \*[MONTH5]
|
||||
- String: \*[MONTH6]
|
||||
- String: \*[MONTH7]
|
||||
- String: \*[MONTH8]
|
||||
- String: \*[MONTH9]
|
||||
- String: \*[MONTH10]
|
||||
- String: \*[MONTH11]
|
||||
- String: \*[MONTH12]
|
||||
Prints the full name of the month in dates. The default is
|
||||
`January', `February', etc.
|
||||
|
||||
The following special characters are available(1) (*note ms Strings
|
||||
and Special Characters-Footnote-1::):
|
||||
|
||||
- String: \*[-]
|
||||
Prints an em dash.
|
||||
|
||||
- String: \*[*Q]
|
||||
- String: \*[*U]
|
||||
Prints typographer's quotes in troff, plain quotes in nroff. `*Q'
|
||||
is the left quote and `*U' is the right quote.
|
||||
|
||||
Improved accent marks are available in the `ms' macros.
|
||||
|
||||
- Macro: .AM
|
||||
Specify this macro at the beginning of your document to enable
|
||||
extended accent marks and special characters. This is a Berkeley
|
||||
extension.
|
||||
|
||||
To use the accent marks, place them *after* the character being
|
||||
accented.
|
||||
|
||||
The following accent marks are available after invoking the `AM'
|
||||
macro:
|
||||
|
||||
- String: \*[']
|
||||
Acute accent.
|
||||
|
||||
- String: \*[`]
|
||||
Grave accent.
|
||||
|
||||
- String: \*[^]
|
||||
Circumflex.
|
||||
|
||||
- String: \*[,]
|
||||
Cedilla.
|
||||
|
||||
- String: \*[~]
|
||||
Tilde.
|
||||
|
||||
- String: \*[:]
|
||||
Umlaut.
|
||||
|
||||
- String: \*[v]
|
||||
Hacek.
|
||||
|
||||
- String: \*[_]
|
||||
Macron (overbar).
|
||||
|
||||
- String: \*[.]
|
||||
Underdot.
|
||||
|
||||
- String: \*[o]
|
||||
Ring above.
|
||||
|
||||
The following are standalone characters available after invoking the
|
||||
`AM' macro:
|
||||
|
||||
- String: \*[?]
|
||||
Upside-down question mark.
|
||||
|
||||
- String: \*[!]
|
||||
Upside-down exclamation point.
|
||||
|
||||
- String: \*[8]
|
||||
German ss ligature.
|
||||
|
||||
- String: \*[3]
|
||||
Yogh.
|
||||
|
||||
- String: \*[Th]
|
||||
Uppercase thorn.
|
||||
|
||||
- String: \*[th]
|
||||
Lowercase thorn.
|
||||
|
||||
- String: \*[D-]
|
||||
Uppercase eth.
|
||||
|
||||
- String: \*[d-]
|
||||
Lowercase eth.
|
||||
|
||||
- String: \*[q]
|
||||
Hooked o.
|
||||
|
||||
- String: \*[ae]
|
||||
Lowercase ae ligature.
|
||||
|
||||
- String: \*[Ae]
|
||||
Uppercase AE ligature.
|
||||
|
||||
|
||||
File: groff, Node: ms Strings and Special Characters-Footnotes, Up: ms Strings and Special Characters
|
||||
|
||||
(1) For an explanation what special characters are see *Note Special
|
||||
Characters::.
|
||||
|
||||
|
||||
File: groff, Node: Differences from AT&T ms, Prev: ms Page Layout, Up: ms
|
||||
|
||||
Differences from AT&T `ms'
|
||||
--------------------------
|
||||
|
||||
This section lists the (minor) differences between the `groff -ms'
|
||||
macros and AT&T `troff -ms' macros.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Missing ms Macros::
|
||||
* Additional ms Macros::
|
||||
|
||||
|
||||
File: groff, Node: Missing ms Macros, Next: Additional ms Macros, Prev: Differences from AT&T ms, Up: Differences from AT&T ms
|
||||
|
||||
`troff' macros not appearing in `groff'
|
||||
.......................................
|
||||
|
||||
Macros missing from `groff -ms' are cover page macros specific to
|
||||
Bell Labs. The macros known to be missing are:
|
||||
|
||||
`.TM'
|
||||
Technical memorandum; a cover sheet style
|
||||
|
||||
`.IM'
|
||||
Internal memorandum; a cover sheet style
|
||||
|
||||
`.MR'
|
||||
Memo for record; a cover sheet style
|
||||
|
||||
`.MF'
|
||||
Memo for file; a cover sheet style
|
||||
|
||||
`.EG'
|
||||
Engineer's notes; a cover sheet style
|
||||
|
||||
`.TR'
|
||||
Computing Science Tech Report; a cover sheet style
|
||||
|
||||
`.OK'
|
||||
Other keywords
|
||||
|
||||
`.CS'
|
||||
Cover sheet information
|
||||
|
||||
`.MH'
|
||||
A cover sheet macro
|
||||
|
||||
|
||||
File: groff, Node: Additional ms Macros, Prev: Missing ms Macros, Up: Differences from AT&T ms
|
||||
|
||||
`groff' macros not appearing in AT&T `troff'
|
||||
............................................
|
||||
|
||||
The `groff -ms' macros have a few minor extensions compared to the
|
||||
AT&T `troff -ms' macros.
|
||||
|
||||
- Macro: .AM
|
||||
Improved accent marks. *Note ms Strings and Special Characters::,
|
||||
for details.
|
||||
|
||||
- Macro: .DS I
|
||||
Indented display. The default behavior of AT&T `troff -ms' was to
|
||||
indent; the `groff' default prints displays flush left with the
|
||||
body text.
|
||||
|
||||
- Macro: .CW
|
||||
Print text in `constant width' (Courier) font.
|
||||
|
||||
- Macro: .IX
|
||||
Indexing term (printed on standard error). You can write a script
|
||||
to capture and process an index generated in this manner.
|
||||
|
||||
|
||||
The following additional number registers appear in `groff -ms':
|
||||
|
||||
- Register: \n[MINGW]
|
||||
Specifies a minimum space between columns (for multi-column
|
||||
output); this takes the place of the `GW' register that was
|
||||
documented but apparently not implemented in AT&T `troff'.
|
||||
|
||||
|
||||
Several new string registers are available as well. You can change
|
||||
these to handle (for example) the local language. *Note ms Strings and
|
||||
Special Characters::, for details.
|
||||
|
||||
|
||||
File: groff, Node: me, Next: mm, Prev: ms, Up: Macro Packages
|
||||
|
||||
`me'
|
||||
====
|
||||
|
||||
See the `meintro.me' and `meref.me' documents in groff's `doc'
|
||||
directory.
|
||||
|
||||
|
||||
File: groff, Node: mm, Prev: me, Up: Macro Packages
|
||||
|
||||
`mm'
|
||||
====
|
||||
|
||||
See the `groff_mm(7)' man page (type `man groff_mm' at the command
|
||||
line).
|
||||
|
||||
|
||||
File: groff, Node: gtroff Reference, Next: Preprocessors, Prev: Macro Packages, Up: Top
|
||||
|
||||
`gtroff' Reference
|
||||
******************
|
||||
|
||||
This chapter covers *all* of the facilities of `gtroff'. Users of
|
||||
macro packages may skip it if not interested in details.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Text::
|
||||
* Measurements::
|
||||
* Expressions::
|
||||
* Identifiers::
|
||||
* Embedded Commands::
|
||||
* Registers::
|
||||
* Manipulating Filling and Adjusting::
|
||||
* Manipulating Hyphenation::
|
||||
* Manipulating Spacing::
|
||||
* Tabs and Fields::
|
||||
* Character Translations::
|
||||
* Troff and Nroff Mode::
|
||||
* Line Layout::
|
||||
* Line Control::
|
||||
* Page Layout::
|
||||
* Page Control::
|
||||
* Fonts and Symbols::
|
||||
* Sizes::
|
||||
* Strings::
|
||||
* Conditionals and Loops::
|
||||
* Writing Macros::
|
||||
* Page Motions::
|
||||
* Drawing Requests::
|
||||
* Traps::
|
||||
* Diversions::
|
||||
* Environments::
|
||||
* Suppressing output::
|
||||
* Colors::
|
||||
* I/O::
|
||||
* Postprocessor Access::
|
||||
* Miscellaneous::
|
||||
* Gtroff Internals::
|
||||
* Debugging::
|
||||
* Implementation Differences::
|
||||
|
||||
|
||||
File: groff, Node: Text, Next: Measurements, Prev: gtroff Reference, Up: gtroff Reference
|
||||
|
||||
Text
|
||||
====
|
||||
|
||||
`gtroff' input files contain text with control commands interspersed
|
||||
throughout. But, even without control codes, `gtroff' still does
|
||||
several things with the input text:
|
||||
|
||||
* filling and adjusting
|
||||
|
||||
* adding additional space after sentences
|
||||
|
||||
* hyphenating
|
||||
|
||||
* inserting implicit line breaks
|
||||
|
||||
* Menu:
|
||||
|
||||
* Filling and Adjusting::
|
||||
* Hyphenation::
|
||||
* Sentences::
|
||||
* Tab Stops::
|
||||
* Implicit Line Breaks::
|
||||
* Input Conventions::
|
||||
* Input Encodings::
|
||||
|
||||
|
||||
File: groff, Node: Filling and Adjusting, Next: Hyphenation, Prev: Text, Up: Text
|
||||
|
||||
Filling and Adjusting
|
||||
---------------------
|
||||
|
||||
When `gtroff' reads text, it collects words from the input and fits
|
||||
as many of them together on one output line as it can. This is known as
|
||||
"filling".
|
||||
|
||||
Once `gtroff' has a "filled" line, it tries to "adjust" it. This
|
||||
means it widens the spacing between words until the text reaches the
|
||||
right margin (in the default adjustment mode). Extra spaces between
|
||||
words are preserved, but spaces at the end of lines are ignored.
|
||||
Spaces at the front of a line cause a "break" (breaks are explained in
|
||||
*Note Implicit Line Breaks::).
|
||||
|
||||
*Note Manipulating Filling and Adjusting::.
|
||||
|
||||
|
||||
File: groff, Node: Hyphenation, Next: Sentences, Prev: Filling and Adjusting, Up: Text
|
||||
|
||||
Hyphenation
|
||||
-----------
|
||||
|
||||
Since the odds are not great for finding a set of words, for every
|
||||
output line, which fit nicely on a line without inserting excessive
|
||||
amounts of space between words, `gtroff' hyphenates words so that it
|
||||
can justify lines without inserting too much space between words. It
|
||||
uses an internal hyphenation algorithm (a simplified version of the
|
||||
algorithm used within TeX) to indicate which words can be hyphenated
|
||||
and how to do so. When a word is hyphenated, the first part of the
|
||||
word is added to the current filled line being output (with an attached
|
||||
hyphen), and the other portion is added to the next line to be filled.
|
||||
|
||||
*Note Manipulating Hyphenation::.
|
||||
|
||||
|
||||
File: groff, Node: Sentences, Next: Tab Stops, Prev: Hyphenation, Up: Text
|
||||
|
||||
Sentences
|
||||
---------
|
||||
|
||||
Although it is often debated, some typesetting rules say there
|
||||
should be different amounts of space after various punctuation marks.
|
||||
For example, the `Chicago typsetting manual' says that a period at the
|
||||
end of a sentence should have twice as much space following it as would
|
||||
a comma or a period as part of an abbreviation.
|
||||
|
||||
`gtroff' does this by flagging certain characters (normally `!',
|
||||
`?', and `.') as "end-of-sentence" characters. When `gtroff'
|
||||
encounters one of these characters at the end of a line, it appends a
|
||||
normal space followed by a "sentence space" in the formatted output.
|
||||
(This justifies one of the conventions mentioned in *Note Input
|
||||
Conventions::.)
|
||||
|
||||
In addition, the following characters and symbols are treated
|
||||
transparently while handling end-of-sentence characters: `"', `'', `)',
|
||||
`]', `*', `\[dg]', and `\[rq]'.
|
||||
|
||||
See the `cflags' request in *Note Using Symbols::, for more details.
|
||||
|
||||
To prevent the insertion of extra space after an end-of-sentence
|
||||
character (at the end of a line), append `\&'.
|
||||
|
||||
|
||||
File: groff, Node: Tab Stops, Next: Implicit Line Breaks, Prev: Sentences, Up: Text
|
||||
|
||||
@ -49,7 +428,7 @@ produces
|
||||
*Note Tabs and Fields::.
|
||||
|
||||
|
||||
File: groff, Node: Implicit Line Breaks, Prev: Tab Stops, Up: Text
|
||||
File: groff, Node: Implicit Line Breaks, Next: Input Conventions, Prev: Tab Stops, Up: Text
|
||||
|
||||
Implicit Line Breaks
|
||||
--------------------
|
||||
@ -74,10 +453,10 @@ document may vanish!
|
||||
is discussed in *Note Manipulating Filling and Adjusting::.
|
||||
|
||||
|
||||
File: groff, Node: Input Conventions, Next: Measurements, Prev: Text, Up: gtroff Reference
|
||||
File: groff, Node: Input Conventions, Next: Input Encodings, Prev: Implicit Line Breaks, Up: Text
|
||||
|
||||
Input Conventions
|
||||
=================
|
||||
-----------------
|
||||
|
||||
Since `gtroff' does filling automatically, it is traditional in
|
||||
`groff' not to try and type things in as nicely formatted paragraphs.
|
||||
@ -95,7 +474,57 @@ These are some conventions commonly used when typing `gtroff' text:
|
||||
try using spaces to get proper indentation).
|
||||
|
||||
|
||||
File: groff, Node: Measurements, Next: Expressions, Prev: Input Conventions, Up: gtroff Reference
|
||||
File: groff, Node: Input Encodings, Prev: Input Conventions, Up: Text
|
||||
|
||||
Input Encodings
|
||||
---------------
|
||||
|
||||
Currently, the following input encodings are available.
|
||||
|
||||
cp1047
|
||||
This input encoding works only on EBCDIC platforms (and vice
|
||||
versa, the other input encodings don't work with EBCDIC); the file
|
||||
`cp1047.tmac' is by default loaded at start-up.
|
||||
|
||||
latin-1
|
||||
This is the default input encoding on non-EBCDIC platforms; the
|
||||
file `latin1.tmac' is loaded at start-up.
|
||||
|
||||
latin-2
|
||||
To use this encoding, either say `.mso latin2.tmac' at the very
|
||||
beginning of your document or use `-mlatin2' as a command line
|
||||
argument for `groff'.
|
||||
|
||||
latin-9 (latin-0)
|
||||
This encoding is intended (at least in Europe) to replace latin-1
|
||||
encoding. The main difference to latin-1 is that latin-9 contains
|
||||
the Euro character. To use this encoding, either say
|
||||
`.mso latin9.tmac' at the very beginning of your document or use
|
||||
`-mlatin9' as a command line argument for `groff'.
|
||||
|
||||
Note that it can happen that some input encoding characters are not
|
||||
available for a particular output device. For example, saying
|
||||
|
||||
|
||||
groff -Tlatin1 -mlatin9 ...
|
||||
|
||||
will fail if you use the Euro character in the input. Usually, this
|
||||
limitation is present only for devices which have a limited set of
|
||||
output glyphs (e.g. `-Tascii' and `-Tlatin1'); for other devices it is
|
||||
usually sufficient to install proper fonts which contain the necessary
|
||||
glyphs.
|
||||
|
||||
Due to the importance of the Euro glyph in Europe, the groff package
|
||||
now comes with a POSTSCRIPT font called `freeeuro.pfa' which provides
|
||||
various glyph shapes for the Euro. With other words, latin-9 encoding
|
||||
is supported for the `-Tps' device out of the box (latin-2 isn't).
|
||||
|
||||
By its very nature, `-Tutf8' supports all input encodings; `-Tdvi'
|
||||
has support for both latin-2 and latin-9 if the command line `-mec' is
|
||||
used also to load the file `ec.tmac' (which flips to the EC fonts).
|
||||
|
||||
|
||||
File: groff, Node: Measurements, Next: Expressions, Prev: Text, Up: gtroff Reference
|
||||
|
||||
Measurements
|
||||
============
|
||||
@ -259,14 +688,15 @@ signs indicate increments and decrements.
|
||||
|
||||
*Note Setting Registers::, for some examples.
|
||||
|
||||
- Escape: \B'ANYTHING'
|
||||
- Escape: \B'anything'
|
||||
Return 1 if ANYTHING is a valid numeric expression; or 0 if
|
||||
ANYTHING is empty or not a valid numeric expression.
|
||||
|
||||
Due to the way arguments are parsed, spaces are not allowed in
|
||||
expressions, unless the entire expression is surrounded by parentheses.
|
||||
|
||||
*Note Request Arguments::, and *Note Conditionals and Loops::.
|
||||
*Note Request and Macro Arguments::, and *Note Conditionals and
|
||||
Loops::.
|
||||
|
||||
|
||||
File: groff, Node: Identifiers, Next: Embedded Commands, Prev: Expressions, Up: gtroff Reference
|
||||
@ -322,7 +752,7 @@ after `.[' and `.]' is handled as a special argument to `refer'. For
|
||||
example, `.[foo' makes `refer' to start a reference, using `foo' as a
|
||||
parameter.
|
||||
|
||||
- Escape: \A'IDENT'
|
||||
- Escape: \A'ident'
|
||||
Test whether an identifier IDENT is valid in `gtroff'. It expands
|
||||
to the character 1 or 0 according to whether its argument (usually
|
||||
delimited by quotes) is or is not acceptable as the name of a
|
||||
@ -466,21 +896,23 @@ character prevents this.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Request Arguments::
|
||||
* Request and Macro Arguments::
|
||||
|
||||
|
||||
File: groff, Node: Request Arguments, Prev: Requests, Up: Requests
|
||||
File: groff, Node: Request and Macro Arguments, Prev: Requests, Up: Requests
|
||||
|
||||
Request Arguments
|
||||
.................
|
||||
Request and Macro Arguments
|
||||
...........................
|
||||
|
||||
Arguments to requests (and macros) are processed much like the shell:
|
||||
Arguments to requests and macros are processed much like the shell:
|
||||
The line is split into arguments according to spaces.(1) (*note Request
|
||||
Arguments-Footnote-1::) An argument which is intended to contain
|
||||
spaces can either be enclosed in double quotes, or have the spaces
|
||||
"escaped" with backslashes.
|
||||
and Macro Arguments-Footnote-1::)
|
||||
|
||||
Here are a few examples:
|
||||
An argument to a macro which is intended to contain spaces can
|
||||
either be enclosed in double quotes, or have the spaces "escaped" with
|
||||
backslashes. This is _not_ true for requests.
|
||||
|
||||
Here are a few examples for a hypothetical macro `uh':
|
||||
|
||||
|
||||
.uh The Mouse Problem
|
||||
@ -490,7 +922,7 @@ spaces can either be enclosed in double quotes, or have the spaces
|
||||
The first line is the `uh' macro being called with 3 arguments, `The',
|
||||
`Mouse', and `Problem'. The latter two have the same effect of calling
|
||||
the `uh' macro with one argument, `The Mouse Problem'.(2) (*note
|
||||
Request Arguments-Footnote-2::)
|
||||
Request and Macro Arguments-Footnote-2::)
|
||||
|
||||
A double quote which isn't preceded by a space doesn't start a macro
|
||||
argument. If not closing a string, it is printed literally.
|
||||
@ -543,7 +975,7 @@ obscure behaviour!
|
||||
Strings::, for more details.
|
||||
|
||||
|
||||
File: groff, Node: Request Arguments-Footnotes, Up: Request Arguments
|
||||
File: groff, Node: Request and Macro Arguments-Footnotes, Up: Request and Macro Arguments
|
||||
|
||||
(1) Plan 9's `troff' implementation also allows tabs for argument
|
||||
separation - `gtroff' intentionally doesn't support this.
|
||||
@ -563,9 +995,9 @@ Macros
|
||||
|
||||
`gtroff' has a "macro" facility for defining a series of lines which
|
||||
can be invoked by name. They are called in the same manner as requests
|
||||
- arguments also may be passed in the same manner.
|
||||
- arguments also may be passed basically in the same manner.
|
||||
|
||||
*Note Writing Macros::, and *Note Request Arguments::.
|
||||
*Note Writing Macros::, and *Note Request and Macro Arguments::.
|
||||
|
||||
|
||||
File: groff, Node: Escapes, Prev: Macros, Up: Embedded Commands
|
||||
@ -723,9 +1155,9 @@ forms of escapes is the comment.
|
||||
|
||||
as expected.
|
||||
|
||||
- Request: .ig yy
|
||||
Ignore all input until `gtroff' encounters the macro named `.'YY
|
||||
on a line by itself (or `..' if YY is not specified). This is
|
||||
- Request: .ig [end]
|
||||
Ignore all input until `gtroff' encounters the macro named `.'END
|
||||
on a line by itself (or `..' if END is not specified). This is
|
||||
useful for commenting out large blocks of text:
|
||||
|
||||
|
||||
@ -786,7 +1218,7 @@ Setting Registers
|
||||
Define or set registers using the `nr' request or the `\R' escape.
|
||||
|
||||
- Request: .nr ident value
|
||||
- Escape: \R'IDENT VALUE'
|
||||
- Escape: \R'ident value'
|
||||
Set number register IDENT to VALUE. If IDENT doesn't exist,
|
||||
`gtroff' creates it.
|
||||
|
||||
@ -809,8 +1241,8 @@ decrement a register.
|
||||
|
||||
- Request: .nr ident +value
|
||||
- Request: .nr ident -value
|
||||
- Escape: \R'IDENT +VALUE'
|
||||
- Escape: \R'IDENT -VALUE'
|
||||
- Escape: \R'ident +value'
|
||||
- Escape: \R'ident -value'
|
||||
Increment (decrement) register IDENT by VALUE.
|
||||
|
||||
|
||||
@ -869,11 +1301,11 @@ Interpolating Registers
|
||||
|
||||
Numeric registers can be accessed via the `\n' escape.
|
||||
|
||||
- Escape: \nI
|
||||
- Escape: \n(ID
|
||||
- Escape: \n[IDENT]
|
||||
- Escape: \ni
|
||||
- Escape: \n(id
|
||||
- Escape: \n[ident]
|
||||
Interpolate number register with name IDENT (one-character name I,
|
||||
two-character name ID). This means that the value of the register
|
||||
two-character name ID). This means that the value of the register
|
||||
is expanded in-place while `gtroff' is parsing the input line.
|
||||
Nested assignments (also called indirect assignments) are possible.
|
||||
|
||||
@ -912,16 +1344,16 @@ to the `nr' request or `\R' escape.
|
||||
To activate auto-incrementing, the escape `\n' has a special syntax
|
||||
form.
|
||||
|
||||
- Escape: \n+I
|
||||
- Escape: \n-I
|
||||
- Escape: \n(+ID
|
||||
- Escape: \n(-ID
|
||||
- Escape: \n+(ID
|
||||
- Escape: \n-(ID
|
||||
- Escape: \n[+IDENT]
|
||||
- Escape: \n[-IDENT]
|
||||
- Escape: \n+[IDENT]
|
||||
- Escape: \n-[IDENT]
|
||||
- Escape: \n+i
|
||||
- Escape: \n-i
|
||||
- Escape: \n(+id
|
||||
- Escape: \n(-id
|
||||
- Escape: \n+(id
|
||||
- Escape: \n-(id
|
||||
- Escape: \n[+ident]
|
||||
- Escape: \n[-ident]
|
||||
- Escape: \n+[ident]
|
||||
- Escape: \n-[ident]
|
||||
Before interpolating, increment or decrement IDENT (one-character
|
||||
name I, two-character name ID) by the auto-increment value as
|
||||
specified with the `nr' request (or the `\R' escape). If no
|
||||
@ -1027,9 +1459,9 @@ using the `af' request.
|
||||
writeable register, then apply the `af' request to this other
|
||||
register.
|
||||
|
||||
- Escape: \gI
|
||||
- Escape: \g(ID
|
||||
- Escape: \g[IDENT]
|
||||
- Escape: \gi
|
||||
- Escape: \g(id
|
||||
- Escape: \g[ident]
|
||||
Return the current format of the specified register IDENT
|
||||
(one-character name I, two-character name ID). For example, `\ga'
|
||||
after the previous example would produce the string `000'. If the
|
||||
@ -1115,12 +1547,12 @@ appendix *Note Register Index::.
|
||||
*Note Miscellaneous::, for more information about line numbering.
|
||||
|
||||
`.x'
|
||||
The major version number. For example, if the version number
|
||||
is 1.03 then `.x' contains `1'.
|
||||
The major version number. For example, if the version number is
|
||||
1.03 then `.x' contains `1'.
|
||||
|
||||
`.y'
|
||||
The minor version number. For example, if the version number
|
||||
is 1.03 then `.y' contains `03'.
|
||||
The minor version number. For example, if the version number is
|
||||
1.03 then `.y' contains `03'.
|
||||
|
||||
`.Y'
|
||||
The revision number of `groff'.
|
||||
@ -1152,223 +1584,3 @@ appendix *Note Register Index::.
|
||||
register `.T' which contains the current output device (for
|
||||
example, `latin1' or `ps').
|
||||
|
||||
|
||||
File: groff, Node: Manipulating Filling and Adjusting, Next: Manipulating Hyphenation, Prev: Registers, Up: gtroff Reference
|
||||
|
||||
Manipulating Filling and Adjusting
|
||||
==================================
|
||||
|
||||
Various ways of causing "breaks" were given in *Note Implicit Line
|
||||
Breaks::. The `br' request likewise causes a break. Several other
|
||||
requests also cause breaks, but implicitly. These are `bp', `ce',
|
||||
`cf', `fi', `fl', `in', `nf', `rj', `sp', `ti', and `trf'.
|
||||
|
||||
- Request: .br
|
||||
Break the current line, i.e., the input collected so far is emitted
|
||||
without adjustment.
|
||||
|
||||
If the no-break control character is used, `gtroff' suppresses the
|
||||
break:
|
||||
|
||||
|
||||
a
|
||||
'br
|
||||
b
|
||||
=> a b
|
||||
|
||||
|
||||
Initially, `gtroff' fills and adjusts text to both margins. Filling
|
||||
can be disabled via the `nf' request and re-enabled with the `fi'
|
||||
request.
|
||||
|
||||
- Request: .fi
|
||||
- Register: \n[.u]
|
||||
Activate fill mode (which is the default). This request implicitly
|
||||
enables adjusting; it also inserts a break in the text currently
|
||||
being filled. The read-only number register `.u' is set to 1.
|
||||
|
||||
The fill mode status is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
See *Note Line Control::, for interaction with the `\c' escape.
|
||||
|
||||
- Request: .nf
|
||||
Activate no-fill mode. Input lines are output as-is, retaining
|
||||
line breaks and ignoring the current line length. This command
|
||||
implicitly disables adjusting; it also causes a break. The number
|
||||
register `.u' is set to 0.
|
||||
|
||||
The fill mode status is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
See *Note Line Control::, for interaction with the `\c' escape.
|
||||
|
||||
- Request: .ad [mode]
|
||||
- Register: \n[.j]
|
||||
Set adjusting mode.
|
||||
|
||||
Activation and deactivation of adjusting is done implicitly with
|
||||
calls to the `fi' or `nf' requests.
|
||||
|
||||
MODE can have one of the following values:
|
||||
|
||||
`l'
|
||||
Adjust text to the left margin. This produces what is
|
||||
traditionally called ragged-right text.
|
||||
|
||||
`r'
|
||||
Adjust text to the right margin, producing ragged-left text.
|
||||
|
||||
`c'
|
||||
Center filled text. This is different to the `ce' request
|
||||
which only centers text without filling.
|
||||
|
||||
`b'
|
||||
`n'
|
||||
Justify to both margins. This is the default used by
|
||||
`gtroff'.
|
||||
|
||||
With no argument, `gtroff' adjusts lines in the same way it did
|
||||
before adjusting was deactivated (with a call to `na', for
|
||||
example).
|
||||
|
||||
|
||||
text
|
||||
.ad r
|
||||
text
|
||||
.ad c
|
||||
text
|
||||
.na
|
||||
text
|
||||
.ad \" back to centering
|
||||
text
|
||||
|
||||
The current adjustment mode is available in the read-only number
|
||||
register `.j'; it can be stored and subsequently used to set
|
||||
adjustment.
|
||||
|
||||
The adjustment mode status is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
- Request: .na
|
||||
Disable adjusting. This request won't change the current
|
||||
adjustment mode: A subsequent call to `ad' uses the previous
|
||||
adjustment setting.
|
||||
|
||||
The adjustment mode status is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
- Request: .brp
|
||||
- Escape: \p
|
||||
Adjust the current line and cause a break.
|
||||
|
||||
In most cases this produces very ugly results since `gtroff'
|
||||
doesn't have a sophisticated paragraph building algorithm (as TeX
|
||||
have, for example); instead, `gtroff' fills and adjusts a paragraph
|
||||
line by line:
|
||||
|
||||
|
||||
This is an uninteresting sentence.
|
||||
This is an uninteresting sentence.\p
|
||||
This is an uninteresting sentence.
|
||||
|
||||
is formatted as
|
||||
|
||||
|
||||
This is an uninteresting sentence. This is an
|
||||
uninteresting sentence.
|
||||
This is an uninteresting sentence.
|
||||
|
||||
|
||||
- Request: .ss word_space_size [sentence_space_size]
|
||||
- Register: \n[.ss]
|
||||
- Register: \n[.sss]
|
||||
Change the minimum size of a space between filled words. It takes
|
||||
its units as one twelfth of the space width parameter for the
|
||||
current font. Initially both the WORD_SPACE_SIZE and
|
||||
SENTENCE_SPACE_SIZE are 12.
|
||||
|
||||
If two arguments are given to the `ss' request, the second
|
||||
argument sets the sentence space size. If the second argument is
|
||||
not given, sentence space size is set to WORD_SPACE_SIZE. The
|
||||
sentence space size is used in two circumstances: If the end of a
|
||||
sentence occurs at the end of a line in fill mode, then both an
|
||||
inter-word space and a sentence space are added; if two spaces
|
||||
follow the end of a sentence in the middle of a line, then the
|
||||
second space is a sentence space. If a second argument is never
|
||||
given to the `ss' request, the behaviour of UNIX `troff' is the
|
||||
same as that exhibited by GNU `troff'. In GNU `troff', as in UNIX
|
||||
`troff', a sentence should always be followed by either a newline
|
||||
or two spaces.
|
||||
|
||||
The read-only number registers `.ss' and `.sss' hold the values of
|
||||
the parameters set by the first and second arguments of the `ss'
|
||||
request.
|
||||
|
||||
The word space and sentence space values are associated with the
|
||||
current environment (*note Environments::).
|
||||
|
||||
Contrary to AT&T `troff', this request is _not_ ignored if a TTY
|
||||
output device is used; the given values are then rounded down to a
|
||||
multiple of 12 (*note Implementation Differences::).
|
||||
|
||||
The request is ignored if there is no parameter.
|
||||
|
||||
- Request: .ce [nnn]
|
||||
- Register: \n[.ce]
|
||||
Center text. While the `.ad c' request also centers text, it
|
||||
fills the text as well. `ce' does not fill the text it affects.
|
||||
This request causes a break. The number of lines still to be
|
||||
centered is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The following example demonstrates the differences. Here the
|
||||
input:
|
||||
|
||||
|
||||
.ll 4i
|
||||
.ce 1000
|
||||
This is a small text fragment which shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
.ce 0
|
||||
|
||||
.ad c
|
||||
This is a small text fragment which shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
|
||||
And here the result:
|
||||
|
||||
|
||||
This is a small text fragment which
|
||||
shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
|
||||
This is a small text fragment which
|
||||
shows the differences between the `.ce'
|
||||
and the `.ad c' request.
|
||||
|
||||
With no arguments, `ce' centers the next line of text. NNN
|
||||
specifies the number of lines to be centered. If the argument is
|
||||
zero or negative, centering is disabled.
|
||||
|
||||
The basic length for centering text is the line length (as set
|
||||
with the `ll' request) minus the indentation (as set with the `in'
|
||||
request). Temporary indentation is ignored.
|
||||
|
||||
As can be seen in the previous example, it is a common idiom to
|
||||
turn on centering for a large number of lines, and to turn off
|
||||
centering after text to be centered. This is useful for any
|
||||
request which takes a number of lines as an argument.
|
||||
|
||||
The `.ce' read-only number register contains the number of lines
|
||||
remaining to be centered, as set by the `ce' request.
|
||||
|
||||
- Request: .rj [nnn]
|
||||
- Register: \n[.rj]
|
||||
Justify unfilled text to the right margin. Arguments are
|
||||
identical to the `ce' request. The `.rj' read-only number
|
||||
register is the number of lines to be right-justified as set by
|
||||
the `rj' request. This request causes a break. The number of
|
||||
lines still to be right-justified is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,257 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Manipulating Filling and Adjusting, Next: Manipulating Hyphenation, Prev: Registers, Up: gtroff Reference
|
||||
|
||||
Manipulating Filling and Adjusting
|
||||
==================================
|
||||
|
||||
Various ways of causing "breaks" were given in *Note Implicit Line
|
||||
Breaks::. The `br' request likewise causes a break. Several other
|
||||
requests also cause breaks, but implicitly. These are `bp', `ce',
|
||||
`cf', `fi', `fl', `in', `nf', `rj', `sp', `ti', and `trf'.
|
||||
|
||||
- Request: .br
|
||||
Break the current line, i.e., the input collected so far is emitted
|
||||
without adjustment.
|
||||
|
||||
If the no-break control character is used, `gtroff' suppresses the
|
||||
break:
|
||||
|
||||
|
||||
a
|
||||
'br
|
||||
b
|
||||
=> a b
|
||||
|
||||
|
||||
Initially, `gtroff' fills and adjusts text to both margins. Filling
|
||||
can be disabled via the `nf' request and re-enabled with the `fi'
|
||||
request.
|
||||
|
||||
- Request: .fi
|
||||
- Register: \n[.u]
|
||||
Activate fill mode (which is the default). This request implicitly
|
||||
enables adjusting; it also inserts a break in the text currently
|
||||
being filled. The read-only number register `.u' is set to 1.
|
||||
|
||||
The fill mode status is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
See *Note Line Control::, for interaction with the `\c' escape.
|
||||
|
||||
- Request: .nf
|
||||
Activate no-fill mode. Input lines are output as-is, retaining
|
||||
line breaks and ignoring the current line length. This command
|
||||
implicitly disables adjusting; it also causes a break. The number
|
||||
register `.u' is set to 0.
|
||||
|
||||
The fill mode status is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
See *Note Line Control::, for interaction with the `\c' escape.
|
||||
|
||||
- Request: .ad [mode]
|
||||
- Register: \n[.j]
|
||||
Set adjusting mode.
|
||||
|
||||
Activation and deactivation of adjusting is done implicitly with
|
||||
calls to the `fi' or `nf' requests.
|
||||
|
||||
MODE can have one of the following values:
|
||||
|
||||
`l'
|
||||
Adjust text to the left margin. This produces what is
|
||||
traditionally called ragged-right text.
|
||||
|
||||
`r'
|
||||
Adjust text to the right margin, producing ragged-left text.
|
||||
|
||||
`c'
|
||||
Center filled text. This is different to the `ce' request
|
||||
which only centers text without filling.
|
||||
|
||||
`b'
|
||||
`n'
|
||||
Justify to both margins. This is the default used by
|
||||
`gtroff'.
|
||||
|
||||
Finally, MODE can be the numeric argument returned by the `.j'
|
||||
register.
|
||||
|
||||
With no argument, `gtroff' adjusts lines in the same way it did
|
||||
before adjusting was deactivated (with a call to `na', for
|
||||
example).
|
||||
|
||||
|
||||
text
|
||||
.ad r
|
||||
.nr ad \n[.j]
|
||||
text
|
||||
.ad c
|
||||
text
|
||||
.na
|
||||
text
|
||||
.ad \" back to centering
|
||||
text
|
||||
.ad \n[ad] \" back to right justifying
|
||||
|
||||
The current adjustment mode is available in the read-only number
|
||||
register `.j'; it can be stored and subsequently used to set
|
||||
adjustment.
|
||||
|
||||
The adjustment mode status is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
- Request: .na
|
||||
Disable adjusting. This request won't change the current
|
||||
adjustment mode: A subsequent call to `ad' uses the previous
|
||||
adjustment setting.
|
||||
|
||||
The adjustment mode status is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
- Request: .brp
|
||||
- Escape: \p
|
||||
Adjust the current line and cause a break.
|
||||
|
||||
In most cases this produces very ugly results since `gtroff'
|
||||
doesn't have a sophisticated paragraph building algorithm (as TeX
|
||||
have, for example); instead, `gtroff' fills and adjusts a paragraph
|
||||
line by line:
|
||||
|
||||
|
||||
This is an uninteresting sentence.
|
||||
This is an uninteresting sentence.\p
|
||||
This is an uninteresting sentence.
|
||||
|
||||
is formatted as
|
||||
|
||||
|
||||
This is an uninteresting sentence. This is an
|
||||
uninteresting sentence.
|
||||
This is an uninteresting sentence.
|
||||
|
||||
|
||||
- Request: .ss word_space_size [sentence_space_size]
|
||||
- Register: \n[.ss]
|
||||
- Register: \n[.sss]
|
||||
Change the size of a space between words. It takes its units as
|
||||
one twelfth of the space width parameter for the current font.
|
||||
Initially both the WORD_SPACE_SIZE and SENTENCE_SPACE_SIZE are 12.
|
||||
In fill mode, the values specify the minimum distance.
|
||||
|
||||
If two arguments are given to the `ss' request, the second
|
||||
argument sets the sentence space size. If the second argument is
|
||||
not given, sentence space size is set to WORD_SPACE_SIZE. The
|
||||
sentence space size is used in two circumstances: If the end of a
|
||||
sentence occurs at the end of a line in fill mode, then both an
|
||||
inter-word space and a sentence space are added; if two spaces
|
||||
follow the end of a sentence in the middle of a line, then the
|
||||
second space is a sentence space. If a second argument is never
|
||||
given to the `ss' request, the behaviour of UNIX `troff' is the
|
||||
same as that exhibited by GNU `troff'. In GNU `troff', as in UNIX
|
||||
`troff', a sentence should always be followed by either a newline
|
||||
or two spaces.
|
||||
|
||||
The read-only number registers `.ss' and `.sss' hold the values of
|
||||
the parameters set by the first and second arguments of the `ss'
|
||||
request.
|
||||
|
||||
The word space and sentence space values are associated with the
|
||||
current environment (*note Environments::).
|
||||
|
||||
Contrary to AT&T `troff', this request is _not_ ignored if a TTY
|
||||
output device is used; the given values are then rounded down to a
|
||||
multiple of 12 (*note Implementation Differences::).
|
||||
|
||||
The request is ignored if there is no parameter.
|
||||
|
||||
Another useful application of the `ss' request is to insert
|
||||
discardable horizontal space, i.e., space which is discarded at a
|
||||
line break. For example, paragraph-style footnotes could be
|
||||
separated this way:
|
||||
|
||||
|
||||
.ll 4.5i
|
||||
1.\ This is the first footnote.\c
|
||||
.ss 48
|
||||
.nop
|
||||
.ss 12
|
||||
2.\ This is the second footnote.
|
||||
|
||||
The result:
|
||||
|
||||
|
||||
1. This is the first footnote. 2. This
|
||||
is the second footnote.
|
||||
|
||||
Note that the `\h' escape produces unbreakable space.
|
||||
|
||||
- Request: .ce [nnn]
|
||||
- Register: \n[.ce]
|
||||
Center text. While the `.ad c' request also centers text, it
|
||||
fills the text as well. `ce' does not fill the text it affects.
|
||||
This request causes a break. The number of lines still to be
|
||||
centered is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The following example demonstrates the differences. Here the
|
||||
input:
|
||||
|
||||
|
||||
.ll 4i
|
||||
.ce 1000
|
||||
This is a small text fragment which shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
.ce 0
|
||||
|
||||
.ad c
|
||||
This is a small text fragment which shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
|
||||
And here the result:
|
||||
|
||||
|
||||
This is a small text fragment which
|
||||
shows the differences
|
||||
between the `.ce' and the `.ad c' request.
|
||||
|
||||
This is a small text fragment which
|
||||
shows the differences between the `.ce'
|
||||
and the `.ad c' request.
|
||||
|
||||
With no arguments, `ce' centers the next line of text. NNN
|
||||
specifies the number of lines to be centered. If the argument is
|
||||
zero or negative, centering is disabled.
|
||||
|
||||
The basic length for centering text is the line length (as set
|
||||
with the `ll' request) minus the indentation (as set with the `in'
|
||||
request). Temporary indentation is ignored.
|
||||
|
||||
As can be seen in the previous example, it is a common idiom to
|
||||
turn on centering for a large number of lines, and to turn off
|
||||
centering after text to be centered. This is useful for any
|
||||
request which takes a number of lines as an argument.
|
||||
|
||||
The `.ce' read-only number register contains the number of lines
|
||||
remaining to be centered, as set by the `ce' request.
|
||||
|
||||
- Request: .rj [nnn]
|
||||
- Register: \n[.rj]
|
||||
Justify unfilled text to the right margin. Arguments are
|
||||
identical to the `ce' request. The `.rj' read-only number
|
||||
register is the number of lines to be right-justified as set by
|
||||
the `rj' request. This request causes a break. The number of
|
||||
lines still to be right-justified is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
|
||||
File: groff, Node: Manipulating Hyphenation, Next: Manipulating Spacing, Prev: Manipulating Filling and Adjusting, Up: gtroff Reference
|
||||
|
||||
@ -122,7 +369,7 @@ There are a number of ways to influence hyphenation.
|
||||
... check the /var/log/\:httpd/\:access_log file ...
|
||||
|
||||
Note that `\X' and `\Y' start a word, that is, the `\%' escape in
|
||||
(say) ` \X'...'\%foobar' and ` \Y'...'\%foobar' no longer prevents
|
||||
(say) `\X'...'\%foobar' and `\Y'...'\%foobar' no longer prevents
|
||||
hyphenation but inserts a hyphenation point at the beginning of
|
||||
`foobar'; most likely this isn't what you want to do.
|
||||
|
||||
@ -186,8 +433,8 @@ There are a number of ways to influence hyphenation.
|
||||
The set of hyphenation patterns is associated with the current
|
||||
language set by the `hla' request. The `hpf' request is usually
|
||||
invoked by the `troffrc' or `troffrc-end' file; by default,
|
||||
`troffrc' loads hyphenation patterns for American English (in file
|
||||
`hyphen.us').
|
||||
`troffrc' loads hyphenation patterns and exceptions for American
|
||||
English (in files `hyphen.us' and `hyphenex.us').
|
||||
|
||||
A second call to `hpf' (for the same language) will replace the
|
||||
hyphenation patterns with the new ones.
|
||||
@ -286,6 +533,43 @@ Manipulating Spacing
|
||||
`gtroff' moves that distance from the top of the page. This
|
||||
request causes a line break. The default scaling indicator is `v'.
|
||||
|
||||
If a vertical trap is sprung during execution of `sp', the amount
|
||||
of vertical space after the trap is discarded. For example, this
|
||||
|
||||
|
||||
.de xxx
|
||||
..
|
||||
.
|
||||
.wh 0 xxx
|
||||
.
|
||||
.pl 5v
|
||||
foo
|
||||
.sp 2
|
||||
bar
|
||||
.sp 50
|
||||
baz
|
||||
|
||||
results in
|
||||
|
||||
|
||||
foo
|
||||
|
||||
|
||||
bar
|
||||
|
||||
baz
|
||||
|
||||
The amount of discarded space is available in the number register
|
||||
`.trunc'.
|
||||
|
||||
To protect `sp' against vertical traps, use the `vpt' request:
|
||||
|
||||
|
||||
.vpt 0
|
||||
.sp -3
|
||||
.vpt 1
|
||||
|
||||
|
||||
- Request: .ls [nnn]
|
||||
- Register: \n[.L]
|
||||
Output NNN-1 blank lines after each line of text. With no
|
||||
@ -306,7 +590,7 @@ Manipulating Spacing
|
||||
*Note Changing Type Sizes::, for the requests `vs' and `pvs' as
|
||||
alternatives to `ls'.
|
||||
|
||||
- Escape: \x'SPACING'
|
||||
- Escape: \x'spacing'
|
||||
- Register: \n[.a]
|
||||
Sometimes, extra vertical spacing is only needed occasionally, e.g.
|
||||
to allow space for a tall construct (like an equation). The `\x'
|
||||
@ -488,9 +772,7 @@ movement to the next tab stop (much like it did on a typewriter).
|
||||
|
||||
* Calling `ta' without an argument removes all tab stops.
|
||||
|
||||
* The start-up value of `gtroff' is `T 0.5i' in troff mode and
|
||||
`T 0.8i' in nroff mode (the latter is done with an explicit
|
||||
call to the `ta' request in the file `tty.tmac'.
|
||||
* The start-up value of `gtroff' is `T 0.8i'.
|
||||
|
||||
The read-only number register `.tabs' contains a string
|
||||
representation of the current tab settings suitable for use as an
|
||||
@ -741,7 +1023,7 @@ can be changed with the `cc' and `c2' requests, respectively.
|
||||
and end a superscript:
|
||||
|
||||
|
||||
.ds { \v'-.3m'\s'\Es[.s]*60/100'
|
||||
.ds { \v'-.3m'\s'\En[.s]*60/100'
|
||||
.ds } \s0\v'.3m'
|
||||
|
||||
Another example to demonstrate the differences between the various
|
||||
@ -1122,195 +1404,3 @@ These dimensions are:
|
||||
is that the latter takes into account whether a partially
|
||||
collected line still uses the old line length value.
|
||||
|
||||
|
||||
File: groff, Node: Line Control, Next: Page Layout, Prev: Line Layout, Up: gtroff Reference
|
||||
|
||||
Line Control
|
||||
============
|
||||
|
||||
It is important to understand how `gtroff' handles input and output
|
||||
lines.
|
||||
|
||||
Many escapes use positioning relative to the input line. For
|
||||
example, this
|
||||
|
||||
|
||||
This is a \h'|1.2i'test.
|
||||
|
||||
This is a
|
||||
\h'|1.2i'test.
|
||||
|
||||
produces
|
||||
|
||||
|
||||
This is a test.
|
||||
|
||||
This is a test.
|
||||
|
||||
The main usage of this feature is to define macros which act exactly
|
||||
at the place where called.
|
||||
|
||||
|
||||
.\" A simple macro to underline a word
|
||||
.de underline
|
||||
. nop \\$1\l'|0\[ul]'
|
||||
..
|
||||
|
||||
In the above example, `|0' specifies a negative distance from the
|
||||
current position (at the end of the just emitted argument `\$1') back
|
||||
to the beginning of the input line. Thus, the `\l' escape draws a line
|
||||
from right to left.
|
||||
|
||||
`gtroff' makes a difference between input and output line
|
||||
continuation; the latter is also called "interrupting" a line.
|
||||
|
||||
- Escape: \<RET>
|
||||
- Escape: \c
|
||||
- Register: \n[.int]
|
||||
Continue a line. `\<RET>' (this is a backslash at the end of a
|
||||
line immediately followed by a newline) works on the input level,
|
||||
suppressing the effects of the following newline in the input.
|
||||
|
||||
|
||||
This is a \
|
||||
.test
|
||||
=> This is a .test
|
||||
|
||||
The `|' operator is also affected.
|
||||
|
||||
`\c' works on the output level. Anything after this escape on the
|
||||
same line is ignored, except `\R' which works as usual. Anything
|
||||
before `\c' on the same line will be appended to the current
|
||||
partial output line. The next non-command line after an
|
||||
interrupted line counts as a new input line.
|
||||
|
||||
The visual results depend on whether no-fill mode is active.
|
||||
|
||||
* If no-fill mode is active (using the `nf' request), the next
|
||||
input text line after `\c' will be handled as a continuation
|
||||
of the same input text line.
|
||||
|
||||
|
||||
.nf
|
||||
This is a \c
|
||||
test.
|
||||
=> This is a test.
|
||||
|
||||
* If fill mode is active (using the `fi' request), a word
|
||||
interrupted with `\c' will be continued with the text on the
|
||||
next input text line, without an intervening space.
|
||||
|
||||
|
||||
This is a te\c
|
||||
st.
|
||||
=> This is a test.
|
||||
|
||||
|
||||
Note that an intervening control line which causes a break is
|
||||
stronger than `\c', flushing out the current partial line in the
|
||||
usual way.
|
||||
|
||||
The `.int' register contains a positive value if the last output
|
||||
line was interrupted with `\c'; this is associated with the
|
||||
current environment (*note Environments::).
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Page Layout, Next: Page Control, Prev: Line Control, Up: gtroff Reference
|
||||
|
||||
Page Layout
|
||||
===========
|
||||
|
||||
`gtroff' provides some very primitive operations for controlling
|
||||
page layout.
|
||||
|
||||
- Request: .pl [length]
|
||||
- Request: .pl +length
|
||||
- Request: .pl -length
|
||||
- Register: \n[.p]
|
||||
Set the "page length" to LENGTH (or increment or decrement the
|
||||
current value by LENGTH). This is the length of the physical
|
||||
output page. The default scaling indicator is `v'.
|
||||
|
||||
The current setting can be found in the read-only number register
|
||||
`.p'.
|
||||
|
||||
Note that this only specifies the size of the page, not the top and
|
||||
bottom margins. Those are not set by `gtroff' directly. *Note
|
||||
Traps::, for further information on how to do this.
|
||||
|
||||
Negative `pl' values are possible also, but not very useful: No
|
||||
trap is sprung, and each line is output on a single page (thus
|
||||
suppressing all vertical spacing).
|
||||
|
||||
If no argument or an invalid argument is given, `pl' sets the page
|
||||
length to 11i.
|
||||
|
||||
`gtroff' provides several operations which help in setting up top
|
||||
and bottom titles (or headers and footers).
|
||||
|
||||
- Request: .tl 'left'center'right'
|
||||
Print a "title line". It consists of three parts: a left
|
||||
justified portion, a centered portion, and a right justified
|
||||
portion. The argument separator `'' can be replaced with any
|
||||
character not occurring in the title line. The `%' character is
|
||||
replaced with the current page number. This character can be
|
||||
changed with the `pc' request (see below).
|
||||
|
||||
Without argument, `tl' is ignored.
|
||||
|
||||
Some notes:
|
||||
|
||||
* A title line is not restricted to the top or bottom of a page.
|
||||
|
||||
* `tl' prints the title line immediately, ignoring a partially
|
||||
filled line (which stays untouched).
|
||||
|
||||
* It is not an error to omit closing delimiters. For example,
|
||||
`.tl /foo' is equivalent to `.tl /foo///': It prints a title
|
||||
line with the left justified word `foo'; the centered and
|
||||
right justfied parts are empty.
|
||||
|
||||
* `tl' accepts the same parameter delimiting characters as the
|
||||
`\A' escape; see *Note Escapes::.
|
||||
|
||||
- Request: .lt [length]
|
||||
- Request: .lt +length
|
||||
- Request: .lt -length
|
||||
- Register: \n[.lt]
|
||||
The title line is printed using its own line length, which is
|
||||
specified (or incremented or decremented) with the `lt' request.
|
||||
Initially, the title line length is set to 6.5i. If a negative
|
||||
line length is specified (which is not allowed), `gtroff' emits a
|
||||
warning of type `range' and sets the title line length to zero.
|
||||
The default scaling indicator is `m'. If `lt' is called without
|
||||
an argument, the title length is reset to the previous value
|
||||
before the last call to `lt'.
|
||||
|
||||
The current setting of this is available in the `.lt' read-only
|
||||
number register; it is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
|
||||
- Request: .pn page
|
||||
- Request: .pn +page
|
||||
- Request: .pn -page
|
||||
- Register: \n[.pn]
|
||||
Change (increase or decrease) the page number of the _next_ page.
|
||||
The only argument is the page number; the request is ignored
|
||||
without a parameter.
|
||||
|
||||
The read-only number register `.pn' contains the number of the next
|
||||
page: either the value set by a `pn' request, or the number of the
|
||||
current page plus 1.
|
||||
|
||||
- Register: \n[%]
|
||||
A read-write register holding the current page number.
|
||||
|
||||
- Request: .pc [char]
|
||||
Change the page number character (used by the `tl' request) to a
|
||||
different character. With no argument, this mechanism is disabled.
|
||||
Note that this doesn't affect the number register `%'.
|
||||
|
||||
*Note Traps::.
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,13 +17,205 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Page Control, Next: Fonts, Prev: Page Layout, Up: gtroff Reference
|
||||
File: groff, Node: Line Control, Next: Page Layout, Prev: Line Layout, Up: gtroff Reference
|
||||
|
||||
Line Control
|
||||
============
|
||||
|
||||
It is important to understand how `gtroff' handles input and output
|
||||
lines.
|
||||
|
||||
Many escapes use positioning relative to the input line. For
|
||||
example, this
|
||||
|
||||
|
||||
This is a \h'|1.2i'test.
|
||||
|
||||
This is a
|
||||
\h'|1.2i'test.
|
||||
|
||||
produces
|
||||
|
||||
|
||||
This is a test.
|
||||
|
||||
This is a test.
|
||||
|
||||
The main usage of this feature is to define macros which act exactly
|
||||
at the place where called.
|
||||
|
||||
|
||||
.\" A simple macro to underline a word
|
||||
.de underline
|
||||
. nop \\$1\l'|0\[ul]'
|
||||
..
|
||||
|
||||
In the above example, `|0' specifies a negative distance from the
|
||||
current position (at the end of the just emitted argument `\$1') back
|
||||
to the beginning of the input line. Thus, the `\l' escape draws a line
|
||||
from right to left.
|
||||
|
||||
`gtroff' makes a difference between input and output line
|
||||
continuation; the latter is also called "interrupting" a line.
|
||||
|
||||
- Escape: \<RET>
|
||||
- Escape: \c
|
||||
- Register: \n[.int]
|
||||
Continue a line. `\<RET>' (this is a backslash at the end of a
|
||||
line immediately followed by a newline) works on the input level,
|
||||
suppressing the effects of the following newline in the input.
|
||||
|
||||
|
||||
This is a \
|
||||
.test
|
||||
=> This is a .test
|
||||
|
||||
The `|' operator is also affected.
|
||||
|
||||
`\c' works on the output level. Anything after this escape on the
|
||||
same line is ignored, except `\R' which works as usual. Anything
|
||||
before `\c' on the same line will be appended to the current
|
||||
partial output line. The next non-command line after an
|
||||
interrupted line counts as a new input line.
|
||||
|
||||
The visual results depend on whether no-fill mode is active.
|
||||
|
||||
* If no-fill mode is active (using the `nf' request), the next
|
||||
input text line after `\c' will be handled as a continuation
|
||||
of the same input text line.
|
||||
|
||||
|
||||
.nf
|
||||
This is a \c
|
||||
test.
|
||||
=> This is a test.
|
||||
|
||||
* If fill mode is active (using the `fi' request), a word
|
||||
interrupted with `\c' will be continued with the text on the
|
||||
next input text line, without an intervening space.
|
||||
|
||||
|
||||
This is a te\c
|
||||
st.
|
||||
=> This is a test.
|
||||
|
||||
|
||||
Note that an intervening control line which causes a break is
|
||||
stronger than `\c', flushing out the current partial line in the
|
||||
usual way.
|
||||
|
||||
The `.int' register contains a positive value if the last output
|
||||
line was interrupted with `\c'; this is associated with the
|
||||
current environment (*note Environments::).
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Page Layout, Next: Page Control, Prev: Line Control, Up: gtroff Reference
|
||||
|
||||
Page Layout
|
||||
===========
|
||||
|
||||
`gtroff' provides some very primitive operations for controlling
|
||||
page layout.
|
||||
|
||||
- Request: .pl [length]
|
||||
- Request: .pl +length
|
||||
- Request: .pl -length
|
||||
- Register: \n[.p]
|
||||
Set the "page length" to LENGTH (or increment or decrement the
|
||||
current value by LENGTH). This is the length of the physical
|
||||
output page. The default scaling indicator is `v'.
|
||||
|
||||
The current setting can be found in the read-only number register
|
||||
`.p'.
|
||||
|
||||
Note that this only specifies the size of the page, not the top and
|
||||
bottom margins. Those are not set by `gtroff' directly. *Note
|
||||
Traps::, for further information on how to do this.
|
||||
|
||||
Negative `pl' values are possible also, but not very useful: No
|
||||
trap is sprung, and each line is output on a single page (thus
|
||||
suppressing all vertical spacing).
|
||||
|
||||
If no argument or an invalid argument is given, `pl' sets the page
|
||||
length to 11i.
|
||||
|
||||
`gtroff' provides several operations which help in setting up top
|
||||
and bottom titles (or headers and footers).
|
||||
|
||||
- Request: .tl 'left'center'right'
|
||||
Print a "title line". It consists of three parts: a left
|
||||
justified portion, a centered portion, and a right justified
|
||||
portion. The argument separator `'' can be replaced with any
|
||||
character not occurring in the title line. The `%' character is
|
||||
replaced with the current page number. This character can be
|
||||
changed with the `pc' request (see below).
|
||||
|
||||
Without argument, `tl' is ignored.
|
||||
|
||||
Some notes:
|
||||
|
||||
* A title line is not restricted to the top or bottom of a page.
|
||||
|
||||
* `tl' prints the title line immediately, ignoring a partially
|
||||
filled line (which stays untouched).
|
||||
|
||||
* It is not an error to omit closing delimiters. For example,
|
||||
`.tl /foo' is equivalent to `.tl /foo///': It prints a title
|
||||
line with the left justified word `foo'; the centered and
|
||||
right justfied parts are empty.
|
||||
|
||||
* `tl' accepts the same parameter delimiting characters as the
|
||||
`\A' escape; see *Note Escapes::.
|
||||
|
||||
- Request: .lt [length]
|
||||
- Request: .lt +length
|
||||
- Request: .lt -length
|
||||
- Register: \n[.lt]
|
||||
The title line is printed using its own line length, which is
|
||||
specified (or incremented or decremented) with the `lt' request.
|
||||
Initially, the title line length is set to 6.5i. If a negative
|
||||
line length is specified (which is not allowed), `gtroff' emits a
|
||||
warning of type `range' and sets the title line length to zero.
|
||||
The default scaling indicator is `m'. If `lt' is called without
|
||||
an argument, the title length is reset to the previous value
|
||||
before the last call to `lt'.
|
||||
|
||||
The current setting of this is available in the `.lt' read-only
|
||||
number register; it is associated with the current environment
|
||||
(*note Environments::).
|
||||
|
||||
|
||||
- Request: .pn page
|
||||
- Request: .pn +page
|
||||
- Request: .pn -page
|
||||
- Register: \n[.pn]
|
||||
Change (increase or decrease) the page number of the _next_ page.
|
||||
The only argument is the page number; the request is ignored
|
||||
without a parameter.
|
||||
|
||||
The read-only number register `.pn' contains the number of the next
|
||||
page: either the value set by a `pn' request, or the number of the
|
||||
current page plus 1.
|
||||
|
||||
- Register: \n[%]
|
||||
A read-write register holding the current page number.
|
||||
|
||||
- Request: .pc [char]
|
||||
Change the page number character (used by the `tl' request) to a
|
||||
different character. With no argument, this mechanism is disabled.
|
||||
Note that this doesn't affect the number register `%'.
|
||||
|
||||
*Note Traps::.
|
||||
|
||||
|
||||
File: groff, Node: Page Control, Next: Fonts and Symbols, Prev: Page Layout, Up: gtroff Reference
|
||||
|
||||
Page Control
|
||||
============
|
||||
@ -47,6 +240,9 @@ Page Control
|
||||
`bp' has no effect if not called within the top-level diversion
|
||||
(*note Diversions::).
|
||||
|
||||
The number register `.pe' is set to 1 while `bp' is active. *Note
|
||||
Page Location Traps::.
|
||||
|
||||
- Request: .ne [space]
|
||||
It is often necessary to force a certain amount of space before a
|
||||
new page occurs. This is most useful to make sure that there is
|
||||
@ -125,10 +321,10 @@ Page Control
|
||||
registers.
|
||||
|
||||
|
||||
File: groff, Node: Fonts, Next: Sizes, Prev: Page Control, Up: gtroff Reference
|
||||
File: groff, Node: Fonts and Symbols, Next: Sizes, Prev: Page Control, Up: gtroff Reference
|
||||
|
||||
Fonts
|
||||
=====
|
||||
Fonts and Symbols
|
||||
=================
|
||||
|
||||
`gtroff' can switch fonts at any point in the text.
|
||||
|
||||
@ -148,15 +344,15 @@ also at least one symbol font which contains various special symbols
|
||||
* Ligatures and Kerning::
|
||||
|
||||
|
||||
File: groff, Node: Changing Fonts, Next: Font Families, Prev: Fonts, Up: Fonts
|
||||
File: groff, Node: Changing Fonts, Next: Font Families, Prev: Fonts and Symbols, Up: Fonts and Symbols
|
||||
|
||||
Changing Fonts
|
||||
--------------
|
||||
|
||||
- Request: .ft [font]
|
||||
- Escape: \fF
|
||||
- Escape: \f(FN
|
||||
- Escape: \f[FONT]
|
||||
- Escape: \ff
|
||||
- Escape: \f(fn
|
||||
- Escape: \f[font]
|
||||
The `ft' request and the `\f' escape change the current font to
|
||||
FONT (one-character name F, two-character name FN).
|
||||
|
||||
@ -200,7 +396,7 @@ Changing Fonts
|
||||
used. If G is missing or equal to F the translation is undone.
|
||||
|
||||
|
||||
File: groff, Node: Font Families, Next: Font Positions, Prev: Changing Fonts, Up: Fonts
|
||||
File: groff, Node: Font Families, Next: Font Positions, Prev: Changing Fonts, Up: Fonts and Symbols
|
||||
|
||||
Font Families
|
||||
-------------
|
||||
@ -220,9 +416,9 @@ different font family on the command line (*note Groff Options::).
|
||||
|
||||
- Request: .fam [family]
|
||||
- Register: \n[.fam]
|
||||
- Escape: \FF
|
||||
- Escape: \F(FM
|
||||
- Escape: \F[FAMILY]
|
||||
- Escape: \Ff
|
||||
- Escape: \F(fm
|
||||
- Escape: \F[family]
|
||||
- Register: \n[.fn]
|
||||
Switch font family to FAMILY (one-character name F, two-character
|
||||
name FM). If no argument is given, switch back to the previous
|
||||
@ -322,7 +518,7 @@ different font family on the command line (*note Groff Options::).
|
||||
*Note Font Positions::.
|
||||
|
||||
|
||||
File: groff, Node: Font Positions, Next: Using Symbols, Prev: Font Families, Up: Fonts
|
||||
File: groff, Node: Font Positions, Next: Using Symbols, Prev: Font Families, Up: Fonts and Symbols
|
||||
|
||||
Font Positions
|
||||
--------------
|
||||
@ -379,9 +575,9 @@ which various fonts are mounted.
|
||||
forms to access font positions.
|
||||
|
||||
- Request: .ft nnn
|
||||
- Escape: \fN
|
||||
- Escape: \f(NN
|
||||
- Escape: \f[NNN]
|
||||
- Escape: \fn
|
||||
- Escape: \f(nn
|
||||
- Escape: \f[nnn]
|
||||
Change the current font position to NNN (one-digit position N,
|
||||
two-digit position NN), which must be a non-negative integer.
|
||||
|
||||
@ -403,7 +599,7 @@ forms to access font positions.
|
||||
*Note Changing Fonts::, for the standard syntax form.
|
||||
|
||||
|
||||
File: groff, Node: Using Symbols, Next: Special Fonts, Prev: Font Positions, Up: Fonts
|
||||
File: groff, Node: Using Symbols, Next: Special Fonts, Prev: Font Positions, Up: Fonts and Symbols
|
||||
|
||||
Using Symbols
|
||||
-------------
|
||||
@ -428,7 +624,7 @@ devices use different names for special fonts. Fonts mounted with the
|
||||
additional special fonts locally (i.e. for a particular font), use the
|
||||
`fspecial' request.
|
||||
|
||||
In summary, `gtroff' tries the following to find a given symbol:
|
||||
Here the exact rules how `gtroff' searches a given symbol:
|
||||
|
||||
* If the symbol has been defined with the `char' request, use it.
|
||||
This hides a symbol with the same name in the current font.
|
||||
@ -437,52 +633,178 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
|
||||
* If the symbol has been defined with the `fchar' request, use it.
|
||||
|
||||
* Check all fonts given with the `fspecial' request, in the order of
|
||||
appearance in `fspecial' calls.
|
||||
* Check whether the current font has a font-specific list of special
|
||||
fonts; test all fonts in the order of appearance in the last
|
||||
`fspecial' call if appropriate.
|
||||
|
||||
* Check all fonts given with the `special' request, in the order of
|
||||
appearance in `special' calls (inclusively the special fonts
|
||||
defined in the `DESC' file, which come first).
|
||||
* If the symbol has been defined with the `fschar' request for the
|
||||
current font, use it.
|
||||
|
||||
* As a last resort, consult all fonts loaded up to now (in the order
|
||||
they have been called the first time) for special fonts and check
|
||||
them.
|
||||
* Check all fonts in the order of appearance in the last `special'
|
||||
call.
|
||||
|
||||
* If the symbol has been defined with the `schar' request, use it.
|
||||
|
||||
* As a last resort, consult all fonts loaded up to now for special
|
||||
fonts and check them, starting with the lowest font number. Note
|
||||
that this can sometimes lead to surprising results since the
|
||||
`fonts' line in the `DESC' file often contains empty positions
|
||||
which are filled later on. For example, consider the following:
|
||||
|
||||
|
||||
fonts 3 0 0 FOO
|
||||
|
||||
This mounts font `foo' at font position 3. We assume that `FOO'
|
||||
is a special font, containing glyph `foo', and that no font has
|
||||
been loaded yet. The line
|
||||
|
||||
|
||||
.fspecial BAR BAZ
|
||||
|
||||
makes font `BAZ' special only if font `BAR' is active. We further
|
||||
assume that `BAZ' is really a special font, i.e., the font
|
||||
description file contains the `special' keyword, and that it also
|
||||
contains glyph `foo' with a special shape fitting to font `BAR'.
|
||||
After executing `fspecial', font `BAR' is loaded at font
|
||||
position 1, and `BAZ' at position 2.
|
||||
|
||||
We now switch to a new font `XXX', trying to access glyph `foo'
|
||||
which is assumed to be missing. There are neither font-specific
|
||||
special fonts for `XXX' nor any other fonts made special with the
|
||||
`special' request, so `gtroff' starts the search for special fonts
|
||||
in the list of already mounted fonts, with increasing font
|
||||
positions. Consequently, it finds `BAZ' before `FOO' even for
|
||||
`XXX' which is not the intended behaviour.
|
||||
|
||||
*Note Font Files::, and *Note Special Fonts::, for more details.
|
||||
|
||||
- Escape: \(NM
|
||||
- Escape: \[NAME]
|
||||
Insert a symbol NAME (two-character name NM). There is no special
|
||||
syntax for one-character names - the natural form `\N' would
|
||||
collide with escapes.(1) (*note Using Symbols-Footnote-1::)
|
||||
The list of available symbols is device dependent; see the
|
||||
`groff_char(7)' man page for a complete list of all glyphs. For
|
||||
example, say
|
||||
|
||||
|
||||
man -Tdvi groff_char > groff_char.dvi
|
||||
|
||||
for a list using the default DVI fonts (not all versions of the `man'
|
||||
program support the `-T' option). If you want to use an additional
|
||||
macro package to change the used fonts, `groff' must be called directly:
|
||||
|
||||
|
||||
groff -Tdvi -mec -man groff_char.7 > groff_char.dvi
|
||||
|
||||
Glyph names not listed in groff_char(7) are derived algorithmically,
|
||||
using a simplified version of the Adobe Glyph List (AGL) algorithm
|
||||
described in
|
||||
`http://partners.adobe.com/asn/developer/typeforum/unicodegn.html'.
|
||||
The (frozen) set of glyph names which can't be derived algorithmically
|
||||
is called "groff glyph list (GGL)".
|
||||
|
||||
* A glyph for Unicode character U+XXXX[X[X]] which is not a
|
||||
composite character will be named `uXXXX[X[X]]'. X must be an
|
||||
uppercase hexadecimal digit. Examples: `u1234', `u008E',
|
||||
`u12DB8'. The largest Unicode value is 0x10FFFF. There must be at
|
||||
least four `X' digits; if necessary, add leading zeroes (after the
|
||||
`u'). No zero padding is allowed for character codes greater than
|
||||
0xFFFF. Surrogates (i.e., Unicode values greater than 0xFFFF
|
||||
represented with character codes from the surrogate area
|
||||
U+D800-U+DFFF) are not allowed too.
|
||||
|
||||
* A glyph representing more than a single input character will be
|
||||
named
|
||||
|
||||
`u' COMPONENT1 `_' COMPONENT2 `_' COMPONENT3 ...
|
||||
|
||||
Example: `u0045_0302_0301'.
|
||||
|
||||
For simplicity, all Unicode characters which are composites must be
|
||||
decomposed maximally (this is normalization form D in the Unicode
|
||||
standard); for example, `u00CA_0301' is not a valid glyph name
|
||||
since U+00CA (LATIN CAPITAL LETTER E WITH CIRCUMFLEX) can be
|
||||
further decomposed into U+0045 (LATIN CAPITAL LETTER E) and U+0302
|
||||
(COMBINING CIRCUMFLEX ACCENT). `u0045_0302_0301' is thus the
|
||||
glyph name for U+1EBE, LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND
|
||||
ACUTE.
|
||||
|
||||
* groff maintains a table to decompose all algorithmically derived
|
||||
glyph names which are composites itself. For example, `u0100'
|
||||
(LATIN LETTER A WITH MACRON) will be automatically decomposed into
|
||||
`u0041_0304'. Additionally, a glyph name of the GGL is preferred
|
||||
to an algorithmically derived glyph name; groff also automatically
|
||||
does the mapping. Example: The glyph `u0045_0302' will be mapped
|
||||
to `^E'.
|
||||
|
||||
* glyph names of the GGL can't be used in composite glyph names; for
|
||||
example, `^E_u0301' is invalid.
|
||||
|
||||
- Escape: \(nm
|
||||
- Escape: \[name]
|
||||
- Escape: \[component1 component2 ...]
|
||||
Insert a symbol NAME (two-character name NM) or a composite glyph
|
||||
with component glyphs COMPONENT1, COMPONENT2, .... There is no
|
||||
special syntax for one-character names - the natural form `\N'
|
||||
would collide with escapes.(1) (*note Using Symbols-Footnote-1::)
|
||||
|
||||
If NAME is undefined, a warning of type `char' is generated, and
|
||||
the escape is ignored. *Note Debugging::, for information about
|
||||
warnings.
|
||||
|
||||
The list of available symbols is device dependent; see the
|
||||
`groff_char(7)' man page for a complete list for the given output
|
||||
device. For example, say
|
||||
groff resolves `\[...]' with more than a single component as
|
||||
follows:
|
||||
|
||||
* Any component which is found in the GGL will be converted to
|
||||
the `uXXXX' form.
|
||||
|
||||
man -Tdvi groff_char > groff_char.dvi
|
||||
* Any component `uXXXX' which is found in the list of
|
||||
decomposable glyphs will be decomposed.
|
||||
|
||||
for a list using the default DVI fonts (not all versions of the
|
||||
`man' program support the `-T' option). If you want to use an
|
||||
additional macro package to change the used fonts, `groff' must be
|
||||
called directly:
|
||||
* The resulting elements are then concatenated with `_'
|
||||
inbetween, dropping the leading `u' in all elements but the
|
||||
first.
|
||||
|
||||
No check for the existence of any component (similar to `tr'
|
||||
request) will be done.
|
||||
|
||||
groff -Tdvi -mec -man groff_char.7 > groff_char.dvi
|
||||
Examples:
|
||||
|
||||
`\[A ho]'
|
||||
`A' maps to `u0041', `ho' maps to `u02DB', thus the final
|
||||
glyph name would be `u0041_02DB'. Note this is not the
|
||||
expected result: The ogonek glyph `ho' is a spacing ogonek,
|
||||
but for a proper composite a non-spacing ogonek (U+0328) is
|
||||
necessary. Looking into the file `composite.tmac' one can
|
||||
find `.composite ho u0328' which changes the mapping of `ho'
|
||||
while a composite glyph name is constructed, causing the
|
||||
final glyph name to be `u0041_0328'.
|
||||
|
||||
- Escape: \C'XXX'
|
||||
`\[^E u0301]'
|
||||
`\[^E aa]'
|
||||
`\[E a^ aa]'
|
||||
`\[E ^ ']'
|
||||
`^E' maps to `u0045_0302', thus the final glyph name is
|
||||
`u0045_0302_0301' in all forms (assuming proper calls of the
|
||||
`composite' request).
|
||||
|
||||
It is not possible to define glyphs with names like `A ho' within
|
||||
a groff font file. This is not really a limitation; instead, you
|
||||
have to define `u0041_0328'.
|
||||
|
||||
- Escape: \C'xxx'
|
||||
Typeset the glyph named XXX.(2) (*note Using Symbols-Footnote-2::)
|
||||
Normally it is more convenient to use `\[XXX]', but `\C' has the
|
||||
advantage that it is compatible with newer versions of AT&T
|
||||
`troff' and is available in compatibility mode.
|
||||
|
||||
- Escape: \N'N'
|
||||
- Request: .composite from to
|
||||
Map glyph name FROM to glyph name TO if it is used in `\[...]'
|
||||
with more than one component. See above for examples.
|
||||
|
||||
This mapping is based on glyph names only; no check for the
|
||||
existence of either glyph is done.
|
||||
|
||||
A set of default mappings for many accents can be found in the file
|
||||
`composite.tmac' which is loaded at start-up.
|
||||
|
||||
- Escape: \N'n'
|
||||
Typeset the glyph with code N in the current font (`n' is *not*
|
||||
the input character code). The number N can be any non-negative
|
||||
decimal integer. Most devices only have glyphs with codes between
|
||||
@ -500,6 +822,8 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
name of `---'; the `\N' escape sequence is the only way to use
|
||||
these.
|
||||
|
||||
No kerning is applied to glyphs accessed with `\N'.
|
||||
|
||||
Some escape sequences directly map onto special glyphs.
|
||||
|
||||
- Escape: \'
|
||||
@ -532,16 +856,17 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
|
||||
`4'
|
||||
Lines can be broken after the character (initially the
|
||||
character `-' and the symbols `\(hy' and `\(em' have this
|
||||
character `-' and the symbols `\[hy]' and `\[em]' have this
|
||||
property).
|
||||
|
||||
`8'
|
||||
The character overlaps horizontally (initially the symbols
|
||||
`\(ul\(rn\(ru' have this property).
|
||||
`\[ul]', `\[rn]', `\[ru]', `\[radicalex', and `\[sqrtex]'
|
||||
have this property).
|
||||
|
||||
`16'
|
||||
The character overlaps vertically (initially symbol `\(br' has
|
||||
this property).
|
||||
The character overlaps vertically (initially symbol `\[br]'
|
||||
has this property).
|
||||
|
||||
`32'
|
||||
An end-of-sentence character followed by any number of
|
||||
@ -550,10 +875,12 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
words the character is "transparent" for the purposes of
|
||||
end-of-sentence recognition - this is the same as having a
|
||||
zero space factor in TeX (initially characters `"')]*' and
|
||||
the symbols `\(dg\(rq' have this property).
|
||||
the symbols `\[dg]' and `\[rq]' have this property).
|
||||
|
||||
- Request: .char g [string]
|
||||
- Request: .fchar g [string]
|
||||
- Request: .fschar f g [string]
|
||||
- Request: .schar g [string]
|
||||
Define a new glyph G to be STRING (which can be empty).(4) (*note
|
||||
Using Symbols-Footnote-4::) Every time glyph G needs to be
|
||||
printed, STRING is processed in a temporary environment and the
|
||||
@ -563,7 +890,7 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
kerning is applied to this object rather than to individual
|
||||
characters in STRING.
|
||||
|
||||
A glyph defined by this request can be used just like a normal
|
||||
A glyph defined by these requests can be used just like a normal
|
||||
glyph provided by the output device. In particular, other
|
||||
characters can be translated to it with the `tr' or `trin'
|
||||
requests; it can be made the leader character by the `lc' request;
|
||||
@ -595,12 +922,30 @@ additional special fonts locally (i.e. for a particular font), use the
|
||||
current font. `gtroff' carries out this test before checking
|
||||
special fonts.
|
||||
|
||||
`fschar' defines a fallback glyph for font F: `gtroff' checks for
|
||||
glyphs defined with `fschar' after the list of fonts declared as
|
||||
font-specific special fonts with the `fspecial' request, but
|
||||
before the list of fonts declared as global special fonts with the
|
||||
`special' request.
|
||||
|
||||
Finally, the `schar' request defines a global fallback glyph:
|
||||
`gtroff' checks for glyphs defined with `schar' after the list of
|
||||
fonts declared as global special fonts with the `special' request,
|
||||
but before the already mounted special fonts.
|
||||
|
||||
*Note Using Symbols::, for a detailed description of the glyph
|
||||
searching mechanism in `gtroff'.
|
||||
|
||||
- Request: .rchar c1 c2 ...
|
||||
Remove the definitions of glyphs C1, C2, .... This undoes the
|
||||
effect of a `char' or `fchar' request.
|
||||
- Request: .rfschar f c1 c2 ...
|
||||
Remove the definitions of glyphs C1, C2, .... This undoes the
|
||||
effect of a `char', `fchar', or `schar' request.
|
||||
|
||||
It is possible to omit the whitespace between arguments.
|
||||
|
||||
The request `rfschar' removes glyph definitions defined with
|
||||
`fschar' for glyph f.
|
||||
|
||||
*Note Special Characters::.
|
||||
|
||||
|
||||
@ -624,7 +969,7 @@ width, depth, and height, nothing else. All manipulations with the
|
||||
(4) `char' is a misnomer since an output glyph is defined.
|
||||
|
||||
|
||||
File: groff, Node: Special Fonts, Next: Artificial Fonts, Prev: Using Symbols, Up: Fonts
|
||||
File: groff, Node: Special Fonts, Next: Artificial Fonts, Prev: Using Symbols, Up: Fonts and Symbols
|
||||
|
||||
Special Fonts
|
||||
-------------
|
||||
@ -639,20 +984,25 @@ searching mechanism in `gtroff'.
|
||||
|
||||
Usually, only non-TTY devices have special fonts.
|
||||
|
||||
- Request: .special s1 s2 ...
|
||||
- Request: .fspecial f s1 s2 ...
|
||||
Use the `special' request to define special fonts. They are
|
||||
appended to the list of global special fonts in the given order.
|
||||
The first entries in this list are the fonts defined with the
|
||||
`fonts' command in the `DESC' file which are marked as special in
|
||||
the corresponding font description files.
|
||||
- Request: .special [s1 s2 ...]
|
||||
- Request: .fspecial f [s1 s2 ...]
|
||||
Use the `special' request to define special fonts. Initially, this
|
||||
list is empty.
|
||||
|
||||
Use the `fspecial' request to designate special fonts only when
|
||||
font F font is active. They are appended to the list of special
|
||||
fonts for F in the given order. Initially, this list is empty.
|
||||
font F is active. Initially, this list is empty.
|
||||
|
||||
Previous calls to `special' or `fspecial' are overwritten; without
|
||||
arguments, the particular list of special fonts is set to empty.
|
||||
Special fonts are searched in the order they appear as arguments.
|
||||
|
||||
All fonts which appear in a call to `special' or `fspecial' are
|
||||
loaded.
|
||||
|
||||
*Note Using Symbols::, for the exact search order of glyphs.
|
||||
|
||||
|
||||
File: groff, Node: Artificial Fonts, Next: Ligatures and Kerning, Prev: Special Fonts, Up: Fonts
|
||||
File: groff, Node: Artificial Fonts, Next: Ligatures and Kerning, Prev: Special Fonts, Up: Fonts and Symbols
|
||||
|
||||
Artificial Fonts
|
||||
----------------
|
||||
@ -663,13 +1013,17 @@ not have a wide variety of fonts, and when `nroff' and `troff' were
|
||||
separate programs. Most of them are no longer necessary in GNU
|
||||
`troff'. Nevertheless, they are supported.
|
||||
|
||||
- Escape: \H'HEIGHT'
|
||||
- Escape: \H'+HEIGHT'
|
||||
- Escape: \H'-HEIGHT'
|
||||
- Escape: \H'height'
|
||||
- Escape: \H'+height'
|
||||
- Escape: \H'-height'
|
||||
- Register: \n[.height]
|
||||
Change (increment, decrement) the height of the current font, but
|
||||
not the width. If HEIGHT is zero, restore the original height.
|
||||
Default scaling indicator is `z'.
|
||||
|
||||
The read-only number register `.height' contains the font height as
|
||||
set by `\H'.
|
||||
|
||||
Currently, only the `-Tps' device supports this feature.
|
||||
|
||||
Note that `\H' doesn't produce an input token in `gtroff'. As a
|
||||
@ -691,9 +1045,13 @@ separate programs. Most of them are no longer necessary in GNU
|
||||
prints the word `test' twice with the same font height (five
|
||||
points larger than the current font size).
|
||||
|
||||
- Escape: \S'SLANT'
|
||||
- Escape: \S'slant'
|
||||
- Register: \n[.slant]
|
||||
Slant the current font by SLANT degrees. Positive values slant to
|
||||
the right.
|
||||
the right. Only integer values are possible.
|
||||
|
||||
The read-only number register `.slant' contains the font slant as
|
||||
set by `\S'.
|
||||
|
||||
Currently, only the `-Tps' device supports this feature.
|
||||
|
||||
@ -780,7 +1138,7 @@ separate programs. Most of them are no longer necessary in GNU
|
||||
Default scaling indicator for EM-SIZE is `z'; WIDTH is an integer.
|
||||
|
||||
|
||||
File: groff, Node: Ligatures and Kerning, Prev: Artificial Fonts, Up: Fonts
|
||||
File: groff, Node: Ligatures and Kerning, Prev: Artificial Fonts, Up: Fonts and Symbols
|
||||
|
||||
Ligatures and Kerning
|
||||
---------------------
|
||||
@ -797,6 +1155,10 @@ typesetter that was the target of AT&T `troff' also supported `ff',
|
||||
include ligatures for `ft' and `ct', although GNU `troff' does not
|
||||
support these (yet).
|
||||
|
||||
Only the current font is checked for ligatures and kerns; neither
|
||||
special fonts nor entities defined with the `char' request (and its
|
||||
siblings) are taken into account.
|
||||
|
||||
- Request: .lg [flag]
|
||||
- Register: \n[.lg]
|
||||
Switch the ligature mechanism on or off; if the parameter is
|
||||
@ -931,7 +1293,7 @@ with this.
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Sizes, Next: Strings, Prev: Fonts, Up: gtroff Reference
|
||||
File: groff, Node: Sizes, Next: Strings, Prev: Fonts and Symbols, Up: gtroff Reference
|
||||
|
||||
Sizes
|
||||
=====
|
||||
@ -963,223 +1325,3 @@ Roman', `Helvetica', and `Courier' can't be used together at 10pt; to
|
||||
get acceptable output, the size of `Helvetica' has to be reduced by one
|
||||
point, and the size of `Courier' must be increased by one point.
|
||||
|
||||
|
||||
File: groff, Node: Changing Type Sizes, Next: Fractional Type Sizes, Prev: Sizes, Up: Sizes
|
||||
|
||||
Changing Type Sizes
|
||||
-------------------
|
||||
|
||||
- Request: .ps [size]
|
||||
- Request: .ps +size
|
||||
- Request: .ps -size
|
||||
- Escape: \sSIZE
|
||||
- Register: \n[.s]
|
||||
Use the `ps' request or the `\s' escape to change (increase,
|
||||
decrease) the type size (in points). Specify SIZE as either an
|
||||
absolute point size, or as a relative change from the current size.
|
||||
The size 0, or no argument, goes back to the previous size.
|
||||
|
||||
Default scaling indicator of `size' is `z'. If `size' is zero or
|
||||
negative, it is set to 1u.
|
||||
|
||||
The read-only number register `.s' returns the point size in
|
||||
points as a decimal fraction. This is a string. To get the point
|
||||
size in scaled points, use the `.ps' register instead.
|
||||
|
||||
`.s' is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
|
||||
snap, snap,
|
||||
.ps +2
|
||||
grin, grin,
|
||||
.ps +2
|
||||
wink, wink, \s+2nudge, nudge,\s+8 say no more!
|
||||
.ps 10
|
||||
|
||||
The `\s' escape may be called in a variety of ways. Much like
|
||||
other escapes there must be a way to determine where the argument
|
||||
ends and the text begins. Any of the following forms are valid:
|
||||
|
||||
`\sN'
|
||||
Set the point size to N points. N must be either 0 or in the
|
||||
range 4 to 39.
|
||||
|
||||
`\s+N'
|
||||
`\s-N'
|
||||
Increase or decrease the point size by N points. N must be
|
||||
exactly one digit.
|
||||
|
||||
`\s(NN'
|
||||
Set the point size to NN points. NN must be exactly two
|
||||
digits.
|
||||
|
||||
`\s+(NN'
|
||||
`\s-(NN'
|
||||
`\s(+NN'
|
||||
`\s(-NN'
|
||||
Increase or decrease the point size by NN points. NN must be
|
||||
exactly two digits.
|
||||
|
||||
Note that `\s' doesn't produce an input token in `gtroff'. As a
|
||||
consequence, it can be used in requests like `mc' (which expects a
|
||||
single character as an argument) to change the font on the fly:
|
||||
|
||||
|
||||
.mc \s[20]x\s[0]
|
||||
|
||||
*Note Fractional Type Sizes::, for yet another syntactical form of
|
||||
using the `\s' escape.
|
||||
|
||||
- Request: .sizes s1 s2 ... sn [0]
|
||||
Some devices may only have certain permissible sizes, in which case
|
||||
`gtroff' rounds to the nearest permissible size. The `DESC' file
|
||||
specifies which sizes are permissible for the device.
|
||||
|
||||
Use the `sizes' request to change the permissible sizes for the
|
||||
current output device. Arguments are in scaled points; the
|
||||
`sizescale' line in the `DESC' file for the output device provides
|
||||
the scaling factor. For example, if the scaling factor is 1000,
|
||||
then the value 12000 is 12 points.
|
||||
|
||||
Each argument can be a single point size (such as `12000'), or a
|
||||
range of sizes (such as `4000-72000'). You can optionally end the
|
||||
list with a zero.
|
||||
|
||||
- Request: .vs [space]
|
||||
- Request: .vs +space
|
||||
- Request: .vs -space
|
||||
- Register: \n[.v]
|
||||
Change (increase, decrease) the vertical spacing by SPACE. The
|
||||
default scaling indicator is `p'.
|
||||
|
||||
If `vs' is called without an argument, the vertical spacing is
|
||||
reset to the previous value before the last call to `vs'.
|
||||
|
||||
`gtroff' creates a warning of type `range' if SPACE is zero or
|
||||
negative; the vertical spacing is then set to the vertical
|
||||
resolution (as given in the `.V' register).
|
||||
|
||||
The read-only number register `.v' contains the current vertical
|
||||
spacing; it is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The effective vertical line spacing consists of four components.
|
||||
|
||||
* The vertical line spacing as set with the `vs' request.
|
||||
|
||||
* The "post-vertical line spacing" as set with the `pvs' request.
|
||||
This is vertical space which will be added after a line has been
|
||||
output.
|
||||
|
||||
* The "extra pre-vertical line space" as set with the `\x' request,
|
||||
using a negative value. This is vertical space which will be
|
||||
added once before the current line has been output.
|
||||
|
||||
* The "extra post-vertical line space" as set with the `\x' request,
|
||||
using a positive value. This is vertical space which will be
|
||||
added once after the current line has been output.
|
||||
|
||||
It is usually better to use `vs' or `pvs' instead of `ls' to produce
|
||||
double-spaced documents: `vs' and `pvs' have a finer granularity for
|
||||
the inserted vertical space compared to `ls'; furthermore, certain
|
||||
preprocessors assume single-spacing.
|
||||
|
||||
*Note Manipulating Spacing::, for more details on the `\x' escape
|
||||
and the `ls' request.
|
||||
|
||||
- Request: .pvs [space]
|
||||
- Request: .pvs +space
|
||||
- Request: .pvs -space
|
||||
- Register: \n[.pvs]
|
||||
Change (increase, decrease) the post-vertical spacing by SPACE.
|
||||
The default scaling indicator is `p'.
|
||||
|
||||
If `pvs' is called without an argument, the post-vertical spacing
|
||||
is reset to the previous value before the last call to `pvs'.
|
||||
|
||||
`gtroff' creates a warning of type `range' if SPACE is zero or
|
||||
negative; the vertical spacing is then set to zero.
|
||||
|
||||
The read-only number register `.pvs' contains the current
|
||||
post-vertical spacing; it is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
|
||||
File: groff, Node: Fractional Type Sizes, Prev: Changing Type Sizes, Up: Sizes
|
||||
|
||||
Fractional Type Sizes
|
||||
---------------------
|
||||
|
||||
A "scaled point" is equal to 1/SIZESCALE points, where SIZESCALE is
|
||||
specified in the `DESC' file (1 by default). There is a new scale
|
||||
indicator `z' which has the effect of multiplying by SIZESCALE.
|
||||
Requests and escape sequences in `gtroff' interpret arguments that
|
||||
represent a point size as being in units of scaled points, but they
|
||||
evaluate each such argument using a default scale indicator of `z'.
|
||||
Arguments treated in this way are the argument to the `ps' request, the
|
||||
third argument to the `cs' request, the second and fourth arguments to
|
||||
the `tkf' request, the argument to the `\H' escape sequence, and those
|
||||
variants of the `\s' escape sequence that take a numeric expression as
|
||||
their argument (see below).
|
||||
|
||||
For example, suppose SIZESCALE is 1000; then a scaled point is
|
||||
equivalent to a millipoint; the request `.ps 10.25' is equivalent to
|
||||
`.ps 10.25z' and thus sets the point size to 10250 scaled points, which
|
||||
is equal to 10.25 points.
|
||||
|
||||
`gtroff' disallows the use of the `z' scale indicator in instances
|
||||
where it would make no sense, such as a numeric expression whose
|
||||
default scale indicator was neither `u' nor `z'. Similarly it would
|
||||
make no sense to use a scaling indicator other than `z' or `u' in a
|
||||
numeric expression whose default scale indicator was `z', and so
|
||||
`gtroff' disallows this as well.
|
||||
|
||||
There is also new scale indicator `s' which multiplies by the number
|
||||
of units in a scaled point. So, for example, `\n[.ps]s' is equal to
|
||||
`1m'. Be sure not to confuse the `s' and `z' scale indicators.
|
||||
|
||||
- Register: \n[.ps]
|
||||
A read-only number register returning the point size in scaled
|
||||
points.
|
||||
|
||||
`.ps' is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
- Register: \n[.psr]
|
||||
- Register: \n[.sr]
|
||||
The last-requested point size in scaled points is contained in the
|
||||
`.psr' read-only number register. The last requested point size
|
||||
in points as a decimal fraction can be found in `.sr'. This is a
|
||||
string-valued read-only number register.
|
||||
|
||||
Note that the requested point sizes are device-independent, whereas
|
||||
the values returned by the `.ps' and `.s' registers are not. For
|
||||
example, if a point size of 11pt is requested, and a `sizes'
|
||||
request (or a `sizescale' line in a `DESC' file) specifies 10.95pt
|
||||
instead, this value is actually used.
|
||||
|
||||
Both registers are associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The `\s' escape has the following syntax for working with fractional
|
||||
type sizes:
|
||||
|
||||
`\s[N]'
|
||||
`\s'N''
|
||||
Set the point size to N scaled points; N is a numeric expression
|
||||
with a default scale indicator of `z'.
|
||||
|
||||
`\s[+N]'
|
||||
`\s[-N]'
|
||||
`\s+[N]'
|
||||
`\s-[N]'
|
||||
`\s'+N''
|
||||
`\s'-N''
|
||||
`\s+'N''
|
||||
`\s-'N''
|
||||
Increase or or decrease the point size by N scaled points; N is a
|
||||
numeric expression with a default scale indicator of `z'.
|
||||
|
||||
*Note Font Files::.
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,231 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Changing Type Sizes, Next: Fractional Type Sizes, Prev: Sizes, Up: Sizes
|
||||
|
||||
Changing Type Sizes
|
||||
-------------------
|
||||
|
||||
- Request: .ps [size]
|
||||
- Request: .ps +size
|
||||
- Request: .ps -size
|
||||
- Escape: \ssize
|
||||
- Register: \n[.s]
|
||||
Use the `ps' request or the `\s' escape to change (increase,
|
||||
decrease) the type size (in points). Specify SIZE as either an
|
||||
absolute point size, or as a relative change from the current size.
|
||||
The size 0, or no argument, goes back to the previous size.
|
||||
|
||||
Default scaling indicator of `size' is `z'. If `size' is zero or
|
||||
negative, it is set to 1u.
|
||||
|
||||
The read-only number register `.s' returns the point size in
|
||||
points as a decimal fraction. This is a string. To get the point
|
||||
size in scaled points, use the `.ps' register instead.
|
||||
|
||||
`.s' is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
|
||||
snap, snap,
|
||||
.ps +2
|
||||
grin, grin,
|
||||
.ps +2
|
||||
wink, wink, \s+2nudge, nudge,\s+8 say no more!
|
||||
.ps 10
|
||||
|
||||
The `\s' escape may be called in a variety of ways. Much like
|
||||
other escapes there must be a way to determine where the argument
|
||||
ends and the text begins. Any of the following forms are valid:
|
||||
|
||||
`\sN'
|
||||
Set the point size to N points. N must be either 0 or in the
|
||||
range 4 to 39.
|
||||
|
||||
`\s+N'
|
||||
`\s-N'
|
||||
Increase or decrease the point size by N points. N must be
|
||||
exactly one digit.
|
||||
|
||||
`\s(NN'
|
||||
Set the point size to NN points. NN must be exactly two
|
||||
digits.
|
||||
|
||||
`\s+(NN'
|
||||
`\s-(NN'
|
||||
`\s(+NN'
|
||||
`\s(-NN'
|
||||
Increase or decrease the point size by NN points. NN must be
|
||||
exactly two digits.
|
||||
|
||||
Note that `\s' doesn't produce an input token in `gtroff'. As a
|
||||
consequence, it can be used in requests like `mc' (which expects a
|
||||
single character as an argument) to change the font on the fly:
|
||||
|
||||
|
||||
.mc \s[20]x\s[0]
|
||||
|
||||
*Note Fractional Type Sizes::, for yet another syntactical form of
|
||||
using the `\s' escape.
|
||||
|
||||
- Request: .sizes s1 s2 ... sn [0]
|
||||
Some devices may only have certain permissible sizes, in which case
|
||||
`gtroff' rounds to the nearest permissible size. The `DESC' file
|
||||
specifies which sizes are permissible for the device.
|
||||
|
||||
Use the `sizes' request to change the permissible sizes for the
|
||||
current output device. Arguments are in scaled points; the
|
||||
`sizescale' line in the `DESC' file for the output device provides
|
||||
the scaling factor. For example, if the scaling factor is 1000,
|
||||
then the value 12000 is 12 points.
|
||||
|
||||
Each argument can be a single point size (such as `12000'), or a
|
||||
range of sizes (such as `4000-72000'). You can optionally end the
|
||||
list with a zero.
|
||||
|
||||
- Request: .vs [space]
|
||||
- Request: .vs +space
|
||||
- Request: .vs -space
|
||||
- Register: \n[.v]
|
||||
Change (increase, decrease) the vertical spacing by SPACE. The
|
||||
default scaling indicator is `p'.
|
||||
|
||||
If `vs' is called without an argument, the vertical spacing is
|
||||
reset to the previous value before the last call to `vs'.
|
||||
|
||||
`gtroff' creates a warning of type `range' if SPACE is negative;
|
||||
the vertical spacing is then set to the vertical resolution (as
|
||||
given in the `.V' register).
|
||||
|
||||
The read-only number register `.v' contains the current vertical
|
||||
spacing; it is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The effective vertical line spacing consists of four components.
|
||||
|
||||
* The vertical line spacing as set with the `vs' request.
|
||||
|
||||
* The "post-vertical line spacing" as set with the `pvs' request.
|
||||
This is vertical space which will be added after a line has been
|
||||
output.
|
||||
|
||||
* The "extra pre-vertical line space" as set with the `\x' request,
|
||||
using a negative value. This is vertical space which will be
|
||||
added once before the current line has been output.
|
||||
|
||||
* The "extra post-vertical line space" as set with the `\x' request,
|
||||
using a positive value. This is vertical space which will be
|
||||
added once after the current line has been output.
|
||||
|
||||
It is usually better to use `vs' or `pvs' instead of `ls' to produce
|
||||
double-spaced documents: `vs' and `pvs' have a finer granularity for
|
||||
the inserted vertical space compared to `ls'; furthermore, certain
|
||||
preprocessors assume single-spacing.
|
||||
|
||||
*Note Manipulating Spacing::, for more details on the `\x' escape
|
||||
and the `ls' request.
|
||||
|
||||
- Request: .pvs [space]
|
||||
- Request: .pvs +space
|
||||
- Request: .pvs -space
|
||||
- Register: \n[.pvs]
|
||||
Change (increase, decrease) the post-vertical spacing by SPACE.
|
||||
The default scaling indicator is `p'.
|
||||
|
||||
If `pvs' is called without an argument, the post-vertical spacing
|
||||
is reset to the previous value before the last call to `pvs'.
|
||||
|
||||
`gtroff' creates a warning of type `range' if SPACE is zero or
|
||||
negative; the vertical spacing is then set to zero.
|
||||
|
||||
The read-only number register `.pvs' contains the current
|
||||
post-vertical spacing; it is associated with the current
|
||||
environment (*note Environments::).
|
||||
|
||||
|
||||
File: groff, Node: Fractional Type Sizes, Prev: Changing Type Sizes, Up: Sizes
|
||||
|
||||
Fractional Type Sizes
|
||||
---------------------
|
||||
|
||||
A "scaled point" is equal to 1/SIZESCALE points, where SIZESCALE is
|
||||
specified in the `DESC' file (1 by default). There is a new scale
|
||||
indicator `z' which has the effect of multiplying by SIZESCALE.
|
||||
Requests and escape sequences in `gtroff' interpret arguments that
|
||||
represent a point size as being in units of scaled points, but they
|
||||
evaluate each such argument using a default scale indicator of `z'.
|
||||
Arguments treated in this way are the argument to the `ps' request, the
|
||||
third argument to the `cs' request, the second and fourth arguments to
|
||||
the `tkf' request, the argument to the `\H' escape sequence, and those
|
||||
variants of the `\s' escape sequence that take a numeric expression as
|
||||
their argument (see below).
|
||||
|
||||
For example, suppose SIZESCALE is 1000; then a scaled point is
|
||||
equivalent to a millipoint; the request `.ps 10.25' is equivalent to
|
||||
`.ps 10.25z' and thus sets the point size to 10250 scaled points, which
|
||||
is equal to 10.25 points.
|
||||
|
||||
`gtroff' disallows the use of the `z' scale indicator in instances
|
||||
where it would make no sense, such as a numeric expression whose
|
||||
default scale indicator was neither `u' nor `z'. Similarly it would
|
||||
make no sense to use a scaling indicator other than `z' or `u' in a
|
||||
numeric expression whose default scale indicator was `z', and so
|
||||
`gtroff' disallows this as well.
|
||||
|
||||
There is also new scale indicator `s' which multiplies by the number
|
||||
of units in a scaled point. So, for example, `\n[.ps]s' is equal to
|
||||
`1m'. Be sure not to confuse the `s' and `z' scale indicators.
|
||||
|
||||
- Register: \n[.ps]
|
||||
A read-only number register returning the point size in scaled
|
||||
points.
|
||||
|
||||
`.ps' is associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
- Register: \n[.psr]
|
||||
- Register: \n[.sr]
|
||||
The last-requested point size in scaled points is contained in the
|
||||
`.psr' read-only number register. The last requested point size
|
||||
in points as a decimal fraction can be found in `.sr'. This is a
|
||||
string-valued read-only number register.
|
||||
|
||||
Note that the requested point sizes are device-independent, whereas
|
||||
the values returned by the `.ps' and `.s' registers are not. For
|
||||
example, if a point size of 11pt is requested, and a `sizes'
|
||||
request (or a `sizescale' line in a `DESC' file) specifies 10.95pt
|
||||
instead, this value is actually used.
|
||||
|
||||
Both registers are associated with the current environment (*note
|
||||
Environments::).
|
||||
|
||||
The `\s' escape has the following syntax for working with fractional
|
||||
type sizes:
|
||||
|
||||
`\s[N]'
|
||||
`\s'N''
|
||||
Set the point size to N scaled points; N is a numeric expression
|
||||
with a default scale indicator of `z'.
|
||||
|
||||
`\s[+N]'
|
||||
`\s[-N]'
|
||||
`\s+[N]'
|
||||
`\s-[N]'
|
||||
`\s'+N''
|
||||
`\s'-N''
|
||||
`\s+'N''
|
||||
`\s-'N''
|
||||
Increase or or decrease the point size by N scaled points; N is a
|
||||
numeric expression with a default scale indicator of `z'.
|
||||
|
||||
*Note Font Files::.
|
||||
|
||||
|
||||
File: groff, Node: Strings, Next: Conditionals and Loops, Prev: Sizes, Up: gtroff Reference
|
||||
|
||||
@ -33,16 +254,16 @@ this is a read-write string variable).
|
||||
|
||||
- Request: .ds name [string]
|
||||
- Request: .ds1 name [string]
|
||||
- Escape: \*N
|
||||
- Escape: \*(NM
|
||||
- Escape: \*[NAME ARG1 ARG2 ...]
|
||||
- Escape: \*n
|
||||
- Escape: \*(nm
|
||||
- Escape: \*[name arg1 arg2 ...]
|
||||
Define and access a string variable NAME (one-character name N,
|
||||
two-character name NM). If NAME already exists, `ds' overwrites
|
||||
the previous definition. Only the syntax form using brackets can
|
||||
take arguments which are handled identically to macro arguments;
|
||||
the single exception is that a closing bracket as an argument must
|
||||
be enclosed in double quotes. *Note Request Arguments::, and
|
||||
*Note Parameters::.
|
||||
be enclosed in double quotes. *Note Request and Macro
|
||||
Arguments::, and *Note Parameters::.
|
||||
|
||||
Example:
|
||||
|
||||
@ -231,7 +452,7 @@ requests.
|
||||
|
||||
|
||||
.ds xxx abcd\h'3i'efgh
|
||||
.length yyy \n[xxx]
|
||||
.length yyy \*[xxx]
|
||||
\n[yyy]
|
||||
=> 14
|
||||
|
||||
@ -604,12 +825,12 @@ invoked multiple times. Use macros to define common operations.
|
||||
Note that macro identifiers are shared with identifiers for
|
||||
strings and diversions.
|
||||
|
||||
- Request: .am xx
|
||||
- Request: .am1 xx
|
||||
- Request: .ami xx yy
|
||||
Works similarly to `de' except it appends onto the macro named XX.
|
||||
So, to make the previously defined `P' macro actually do indented
|
||||
instead of block paragraphs, add the necessary code to the
|
||||
- Request: .am name [end]
|
||||
- Request: .am1 name [end]
|
||||
- Request: .ami name [end]
|
||||
Works similarly to `de' except it appends onto the macro named
|
||||
NAME. So, to make the previously defined `P' macro actually do
|
||||
indented instead of block paragraphs, add the necessary code to the
|
||||
existing macro like this:
|
||||
|
||||
|
||||
@ -623,7 +844,7 @@ invoked multiple times. Use macros to define common operations.
|
||||
a "compatibility restore" input token at the end.
|
||||
|
||||
The `ami' request appends indirectly, meaning that `gtroff'
|
||||
expands strings whose names are XX or YY before performing the
|
||||
expands strings whose names are NAME or END before performing the
|
||||
append.
|
||||
|
||||
Using `trace.tmac', you can trace calls to `am' and `am1'.
|
||||
@ -689,9 +910,9 @@ escapes.
|
||||
Any individual argument can be retrieved with one of the following
|
||||
escapes:
|
||||
|
||||
- Escape: \$N
|
||||
- Escape: \$(NN
|
||||
- Escape: \$[NNN]
|
||||
- Escape: \$n
|
||||
- Escape: \$(nn
|
||||
- Escape: \$[nnn]
|
||||
Retrieve the Nth, NNth or NNNth argument. As usual, the first
|
||||
form only accepts a single number (larger than zero), the second a
|
||||
two-digit number (larger or equal to 10), and the third any
|
||||
@ -714,7 +935,7 @@ escapes:
|
||||
similar escape is `\$@', which concatenates all the arguments with
|
||||
each surrounded by double quotes, and separated by spaces. If not
|
||||
in compatibility mode, the input level of double quotes is
|
||||
preserved (see *Note Request Arguments::).
|
||||
preserved (see *Note Request and Macro Arguments::).
|
||||
|
||||
- Escape: \$0
|
||||
The name used to invoke the current macro. The `als' request can
|
||||
@ -733,7 +954,7 @@ escapes:
|
||||
.als bar generic-macro
|
||||
|
||||
|
||||
*Note Request Arguments::.
|
||||
*Note Request and Macro Arguments::.
|
||||
|
||||
|
||||
File: groff, Node: Page Motions, Next: Drawing Requests, Prev: Writing Macros, Up: gtroff Reference
|
||||
@ -821,7 +1042,7 @@ for vertical motion, `sp'.
|
||||
|
||||
The following escapes give fine control of movements about the page.
|
||||
|
||||
- Escape: \v'E'
|
||||
- Escape: \v'e'
|
||||
Move vertically, usually from the current location on the page (if
|
||||
no absolute position operator `|' is used). The argument E
|
||||
specifies the distance to move; positive is downwards and negative
|
||||
@ -846,12 +1067,15 @@ for vertical motion, `sp'.
|
||||
- Escape: \d
|
||||
Move down .5v.
|
||||
|
||||
- Escape: \h'E'
|
||||
- Escape: \h'e'
|
||||
Move horizontally, usually from the current location (if no
|
||||
absolute position operator `|' is used). The expression E
|
||||
indicates how far to move: positive is rightwards and negative
|
||||
leftwards. The default scaling indicator for this escape is `m'.
|
||||
|
||||
This horizontal space is not discarded at the end of a line. To
|
||||
insert discardable space of a certain length use the `ss' request.
|
||||
|
||||
There are a number of special-case escapes for horizontal motion.
|
||||
|
||||
- Escape: \<SP>
|
||||
@ -878,7 +1102,7 @@ for vertical motion, `sp'.
|
||||
|
||||
.ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
|
||||
|
||||
- Escape: \w'TEXT'
|
||||
- Escape: \w'text'
|
||||
- Register: \n[st]
|
||||
- Register: \n[sb]
|
||||
- Register: \n[rst]
|
||||
@ -907,7 +1131,8 @@ for vertical motion, `sp'.
|
||||
`rsb'
|
||||
Like the `st' and `sb' registers, but takes account of the
|
||||
heights and depths of glyphs. With other words, this gives
|
||||
the highest and lowest point of TEXT.
|
||||
the highest and lowest point of TEXT. Values below the
|
||||
baseline are negative.
|
||||
|
||||
`ct'
|
||||
Defines the kinds of glyphs occurring in TEXT:
|
||||
@ -933,9 +1158,9 @@ for vertical motion, `sp'.
|
||||
argument, the center of an accent from a roman font should be
|
||||
placed over that glyph.
|
||||
|
||||
- Escape: \kP
|
||||
- Escape: \k(PS
|
||||
- Escape: \k[POSITION]
|
||||
- Escape: \kp
|
||||
- Escape: \k(ps
|
||||
- Escape: \k[position]
|
||||
Store the current horizontal position in the _input_ line in
|
||||
number register with name POSITION (one-character name P,
|
||||
two-character name PS). Use this, for example, to return to the
|
||||
@ -948,15 +1173,15 @@ for vertical motion, `sp'.
|
||||
A read-only number register containing the current horizontal
|
||||
output position.
|
||||
|
||||
- Escape: \o'ABC'
|
||||
- Escape: \o'abc'
|
||||
Overstrike glyphs A, B, C, ...; the glyphs are centered, and the
|
||||
resulting spacing is the largest width of the affected glyphs.
|
||||
|
||||
- Escape: \zG
|
||||
- Escape: \zg
|
||||
Print glyph G with zero width, i.e., without spacing. Use this to
|
||||
overstrike glyphs left-aligned.
|
||||
|
||||
- Escape: \Z'ANYTHING'
|
||||
- Escape: \Z'anything'
|
||||
Print ANYTHING, then restore the horizontal and vertical position.
|
||||
The argument may not contain tabs or leaders.
|
||||
|
||||
@ -988,8 +1213,8 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
|
||||
All drawing is done via escapes.
|
||||
|
||||
- Escape: \l'L'
|
||||
- Escape: \l'LG'
|
||||
- Escape: \l'l'
|
||||
- Escape: \l'lg'
|
||||
Draw a line horizontally. L is the length of the line to be
|
||||
drawn. If it is positive, start the line at the current location
|
||||
and draw to the right; its end point is the new current location.
|
||||
@ -1022,8 +1247,8 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
location to the beginning of the _input_ line - this works because
|
||||
the line length is negative, not moving the current point.
|
||||
|
||||
- Escape: \L'L'
|
||||
- Escape: \L'LG'
|
||||
- Escape: \L'l'
|
||||
- Escape: \L'lg'
|
||||
Draw vertical lines. Its parameters are similar to the `\l'
|
||||
escape, except that the default scaling indicator is `v'. The
|
||||
movement is downwards for positive values, and upwards for
|
||||
@ -1043,7 +1268,7 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
|test.
|
||||
|
||||
|
||||
- Escape: \D'COMMAND ARG ...'
|
||||
- Escape: \D'command arg ...'
|
||||
The `\D' escape provides a variety of drawing functions. Note
|
||||
that on character devices, only vertical and horizontal lines are
|
||||
supported within `grotty'; other devices may only support a subset
|
||||
@ -1051,7 +1276,9 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
|
||||
The default scaling indicator for all subcommands of `\D' is `m'
|
||||
for horizontal distances and `v' for vertical ones. Exceptions
|
||||
are `\D'f ...'' and `\D't ...'' which use `u' as the default.
|
||||
are `\D'f ...'' and `\D't ...'' which use `u' as the default, and
|
||||
`\D'FX ...'' which arguments are treated similar to the `defcolor'
|
||||
request.
|
||||
|
||||
`\D'l DX DY''
|
||||
Draw a line from the current location to the relative point
|
||||
@ -1083,30 +1310,35 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
|
||||
`\D'c D''
|
||||
Draw a circle with a diameter of D with the leftmost point at
|
||||
the current position.
|
||||
the current position. After drawing, the current location is
|
||||
positioned at the rightmost point of the circle.
|
||||
|
||||
`\D'C D''
|
||||
Draw a solid circle with the same parameters as an outlined
|
||||
circle. No outline is drawn.
|
||||
Draw a solid circle with the same parameters and behaviour as
|
||||
an outlined circle. No outline is drawn.
|
||||
|
||||
`\D'e X Y''
|
||||
Draw an ellipse with a horizontal diameter of X and a vertical
|
||||
diameter of Y with the leftmost point at the current position.
|
||||
After drawing, the current location is positioned at the
|
||||
rightmost point of the ellipse.
|
||||
|
||||
`\D'E X Y''
|
||||
Draw a solid ellipse with the same parameters as an outlined
|
||||
ellipse. No outline is drawn.
|
||||
Draw a solid ellipse with the same parameters and behaviour
|
||||
as an outlined ellipse. No outline is drawn.
|
||||
|
||||
`\D'a DX1 DY1 DX2 DY2''
|
||||
Draw an arc clockwise from the current location through the
|
||||
two specified relative locations (DX1,DY1) and (DX2,DY2).
|
||||
The coordinates of the first point are relative to the
|
||||
current position, and the coordinates of the second point are
|
||||
relative to the first point.
|
||||
relative to the first point. After drawing, the current
|
||||
position is moved to the final point of the arc.
|
||||
|
||||
`\D'~ DX1 DY1 DX2 DY2 ...''
|
||||
Draw a spline from the current location to the relative point
|
||||
(DX1,DY1) and then to (DX2,DY2), and so on.
|
||||
(DX1,DY1) and then to (DX2,DY2), and so on. The current
|
||||
position is moved to the terminal point of the drawn curve.
|
||||
|
||||
`\D'f N''
|
||||
Set the shade of gray to be used for filling solid objects
|
||||
@ -1116,15 +1348,27 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
applies only to solid circles, solid ellipses, and solid
|
||||
polygons. By default, a level of 1000 is used.
|
||||
|
||||
Despite of being silly, the current point is moved
|
||||
horizontally to the right by N.
|
||||
|
||||
Don't use this command! It has the serious drawback that it
|
||||
will be always rounded to the next integer multiple of the
|
||||
horizontal resolution (the value of the `hor' keyword in the
|
||||
`DESC' file). Use `\M' (*note Colors::) or `\D'Fg ...''
|
||||
instead.
|
||||
|
||||
`\D'p DX1 DY1 DX2 DY2 ...''
|
||||
Draw a polygon from the current location to the relative
|
||||
position (DX1,DY1) and then to (DX2,DY2) and so on. When the
|
||||
specified data points are exhausted, a line is drawn back to
|
||||
the starting point.
|
||||
the starting point. The current position is changed by
|
||||
adding the sum of all arguments with odd index to the actual
|
||||
horizontal position and the even ones to the vertical
|
||||
position.
|
||||
|
||||
`\D'P DX1 DY1 DX2 DY2 ...''
|
||||
Draw a solid polygon with the same parameters as an outlined
|
||||
polygon. No outline is drawn.
|
||||
Draw a solid polygon with the same parameters and behaviour
|
||||
as an outlined polygon. No outline is drawn.
|
||||
|
||||
Here a better variant of the box macro to fill the box with
|
||||
some color. Note that the box must be drawn before the text
|
||||
@ -1154,9 +1398,27 @@ or `ggrn'. *Note gpic::, and *Note ggrn::, for more information.
|
||||
current point size (this is the default behaviour of AT&T
|
||||
`troff').
|
||||
|
||||
Despite of being silly, the current point is moved
|
||||
horizontally to the right by N.
|
||||
|
||||
`\D'FSCHEME COLOR_COMPONENTS''
|
||||
Change current fill color. SCHEME is a single letter
|
||||
denoting the color scheme: `r' (rgb), `c' (cmy), `k' (cmyk),
|
||||
`g' (gray), or `d' (default color). The color components use
|
||||
exactly the same syntax as in the `defcolor' request (*note
|
||||
Colors::); the command `\D'Fd'' doesn't take an argument.
|
||||
|
||||
_No_ position changing!
|
||||
|
||||
Examples:
|
||||
|
||||
|
||||
\D'Fg .3' \" same gray as \D'f 700' \D'Fr #0000ff' \"
|
||||
blue
|
||||
|
||||
*Note Graphics Commands::.
|
||||
|
||||
- Escape: \b'STRING'
|
||||
- Escape: \b'string'
|
||||
"Pile" a sequence of glyphs vertically, and center it vertically
|
||||
on the current line. Use it to build large brackets and braces.
|
||||
|
||||
@ -1198,218 +1460,3 @@ trap is "sprung" if the associated macro is executed.
|
||||
* Blank Line Traps::
|
||||
* End-of-input Traps::
|
||||
|
||||
|
||||
File: groff, Node: Page Location Traps, Next: Diversion Traps, Prev: Traps, Up: Traps
|
||||
|
||||
Page Location Traps
|
||||
-------------------
|
||||
|
||||
"Page location traps" perform an action when `gtroff' reaches or
|
||||
passes a certain vertical location on the page. Page location traps
|
||||
have a variety of purposes, including:
|
||||
|
||||
* setting headers and footers
|
||||
|
||||
* setting body text in multiple columns
|
||||
|
||||
* setting footnotes
|
||||
|
||||
- Request: .vpt flag
|
||||
- Register: \n[.vpt]
|
||||
Enable vertical position traps if FLAG is non-zero, or disables
|
||||
them otherwise. Vertical position traps are traps set by the `wh'
|
||||
or `dt' requests. Traps set by the `it' request are not vertical
|
||||
position traps. The parameter that controls whether vertical
|
||||
position traps are enabled is global. Initially vertical position
|
||||
traps are enabled. The current setting of this is available in the
|
||||
`.vpt' read-only number register.
|
||||
|
||||
- Request: .wh dist [macro]
|
||||
Set a page location trap. Positive values for DIST set the trap
|
||||
relative to the top of the page; negative values set the trap
|
||||
relative to the bottom of the page. Default scaling indicator is
|
||||
`v'.
|
||||
|
||||
MACRO is the name of the macro to execute when the trap is sprung.
|
||||
If MACRO is missing, remove the first trap (if any) at DIST.
|
||||
|
||||
The following is a simple example of how many macro packages set
|
||||
headers and footers.
|
||||
|
||||
|
||||
.de hd \" Page header
|
||||
' sp .5i
|
||||
. tl 'Title''date'
|
||||
' sp .3i
|
||||
..
|
||||
.
|
||||
.de fo \" Page footer
|
||||
' sp 1v
|
||||
. tl ''%''
|
||||
' bp
|
||||
..
|
||||
.
|
||||
.wh 0 hd \" trap at top of the page
|
||||
.wh -1i fo \" trap one inch from bottom
|
||||
|
||||
A trap at or below the bottom of the page is ignored; it can be
|
||||
made active by either moving it up or increasing the page length
|
||||
so that the trap is on the page.
|
||||
|
||||
It is possible to have more than one trap at the same location; to
|
||||
do so, the traps must be defined at different locations, then
|
||||
moved together with the `ch' request; otherwise the second trap
|
||||
would replace the first one. Earlier defined traps hide later
|
||||
defined traps if moved to the same position (the many empty lines
|
||||
caused by the `bp' request are omitted):
|
||||
|
||||
|
||||
.de a
|
||||
. nop a
|
||||
..
|
||||
.de b
|
||||
. nop b
|
||||
..
|
||||
.de c
|
||||
. nop c
|
||||
..
|
||||
.
|
||||
.wh 1i a
|
||||
.wh 2i b
|
||||
.wh 3i c
|
||||
.bp
|
||||
=> a b c
|
||||
|
||||
|
||||
.ch b 1i
|
||||
.ch c 1i
|
||||
.bp
|
||||
=> a
|
||||
|
||||
|
||||
.ch a 0.5i
|
||||
.bp
|
||||
=> a b
|
||||
|
||||
|
||||
- Register: \n[.t]
|
||||
A read-only number register holding the distance to the next trap.
|
||||
|
||||
If there are no traps between the current position and the bottom
|
||||
of the page, it contains the distance to the page bottom. In a
|
||||
diversion, the distance to the page bottom is infinite (the
|
||||
returned value is the biggest integer which can be represented in
|
||||
`groff') if there are no diversion traps.
|
||||
|
||||
- Request: .ch macro dist
|
||||
Change the location of a trap. The first argument is the name of
|
||||
the macro to be invoked at the trap, and the second argument is
|
||||
the new location for the trap (note that the parameters are
|
||||
specified the opposite of the `wh' request). This is useful for
|
||||
building up footnotes in a diversion to allow more space at the
|
||||
bottom of the page for them.
|
||||
|
||||
Default scaling indicator for DIST is `v'. If DIST is missing,
|
||||
the trap is removed.
|
||||
|
||||
|
||||
- Register: \n[.ne]
|
||||
The read-only number register `.ne' contains the amount of space
|
||||
that was needed in the last `ne' request that caused a trap to be
|
||||
sprung. Useful in conjunction with the `.trunc' register. *Note
|
||||
Page Control::, for more information.
|
||||
|
||||
- Register: \n[.trunc]
|
||||
A read-only register containing the amount of vertical space
|
||||
truncated by the most recently sprung vertical position trap, or,
|
||||
if the trap was sprung by an `ne' request, minus the amount of
|
||||
vertical motion produced by the `ne' request. In other words, at
|
||||
the point a trap is sprung, it represents the difference of what
|
||||
the vertical position would have been but for the trap, and what
|
||||
the vertical position actually is.
|
||||
|
||||
|
||||
File: groff, Node: Diversion Traps, Next: Input Line Traps, Prev: Page Location Traps, Up: Traps
|
||||
|
||||
Diversion Traps
|
||||
---------------
|
||||
|
||||
- Request: .dt dist macro
|
||||
Set a trap _within_ a diversion. DIST is the location of the trap
|
||||
(identical to the `.wh' request; default scaling indicator is `v')
|
||||
and MACRO is the name of the macro to be invoked. The number
|
||||
register `.t' still works within diversions. *Note Diversions::,
|
||||
for more information.
|
||||
|
||||
|
||||
File: groff, Node: Input Line Traps, Next: Blank Line Traps, Prev: Diversion Traps, Up: Traps
|
||||
|
||||
Input Line Traps
|
||||
----------------
|
||||
|
||||
- Request: .it n macro
|
||||
- Request: .itc n macro
|
||||
Set an input line trap. N is the number of lines of input which
|
||||
may be read before springing the trap, MACRO is the macro to be
|
||||
invoked. Request lines are not counted as input lines.
|
||||
|
||||
For example, one possible use is to have a macro which prints the
|
||||
next N lines in a bold font.
|
||||
|
||||
|
||||
.de B
|
||||
. it \\$1 B-end
|
||||
. ft B
|
||||
..
|
||||
.
|
||||
.de B-end
|
||||
. ft R
|
||||
..
|
||||
|
||||
The `itc' request is identical, except that a line interrupted
|
||||
with `\c' counts as one input line.
|
||||
|
||||
Both requests are associated with the current environment (*note
|
||||
Environments::); switching to another environment disables the
|
||||
current input trap, and going back reactivates it, restoring the
|
||||
number of already processed lines.
|
||||
|
||||
|
||||
File: groff, Node: Blank Line Traps, Next: End-of-input Traps, Prev: Input Line Traps, Up: Traps
|
||||
|
||||
Blank Line Traps
|
||||
----------------
|
||||
|
||||
- Request: .blm macro
|
||||
Set a blank line trap. `gtroff' executes MACRO when it encounters
|
||||
a blank line in the input file.
|
||||
|
||||
|
||||
File: groff, Node: End-of-input Traps, Prev: Blank Line Traps, Up: Traps
|
||||
|
||||
End-of-input Traps
|
||||
------------------
|
||||
|
||||
- Request: .em macro
|
||||
Set a trap at the end of input. MACRO is executed after the last
|
||||
line of the input file has been processed.
|
||||
|
||||
For example, if the document had to have a section at the bottom
|
||||
of the last page for someone to approve it, the `em' request could
|
||||
be used.
|
||||
|
||||
|
||||
.de approval
|
||||
. ne 5v
|
||||
. sp |(\\n[.t] - 6v)
|
||||
. in +4i
|
||||
. lc _
|
||||
. br
|
||||
Approved:\t\a
|
||||
. sp
|
||||
Date:\t\t\a
|
||||
..
|
||||
.
|
||||
.em approval
|
||||
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,267 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Page Location Traps, Next: Diversion Traps, Prev: Traps, Up: Traps
|
||||
|
||||
Page Location Traps
|
||||
-------------------
|
||||
|
||||
"Page location traps" perform an action when `gtroff' reaches or
|
||||
passes a certain vertical location on the page. Page location traps
|
||||
have a variety of purposes, including:
|
||||
|
||||
* setting headers and footers
|
||||
|
||||
* setting body text in multiple columns
|
||||
|
||||
* setting footnotes
|
||||
|
||||
- Request: .vpt flag
|
||||
- Register: \n[.vpt]
|
||||
Enable vertical position traps if FLAG is non-zero, or disables
|
||||
them otherwise. Vertical position traps are traps set by the `wh'
|
||||
or `dt' requests. Traps set by the `it' request are not vertical
|
||||
position traps. The parameter that controls whether vertical
|
||||
position traps are enabled is global. Initially vertical position
|
||||
traps are enabled. The current setting of this is available in the
|
||||
`.vpt' read-only number register.
|
||||
|
||||
Note that a page can't be ejected if `vpt' is set to zero.
|
||||
|
||||
- Request: .wh dist [macro]
|
||||
Set a page location trap. Non-negative values for DIST set the
|
||||
trap relative to the top of the page; negative values set the trap
|
||||
relative to the bottom of the page. Default scaling indicator is
|
||||
`v'.
|
||||
|
||||
MACRO is the name of the macro to execute when the trap is sprung.
|
||||
If MACRO is missing, remove the first trap (if any) at DIST.
|
||||
|
||||
The following is a simple example of how many macro packages set
|
||||
headers and footers.
|
||||
|
||||
|
||||
.de hd \" Page header
|
||||
' sp .5i
|
||||
. tl 'Title''date'
|
||||
' sp .3i
|
||||
..
|
||||
.
|
||||
.de fo \" Page footer
|
||||
' sp 1v
|
||||
. tl ''%''
|
||||
' bp
|
||||
..
|
||||
.
|
||||
.wh 0 hd \" trap at top of the page
|
||||
.wh -1i fo \" trap one inch from bottom
|
||||
|
||||
A trap at or below the bottom of the page is ignored; it can be
|
||||
made active by either moving it up or increasing the page length
|
||||
so that the trap is on the page.
|
||||
|
||||
It is possible to have more than one trap at the same location; to
|
||||
do so, the traps must be defined at different locations, then
|
||||
moved together with the `ch' request; otherwise the second trap
|
||||
would replace the first one. Earlier defined traps hide later
|
||||
defined traps if moved to the same position (the many empty lines
|
||||
caused by the `bp' request are omitted in the following example):
|
||||
|
||||
|
||||
.de a
|
||||
. nop a
|
||||
..
|
||||
.de b
|
||||
. nop b
|
||||
..
|
||||
.de c
|
||||
. nop c
|
||||
..
|
||||
.
|
||||
.wh 1i a
|
||||
.wh 2i b
|
||||
.wh 3i c
|
||||
.bp
|
||||
=> a b c
|
||||
|
||||
|
||||
.ch b 1i
|
||||
.ch c 1i
|
||||
.bp
|
||||
=> a
|
||||
|
||||
|
||||
.ch a 0.5i
|
||||
.bp
|
||||
=> a b
|
||||
|
||||
|
||||
- Register: \n[.t]
|
||||
A read-only number register holding the distance to the next trap.
|
||||
|
||||
If there are no traps between the current position and the bottom
|
||||
of the page, it contains the distance to the page bottom. In a
|
||||
diversion, the distance to the page bottom is infinite (the
|
||||
returned value is the biggest integer which can be represented in
|
||||
`groff') if there are no diversion traps.
|
||||
|
||||
- Request: .ch macro [dist]
|
||||
Change the location of a trap. The first argument is the name of
|
||||
the macro to be invoked at the trap, and the second argument is
|
||||
the new location for the trap (note that the parameters are
|
||||
specified in opposite order as in the `wh' request). This is
|
||||
useful for building up footnotes in a diversion to allow more
|
||||
space at the bottom of the page for them.
|
||||
|
||||
Default scaling indicator for DIST is `v'. If DIST is missing,
|
||||
the trap is removed.
|
||||
|
||||
|
||||
- Register: \n[.ne]
|
||||
The read-only number register `.ne' contains the amount of space
|
||||
that was needed in the last `ne' request that caused a trap to be
|
||||
sprung. Useful in conjunction with the `.trunc' register. *Note
|
||||
Page Control::, for more information.
|
||||
|
||||
Since the `.ne' register is only set by traps it doesn't make much
|
||||
sense to use it outside of trap macros.
|
||||
|
||||
- Register: \n[.trunc]
|
||||
A read-only register containing the amount of vertical space
|
||||
truncated by the most recently sprung vertical position trap, or,
|
||||
if the trap was sprung by an `ne' request, minus the amount of
|
||||
vertical motion produced by the `ne' request. In other words, at
|
||||
the point a trap is sprung, it represents the difference of what
|
||||
the vertical position would have been but for the trap, and what
|
||||
the vertical position actually is.
|
||||
|
||||
Since the `.trunc' register is only set by traps and it doesn't
|
||||
make much sense to use it outside of trap macros.
|
||||
|
||||
- Register: \n[.pe]
|
||||
A read-only register which is set to 1 while a page is ejected with
|
||||
the `bp' request (or by the end of input).
|
||||
|
||||
Outside of traps this register is always zero. In the following
|
||||
example, only the second call to `x' is caused by `bp'.
|
||||
|
||||
|
||||
.de x
|
||||
\&.pe=\\n[.pe]
|
||||
.br
|
||||
..
|
||||
.wh 1v x
|
||||
.wh 4v x
|
||||
A line.
|
||||
.br
|
||||
Another line.
|
||||
.br
|
||||
=> A line.
|
||||
.pe=0
|
||||
Another line.
|
||||
|
||||
.pe=1
|
||||
|
||||
|
||||
An important fact to consider while designing macros is that
|
||||
diversions and traps do not interact normally. For example, if a trap
|
||||
invokes a header macro (while outputting a diversion) which tries to
|
||||
change the font on the current page, the effect will not be visible
|
||||
before the diversion has completely been printed (except for input
|
||||
protected with `\!' or `\?') since the data in the diversion is already
|
||||
formatted. In most cases, this is not the expected behaviour.
|
||||
|
||||
|
||||
File: groff, Node: Diversion Traps, Next: Input Line Traps, Prev: Page Location Traps, Up: Traps
|
||||
|
||||
Diversion Traps
|
||||
---------------
|
||||
|
||||
- Request: .dt dist macro
|
||||
Set a trap _within_ a diversion. DIST is the location of the trap
|
||||
(identical to the `wh' request; default scaling indicator is `v')
|
||||
and MACRO is the name of the macro to be invoked. The number
|
||||
register `.t' still works within diversions. *Note Diversions::,
|
||||
for more information.
|
||||
|
||||
|
||||
File: groff, Node: Input Line Traps, Next: Blank Line Traps, Prev: Diversion Traps, Up: Traps
|
||||
|
||||
Input Line Traps
|
||||
----------------
|
||||
|
||||
- Request: .it n macro
|
||||
- Request: .itc n macro
|
||||
Set an input line trap. N is the number of lines of input which
|
||||
may be read before springing the trap, MACRO is the macro to be
|
||||
invoked. Request lines are not counted as input lines.
|
||||
|
||||
For example, one possible use is to have a macro which prints the
|
||||
next N lines in a bold font.
|
||||
|
||||
|
||||
.de B
|
||||
. it \\$1 B-end
|
||||
. ft B
|
||||
..
|
||||
.
|
||||
.de B-end
|
||||
. ft R
|
||||
..
|
||||
|
||||
The `itc' request is identical except that an interrupted text
|
||||
line (ending with `\c') is not counted as a separate line.
|
||||
|
||||
Both requests are associated with the current environment (*note
|
||||
Environments::); switching to another environment disables the
|
||||
current input trap, and going back reactivates it, restoring the
|
||||
number of already processed lines.
|
||||
|
||||
|
||||
File: groff, Node: Blank Line Traps, Next: End-of-input Traps, Prev: Input Line Traps, Up: Traps
|
||||
|
||||
Blank Line Traps
|
||||
----------------
|
||||
|
||||
- Request: .blm macro
|
||||
Set a blank line trap. `gtroff' executes MACRO when it encounters
|
||||
a blank line in the input file.
|
||||
|
||||
|
||||
File: groff, Node: End-of-input Traps, Prev: Blank Line Traps, Up: Traps
|
||||
|
||||
End-of-input Traps
|
||||
------------------
|
||||
|
||||
- Request: .em macro
|
||||
Set a trap at the end of input. MACRO is executed after the last
|
||||
line of the input file has been processed.
|
||||
|
||||
For example, if the document had to have a section at the bottom
|
||||
of the last page for someone to approve it, the `em' request could
|
||||
be used.
|
||||
|
||||
|
||||
.de approval
|
||||
. ne 5v
|
||||
. sp |(\\n[.t] - 6v)
|
||||
. in +4i
|
||||
. lc _
|
||||
. br
|
||||
Approved:\t\a
|
||||
. sp
|
||||
Date:\t\t\a
|
||||
..
|
||||
.
|
||||
.em approval
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Diversions, Next: Environments, Prev: Traps, Up: gtroff Reference
|
||||
|
||||
@ -87,7 +344,7 @@ output device).
|
||||
contains the name of the current diversion (this is a string-valued
|
||||
register). The read-only number register `.d' contains the current
|
||||
vertical place in the diversion. If not in a diversion it is the
|
||||
same as the register `nl'.
|
||||
same as register `nl'.
|
||||
|
||||
- Register: \n[.h]
|
||||
The "high-water mark" on the current page. It corresponds to the
|
||||
@ -110,6 +367,10 @@ output device).
|
||||
- Register: \n[dl]
|
||||
After completing a diversion, the read-write number registers `dn'
|
||||
and `dl' contain the vertical and horizontal size of the diversion.
|
||||
Note that only the just processed lines are counted: For the
|
||||
computation of `dn' and `dl', the requests `da' and `boxa' are
|
||||
handled as if `di' and `box' had been used - lines which have been
|
||||
already stored in a macro are not taken into account.
|
||||
|
||||
|
||||
.\" Center text both horizontally & vertically
|
||||
@ -150,16 +411,16 @@ output device).
|
||||
|
||||
|
||||
- Escape: \!
|
||||
- Escape: \?ANYTHING\?
|
||||
- Escape: \?anything\?
|
||||
Prevent requests, macros, and escapes from being interpreted when
|
||||
read into a diversion. This takes the given text and
|
||||
"transparently" embeds it into the diversion. This is useful for
|
||||
read into a diversion. Both escapes take the given text and
|
||||
"transparently" embed it into the diversion. This is useful for
|
||||
macros which shouldn't be invoked until the diverted text is
|
||||
actually output.
|
||||
|
||||
The `\!' escape transparently embeds text up to and including the
|
||||
end of the line. The `\?' escape transparently embeds text until
|
||||
the next occurrence of the `\?' escape. For example:
|
||||
the next occurrence of the `\?' escape. Example:
|
||||
|
||||
|
||||
\?ANYTHING\?
|
||||
@ -198,7 +459,7 @@ output device).
|
||||
|
||||
- Request: .output string
|
||||
Emit STRING directly to the `gtroff' intermediate output (subject
|
||||
to copy-mode interpretation); this is similar to `\!' used at the
|
||||
to copy-mode interpretation); this is similar to `\!' used at the
|
||||
top level. An initial double quote in STRING is stripped off to
|
||||
allow initial blanks.
|
||||
|
||||
@ -209,7 +470,7 @@ output device).
|
||||
|
||||
Use with caution! It is normally only needed for mark-up used by a
|
||||
postprocessor which does something with the output before sending
|
||||
it to the output device, filtering out `string' again.
|
||||
it to the output device, filtering out STRING again.
|
||||
|
||||
- Request: .asciify div
|
||||
"Unformat" the diversion specified by DIV in such a way that ASCII
|
||||
@ -333,26 +594,35 @@ environments named `0', `1', and `2'.
|
||||
|
||||
* The number of consecutive hyphenated lines (set to zero).
|
||||
|
||||
- Register: \n[.w]
|
||||
- Register: \n[.cht]
|
||||
- Register: \n[.cdp]
|
||||
- Register: \n[.csk]
|
||||
The `\n[.cht]' register contains the maximum extent (above the
|
||||
baseline) of the last glyph added to the current environment.
|
||||
The `\n[.w]' register contains the width of the last glyph added
|
||||
to the current environment.
|
||||
|
||||
The `\n[.cdp]' register contains the maximum extent (below the
|
||||
baseline) of the last glyph added to the current environment.
|
||||
The `\n[.cht]' register contains the height of the last glyph
|
||||
added to the current environment.
|
||||
|
||||
The `\n[.cdp]' register contains the depth of the last glyph added
|
||||
to the current environment. It is positive for glyphs extending
|
||||
below the baseline.
|
||||
|
||||
The `\n[.csk]' register contains the "skew" (how far to the right
|
||||
of the glyph's center that `gtroff' shold place an accent) of the
|
||||
of the glyph's center that `gtroff' should place an accent) of the
|
||||
last glyph added to the current environment.
|
||||
|
||||
- Register: \n[.n]
|
||||
The `\n[.n]' register contains the length of the previous output
|
||||
line in the current environment.
|
||||
|
||||
|
||||
File: groff, Node: Suppressing output, Next: Colors, Prev: Environments, Up: gtroff Reference
|
||||
|
||||
Suppressing output
|
||||
==================
|
||||
|
||||
- Escape: \ONUM
|
||||
- Escape: \Onum
|
||||
Disable or enable output depending on the value of NUM:
|
||||
|
||||
`\O0'
|
||||
@ -423,7 +693,7 @@ Colors
|
||||
|
||||
- Request: .defcolor ident scheme color_components
|
||||
Define color with name IDENT. SCHEME can be one of the following
|
||||
values: `rgb' (three components), `cym' (three components), `cmyk'
|
||||
values: `rgb' (three components), `cmy' (three components), `cmyk'
|
||||
(four components), and `gray' or `grey' (one component).
|
||||
|
||||
Color components can be given either as a hexadecimal string or as
|
||||
@ -451,9 +721,9 @@ Colors
|
||||
.defcolor darkgreen rgb 0.1 0.5 0.2
|
||||
|
||||
|
||||
- Escape: \mC
|
||||
- Escape: \m(CO
|
||||
- Escape: \m[COLOR]
|
||||
- Escape: \mc
|
||||
- Escape: \m(co
|
||||
- Escape: \m[color]
|
||||
Set drawing color. The following example shows how to turn the
|
||||
next four words red.
|
||||
|
||||
@ -473,9 +743,9 @@ Colors
|
||||
.mc \m[red]x\m[]
|
||||
|
||||
|
||||
- Escape: \MC
|
||||
- Escape: \M(CO
|
||||
- Escape: \M[COLOR]
|
||||
- Escape: \Mc
|
||||
- Escape: \M(co
|
||||
- Escape: \M[color]
|
||||
Set background color for filled objects drawn with the `\D'...''
|
||||
commands.
|
||||
|
||||
@ -661,7 +931,7 @@ was not there, `groff' would not know when to stop.
|
||||
|
||||
|
||||
.sy perl -e 'printf ".nr H %d\\n.nr M %d\\n.nr S %d\\n",\
|
||||
(localtime(time))[2,1,0]' > /tmp/x\n[$$]
|
||||
(localtime(time))[2,1,0]' > /tmp/x\n[$$]
|
||||
.so /tmp/x\n[$$]
|
||||
.sy rm /tmp/x\n[$$]
|
||||
\nH:\nM:\nS
|
||||
@ -735,9 +1005,9 @@ was not there, `groff' would not know when to stop.
|
||||
.close idx
|
||||
|
||||
|
||||
- Escape: \VE
|
||||
- Escape: \V(EV
|
||||
- Escape: \V[ENV]
|
||||
- Escape: \Ve
|
||||
- Escape: \V(ev
|
||||
- Escape: \V[env]
|
||||
Interpolate the contents of the specified environment variable ENV
|
||||
(one-character name E, two-character name EV) as returned by the
|
||||
function `getenv'. `\V' is interpreted in copy-in mode.
|
||||
@ -752,7 +1022,7 @@ Postprocessor Access
|
||||
postprocessor. This is particularly useful for embedding POSTSCRIPT
|
||||
into the final document.
|
||||
|
||||
- Escape: \X'XXX'
|
||||
- Escape: \X'xxx'
|
||||
Embeds its argument into the `gtroff' output preceded with `x X'.
|
||||
|
||||
The escapes `\&', `\)', `\%', and `\:' are ignored within `\X',
|
||||
@ -766,9 +1036,9 @@ into the final document.
|
||||
|
||||
`use_charnames_in_special' is currently used by `grohtml' only.
|
||||
|
||||
- Escape: \YN
|
||||
- Escape: \Y(NM
|
||||
- Escape: \Y[NAME]
|
||||
- Escape: \Yn
|
||||
- Escape: \Y(nm
|
||||
- Escape: \Y[name]
|
||||
This is approximately equivalent to `\X'\*[NAME]'' (one-character
|
||||
name N, two-character name NM). However, the contents of the
|
||||
string or macro NAME are not interpreted; also it is permitted for
|
||||
@ -1028,10 +1298,10 @@ Debugging
|
||||
`gtroff' is not easy to debug, but there are some useful features
|
||||
and strategies for debugging.
|
||||
|
||||
- Request: .lf line filename
|
||||
Change the line number and the file name `gtroff' shall use for
|
||||
error and warning messages. LINE is the input line number of the
|
||||
_next_ line.
|
||||
- Request: .lf line [filename]
|
||||
Change the line number and optionally the file name `gtroff' shall
|
||||
use for error and warning messages. LINE is the input line number
|
||||
of the _next_ line.
|
||||
|
||||
Without argument, the request is ignored.
|
||||
|
||||
@ -1039,6 +1309,10 @@ and strategies for debugging.
|
||||
files, then put together with `soelim' and other preprocessors.
|
||||
Usually, it isn't invoked manually.
|
||||
|
||||
Note that other `troff' implementations (including the original
|
||||
AT&T version) handle `lf' differently. For them, LINE changes the
|
||||
line number of the _current_ line.
|
||||
|
||||
- Request: .tm string
|
||||
- Request: .tm1 string
|
||||
- Request: .tmc string
|
||||
@ -1184,425 +1458,3 @@ occurs. The most verbose level of warnings is `-ww'.
|
||||
|
||||
* Warnings::
|
||||
|
||||
|
||||
File: groff, Node: Warnings, Prev: Debugging, Up: Debugging
|
||||
|
||||
Warnings
|
||||
--------
|
||||
|
||||
The warnings that can be given to `gtroff' are divided into the
|
||||
following categories. The name associated with each warning is used by
|
||||
the `-w' and `-W' options; the number is used by the `warn' request and
|
||||
by the `.warn' register.
|
||||
|
||||
`char'
|
||||
`1'
|
||||
Non-existent glyphs.(1) (*note Warnings-Footnote-1::) This is
|
||||
enabled by default.
|
||||
|
||||
`number'
|
||||
`2'
|
||||
Invalid numeric expressions. This is enabled by default. *Note
|
||||
Expressions::.
|
||||
|
||||
`break'
|
||||
`4'
|
||||
In fill mode, lines which could not be broken so that their length
|
||||
was less than the line length. This is enabled by default.
|
||||
|
||||
`delim'
|
||||
`8'
|
||||
Missing or mismatched closing delimiters.
|
||||
|
||||
`el'
|
||||
`16'
|
||||
Use of the `el' request with no matching `ie' request. *Note
|
||||
if-else::.
|
||||
|
||||
`scale'
|
||||
`32'
|
||||
Meaningless scaling indicators.
|
||||
|
||||
`range'
|
||||
`64'
|
||||
Out of range arguments.
|
||||
|
||||
`syntax'
|
||||
`128'
|
||||
Dubious syntax in numeric expressions.
|
||||
|
||||
`di'
|
||||
`256'
|
||||
Use of `di' or `da' without an argument when there is no current
|
||||
diversion.
|
||||
|
||||
`mac'
|
||||
`512'
|
||||
Use of undefined strings, macros and diversions. When an undefined
|
||||
string, macro, or diversion is used, that string is automatically
|
||||
defined as empty. So, in most cases, at most one warning is given
|
||||
for each name.
|
||||
|
||||
`reg'
|
||||
`1024'
|
||||
Use of undefined number registers. When an undefined number
|
||||
register is used, that register is automatically defined to have a
|
||||
value of 0. So, in most cases, at most one warning is given for
|
||||
use of a particular name.
|
||||
|
||||
`tab'
|
||||
`2048'
|
||||
Use of a tab character where a number was expected.
|
||||
|
||||
`right-brace'
|
||||
`4096'
|
||||
Use of `\}' where a number was expected.
|
||||
|
||||
`missing'
|
||||
`8192'
|
||||
Requests that are missing non-optional arguments.
|
||||
|
||||
`input'
|
||||
`16384'
|
||||
Invalid input characters.
|
||||
|
||||
`escape'
|
||||
`32768'
|
||||
Unrecognized escape sequences. When an unrecognized escape
|
||||
sequence `\X' is encountered, the escape character is ignored, and
|
||||
X is printed.
|
||||
|
||||
`space'
|
||||
`65536'
|
||||
Missing space between a request or macro and its argument. This
|
||||
warning is given when an undefined name longer than two characters
|
||||
is encountered, and the first two characters of the name make a
|
||||
defined name. The request or macro is not invoked. When this
|
||||
warning is given, no macro is automatically defined. This is
|
||||
enabled by default. This warning never occurs in compatibility
|
||||
mode.
|
||||
|
||||
`font'
|
||||
`131072'
|
||||
Non-existent fonts. This is enabled by default.
|
||||
|
||||
`ig'
|
||||
`262144'
|
||||
Invalid escapes in text ignored with the `ig' request. These are
|
||||
conditions that are errors when they do not occur in ignored text.
|
||||
|
||||
`color'
|
||||
`524288'
|
||||
Color related warnings.
|
||||
|
||||
`all'
|
||||
All warnings except `di', `mac' and `reg'. It is intended that
|
||||
this covers all warnings that are useful with traditional macro
|
||||
packages.
|
||||
|
||||
`w'
|
||||
All warnings.
|
||||
|
||||
|
||||
File: groff, Node: Warnings-Footnotes, Up: Warnings
|
||||
|
||||
(1) `char' is a misnomer since it reports missing glyphs - there
|
||||
aren't missing input characters, only invalid ones.
|
||||
|
||||
|
||||
File: groff, Node: Implementation Differences, Prev: Debugging, Up: gtroff Reference
|
||||
|
||||
Implementation Differences
|
||||
==========================
|
||||
|
||||
GNU `troff' has a number of features which cause incompatibilities
|
||||
with documents written with old versions of `troff'.
|
||||
|
||||
Long names cause some incompatibilities. UNIX `troff' interprets
|
||||
|
||||
|
||||
.dsabcd
|
||||
|
||||
as defining a string `ab' with contents `cd'. Normally, GNU `troff'
|
||||
interprets this as a call of a macro named `dsabcd'. Also UNIX `troff'
|
||||
interprets `\*[' or `\n[' as references to a string or number register
|
||||
called `['. In GNU `troff', however, this is normally interpreted as
|
||||
the start of a long name. In compatibility mode GNU `troff' interprets
|
||||
long names in the traditional way (which means that they are not
|
||||
recognized as names).
|
||||
|
||||
- Request: .cp [n]
|
||||
- Request: .do cmd
|
||||
- Register: \n[.C]
|
||||
If N is missing or non-zero, turn on compatibility mode;
|
||||
otherwise, turn it off.
|
||||
|
||||
The read-only number register `.C' is 1 if compatibility mode is
|
||||
on, 0 otherwise.
|
||||
|
||||
Compatibility mode can be also turned on with the `-C' command line
|
||||
option.
|
||||
|
||||
The `do' request turns off compatibility mode while executing its
|
||||
arguments as a `gtroff' command.
|
||||
|
||||
|
||||
.do fam T
|
||||
|
||||
executes the `fam' request when compatibility mode is enabled.
|
||||
|
||||
`gtroff' restores the previous compatibility setting before
|
||||
interpreting any files sourced by the CMD.
|
||||
|
||||
Two other features are controlled by `-C'. If not in compatibility
|
||||
mode, GNU `troff' preserves the input level in delimited arguments:
|
||||
|
||||
|
||||
.ds xx '
|
||||
\w'abc\*(xxdef'
|
||||
|
||||
In compatibility mode, the string `72def'' is returned; without `-C'
|
||||
the resulting string is `168' (assuming a TTY output device).
|
||||
|
||||
Finally, the escapes `\f', `\H', `\m', `\M', `\R', `\s', and `\S'
|
||||
are transparent for recognizing the beginning of a line only in
|
||||
compatibility mode (this is a rather obscure feature). For example,
|
||||
the code
|
||||
|
||||
|
||||
.de xx
|
||||
Hallo!
|
||||
..
|
||||
\fB.xx\fP
|
||||
|
||||
prints `Hallo!' in bold face if in compatibility mode, and `.xx' in
|
||||
bold face otherwise.
|
||||
|
||||
GNU `troff' does not allow the use of the escape sequences `\|',
|
||||
`\^', `\&', `\{', `\}', `\<SP>', `\'', `\`', `\-', `\_', `\!', `\%',
|
||||
and `\c' in names of strings, macros, diversions, number registers,
|
||||
fonts or environments; UNIX `troff' does. The `\A' escape sequence
|
||||
(*note Identifiers::) may be helpful in avoiding use of these escape
|
||||
sequences in names.
|
||||
|
||||
Fractional point sizes cause one noteworthy incompatibility. In
|
||||
UNIX `troff' the `ps' request ignores scale indicators and thus
|
||||
|
||||
|
||||
.ps 10u
|
||||
|
||||
sets the point size to 10 points, whereas in GNU `troff' it sets the
|
||||
point size to 10 scaled points. *Note Fractional Type Sizes::, for
|
||||
more information.
|
||||
|
||||
In GNU `troff' there is a fundamental difference between
|
||||
(unformatted) input characters and (formatted) output glyphs.
|
||||
Everything that affects how a glyph is output is stored with the glyph
|
||||
node; once a glyph node has been constructed it is unaffected by any
|
||||
subsequent requests that are executed, including `bd', `cs', `tkf',
|
||||
`tr', or `fp' requests. Normally glyphs are constructed from input
|
||||
characters at the moment immediately before the glyph is added to the
|
||||
current output line. Macros, diversions and strings are all, in fact,
|
||||
the same type of object; they contain lists of input characters and
|
||||
glyph nodes in any combination. A glyph node does not behave like an
|
||||
input character for the purposes of macro processing; it does not
|
||||
inherit any of the special properties that the input character from
|
||||
which it was constructed might have had. For example,
|
||||
|
||||
|
||||
.di x
|
||||
\\\\
|
||||
.br
|
||||
.di
|
||||
.x
|
||||
|
||||
prints `\\' in GNU `troff'; each pair of input backslashes is turned
|
||||
into one output backslash and the resulting output backslashes are not
|
||||
interpreted as escape characters when they are reread. UNIX `troff'
|
||||
would interpret them as escape characters when they were reread and
|
||||
would end up printing one `\'. The correct way to obtain a printable
|
||||
backslash is to use the `\e' escape sequence: This always prints a
|
||||
single instance of the current escape character, regardless of whether
|
||||
or not it is used in a diversion; it also works in both GNU `troff' and
|
||||
UNIX `troff'.(1) (*note Implementation Differences-Footnote-1::) To
|
||||
store, for some reason, an escape sequence in a diversion that will be
|
||||
interpreted when the diversion is reread, either use the traditional
|
||||
`\!' transparent output facility, or, if this is unsuitable, the new
|
||||
`\?' escape sequence.
|
||||
|
||||
*Note Diversions::, and *Note Gtroff Internals::, for more
|
||||
information.
|
||||
|
||||
|
||||
File: groff, Node: Implementation Differences-Footnotes, Up: Implementation Differences
|
||||
|
||||
(1) To be completely independent of the current escape character,
|
||||
use `\(rs' which represents a reverse solidus (backslash) glyph.
|
||||
|
||||
|
||||
File: groff, Node: Preprocessors, Next: Output Devices, Prev: gtroff Reference, Up: Top
|
||||
|
||||
Preprocessors
|
||||
*************
|
||||
|
||||
This chapter describes all preprocessors that come with `groff' or
|
||||
which are freely available.
|
||||
|
||||
* Menu:
|
||||
|
||||
* geqn::
|
||||
* gtbl::
|
||||
* gpic::
|
||||
* ggrn::
|
||||
* grap::
|
||||
* grefer::
|
||||
* gsoelim::
|
||||
|
||||
|
||||
File: groff, Node: geqn, Next: gtbl, Prev: Preprocessors, Up: Preprocessors
|
||||
|
||||
`geqn'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking geqn::
|
||||
|
||||
|
||||
File: groff, Node: Invoking geqn, Prev: geqn, Up: geqn
|
||||
|
||||
Invoking `geqn'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: gtbl, Next: gpic, Prev: geqn, Up: Preprocessors
|
||||
|
||||
`gtbl'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gtbl::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gtbl, Prev: gtbl, Up: gtbl
|
||||
|
||||
Invoking `gtbl'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: gpic, Next: ggrn, Prev: gtbl, Up: Preprocessors
|
||||
|
||||
`gpic'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gpic::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gpic, Prev: gpic, Up: gpic
|
||||
|
||||
Invoking `gpic'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: ggrn, Next: grap, Prev: gpic, Up: Preprocessors
|
||||
|
||||
`ggrn'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking ggrn::
|
||||
|
||||
|
||||
File: groff, Node: Invoking ggrn, Prev: ggrn, Up: ggrn
|
||||
|
||||
Invoking `ggrn'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: grap, Next: grefer, Prev: ggrn, Up: Preprocessors
|
||||
|
||||
`grap'
|
||||
======
|
||||
|
||||
A free implementation of `grap', written by Ted Faber, is available
|
||||
as an extra package from the following address:
|
||||
|
||||
<http://www.lunabase.org/~faber/Vault/software/grap/>
|
||||
|
||||
|
||||
File: groff, Node: grefer, Next: gsoelim, Prev: grap, Up: Preprocessors
|
||||
|
||||
`grefer'
|
||||
========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking grefer::
|
||||
|
||||
|
||||
File: groff, Node: Invoking grefer, Prev: grefer, Up: grefer
|
||||
|
||||
Invoking `grefer'
|
||||
-----------------
|
||||
|
||||
|
||||
File: groff, Node: gsoelim, Prev: grefer, Up: Preprocessors
|
||||
|
||||
`gsoelim'
|
||||
=========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gsoelim::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gsoelim, Prev: gsoelim, Up: gsoelim
|
||||
|
||||
Invoking `gsoelim'
|
||||
------------------
|
||||
|
||||
|
||||
File: groff, Node: Output Devices, Next: File formats, Prev: Preprocessors, Up: Top
|
||||
|
||||
Output Devices
|
||||
**************
|
||||
|
||||
* Menu:
|
||||
|
||||
* Special Characters::
|
||||
* grotty::
|
||||
* grops::
|
||||
* grodvi::
|
||||
* grolj4::
|
||||
* grolbp::
|
||||
* grohtml::
|
||||
* gxditview::
|
||||
|
||||
|
||||
File: groff, Node: Special Characters, Next: grotty, Prev: Output Devices, Up: Output Devices
|
||||
|
||||
Special Characters
|
||||
==================
|
||||
|
||||
*Note Font Files::.
|
||||
|
||||
|
||||
File: groff, Node: grotty, Next: grops, Prev: Special Characters, Up: Output Devices
|
||||
|
||||
`grotty'
|
||||
========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking grotty::
|
||||
|
||||
|
||||
File: groff, Node: Invoking grotty, Prev: grotty, Up: grotty
|
||||
|
||||
Invoking `grotty'
|
||||
-----------------
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,433 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: Warnings, Prev: Debugging, Up: Debugging
|
||||
|
||||
Warnings
|
||||
--------
|
||||
|
||||
The warnings that can be given to `gtroff' are divided into the
|
||||
following categories. The name associated with each warning is used by
|
||||
the `-w' and `-W' options; the number is used by the `warn' request and
|
||||
by the `.warn' register.
|
||||
|
||||
`char'
|
||||
`1'
|
||||
Non-existent glyphs.(1) (*note Warnings-Footnote-1::) This is
|
||||
enabled by default.
|
||||
|
||||
`number'
|
||||
`2'
|
||||
Invalid numeric expressions. This is enabled by default. *Note
|
||||
Expressions::.
|
||||
|
||||
`break'
|
||||
`4'
|
||||
In fill mode, lines which could not be broken so that their length
|
||||
was less than the line length. This is enabled by default.
|
||||
|
||||
`delim'
|
||||
`8'
|
||||
Missing or mismatched closing delimiters.
|
||||
|
||||
`el'
|
||||
`16'
|
||||
Use of the `el' request with no matching `ie' request. *Note
|
||||
if-else::.
|
||||
|
||||
`scale'
|
||||
`32'
|
||||
Meaningless scaling indicators.
|
||||
|
||||
`range'
|
||||
`64'
|
||||
Out of range arguments.
|
||||
|
||||
`syntax'
|
||||
`128'
|
||||
Dubious syntax in numeric expressions.
|
||||
|
||||
`di'
|
||||
`256'
|
||||
Use of `di' or `da' without an argument when there is no current
|
||||
diversion.
|
||||
|
||||
`mac'
|
||||
`512'
|
||||
Use of undefined strings, macros and diversions. When an undefined
|
||||
string, macro, or diversion is used, that string is automatically
|
||||
defined as empty. So, in most cases, at most one warning is given
|
||||
for each name.
|
||||
|
||||
`reg'
|
||||
`1024'
|
||||
Use of undefined number registers. When an undefined number
|
||||
register is used, that register is automatically defined to have a
|
||||
value of 0. So, in most cases, at most one warning is given for
|
||||
use of a particular name.
|
||||
|
||||
`tab'
|
||||
`2048'
|
||||
Use of a tab character where a number was expected.
|
||||
|
||||
`right-brace'
|
||||
`4096'
|
||||
Use of `\}' where a number was expected.
|
||||
|
||||
`missing'
|
||||
`8192'
|
||||
Requests that are missing non-optional arguments.
|
||||
|
||||
`input'
|
||||
`16384'
|
||||
Invalid input characters.
|
||||
|
||||
`escape'
|
||||
`32768'
|
||||
Unrecognized escape sequences. When an unrecognized escape
|
||||
sequence `\X' is encountered, the escape character is ignored, and
|
||||
X is printed.
|
||||
|
||||
`space'
|
||||
`65536'
|
||||
Missing space between a request or macro and its argument. This
|
||||
warning is given when an undefined name longer than two characters
|
||||
is encountered, and the first two characters of the name make a
|
||||
defined name. The request or macro is not invoked. When this
|
||||
warning is given, no macro is automatically defined. This is
|
||||
enabled by default. This warning never occurs in compatibility
|
||||
mode.
|
||||
|
||||
`font'
|
||||
`131072'
|
||||
Non-existent fonts. This is enabled by default.
|
||||
|
||||
`ig'
|
||||
`262144'
|
||||
Invalid escapes in text ignored with the `ig' request. These are
|
||||
conditions that are errors when they do not occur in ignored text.
|
||||
|
||||
`color'
|
||||
`524288'
|
||||
Color related warnings.
|
||||
|
||||
`all'
|
||||
All warnings except `di', `mac' and `reg'. It is intended that
|
||||
this covers all warnings that are useful with traditional macro
|
||||
packages.
|
||||
|
||||
`w'
|
||||
All warnings.
|
||||
|
||||
|
||||
File: groff, Node: Warnings-Footnotes, Up: Warnings
|
||||
|
||||
(1) `char' is a misnomer since it reports missing glyphs - there
|
||||
aren't missing input characters, only invalid ones.
|
||||
|
||||
|
||||
File: groff, Node: Implementation Differences, Prev: Debugging, Up: gtroff Reference
|
||||
|
||||
Implementation Differences
|
||||
==========================
|
||||
|
||||
GNU `troff' has a number of features which cause incompatibilities
|
||||
with documents written with old versions of `troff'.
|
||||
|
||||
Long names cause some incompatibilities. UNIX `troff' interprets
|
||||
|
||||
|
||||
.dsabcd
|
||||
|
||||
as defining a string `ab' with contents `cd'. Normally, GNU `troff'
|
||||
interprets this as a call of a macro named `dsabcd'. Also UNIX `troff'
|
||||
interprets `\*[' or `\n[' as references to a string or number register
|
||||
called `['. In GNU `troff', however, this is normally interpreted as
|
||||
the start of a long name. In compatibility mode GNU `troff' interprets
|
||||
long names in the traditional way (which means that they are not
|
||||
recognized as names).
|
||||
|
||||
- Request: .cp [n]
|
||||
- Request: .do cmd
|
||||
- Register: \n[.C]
|
||||
If N is missing or non-zero, turn on compatibility mode;
|
||||
otherwise, turn it off.
|
||||
|
||||
The read-only number register `.C' is 1 if compatibility mode is
|
||||
on, 0 otherwise.
|
||||
|
||||
Compatibility mode can be also turned on with the `-C' command line
|
||||
option.
|
||||
|
||||
The `do' request turns off compatibility mode while executing its
|
||||
arguments as a `gtroff' command.
|
||||
|
||||
|
||||
.do fam T
|
||||
|
||||
executes the `fam' request when compatibility mode is enabled.
|
||||
|
||||
`gtroff' restores the previous compatibility setting before
|
||||
interpreting any files sourced by the CMD.
|
||||
|
||||
Two other features are controlled by `-C'. If not in compatibility
|
||||
mode, GNU `troff' preserves the input level in delimited arguments:
|
||||
|
||||
|
||||
.ds xx '
|
||||
\w'abc\*(xxdef'
|
||||
|
||||
In compatibility mode, the string `72def'' is returned; without `-C'
|
||||
the resulting string is `168' (assuming a TTY output device).
|
||||
|
||||
Finally, the escapes `\f', `\H', `\m', `\M', `\R', `\s', and `\S'
|
||||
are transparent for recognizing the beginning of a line only in
|
||||
compatibility mode (this is a rather obscure feature). For example,
|
||||
the code
|
||||
|
||||
|
||||
.de xx
|
||||
Hallo!
|
||||
..
|
||||
\fB.xx\fP
|
||||
|
||||
prints `Hallo!' in bold face if in compatibility mode, and `.xx' in
|
||||
bold face otherwise.
|
||||
|
||||
GNU `troff' does not allow the use of the escape sequences `\|',
|
||||
`\^', `\&', `\{', `\}', `\<SP>', `\'', `\`', `\-', `\_', `\!', `\%',
|
||||
and `\c' in names of strings, macros, diversions, number registers,
|
||||
fonts or environments; UNIX `troff' does. The `\A' escape sequence
|
||||
(*note Identifiers::) may be helpful in avoiding use of these escape
|
||||
sequences in names.
|
||||
|
||||
Fractional point sizes cause one noteworthy incompatibility. In
|
||||
UNIX `troff' the `ps' request ignores scale indicators and thus
|
||||
|
||||
|
||||
.ps 10u
|
||||
|
||||
sets the point size to 10 points, whereas in GNU `troff' it sets the
|
||||
point size to 10 scaled points. *Note Fractional Type Sizes::, for
|
||||
more information.
|
||||
|
||||
In GNU `troff' there is a fundamental difference between
|
||||
(unformatted) input characters and (formatted) output glyphs.
|
||||
Everything that affects how a glyph is output is stored with the glyph
|
||||
node; once a glyph node has been constructed it is unaffected by any
|
||||
subsequent requests that are executed, including `bd', `cs', `tkf',
|
||||
`tr', or `fp' requests. Normally glyphs are constructed from input
|
||||
characters at the moment immediately before the glyph is added to the
|
||||
current output line. Macros, diversions and strings are all, in fact,
|
||||
the same type of object; they contain lists of input characters and
|
||||
glyph nodes in any combination. A glyph node does not behave like an
|
||||
input character for the purposes of macro processing; it does not
|
||||
inherit any of the special properties that the input character from
|
||||
which it was constructed might have had. For example,
|
||||
|
||||
|
||||
.di x
|
||||
\\\\
|
||||
.br
|
||||
.di
|
||||
.x
|
||||
|
||||
prints `\\' in GNU `troff'; each pair of input backslashes is turned
|
||||
into one output backslash and the resulting output backslashes are not
|
||||
interpreted as escape characters when they are reread. UNIX `troff'
|
||||
would interpret them as escape characters when they were reread and
|
||||
would end up printing one `\'. The correct way to obtain a printable
|
||||
backslash is to use the `\e' escape sequence: This always prints a
|
||||
single instance of the current escape character, regardless of whether
|
||||
or not it is used in a diversion; it also works in both GNU `troff' and
|
||||
UNIX `troff'.(1) (*note Implementation Differences-Footnote-1::) To
|
||||
store, for some reason, an escape sequence in a diversion that will be
|
||||
interpreted when the diversion is reread, either use the traditional
|
||||
`\!' transparent output facility, or, if this is unsuitable, the new
|
||||
`\?' escape sequence.
|
||||
|
||||
*Note Diversions::, and *Note Gtroff Internals::, for more
|
||||
information.
|
||||
|
||||
|
||||
File: groff, Node: Implementation Differences-Footnotes, Up: Implementation Differences
|
||||
|
||||
(1) To be completely independent of the current escape character,
|
||||
use `\(rs' which represents a reverse solidus (backslash) glyph.
|
||||
|
||||
|
||||
File: groff, Node: Preprocessors, Next: Output Devices, Prev: gtroff Reference, Up: Top
|
||||
|
||||
Preprocessors
|
||||
*************
|
||||
|
||||
This chapter describes all preprocessors that come with `groff' or
|
||||
which are freely available.
|
||||
|
||||
* Menu:
|
||||
|
||||
* geqn::
|
||||
* gtbl::
|
||||
* gpic::
|
||||
* ggrn::
|
||||
* grap::
|
||||
* grefer::
|
||||
* gsoelim::
|
||||
|
||||
|
||||
File: groff, Node: geqn, Next: gtbl, Prev: Preprocessors, Up: Preprocessors
|
||||
|
||||
`geqn'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking geqn::
|
||||
|
||||
|
||||
File: groff, Node: Invoking geqn, Prev: geqn, Up: geqn
|
||||
|
||||
Invoking `geqn'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: gtbl, Next: gpic, Prev: geqn, Up: Preprocessors
|
||||
|
||||
`gtbl'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gtbl::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gtbl, Prev: gtbl, Up: gtbl
|
||||
|
||||
Invoking `gtbl'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: gpic, Next: ggrn, Prev: gtbl, Up: Preprocessors
|
||||
|
||||
`gpic'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gpic::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gpic, Prev: gpic, Up: gpic
|
||||
|
||||
Invoking `gpic'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: ggrn, Next: grap, Prev: gpic, Up: Preprocessors
|
||||
|
||||
`ggrn'
|
||||
======
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking ggrn::
|
||||
|
||||
|
||||
File: groff, Node: Invoking ggrn, Prev: ggrn, Up: ggrn
|
||||
|
||||
Invoking `ggrn'
|
||||
---------------
|
||||
|
||||
|
||||
File: groff, Node: grap, Next: grefer, Prev: ggrn, Up: Preprocessors
|
||||
|
||||
`grap'
|
||||
======
|
||||
|
||||
A free implementation of `grap', written by Ted Faber, is available
|
||||
as an extra package from the following address:
|
||||
|
||||
`http://www.lunabase.org/~faber/Vault/software/grap/'
|
||||
|
||||
|
||||
File: groff, Node: grefer, Next: gsoelim, Prev: grap, Up: Preprocessors
|
||||
|
||||
`grefer'
|
||||
========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking grefer::
|
||||
|
||||
|
||||
File: groff, Node: Invoking grefer, Prev: grefer, Up: grefer
|
||||
|
||||
Invoking `grefer'
|
||||
-----------------
|
||||
|
||||
|
||||
File: groff, Node: gsoelim, Prev: grefer, Up: Preprocessors
|
||||
|
||||
`gsoelim'
|
||||
=========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking gsoelim::
|
||||
|
||||
|
||||
File: groff, Node: Invoking gsoelim, Prev: gsoelim, Up: gsoelim
|
||||
|
||||
Invoking `gsoelim'
|
||||
------------------
|
||||
|
||||
|
||||
File: groff, Node: Output Devices, Next: File formats, Prev: Preprocessors, Up: Top
|
||||
|
||||
Output Devices
|
||||
**************
|
||||
|
||||
* Menu:
|
||||
|
||||
* Special Characters::
|
||||
* grotty::
|
||||
* grops::
|
||||
* grodvi::
|
||||
* grolj4::
|
||||
* grolbp::
|
||||
* grohtml::
|
||||
* gxditview::
|
||||
|
||||
|
||||
File: groff, Node: Special Characters, Next: grotty, Prev: Output Devices, Up: Output Devices
|
||||
|
||||
Special Characters
|
||||
==================
|
||||
|
||||
*Note Font Files::.
|
||||
|
||||
|
||||
File: groff, Node: grotty, Next: grops, Prev: Special Characters, Up: Output Devices
|
||||
|
||||
`grotty'
|
||||
========
|
||||
|
||||
* Menu:
|
||||
|
||||
* Invoking grotty::
|
||||
|
||||
|
||||
File: groff, Node: Invoking grotty, Prev: grotty, Up: grotty
|
||||
|
||||
Invoking `grotty'
|
||||
-----------------
|
||||
|
||||
|
||||
File: groff, Node: grops, Next: grodvi, Prev: grotty, Up: Output Devices
|
||||
|
||||
@ -215,7 +638,7 @@ File: groff, Node: gtroff Output-Footnotes, Up: gtroff Output
|
||||
|
||||
(1) The parser and postprocessor for intermediate output can be
|
||||
found in the file
|
||||
`GROFF-SOURCE-DIR/src/libs/libdriver/input.cc'.
|
||||
`GROFF-SOURCE-DIR/src/libs/libdriver/input.cpp'.
|
||||
|
||||
|
||||
File: groff, Node: Language Concepts, Next: Command Reference, Prev: gtroff Output, Up: gtroff Output
|
||||
@ -446,6 +869,7 @@ string argument.
|
||||
Set color using the RGB color scheme, having the 3 color
|
||||
components RED, GREEN, and BLUE.
|
||||
|
||||
|
||||
`N N'
|
||||
Print glyph with index N (a non-negative integer) of the current
|
||||
font. This command is a `gtroff' extension.
|
||||
@ -509,6 +933,7 @@ string argument.
|
||||
Informs about a paddable white space to increase readability. The
|
||||
spacing itself must be performed explicitly by a move command.
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Simple Commands-Footnotes, Up: Simple Commands
|
||||
|
||||
@ -542,9 +967,8 @@ called V1, V2, ..., VN stand for vertical distances where positive
|
||||
means down, negative up. All these distances are offsets relative to
|
||||
the current location.
|
||||
|
||||
Unless indicated otherwise, each graphics command directly
|
||||
corresponds to a similar `gtroff' `\D' escape sequence. *Note Drawing
|
||||
Requests::.
|
||||
Each graphics command directly corresponds to a similar `gtroff'
|
||||
`\D' escape sequence. *Note Drawing Requests::.
|
||||
|
||||
Unknown `D' commands are assumed to be device-specific. Its
|
||||
arguments are parsed as strings; the whole information is then sent to
|
||||
@ -625,6 +1049,7 @@ means a syntactical line break as defined above.
|
||||
Set fill color for solid drawing objects using the RGB color
|
||||
scheme, having the 3 color components RED, GREEN, and BLUE.
|
||||
|
||||
|
||||
`Df N<line break>'
|
||||
The argument N must be an integer in the range -32767 to 32767.
|
||||
|
||||
@ -634,7 +1059,7 @@ means a syntactical line break as defined above.
|
||||
to solid black, and values in between to intermediate shades
|
||||
of gray; this is obsoleted by command `DFg'.
|
||||
|
||||
N < 0 or N < 1000
|
||||
N < 0 or N > 1000
|
||||
Set the filling color to the color that is currently being
|
||||
used for the text and the outline, see command `m'. For
|
||||
example, the command sequence
|
||||
@ -645,6 +1070,7 @@ means a syntactical line break as defined above.
|
||||
|
||||
sets all colors to blue.
|
||||
|
||||
|
||||
No position changing. This command is a `gtroff' extension.
|
||||
|
||||
`Dl H V<line break>'
|
||||
@ -675,6 +1101,7 @@ means a syntactical line break as defined above.
|
||||
position is not changed. Although this doesn't make sense it is
|
||||
kept for compatibility. This command is a `gtroff' extension.
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Device Control Commands, Next: Obsolete Command, Prev: Graphics Commands, Up: Command Reference
|
||||
|
||||
@ -785,6 +1212,7 @@ syntactical line break (*note Separation::).
|
||||
escape sequence `\X'. The line-continuing feature is a `gtroff'
|
||||
extension.
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Obsolete Command, Prev: Device Control Commands, Up: Command Reference
|
||||
|
||||
@ -808,6 +1236,7 @@ DDG
|
||||
of these and other commands are used, mostly without spaces; this
|
||||
made such output almost unreadable.
|
||||
|
||||
|
||||
For modern high-resolution devices, this command does not make sense
|
||||
because the width of the glyphs can become much larger than two decimal
|
||||
digits. In `gtroff', this is only used for the devices `X75',
|
||||
@ -917,6 +1346,7 @@ AT&T `troff' output
|
||||
Due to the obsolete jump-and-write command, the text clusters in
|
||||
the AT&T `troff' output are almost unreadable.
|
||||
|
||||
|
||||
|
||||
File: groff, Node: Output Language Compatibility, Prev: Intermediate Output Examples, Up: gtroff Output
|
||||
|
||||
@ -984,285 +1414,3 @@ File: groff, Node: Font Files-Footnotes, Up: Font Files
|
||||
|
||||
(1) Plan 9 `troff' has also abandoned the binary format.
|
||||
|
||||
|
||||
File: groff, Node: DESC File Format, Next: Font File Format, Prev: Font Files, Up: Font Files
|
||||
|
||||
`DESC' File Format
|
||||
------------------
|
||||
|
||||
The `DESC' file can contain the following types of line. Except for
|
||||
the `charset' keyword which must comes last (if at all), the order of
|
||||
the lines is not important.
|
||||
|
||||
`res N'
|
||||
There are N machine units per inch.
|
||||
|
||||
`hor N'
|
||||
The horizontal resolution is N machine units.
|
||||
|
||||
`vert N'
|
||||
The vertical resolution is N machine units.
|
||||
|
||||
`sizescale N'
|
||||
The scale factor for point sizes. By default this has a value
|
||||
of 1. One scaled point is equal to one point/N. The arguments to
|
||||
the `unitwidth' and `sizes' commands are given in scaled points.
|
||||
*Note Fractional Type Sizes::, for more information.
|
||||
|
||||
`unitwidth N'
|
||||
Quantities in the font files are given in machine units for fonts
|
||||
whose point size is N scaled points.
|
||||
|
||||
`prepro PROGRAM'
|
||||
Call PROGRAM as a preprocessor. Currently, this keyword is used
|
||||
by `groff' with option `-Thtml' only.
|
||||
|
||||
`postpro PROGRAM'
|
||||
Call PROGRAM as a postprocessor. For example, the line
|
||||
|
||||
|
||||
postpro grodvi
|
||||
|
||||
in the file `devdvi/DESC' makes `groff' call `grodvi' if option
|
||||
`-Tdvi' is given (and `-Z' isn't used).
|
||||
|
||||
`tcommand'
|
||||
This means that the postprocessor can handle the `t' and `u'
|
||||
intermediate output commands.
|
||||
|
||||
`sizes S1 S2 ... SN 0'
|
||||
This means that the device has fonts at S1, S2, ... SN scaled
|
||||
points. The list of sizes must be terminated by 0 (this is digit
|
||||
zero). Each SI can also be a range of sizes M-N. The list can
|
||||
extend over more than one line.
|
||||
|
||||
`styles S1 S2 ... SM'
|
||||
The first M font positions are associated with styles S1 ... SM.
|
||||
|
||||
`fonts N F1 F2 F3 ... FN'
|
||||
Fonts F1 ... FN are mounted in the font positions M+1, ..., M+N
|
||||
where M is the number of styles. This command may extend over
|
||||
more than one line. A font name of 0 means no font is mounted on
|
||||
the corresponding font position.
|
||||
|
||||
`family FAM'
|
||||
The default font family is FAM.
|
||||
|
||||
`use_charnames_in_special'
|
||||
This command indicates that `gtroff' should encode special
|
||||
characters inside special commands. Currently, this is only used
|
||||
by the HTML output device. *Note Postprocessor Access::.
|
||||
|
||||
`papersize STRING ...'
|
||||
Select a paper size. Valid values for STRING are the ISO paper
|
||||
types `A0'-`A7', `B0'-`B7', `C0'-`C7', `D0'-`D7', `DL', and the US
|
||||
paper types `letter', `legal', `tabloid', `ledger', `statement',
|
||||
`executive', `com10', and `monarch'. Case is not significant for
|
||||
STRING if it holds predefined paper types. Alternatively, STRING
|
||||
can be a file name (e.g. `/etc/papersize'); if the file can be
|
||||
opened, `groff' reads the first line and tests for the above paper
|
||||
sizes. Finally, STRING can be a custom paper size in the format
|
||||
`LENGTH,WIDTH' (no spaces before and after the comma). Both
|
||||
LENGTH and WIDTH must have a unit appended; valid values are `i'
|
||||
for inches, `C' for centimeters, `p' for points, and `P' for
|
||||
picas. Example: `12c,235p'. An argument which starts with a
|
||||
digit is always treated as a custom paper format. `papersize'
|
||||
sets both the vertical and horizontal dimension of the output
|
||||
medium.
|
||||
|
||||
More than one argument can be specified; `groff' scans from left to
|
||||
right and uses the first valid paper specification.
|
||||
|
||||
`pass_filenames'
|
||||
Tell `gtroff' to emit the name of the source file currently being
|
||||
processed. This is achieved by the intermediate output command
|
||||
`F'. Currently, this is only used by the HTML output device.
|
||||
|
||||
`print PROGRAM'
|
||||
Use PROGRAM as a spooler program for printing. If omitted, the
|
||||
`-l' and `-L' options of `groff' are ignored.
|
||||
|
||||
`charset'
|
||||
This line and everything following in the file are ignored. It is
|
||||
allowed for the sake of backwards compatibility.
|
||||
|
||||
The `res', `unitwidth', `fonts', and `sizes' lines are mandatory.
|
||||
Other commands are ignored by `gtroff' but may be used by
|
||||
postprocessors to store arbitrary information about the device in the
|
||||
`DESC' file.
|
||||
|
||||
Here a list of obsolete keywords which are recognized by `groff' but
|
||||
completely ignored: `spare1', `spare2', `biggestfont'.
|
||||
|
||||
|
||||
File: groff, Node: Font File Format, Prev: DESC File Format, Up: Font Files
|
||||
|
||||
Font File Format
|
||||
----------------
|
||||
|
||||
A "font file", also (and probably better) called a "font description
|
||||
file", has two sections. The first section is a sequence of lines each
|
||||
containing a sequence of blank delimited words; the first word in the
|
||||
line is a key, and subsequent words give a value for that key.
|
||||
|
||||
`name F'
|
||||
The name of the font is F.
|
||||
|
||||
`spacewidth N'
|
||||
The normal width of a space is N.
|
||||
|
||||
`slant N'
|
||||
The glyphs of the font have a slant of N degrees. (Positive means
|
||||
forward.)
|
||||
|
||||
`ligatures LIG1 LIG2 ... LIGN [0]'
|
||||
Glyphs LIG1, LIG2, ..., LIGN are ligatures; possible ligatures are
|
||||
`ff', `fi', `fl', `ffi' and `ffl'. For backwards compatibility,
|
||||
the list of ligatures may be terminated with a 0. The list of
|
||||
ligatures may not extend over more than one line.
|
||||
|
||||
`special'
|
||||
The font is "special"; this means that when a glyph is requested
|
||||
that is not present in the current font, it is searched for in any
|
||||
special fonts that are mounted.
|
||||
|
||||
Other commands are ignored by `gtroff' but may be used by
|
||||
postprocessors to store arbitrary information about the font in the font
|
||||
file.
|
||||
|
||||
The first section can contain comments which start with the `#'
|
||||
character and extend to the end of a line.
|
||||
|
||||
The second section contains one or two subsections. It must contain
|
||||
a `charset' subsection and it may also contain a `kernpairs'
|
||||
subsection. These subsections can appear in any order. Each
|
||||
subsection starts with a word on a line by itself.
|
||||
|
||||
The word `charset' starts the character set subsection.(1) (*note
|
||||
Font File Format-Footnote-1::) The `charset' line is followed by a
|
||||
sequence of lines. Each line gives information for one glyph. A line
|
||||
comprises a number of fields separated by blanks or tabs. The format is
|
||||
|
||||
NAME METRICS TYPE CODE [ENTITY-NAME] [`--' COMMENT]
|
||||
|
||||
NAME identifies the glyph name(2) (*note Font File Format-Footnote-2::):
|
||||
If NAME is a single character C then it corresponds to the `gtroff'
|
||||
input character C; if it is of the form `\C' where C is a single
|
||||
character, then it corresponds to the special character `\[C]';
|
||||
otherwise it corresponds to the special character `\[NAME]'. If it is
|
||||
exactly two characters XX it can be entered as `\(XX'. Note that
|
||||
single-letter special characters can't be accessed as `\C'; the only
|
||||
exception is `\-' which is identical to `\[-]'.
|
||||
|
||||
`gtroff' supports 8-bit input characters; however some utilities
|
||||
have difficulties with eight-bit characters. For this reason, there is
|
||||
a convention that the entity name `charN' is equivalent to the single
|
||||
input character whose code is N. For example, `char163' would be
|
||||
equivalent to the character with code 163 which is the pounds sterling
|
||||
sign in the ISO Latin-1 character set. You shouldn't use `charN'
|
||||
entities in font description files since they are related to input, not
|
||||
output. Otherwise, you get hard-coded connections between input and
|
||||
output encoding which prevents use of different (input) character sets.
|
||||
|
||||
The name `---' is special and indicates that the glyph is unnamed;
|
||||
such glyphs can only be used by means of the `\N' escape sequence in
|
||||
`gtroff'.
|
||||
|
||||
The TYPE field gives the glyph type:
|
||||
|
||||
`1'
|
||||
the glyph has a descender, for example, `p';
|
||||
|
||||
`2'
|
||||
the glyph has an ascender, for example, `b';
|
||||
|
||||
`3'
|
||||
the glyph has both an ascender and a descender, for example, `('.
|
||||
|
||||
The CODE field gives the code which the postprocessor uses to print
|
||||
the glyph. The glyph can also be input to `gtroff' using this code by
|
||||
means of the `\N' escape sequence. CODE can be any integer. If it
|
||||
starts with `0' it is interpreted as octal; if it starts with `0x' or
|
||||
`0X' it is interpreted as hexadecimal. Note, however, that the `\N'
|
||||
escape sequence only accepts a decimal integer.
|
||||
|
||||
The ENTITY-NAME field gives an ASCII string identifying the glyph
|
||||
which the postprocessor uses to print the `gtroff' glyph NAME. This
|
||||
field is optional and has been introduced so that the HTML device
|
||||
driver can encode its character set. For example, the glyph `\[Po]' is
|
||||
represented as `£' in HTML 4.0.
|
||||
|
||||
Anything on the line after the ENTITY-NAME field resp. after `--'
|
||||
will be ignored.
|
||||
|
||||
The METRICS field has the form:
|
||||
|
||||
WIDTH[`,'HEIGHT[`,'DEPTH[`,'ITALIC-CORRECTION
|
||||
[`,'LEFT-ITALIC-CORRECTION[`,'SUBSCRIPT-CORRECTION]]]]]
|
||||
|
||||
There must not be any spaces between these subfields (it has been split
|
||||
here into two lines for better legibility only). Missing subfields are
|
||||
assumed to be 0. The subfields are all decimal integers. Since there
|
||||
is no associated binary format, these values are not required to fit
|
||||
into a variable of type `char' as they are in `ditroff'. The WIDTH
|
||||
subfield gives the width of the glyph. The HEIGHT subfield gives the
|
||||
height of the glyph (upwards is positive); if a glyph does not extend
|
||||
above the baseline, it should be given a zero height, rather than a
|
||||
negative height. The DEPTH subfield gives the depth of the glyph, that
|
||||
is, the distance from the baseline to the lowest point below the
|
||||
baseline to which the glyph extends (downwards is positive); if a glyph
|
||||
does not extend below the baseline, it should be given a zero depth,
|
||||
rather than a negative depth. The ITALIC-CORRECTION subfield gives the
|
||||
amount of space that should be added after the glyph when it is
|
||||
immediately to be followed by a glyph from a roman font. The
|
||||
LEFT-ITALIC-CORRECTION subfield gives the amount of space that should
|
||||
be added before the glyph when it is immediately to be preceded by a
|
||||
glyph from a roman font. The SUBSCRIPT-CORRECTION gives the amount of
|
||||
space that should be added after a glyph before adding a subscript.
|
||||
This should be less than the italic correction.
|
||||
|
||||
A line in the `charset' section can also have the format
|
||||
|
||||
|
||||
NAME "
|
||||
|
||||
This indicates that NAME is just another name for the glyph mentioned
|
||||
in the preceding line.
|
||||
|
||||
The word `kernpairs' starts the kernpairs section. This contains a
|
||||
sequence of lines of the form:
|
||||
|
||||
|
||||
C1 C2 N
|
||||
|
||||
This means that when glyph C1 appears next to glyph C2 the space
|
||||
between them should be increased by N. Most entries in the kernpairs
|
||||
section have a negative value for N.
|
||||
|
||||
|
||||
File: groff, Node: Font File Format-Footnotes, Up: Font File Format
|
||||
|
||||
(1) This keyword is misnamed since it starts a list of ordered
|
||||
glyphs, not characters.
|
||||
|
||||
(2) The distinction between input, characters, and output, glyphs,
|
||||
is not clearly separated in the terminology of `groff'; for example,
|
||||
the `char' request should be called `glyph' since it defines an output
|
||||
entity.
|
||||
|
||||
|
||||
File: groff, Node: Installation, Next: Copying This Manual, Prev: File formats, Up: Top
|
||||
|
||||
Installation
|
||||
************
|
||||
|
||||
|
||||
File: groff, Node: Copying This Manual, Next: Request Index, Prev: Installation, Up: Top
|
||||
|
||||
Copying This Manual
|
||||
*******************
|
||||
|
||||
* Menu:
|
||||
|
||||
* GNU Free Documentation License:: License for copying this manual.
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
This is groff, produced by makeinfo version 4.2 from ./groff.texinfo.
|
||||
This is groff, produced by makeinfo version 4.3d from ./groff.texinfo.
|
||||
|
||||
This manual documents GNU `troff' version 1.18.
|
||||
This manual documents GNU `troff' version 1.19.
|
||||
|
||||
Copyright (C) 1994-2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1994-2000, 2001, 2002, 2003 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@ -16,11 +17,295 @@ This manual documents GNU `troff' version 1.18.
|
||||
modify this GNU Manual, like GNU software. Copies published by
|
||||
the Free Software Foundation raise funds for GNU development."
|
||||
|
||||
INFO-DIR-SECTION Miscellaneous
|
||||
INFO-DIR-SECTION Typesetting
|
||||
START-INFO-DIR-ENTRY
|
||||
* Groff: (groff). The GNU troff document formatting system.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
|
||||
File: groff, Node: DESC File Format, Next: Font File Format, Prev: Font Files, Up: Font Files
|
||||
|
||||
`DESC' File Format
|
||||
------------------
|
||||
|
||||
The `DESC' file can contain the following types of line. Except for
|
||||
the `charset' keyword which must comes last (if at all), the order of
|
||||
the lines is not important.
|
||||
|
||||
`res N'
|
||||
There are N machine units per inch.
|
||||
|
||||
`hor N'
|
||||
The horizontal resolution is N machine units. All horizontal
|
||||
quantities are rounded to be multiples of this value.
|
||||
|
||||
`vert N'
|
||||
The vertical resolution is N machine units. All vertical
|
||||
quantities are rounded to be multiples of this value.
|
||||
|
||||
`sizescale N'
|
||||
The scale factor for point sizes. By default this has a value
|
||||
of 1. One scaled point is equal to one point/N. The arguments to
|
||||
the `unitwidth' and `sizes' commands are given in scaled points.
|
||||
*Note Fractional Type Sizes::, for more information.
|
||||
|
||||
`unitwidth N'
|
||||
Quantities in the font files are given in machine units for fonts
|
||||
whose point size is N scaled points.
|
||||
|
||||
`prepro PROGRAM'
|
||||
Call PROGRAM as a preprocessor. Currently, this keyword is used
|
||||
by `groff' with option `-Thtml' only.
|
||||
|
||||
`postpro PROGRAM'
|
||||
Call PROGRAM as a postprocessor. For example, the line
|
||||
|
||||
|
||||
postpro grodvi
|
||||
|
||||
in the file `devdvi/DESC' makes `groff' call `grodvi' if option
|
||||
`-Tdvi' is given (and `-Z' isn't used).
|
||||
|
||||
`tcommand'
|
||||
This means that the postprocessor can handle the `t' and `u'
|
||||
intermediate output commands.
|
||||
|
||||
`sizes S1 S2 ... SN 0'
|
||||
This means that the device has fonts at S1, S2, ... SN scaled
|
||||
points. The list of sizes must be terminated by 0 (this is digit
|
||||
zero). Each SI can also be a range of sizes M-N. The list can
|
||||
extend over more than one line.
|
||||
|
||||
`styles S1 S2 ... SM'
|
||||
The first M font positions are associated with styles S1 ... SM.
|
||||
|
||||
`fonts N F1 F2 F3 ... FN'
|
||||
Fonts F1 ... FN are mounted in the font positions M+1, ..., M+N
|
||||
where M is the number of styles. This command may extend over
|
||||
more than one line. A font name of 0 means no font is mounted on
|
||||
the corresponding font position.
|
||||
|
||||
`family FAM'
|
||||
The default font family is FAM.
|
||||
|
||||
`use_charnames_in_special'
|
||||
This command indicates that `gtroff' should encode special
|
||||
characters inside special commands. Currently, this is only used
|
||||
by the HTML output device. *Note Postprocessor Access::.
|
||||
|
||||
`papersize STRING ...'
|
||||
Select a paper size. Valid values for STRING are the ISO paper
|
||||
types `A0'-`A7', `B0'-`B7', `C0'-`C7', `D0'-`D7', `DL', and the US
|
||||
paper types `letter', `legal', `tabloid', `ledger', `statement',
|
||||
`executive', `com10', and `monarch'. Case is not significant for
|
||||
STRING if it holds predefined paper types. Alternatively, STRING
|
||||
can be a file name (e.g. `/etc/papersize'); if the file can be
|
||||
opened, `groff' reads the first line and tests for the above paper
|
||||
sizes. Finally, STRING can be a custom paper size in the format
|
||||
`LENGTH,WIDTH' (no spaces before and after the comma). Both
|
||||
LENGTH and WIDTH must have a unit appended; valid values are `i'
|
||||
for inches, `C' for centimeters, `p' for points, and `P' for
|
||||
picas. Example: `12c,235p'. An argument which starts with a
|
||||
digit is always treated as a custom paper format. `papersize'
|
||||
sets both the vertical and horizontal dimension of the output
|
||||
medium.
|
||||
|
||||
More than one argument can be specified; `groff' scans from left to
|
||||
right and uses the first valid paper specification.
|
||||
|
||||
`pass_filenames'
|
||||
Tell `gtroff' to emit the name of the source file currently being
|
||||
processed. This is achieved by the intermediate output command
|
||||
`F'. Currently, this is only used by the HTML output device.
|
||||
|
||||
`print PROGRAM'
|
||||
Use PROGRAM as a spooler program for printing. If omitted, the
|
||||
`-l' and `-L' options of `groff' are ignored.
|
||||
|
||||
`charset'
|
||||
This line and everything following in the file are ignored. It is
|
||||
allowed for the sake of backwards compatibility.
|
||||
|
||||
The `res', `unitwidth', `fonts', and `sizes' lines are mandatory.
|
||||
Other commands are ignored by `gtroff' but may be used by
|
||||
postprocessors to store arbitrary information about the device in the
|
||||
`DESC' file.
|
||||
|
||||
Here a list of obsolete keywords which are recognized by `groff' but
|
||||
completely ignored: `spare1', `spare2', `biggestfont'.
|
||||
|
||||
|
||||
File: groff, Node: Font File Format, Prev: DESC File Format, Up: Font Files
|
||||
|
||||
Font File Format
|
||||
----------------
|
||||
|
||||
A "font file", also (and probably better) called a "font description
|
||||
file", has two sections. The first section is a sequence of lines each
|
||||
containing a sequence of blank delimited words; the first word in the
|
||||
line is a key, and subsequent words give a value for that key.
|
||||
|
||||
`name F'
|
||||
The name of the font is F.
|
||||
|
||||
`spacewidth N'
|
||||
The normal width of a space is N.
|
||||
|
||||
`slant N'
|
||||
The glyphs of the font have a slant of N degrees. (Positive means
|
||||
forward.)
|
||||
|
||||
`ligatures LIG1 LIG2 ... LIGN [0]'
|
||||
Glyphs LIG1, LIG2, ..., LIGN are ligatures; possible ligatures are
|
||||
`ff', `fi', `fl', `ffi' and `ffl'. For backwards compatibility,
|
||||
the list of ligatures may be terminated with a 0. The list of
|
||||
ligatures may not extend over more than one line.
|
||||
|
||||
`special'
|
||||
The font is "special"; this means that when a glyph is requested
|
||||
that is not present in the current font, it is searched for in any
|
||||
special fonts that are mounted.
|
||||
|
||||
Other commands are ignored by `gtroff' but may be used by
|
||||
postprocessors to store arbitrary information about the font in the font
|
||||
file.
|
||||
|
||||
The first section can contain comments which start with the `#'
|
||||
character and extend to the end of a line.
|
||||
|
||||
The second section contains one or two subsections. It must contain
|
||||
a `charset' subsection and it may also contain a `kernpairs'
|
||||
subsection. These subsections can appear in any order. Each
|
||||
subsection starts with a word on a line by itself.
|
||||
|
||||
The word `charset' starts the character set subsection.(1) (*note
|
||||
Font File Format-Footnote-1::) The `charset' line is followed by a
|
||||
sequence of lines. Each line gives information for one glyph. A line
|
||||
comprises a number of fields separated by blanks or tabs. The format is
|
||||
|
||||
NAME METRICS TYPE CODE [ENTITY-NAME] [`--' COMMENT]
|
||||
|
||||
NAME identifies the glyph name(2) (*note Font File Format-Footnote-2::):
|
||||
If NAME is a single character C then it corresponds to the `gtroff'
|
||||
input character C; if it is of the form `\C' where C is a single
|
||||
character, then it corresponds to the special character `\[C]';
|
||||
otherwise it corresponds to the special character `\[NAME]'. If it is
|
||||
exactly two characters XX it can be entered as `\(XX'. Note that
|
||||
single-letter special characters can't be accessed as `\C'; the only
|
||||
exception is `\-' which is identical to `\[-]'.
|
||||
|
||||
`gtroff' supports 8-bit input characters; however some utilities
|
||||
have difficulties with eight-bit characters. For this reason, there is
|
||||
a convention that the entity name `charN' is equivalent to the single
|
||||
input character whose code is N. For example, `char163' would be
|
||||
equivalent to the character with code 163 which is the pounds sterling
|
||||
sign in the ISO Latin-1 character set. You shouldn't use `charN'
|
||||
entities in font description files since they are related to input, not
|
||||
output. Otherwise, you get hard-coded connections between input and
|
||||
output encoding which prevents use of different (input) character sets.
|
||||
|
||||
The name `---' is special and indicates that the glyph is unnamed;
|
||||
such glyphs can only be used by means of the `\N' escape sequence in
|
||||
`gtroff'.
|
||||
|
||||
The TYPE field gives the glyph type:
|
||||
|
||||
`1'
|
||||
the glyph has a descender, for example, `p';
|
||||
|
||||
`2'
|
||||
the glyph has an ascender, for example, `b';
|
||||
|
||||
`3'
|
||||
the glyph has both an ascender and a descender, for example, `('.
|
||||
|
||||
The CODE field gives the code which the postprocessor uses to print
|
||||
the glyph. The glyph can also be input to `gtroff' using this code by
|
||||
means of the `\N' escape sequence. CODE can be any integer. If it
|
||||
starts with `0' it is interpreted as octal; if it starts with `0x' or
|
||||
`0X' it is interpreted as hexadecimal. Note, however, that the `\N'
|
||||
escape sequence only accepts a decimal integer.
|
||||
|
||||
The ENTITY-NAME field gives an ASCII string identifying the glyph
|
||||
which the postprocessor uses to print the `gtroff' glyph NAME. This
|
||||
field is optional and has been introduced so that the HTML device
|
||||
driver can encode its character set. For example, the glyph `\[Po]' is
|
||||
represented as `£' in HTML 4.0.
|
||||
|
||||
Anything on the line after the ENTITY-NAME field resp. after `--'
|
||||
will be ignored.
|
||||
|
||||
The METRICS field has the form:
|
||||
|
||||
WIDTH[`,'HEIGHT[`,'DEPTH[`,'ITALIC-CORRECTION
|
||||
[`,'LEFT-ITALIC-CORRECTION[`,'SUBSCRIPT-CORRECTION]]]]]
|
||||
|
||||
There must not be any spaces between these subfields (it has been split
|
||||
here into two lines for better legibility only). Missing subfields are
|
||||
assumed to be 0. The subfields are all decimal integers. Since there
|
||||
is no associated binary format, these values are not required to fit
|
||||
into a variable of type `char' as they are in `ditroff'. The WIDTH
|
||||
subfield gives the width of the glyph. The HEIGHT subfield gives the
|
||||
height of the glyph (upwards is positive); if a glyph does not extend
|
||||
above the baseline, it should be given a zero height, rather than a
|
||||
negative height. The DEPTH subfield gives the depth of the glyph, that
|
||||
is, the distance from the baseline to the lowest point below the
|
||||
baseline to which the glyph extends (downwards is positive); if a glyph
|
||||
does not extend below the baseline, it should be given a zero depth,
|
||||
rather than a negative depth. The ITALIC-CORRECTION subfield gives the
|
||||
amount of space that should be added after the glyph when it is
|
||||
immediately to be followed by a glyph from a roman font. The
|
||||
LEFT-ITALIC-CORRECTION subfield gives the amount of space that should
|
||||
be added before the glyph when it is immediately to be preceded by a
|
||||
glyph from a roman font. The SUBSCRIPT-CORRECTION gives the amount of
|
||||
space that should be added after a glyph before adding a subscript.
|
||||
This should be less than the italic correction.
|
||||
|
||||
A line in the `charset' section can also have the format
|
||||
|
||||
|
||||
NAME "
|
||||
|
||||
This indicates that NAME is just another name for the glyph mentioned
|
||||
in the preceding line.
|
||||
|
||||
The word `kernpairs' starts the kernpairs section. This contains a
|
||||
sequence of lines of the form:
|
||||
|
||||
|
||||
C1 C2 N
|
||||
|
||||
This means that when glyph C1 appears next to glyph C2 the space
|
||||
between them should be increased by N. Most entries in the kernpairs
|
||||
section have a negative value for N.
|
||||
|
||||
|
||||
File: groff, Node: Font File Format-Footnotes, Up: Font File Format
|
||||
|
||||
(1) This keyword is misnamed since it starts a list of ordered
|
||||
glyphs, not characters.
|
||||
|
||||
(2) The distinction between input, characters, and output, glyphs,
|
||||
is not clearly separated in the terminology of `groff'; for example,
|
||||
the `char' request should be called `glyph' since it defines an output
|
||||
entity.
|
||||
|
||||
|
||||
File: groff, Node: Installation, Next: Copying This Manual, Prev: File formats, Up: Top
|
||||
|
||||
Installation
|
||||
************
|
||||
|
||||
|
||||
File: groff, Node: Copying This Manual, Next: Request Index, Prev: Installation, Up: Top
|
||||
|
||||
Copying This Manual
|
||||
*******************
|
||||
|
||||
* Menu:
|
||||
|
||||
* GNU Free Documentation License:: License for copying this manual.
|
||||
|
||||
|
||||
File: groff, Node: GNU Free Documentation License, Up: Copying This Manual
|
||||
|
||||
@ -447,6 +732,7 @@ either `.' or `'').
|
||||
* chop: Strings.
|
||||
* close: I/O.
|
||||
* color: Colors.
|
||||
* composite: Using Symbols.
|
||||
* continue: while.
|
||||
* cp: Implementation Differences.
|
||||
* cs: Artificial Fonts.
|
||||
@ -476,6 +762,7 @@ either `.' or `'').
|
||||
* fi: Manipulating Filling and Adjusting.
|
||||
* fl: Debugging.
|
||||
* fp: Font Positions.
|
||||
* fschar: Using Symbols.
|
||||
* fspecial: Special Fonts.
|
||||
* ft <1>: Font Positions.
|
||||
* ft: Changing Fonts.
|
||||
@ -540,6 +827,7 @@ either `.' or `'').
|
||||
* rchar: Using Symbols.
|
||||
* rd: I/O.
|
||||
* return: Writing Macros.
|
||||
* rfschar: Using Symbols.
|
||||
* rj: Manipulating Filling and Adjusting.
|
||||
* rm: Strings.
|
||||
* rn: Strings.
|
||||
@ -547,6 +835,7 @@ either `.' or `'').
|
||||
* rr: Setting Registers.
|
||||
* rs: Manipulating Spacing.
|
||||
* rt: Page Motions.
|
||||
* schar: Using Symbols.
|
||||
* shc: Manipulating Hyphenation.
|
||||
* shift: Parameters.
|
||||
* sizes: Changing Type Sizes.
|
||||
@ -596,7 +885,6 @@ warning, printing glyph X.
|
||||
|
||||
* Menu:
|
||||
|
||||
* <colon>: Manipulating Hyphenation.
|
||||
* \: Using Symbols.
|
||||
* \!: Diversions.
|
||||
* \": Comments.
|
||||
@ -615,6 +903,7 @@ warning, printing glyph X.
|
||||
* \.: Character Translations.
|
||||
* \/: Ligatures and Kerning.
|
||||
* \0: Page Motions.
|
||||
* \<colon>: Manipulating Hyphenation.
|
||||
* \<RET>: Line Control.
|
||||
* \<SP>: Page Motions.
|
||||
* \?: Diversions.
|
||||
@ -694,238 +983,3 @@ Operator Index
|
||||
* >=: 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
@ -10,11 +10,17 @@
|
||||
.\" This document was written for free use and redistribution by
|
||||
.\" Eric S. Raymond <esr@thyrsus.com> in August 1995.
|
||||
.\"
|
||||
.\" $Id: pic.ms,v 1.19 2002/09/20 12:14:56 wlemb Exp $
|
||||
.\" $Id: pic.ms,v 1.23 2003/04/27 00:07:43 wlemb Exp $
|
||||
.\"
|
||||
.\" Set a proper TeX
|
||||
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
|
||||
.el .ds tx TeX
|
||||
.\" Set a proper TeX and LaTeX
|
||||
.ie t \{\
|
||||
. ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X\"
|
||||
. ds lx L\h'-0.36m'\v'-0.22v'\s-2A\s0\h'-0.15m'\v'0.22v'\*(tx\"
|
||||
.\}
|
||||
.el \{\
|
||||
. ds tx TeX\"
|
||||
. ds lx LaTeX\"
|
||||
.\}
|
||||
.\"
|
||||
.de CE\" Centered caption for figure. Assumes previous .KS
|
||||
.ce 1
|
||||
@ -37,6 +43,8 @@ to and reference for \fIgpic\/\fP(1), the implementation distributed by
|
||||
the Free Software Foundation for use with \fIgroff\/\fP(1).
|
||||
.AE
|
||||
.\"%%TUTORIAL%%
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Introduction to PIC
|
||||
.NH 2
|
||||
@ -68,6 +76,8 @@ Where differences between Documenter's Work Bench (1991) \fBpic\fP and GNU
|
||||
end of this document.
|
||||
.PP
|
||||
In this document, the \fIgpic\/\fP(1) extensions will be marked as such.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Invoking PIC
|
||||
.PP
|
||||
@ -98,6 +108,8 @@ pic:pic.ms:<nnn>: giving up on this picture
|
||||
.LP
|
||||
where \[la]nnn\[ra] is a line number, and \[la]token\[ra] is a token near (usually
|
||||
just after) the error location.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Basic PIC Concepts
|
||||
.PP
|
||||
@ -293,6 +305,8 @@ surrounded by an invisible box of a size either specified by width
|
||||
and height attributes or by the defaults \fBtextwid\fR and
|
||||
\fBtextht\fR. Both are initially zero (because we don't know the
|
||||
default font size).
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Sizes and Spacing
|
||||
.PP
|
||||
@ -412,6 +426,8 @@ box; box wid 1 ht 1; box same; box
|
||||
.PE
|
||||
.CE "5: The \fBsame\fP keyword"
|
||||
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Generalized Lines and Splines
|
||||
.NH 2
|
||||
@ -506,6 +522,8 @@ move up 0.2;
|
||||
Note the arrow decorations. Arrowheads can be applied naturally to
|
||||
any path-based object, line or spline. We'll see how in the next
|
||||
section.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Decorating Objects
|
||||
.NH 2
|
||||
@ -683,6 +701,8 @@ request (see the manual page of GNU \fItroff\/\fP(1) for more details).
|
||||
.PP
|
||||
\fBpic\fP assumes that at the beginning of a picture both glyph and fill
|
||||
color are set to the default value.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
More About Text Placement
|
||||
.PP
|
||||
@ -723,6 +743,8 @@ so that it is aligned in the direction from the start point
|
||||
to the end point of the object.
|
||||
Note that this attribute will have no effect for objects whose start and
|
||||
end points are coincident.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
More About Direction Changes
|
||||
.PP
|
||||
@ -808,6 +830,8 @@ object to be joined to the right.
|
||||
The meaning of the command \fBmove to last circle .s\fP should be obvious.
|
||||
In order to see how it generalizes, we'll need to go into detail on two
|
||||
important topics; locations and object names.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Naming Objects
|
||||
.PP
|
||||
@ -894,6 +918,8 @@ Labels are not constants but variables (you can view colon as a sort
|
||||
of assignment). You can say something like \fBA: A + (1,0);\fP
|
||||
and the effect will be to reassign the label \fBA\fR to designate a
|
||||
position one inch to the right of its old value.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Describing locations
|
||||
.PP
|
||||
@ -1200,6 +1226,8 @@ If you say \fBline .\|.\|.\& chop \fIr1\fP chop \fIr2\fP\fR with \fIr1\fP
|
||||
and \fIr2\fP both numbers, you can vary the amount of chopping at both
|
||||
ends. You can use this in combination with trigonometric functions
|
||||
to write code that will deal with more complex intersections.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Object Groups
|
||||
.PP
|
||||
@ -1337,6 +1365,8 @@ The combination of block variable scoping, assignability of labels and
|
||||
the macro facility that we'll describe later on can be used to
|
||||
simulate functions with local variables (just wrap the macro body in
|
||||
block braces).
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Style Variables
|
||||
.PP
|
||||
@ -1395,6 +1425,8 @@ You can give it a list of variable names as arguments (optionally
|
||||
separated by commas), in which case it resets only those.
|
||||
.PP
|
||||
State variables retain their values across pictures until reset.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Expressions, Variables, and Assignment
|
||||
.PP
|
||||
@ -1476,6 +1508,8 @@ version.
|
||||
.PP
|
||||
The function \fBsprintf()\fP behaves like a C \fIsprintf\/\fP(3)
|
||||
function that only takes %, %e, %f, and %g format strings.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Macros
|
||||
.PP
|
||||
@ -1614,6 +1648,8 @@ Macros persist through pictures. To undefine a macro, say \fBundef\fP
|
||||
.DE
|
||||
.LP
|
||||
would undefine the two macros in the jumper block example.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Import/Export Commands
|
||||
.PP
|
||||
@ -1628,7 +1664,7 @@ The statement
|
||||
.DE
|
||||
.LP
|
||||
inserts the contents of \fIfilename\fR in the \fBpic\fP input stream.
|
||||
Any \fB.PS\fP/\fB.PE\fP pair in the file will be ignored. This, you
|
||||
Any \fB.PS\fP/\fB.PE\fP pair in the file will be ignored. You
|
||||
can use this to include pre-generated images.
|
||||
.PP
|
||||
A variant of this statement replicates the \fBcopy thru\fP feature of
|
||||
@ -1728,6 +1764,8 @@ inclusion. The delimiters shown as {} here may also be two copies of
|
||||
any one character not present in the shell command text. In either
|
||||
case, the body may contain balanced {} pairs. Strings in the body
|
||||
may contain balanced or unbalanced braces in any case.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Control-flow constructs
|
||||
.PP
|
||||
@ -1828,6 +1866,8 @@ All the usual relational operators my be used in conditional expressions;
|
||||
String comparison is also supported using \fB==\fP and \fB!=\fP. String
|
||||
comparisons may need to be parenthesized to avoid syntactic
|
||||
ambiguities.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Interface To [gt]roff
|
||||
.PP
|
||||
@ -1933,6 +1973,8 @@ box "@space 0 {H( omega )} over {1 - H( omega )}@"
|
||||
arrow
|
||||
.PE
|
||||
.CE "1: Equations within pictures"
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Interface to TeX
|
||||
.PP
|
||||
@ -1942,7 +1984,9 @@ Interface to TeX
|
||||
option.
|
||||
In \*[tx] mode, pic will define a vbox called
|
||||
.B \egraph
|
||||
for each picture.
|
||||
for each picture; the name can be changed with the pseudo-variable
|
||||
.B figname
|
||||
(which is actually a specially parsed command).
|
||||
You must yourself print that vbox using, for example, the command
|
||||
.RS
|
||||
.LP
|
||||
@ -1950,8 +1994,9 @@ You must yourself print that vbox using, for example, the command
|
||||
\ecenterline{\ebox\egraph}
|
||||
.RE
|
||||
.LP
|
||||
Actually, since the vbox has a height of zero this will produce
|
||||
slightly more vertical space above the picture than below it;
|
||||
Actually, since the vbox has a height of zero (it is defined with \evtop)
|
||||
this will produce slightly more vertical space above the picture than
|
||||
below it;
|
||||
.RS
|
||||
.LP
|
||||
.CW
|
||||
@ -1960,6 +2005,22 @@ slightly more vertical space above the picture than below it;
|
||||
.LP
|
||||
would avoid this.
|
||||
.PP
|
||||
To make the vbox having a positive height and a depth of zero (as used
|
||||
e.g.\& by \*(lx's \f(CW\%graphics.sty\fP), define the following macro in
|
||||
your document:
|
||||
.KS
|
||||
.DS
|
||||
.CW
|
||||
\edef\egpicbox#1{%
|
||||
\evbox{\eunvbox\ecsname #1\eendcsname\ekern 0pt}}
|
||||
.R
|
||||
.DE
|
||||
.KE
|
||||
.LP
|
||||
Now you can simply say
|
||||
.B \egpicbox{graph}
|
||||
instead of \ebox\egraph.
|
||||
.PP
|
||||
You must use a \*[tx] driver that supports the
|
||||
.B tpic
|
||||
specials, version\~2.
|
||||
@ -1976,6 +2037,27 @@ Lines beginning with a period are not given any special treatment.
|
||||
.PP
|
||||
The \*[tx] mode of \fIpic\/\fP(1) will \fInot\fP translate \fBtroff\fP
|
||||
font and size changes included in text strings!
|
||||
.PP
|
||||
Here an example how to use \fBfigname\fP.
|
||||
.KS
|
||||
.DS
|
||||
.CW
|
||||
\&.PS
|
||||
figname = foo;
|
||||
\&...
|
||||
\&.PE
|
||||
|
||||
\&.PS
|
||||
figname = bar;
|
||||
\&...
|
||||
\&.PE
|
||||
|
||||
\ecenterline{\ebox\efoo \ehss \ebox\ebar}
|
||||
.DE
|
||||
.R
|
||||
.KE
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Obsolete Commands
|
||||
.PP
|
||||
@ -1997,6 +2079,8 @@ Be very careful that you specify an appropriate format string;
|
||||
\fBpic\fP does only very limited checking of the string.
|
||||
This is deprecated in favour of
|
||||
\fBsprintf\fP.
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Some Larger Examples
|
||||
.PP
|
||||
@ -2210,6 +2294,8 @@ arrow from Top.D.end to Anchor.ne
|
||||
.CE "2: Hypothetical production flow for dual-mode publishing"
|
||||
.LP
|
||||
.\"%%REFERENCE%%
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
PIC Reference
|
||||
.PP
|
||||
@ -2328,6 +2414,7 @@ In the following, either `|' or a new line starts an alternative.
|
||||
LABEL : [;] <command> [<position>]
|
||||
{ <command> ... }
|
||||
VARIABLE [:] = <any-expr>
|
||||
figname = MACRONAME
|
||||
up | down | left | right
|
||||
COMMAND-LINE
|
||||
command <print-arg> ...
|
||||
@ -2377,6 +2464,13 @@ if {
|
||||
.PP
|
||||
This restriction doesn't hold for the body after the `do' in a `for'
|
||||
construction.
|
||||
.PP
|
||||
At the beginning of each picture, `figname' is reset to the vbox name
|
||||
`graph'; this command has only a meaning in \*[tx] mode. While the grammar
|
||||
rules allow digits and the underscore in the value of `figname', \*[tx]
|
||||
normally accepts uppercase and lowercase letters only as box names
|
||||
(you have to use `\ecsname' if you really need to circumvent this
|
||||
limitation).
|
||||
.DS
|
||||
.CW
|
||||
<any-expr> ::=
|
||||
@ -2488,7 +2582,7 @@ box.
|
||||
.PP
|
||||
A text item consists of a string or sprintf-expression, optionally
|
||||
followed by positioning information. Text (or strings specified with
|
||||
`sprintf' may contain [gtn]roff font changes, size changes, and local
|
||||
`sprintf') may contain [gtn]roff font changes, size changes, and local
|
||||
motions, provided those changes are undone before the end of the current
|
||||
item.
|
||||
.PP
|
||||
@ -2550,8 +2644,8 @@ ways to specify positions:
|
||||
.DE
|
||||
.DS
|
||||
.CW
|
||||
<xxx-of> ::=
|
||||
xxx \fR# followed by `of'\fP
|
||||
<\,\f(CIxxx\/\fP-of> ::=
|
||||
\f(CIxxx\fP \fR# followed by `of'\fP
|
||||
.R
|
||||
.DE
|
||||
.DS
|
||||
@ -2593,7 +2687,7 @@ The \[lq]'th\[rq] form (which allows you to select a previous object with
|
||||
an expression, as opposed to a numeric literal) is not documented in DWB's
|
||||
\fIpic\/\fR(1).
|
||||
.PP
|
||||
The \[la]\|\fIxxx\fP-of\|\[ra] rule is special: The lexical parser checks whether
|
||||
The \[la]\,\fIxxx\/\fP-of\|\[ra] rule is special: The lexical parser checks whether
|
||||
\fIxxx\fP is followed by the token `of' without eliminating it so that
|
||||
the grammar parser can still see `of'. Valid examples of specifying a
|
||||
place with corner and label are thus
|
||||
@ -2739,6 +2833,8 @@ The arguments (if any) will be substituted for tokens $1, $2 .\|.\|.\& $n
|
||||
appearing in the replacement text. To undefine a macro, say \fBundef\fP
|
||||
\fIname\fR, specifying the name to be undefined.
|
||||
.\"%%POSTLUDE%%
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
History and Acknowledgements
|
||||
.PP
|
||||
@ -2775,6 +2871,8 @@ integrate in descriptions of the GNU \fIgpic\/\fP(1) features.
|
||||
The GNU \fBgpic\fR implementation was written by James Clark
|
||||
\[la]\,\fIjjc@jclark.com\/\fP\[ra]. It is currently maintained by Werner
|
||||
Lemberg \[la]\,\fIwl@gnu.org\/\fP\[ra].
|
||||
.
|
||||
.
|
||||
.NH 1
|
||||
Bibliography
|
||||
.IP 1.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -42,9 +42,9 @@ Home of Groff (GNU Troff).
|
||||
.HnS 1
|
||||
.HR
|
||||
GNU Troff
|
||||
.URL http://\:groff.ffii.org/ (Groff)
|
||||
.URL http://\:groff.ffii.org/ (Groff)
|
||||
\[em] a
|
||||
.URL http://\:www.gnu.org/ GNU
|
||||
.URL http://\:www.gnu.org/ GNU
|
||||
project.
|
||||
Hosted by
|
||||
.URL http://\:ffii.org/ FFII .
|
||||
@ -62,15 +62,26 @@ Groff now supports HTML.
|
||||
.SH
|
||||
Download
|
||||
|
||||
.URL "ftp://\:groff.ffii.org/\:pub/\:groff/" Germany
|
||||
|
|
||||
.URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" USA
|
||||
The source code of the currently released versions of groff is
|
||||
available at the
|
||||
.URL "ftp://\:groff.ffii.org/\:pub/\:groff/" "FFII host (Germany)" ,
|
||||
.URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" "GNU host (USA)" ,
|
||||
and its mirrors.
|
||||
.
|
||||
The USA site also contains more old, obsolete versions.
|
||||
|
||||
.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"
|
||||
The most actual pre-release, development version is available from a
|
||||
CVS repository, see below.
|
||||
.
|
||||
Development snapshots (produced twice a day from the CVS repository)
|
||||
can be downloaded with FTP from
|
||||
.URL "ftp://\:groff.ffii.org/\:pub/\:groff/devel" here .
|
||||
|
||||
For a special version of groff on the Microsoft operating systems, see
|
||||
.URL "http://\:gnuwin32.sf.net/\:packages/\:groffl.htm" "Groff for Windows" .
|
||||
|
||||
GNU troff is released under the
|
||||
.URL http://\:www.gnu.org/\:copyleft/\:gpl.html "GNU Copyright License" .
|
||||
|
||||
User issues lead:
|
||||
.MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
|
||||
@ -115,7 +126,7 @@ A CVS repository is now available, containing the current development
|
||||
version of groff.
|
||||
You can access it with the commands
|
||||
|
||||
.RS
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs
|
||||
@ -123,17 +134,17 @@ cvs login
|
||||
cvs -z9 co groff
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
(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
|
||||
.in 2m
|
||||
.ft C
|
||||
cvs -z9 update -dP
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
Please read the info pages of cvs for further details.
|
||||
|
||||
@ -142,17 +153,17 @@ 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
|
||||
.in 2m
|
||||
.ft C
|
||||
ftp://ftp.ffii.org/pub/groff/devel/groff-\[la]version\[ra]-current.diff.gz
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
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
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
tar xzvf groff-\[la]version\[ra].tar.gz
|
||||
@ -160,7 +171,7 @@ cd groff-\[la]version\[ra]
|
||||
gunzip -c ../groff-\[la]version\[ra]-current.diff.gz | patch -p1
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
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.
|
||||
@ -194,7 +205,10 @@ 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).
|
||||
subject or body of the e-mail (don't include the quotes) or have a look
|
||||
at the
|
||||
.URL http://\:ffii.org/\:mailman/\:listinfo/\:groff/ \
|
||||
"groff mailing list webpage" .
|
||||
|
||||
GNU groff was written by
|
||||
.MTO jjc@\:jclark.com "James Clark" .
|
||||
@ -205,6 +219,335 @@ and
|
||||
.
|
||||
.
|
||||
.SH
|
||||
NEWS VERSION 1.19
|
||||
.
|
||||
.SH 2
|
||||
troff
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Input encoding files for \%latin-9 (a.k.a.\& \%latin-0 and ISO \%8859-15)
|
||||
and \%latin-2 (ISO \%8859-2) have been added.
|
||||
Example use:
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
groff -Tdvi -mlatin9 my_file > my_file.dvi
|
||||
.ft P
|
||||
.in
|
||||
|
||||
You still need proper fonts with the necessary glyphs.
|
||||
Out of the box, the groff package supports \%latin-9 only for \-Tps,
|
||||
\-Tdvi, and \-Tutf8, and \%latin-2 only for \-Tdvi and \-Tutf8.
|
||||
|
||||
.LI
|
||||
Composite glyphs are now supported.
|
||||
To do this, a subset of the Adobe Glyph List (AGL) Algorithm as described in
|
||||
.URL http://partners.adobe.com/asn/developer/typeforum/unicodegn.html \
|
||||
http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
|
||||
is used to construct glyph names based on Unicode character codes.
|
||||
The existing groff glyph names are frozen; no glyph names which can't be
|
||||
constructed algorithmically will be added in the future.
|
||||
|
||||
The \e[...] escape sequence has been extended to specify multiple glyph
|
||||
components.
|
||||
Example:
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
\e[A ho]
|
||||
.ft R
|
||||
.in
|
||||
|
||||
this accesses a glyph with the name `u0041_0328'.
|
||||
|
||||
Some groff glyphs which are useful as composites map to `wrong' Unicode
|
||||
code points.
|
||||
For example, `ho' maps to U+02DB which is a spacing ogonek, whereas a
|
||||
non-spacing ogonek U+0328 is needed for composite glyphs.
|
||||
The new request
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
\&.composite from to
|
||||
.ft R
|
||||
.in
|
||||
|
||||
will change the mapping while a composite glyph name is constructed.
|
||||
To make \e[A ho] yield the expected result,
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
\&.composite ho u0328
|
||||
.ft R
|
||||
.in
|
||||
|
||||
is needed.
|
||||
[The new file `composite.tmac' loaded at start-up already
|
||||
contains proper calls to `.composite'.]
|
||||
|
||||
Please refer to the info pages of groff and to the groff_char man page
|
||||
for more details.
|
||||
|
||||
.LI
|
||||
A new request `fschar' has been added to define font-specific fallback
|
||||
characters.
|
||||
They are searched after the list of fonts declared with the
|
||||
`fspecial' request but before the list of fonts declared with `special'.
|
||||
|
||||
.LI
|
||||
Fallback characters defined with `fschar' can be removed with the
|
||||
new `rfschar' request.
|
||||
|
||||
.LI
|
||||
A new request `schar' has been added to define global fallback
|
||||
characters.
|
||||
They are searched after the list of fonts declared with the
|
||||
`special' request but before the already mounted special fonts.
|
||||
|
||||
.LI
|
||||
In groff versions 1.18 and 1.18.1, \eD'f ...' didn't move the current
|
||||
point horizontally.
|
||||
Despite of being silly, this change has been reverted for backwards
|
||||
compatibility.
|
||||
Consequently, the intermediate output command `Df' also moves the
|
||||
position horizontally again.
|
||||
|
||||
\eD'f ...' is deprecated since it depends on the horizontal resolution of
|
||||
the output device (given with the `hor' parameter in the DESC file).
|
||||
Use the new \eD'Fg ...' escape instead.
|
||||
|
||||
.LI
|
||||
For orthogonality, new \eD subcommands to change the fill color are
|
||||
available:
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
\eD'Fr ...' \f[R](rgb)\f[]
|
||||
.br
|
||||
\eD'Fc ...' \f[R](cmy)\f[]
|
||||
.br
|
||||
\eD'Fg ...' \f[R](gray)\f[]
|
||||
.br
|
||||
\eD'Fk ...' \f[R](cmyk)\f[]
|
||||
.br
|
||||
\eD'Fd' \f[R](default color)\f[]
|
||||
.ft R
|
||||
.in
|
||||
|
||||
The arguments are the same as with the `defcolor' request.
|
||||
The current position is \f[I]not\f[] changed.
|
||||
|
||||
.LI
|
||||
The values set with \eH and \eS are now available in number registers
|
||||
\en[.height] and \en[.slant], respectively.
|
||||
|
||||
.LI
|
||||
The `.pe' number register isn't new but hasn't been documented before.
|
||||
It is set to 1 during a page ejection caused by the `bp' request.
|
||||
|
||||
.LI
|
||||
The new glyph symbol `tno' is a textual variant of `no'.
|
||||
|
||||
.LI
|
||||
The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
|
||||
(Well, it is not really new since it has been previously supported by
|
||||
grolj4.)
|
||||
The mapping for both the dvi and lj4 symbol font has been
|
||||
changed accordingly so that Greek small letter epsilon, `*e', has the
|
||||
same glyph shape as with other devices.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grops
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The font `freeeuro.pfa' has been added to provide various default glyph
|
||||
shapes for `eu' and `Eu'.
|
||||
|
||||
.LI
|
||||
It is now possible to access all glyphs in a Type\~1 font, not only 256
|
||||
(provided the font file created by afmtodit has proper entries).
|
||||
grops constructs additional encoding vectors on the fly if necessary.
|
||||
|
||||
.LI
|
||||
The paper size is now emitted via the %%DocumentMedia and PageSize
|
||||
mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
|
||||
about the paper size.
|
||||
The `broken' flag value\~16 omits this feature
|
||||
(the used PostScript command `setpagedevice' is a LanguageLevel\~2
|
||||
extension).
|
||||
Patch by
|
||||
.MTO egil@\:kvaleberg.no "Egil Kvaleberg" .
|
||||
|
||||
.LI
|
||||
Non-slanted PostScript metrics have been changed again; they no longer
|
||||
contain negative left italic correction values.
|
||||
This assures correct spacing with eqn.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grodvi
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The font cmtex10 has been added as the special font `SC' to the DVI fonts.
|
||||
It is used as a font-specific special font for CW and CWI.
|
||||
|
||||
.LI
|
||||
New options \-l and \-p to set landscape orientation and the paper size.
|
||||
grodvi now emits a `papersize' special which is understood by DVI drivers
|
||||
like dvips.
|
||||
|
||||
Consequently, the DESC file should contain a `papersize' keyword.
|
||||
|
||||
.LI
|
||||
The glyph shapes for \e[*f] and \e[*e] have been exchanged with \e[+f] and
|
||||
\e[+e], respectively, to be in sync with all other devices.
|
||||
|
||||
.LI
|
||||
Glyphs \e[HE] and \e[DI] have been replaced with \e[u2662] and \e[u2661],
|
||||
respectively, since the former two glyphs have a black (filled) shape
|
||||
which grodvi doesn't provide by default (it never has actually).
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grolj4
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The glyphs \e[*e] and \e[+e] have been exchanged to be in sync with
|
||||
all other devices.
|
||||
|
||||
.LI
|
||||
The glyph \e[~=] is now called \e[|=]. Similar to other devices, \e[~=]
|
||||
is now another name for glyph \e[~~].
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
grotty
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New option `\-r'.
|
||||
It is similar to the \-i option except it tells grotty to
|
||||
use the `reverse video' attribute to render italic fonts.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
pic
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New command `figname' to set the name of a picture's output box in TeX
|
||||
mode.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
refer
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
The environment variable `REFER' to override the name of the default
|
||||
database isn't new but hasn't been documented before.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
soelim
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New option `\-r' to avoid emission of `.lf' lines.
|
||||
|
||||
.LI
|
||||
New option `\-t' to emit TeX comment lines (giving current file and the
|
||||
line number) instead of `.lf' lines.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
afmtodit
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
Unencoded glyphs in an AFM file are output also (since grops can now emit
|
||||
multiple encoding vectors for a single font).
|
||||
|
||||
.LI
|
||||
New option `\-m' to prevent negative left italic correction values.
|
||||
|
||||
.LI
|
||||
The mapping and encoding file together with file `DESC' are now searched
|
||||
in the default font directory also.
|
||||
Please refer to the man page of afmtodit for more details.
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH 2
|
||||
macro packages
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
.MTO kollar@\:alltel.net "Larry Kollar"
|
||||
and others made the man macros more customizable.
|
||||
|
||||
.ULS
|
||||
.LI
|
||||
New command line options \-rFT, \-rIN, and \-rSN to set the vertical
|
||||
location of the footer line, the body text indentation, and the
|
||||
sub-subheading indentation.
|
||||
|
||||
.LI
|
||||
New command line option \-rHY (similar to the ms macros) to control
|
||||
hyphenation.
|
||||
|
||||
.LI
|
||||
New macros `.PT' and `.BT' to print the header and footer strings.
|
||||
They can be replaced with a customized version in `man.local'.
|
||||
|
||||
.LI
|
||||
The string `HF' now holds the typeface to print headings and
|
||||
subheadings.
|
||||
|
||||
.LI
|
||||
Similar to the ms macros, the LT register now defaults to LL if not
|
||||
explicitly specified on the command line.
|
||||
.ULE
|
||||
|
||||
.LI
|
||||
troff's start-up file `troffrc' now includes `papersize.tmac' to set
|
||||
the paper size with the command line option `-dpaper=<size>'.
|
||||
|
||||
Possible values for `<size>' are the same as the predefined `papersize'
|
||||
values in the DESC file (only lowercase; see the groff_font man page)
|
||||
except \%a7-d7.
|
||||
An appended `l' (ell) character denotes landscape orientation.
|
||||
Examples: `a4', `c3l', `letterl'.
|
||||
|
||||
Most output drivers need additional command line switches `\-p' and
|
||||
`\-l' to override the default paper length and orientation as set in
|
||||
the driver specific DESC file.
|
||||
|
||||
For example, use the following for PS output on A4 paper in landscape
|
||||
orientation:
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
|
||||
.ft R
|
||||
.in
|
||||
.ULE
|
||||
.
|
||||
.
|
||||
.SH
|
||||
NEWS VERSION 1.18.1
|
||||
.
|
||||
.SH 2
|
||||
@ -293,23 +636,24 @@ 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
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
papersize /etc/papersize a4
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
.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
|
||||
font searching process, files must be placed into a dev\f[I]XXX\f[]
|
||||
subdirectory, e.g.
|
||||
|
||||
.RS
|
||||
.in 2m
|
||||
.ft C
|
||||
/usr/local/share/groff/site-font/devps/FOO
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
for a PostScript font definition file FOO.
|
||||
.ULE
|
||||
@ -402,20 +746,22 @@ got the troff glyph name `mc'.
|
||||
.LI
|
||||
Strings can take arguments, using this syntax: \e*[foo\~arg1\~arg2\~.\|.\|.].
|
||||
Example:
|
||||
.RS
|
||||
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
\&.ds xxx This is a \e\e$1 test.
|
||||
\e*[xxx nice]
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
.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
|
||||
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
\&.de !
|
||||
@ -430,7 +776,7 @@ Example:
|
||||
\&..
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
.LI
|
||||
`.fn' is a new string-valued register which returns the (internal) real
|
||||
@ -505,7 +851,8 @@ final `0' can be omitted.
|
||||
the exception that the `asciify' request will use the character code (if
|
||||
any) before the character translation.
|
||||
Example:
|
||||
.RS
|
||||
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
\&.trin ax
|
||||
@ -519,7 +866,7 @@ a
|
||||
\&.xxx
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
The result is `x\~a'. Using `tr', the result would be `x\~x'.
|
||||
|
||||
@ -535,21 +882,22 @@ post-vertical line space.
|
||||
For compatibility with plan 9's troff, multiple `pi' requests are
|
||||
supported:
|
||||
|
||||
.RS
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
\&.pi foo
|
||||
\&.pi bar
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
is now equivalent to
|
||||
.RS
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
\&.pi foo | bar
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
.LI
|
||||
A new escape sequence `\eO' is available to disable and enable glyph
|
||||
@ -645,13 +993,14 @@ documented properly before.
|
||||
.ULS
|
||||
.LI
|
||||
The following macros have been renamed:
|
||||
.RS
|
||||
|
||||
.in 2m
|
||||
.nf
|
||||
MAILTO -> MTO
|
||||
IMAGE -> IMG
|
||||
LINE -> HR
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
.LI
|
||||
For consistency, the macros `URL', `FTL', and `MTO' now all have the
|
||||
@ -733,11 +1082,12 @@ New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
|
||||
`outline' sets the color of the outline, `shaded' the fill color, and
|
||||
`color' sets both.
|
||||
Example:
|
||||
.RS
|
||||
|
||||
.in 2m
|
||||
.ft C
|
||||
circle shaded "green" outline "black" ;
|
||||
.ft P
|
||||
.RE
|
||||
.in
|
||||
|
||||
Filled arrows always use the outline color for filling.
|
||||
|
||||
@ -814,7 +1164,8 @@ 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
|
||||
|
||||
.in 2m
|
||||
.nf
|
||||
.ft C
|
||||
\&.if '\e*[.T]'dvi' \e
|
||||
@ -822,7 +1173,7 @@ insert the following at the start of your document:
|
||||
\& 1728 1800 2000 2074 2200 2400 2488 2800 3600
|
||||
.ft P
|
||||
.fi
|
||||
.RE
|
||||
.in
|
||||
|
||||
.LI
|
||||
A new font file HBI (using cmssbxo10; this is slanted sans serif bold
|
||||
@ -939,17 +1290,17 @@ of examples.
|
||||
A new keyword `papersize' has been added to the DESC file format.
|
||||
Its argument is either
|
||||
|
||||
.RS
|
||||
.IP \[bu]
|
||||
.ULS
|
||||
.LI
|
||||
a predefined paper format (e.g. `A4' or `letter')
|
||||
|
||||
.IP \[bu]
|
||||
.LI
|
||||
a file name pointing to a file which must contain a paper size
|
||||
specification in its first line (e.g. `/etc/papersize')
|
||||
|
||||
.IP \[bu]
|
||||
.LI
|
||||
a custom paper size definition like `35c,4i'
|
||||
.RE
|
||||
.ULE
|
||||
|
||||
See groff_font(5) for more details.
|
||||
This keyword only affects the physical dimensions of the output medium;
|
||||
@ -959,7 +1310,7 @@ troff completely ignores it.
|
||||
.
|
||||
.HR
|
||||
.
|
||||
\s-2\fIThis document was produced using
|
||||
\s[-2]\f[I]This 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),
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 10,7,3 0 073
|
||||
< 10,9 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 10,10 0 077
|
||||
@ 10,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 10,7 0 0172
|
||||
{ 10,11,2 0 0173
|
||||
lC "
|
||||
| 10,11,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 10,11,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ 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
|
||||
tno 10,7 0 0254
|
||||
- 10,6 0 0255
|
||||
hy "
|
||||
rg 10,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 10,7,3 0 073
|
||||
< 10,9 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 10,10 0 077
|
||||
@ 10,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 10,7 0 0172
|
||||
{ 10,11,2 0 0173
|
||||
lC "
|
||||
| 10,11,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 10,11,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,4 0 0241
|
||||
@ -129,7 +126,7 @@ 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
|
||||
tno 10,7 0 0254
|
||||
- 10,6 0 0255
|
||||
hy "
|
||||
rg 10,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 10,7,2 0 073
|
||||
< 10,9 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 10,10 0 077
|
||||
@ 10,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 10,7 0 0172
|
||||
{ 10,11,2 0 0173
|
||||
lC "
|
||||
| 10,10,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 10,11,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,4 0 0241
|
||||
@ -129,7 +126,7 @@ 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
|
||||
tno 10,6 0 0254
|
||||
- 10,5 0 0255
|
||||
hy "
|
||||
rg 10,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 10,7,2 0 073
|
||||
< 10,9 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 10,10 0 077
|
||||
@ 10,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 10,7 0 0172
|
||||
{ 10,11,2 0 0173
|
||||
lC "
|
||||
| 10,10,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 10,11,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 10,1 0 0240
|
||||
r! 10,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ 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
|
||||
tno 10,6 0 0254
|
||||
- 10,5 0 0255
|
||||
hy "
|
||||
rg 10,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,3 0 073
|
||||
< 10,8 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,8 0 076
|
||||
? 10,12 0 077
|
||||
@ 16,12,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,9 0 0172
|
||||
{ 6,12,3 0 0173
|
||||
lC "
|
||||
| 4,12,4 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,3 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 5,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,12 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 9,8 0 0253
|
||||
no 10,7 0 0254
|
||||
tno 10,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,3 0 073
|
||||
< 10,8 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,8 0 076
|
||||
? 10,12 0 077
|
||||
@ 16,12,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,9 0 0172
|
||||
{ 6,12,3 0 0173
|
||||
lC "
|
||||
| 3,12,4 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,3 0 0175
|
||||
rC "
|
||||
~ 10,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 5,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,12 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 9,8 0 0253
|
||||
no 10,7 0 0254
|
||||
tno 10,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,9,2 0 073
|
||||
< 10,9 0 074
|
||||
= 10,6 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 9,12 0 077
|
||||
@ 17,12,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,9 0 0172
|
||||
{ 6,12,3 0 0173
|
||||
lC "
|
||||
| 3,12,4 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,3 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 5,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,12 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 9,8 0 0253
|
||||
no 10,6 0 0254
|
||||
tno 10,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,9,2 0 073
|
||||
< 10,9 0 074
|
||||
= 10,6 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 9,12 0 077
|
||||
@ 17,12,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,9 0 0172
|
||||
{ 6,12,4 0 0173
|
||||
lC "
|
||||
| 4,12,4 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,4 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 5,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,12 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 9,8 0 0253
|
||||
no 10,6 0 0254
|
||||
tno 10,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,3 0 073
|
||||
< 10,9 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 8,12 0 077
|
||||
@ 12,12,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,8 0 0172
|
||||
{ 6,12,2 0 0173
|
||||
lC "
|
||||
| 10,12 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 10,7 0 0254
|
||||
tno 10,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,3 0 073
|
||||
< 10,8 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,8 0 076
|
||||
? 8,12 0 077
|
||||
@ 12,12 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,8 0 0172
|
||||
{ 7,12,2 0 0173
|
||||
lC "
|
||||
| 10,12 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,12,2 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 7,12 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 10,7 0 0254
|
||||
tno 10,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,3 0 073
|
||||
< 10,9 0 074
|
||||
= 10,6 0 075
|
||||
eq "
|
||||
> 10,9 0 076
|
||||
? 7,12 0 077
|
||||
@ 12,12 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,8 0 0172
|
||||
{ 6,12,2 0 0173
|
||||
lC "
|
||||
| 10,12 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,2 0 0175
|
||||
rC "
|
||||
~ 10,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 6,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 7,12 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 10,6 0 0254
|
||||
tno 10,6 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,8,3 0 073
|
||||
< 10,8 0 074
|
||||
= 10,6 0 075
|
||||
eq "
|
||||
> 10,8 0 076
|
||||
? 7,12 0 077
|
||||
@ 12,12,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,8 0 0172
|
||||
{ 6,12,2 0 0173
|
||||
lC "
|
||||
| 10,12 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,2 0 0175
|
||||
rC "
|
||||
~ 10,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,9,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,11 0 0250
|
||||
co 12,12 0 0251
|
||||
Of 6,12 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 10,6 0 0254
|
||||
tno 10,6 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 12,12 0 0256
|
||||
|
@ -104,7 +104,6 @@ radicalex 8,13 0 0140
|
||||
lC 8,12,2 0 0173
|
||||
{ "
|
||||
ba 3,11,3 0 0174
|
||||
or "
|
||||
| "
|
||||
rC 8,12,2 0 0175
|
||||
} "
|
||||
@ -166,6 +165,7 @@ co 13,11 0 0323
|
||||
tm 14,11 0 0324
|
||||
--- 13,13,2 0 0325
|
||||
sr 9,13,3 0 0326
|
||||
sqrt "
|
||||
md 4,5 0 0327
|
||||
no 12,5 0 0330
|
||||
AN 10,8 0 0331
|
||||
@ -197,9 +197,11 @@ braceleftbt 8,13,4 0 0356
|
||||
lb "
|
||||
bracerightex 8,13,4 0 0357
|
||||
braceleftex "
|
||||
braceex "
|
||||
bv "
|
||||
ra 5,13,2 0 0361
|
||||
is 5,13,4 0 0362
|
||||
integral "
|
||||
--- 11,13,4 0 0363
|
||||
--- 11,13,4 0 0364
|
||||
--- 11,13,4 0 0365
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,7,3 0 073
|
||||
< 9,8 0 074
|
||||
= 9,7 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 8,11 0 077
|
||||
@ 16,11,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,8 0 0172
|
||||
{ 7,11,3 0 0173
|
||||
lC "
|
||||
| 4,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,11,3 0 0175
|
||||
rC "
|
||||
~ 9,8 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 5,1 0 0240
|
||||
r! 6,8,4 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 5,11 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 9,7 0 0254
|
||||
tno 9,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,7,3 0 073
|
||||
< 10,8 0 074
|
||||
= 10,7 0 075
|
||||
eq "
|
||||
> 10,8 0 076
|
||||
? 8,11 0 077
|
||||
@ 14,11,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,8,1 0 0172
|
||||
{ 6,12,3 0 0173
|
||||
lC "
|
||||
| 4,12 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,12,3 0 0175
|
||||
rC "
|
||||
~ 10,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 6,8,4 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 4,11 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 10,5 0 0254
|
||||
tno 10,5 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,7,2 0 073
|
||||
< 11,9 0 074
|
||||
= 11,6 0 075
|
||||
eq "
|
||||
> 11,9 0 076
|
||||
? 8,11 0 077
|
||||
@ 15,11,3 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,8 0 0172
|
||||
{ 7,11,3 0 0173
|
||||
lC "
|
||||
| 5,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,11,3 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 6,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 13,11 0 0251
|
||||
Of 5,11 0 0252
|
||||
Fo 8,6 0 0253
|
||||
no 11,6 0 0254
|
||||
tno 11,6 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 13,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,8,1 0 073
|
||||
< 9,9 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,9 0 076
|
||||
? 7,11 0 077
|
||||
@ 15,11,3 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,8 0 0172
|
||||
{ 8,11,3 0 0173
|
||||
lC "
|
||||
| 3,11 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 8,11,3 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,11 0 0250
|
||||
co 13,11 0 0251
|
||||
Of 5,11 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 9,5 0 0254
|
||||
tno 9,5 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 13,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 9,7,2 0 073
|
||||
< 9,8 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 9,9 0 077
|
||||
@ 9,9 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,7 0 0172
|
||||
{ 9,9,2 0 0173
|
||||
lC "
|
||||
| 9,9,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 9,9,2 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 9,1 0 0240
|
||||
r! 9,7,2 0 0241
|
||||
@ -129,7 +126,7 @@ ad 9,10 0 0250
|
||||
co 9,9 0 0251
|
||||
Of 9,9 0 0252
|
||||
Fo 9,6 0 0253
|
||||
no 9,5 0 0254
|
||||
tno 9,5 0 0254
|
||||
- 9,5 0 0255
|
||||
hy "
|
||||
rg 9,9 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 9,7,2 0 073
|
||||
< 9,8 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 9,9 0 077
|
||||
@ 9,9 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,7 0 0172
|
||||
{ 9,9,2 0 0173
|
||||
lC "
|
||||
| 9,9,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 9,9,2 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 9,1 0 0240
|
||||
r! 9,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 9,10 0 0250
|
||||
co 9,9 0 0251
|
||||
Of 9,9 0 0252
|
||||
Fo 9,6 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 9,5 0 0255
|
||||
hy "
|
||||
rg 9,9 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 9,7,2 0 073
|
||||
< 9,8 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 9,9 0 077
|
||||
@ 9,9 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,7 0 0172
|
||||
{ 9,10,3 0 0173
|
||||
lC "
|
||||
| 9,9,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 9,10,3 0 0175
|
||||
rC "
|
||||
~ 9,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 9,1 0 0240
|
||||
r! 9,7,2 0 0241
|
||||
@ -129,7 +126,7 @@ ad 9,9 0 0250
|
||||
co 9,9 0 0251
|
||||
Of 9,9 0 0252
|
||||
Fo 9,7 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 9,5 0 0255
|
||||
hy "
|
||||
rg 9,9 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 9,7,2 0 073
|
||||
< 9,8 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 9,9 0 077
|
||||
@ 9,9,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,7 0 0172
|
||||
{ 9,10,2 0 0173
|
||||
lC "
|
||||
| 9,9,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 9,10,2 0 0175
|
||||
rC "
|
||||
~ 9,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 9,1 0 0240
|
||||
r! 9,7,2 0 0241
|
||||
@ -129,7 +126,7 @@ ad 9,9 0 0250
|
||||
co 9,9 0 0251
|
||||
Of 9,9 0 0252
|
||||
Fo 9,7 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 9,5 0 0255
|
||||
hy "
|
||||
rg 9,9 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,1 0 073
|
||||
< 8,7 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 8,7 0 076
|
||||
? 9,11 0 077
|
||||
@ 14,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,8 0 0172
|
||||
{ 6,11,3 0 0173
|
||||
lC "
|
||||
| 4,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,11,3 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,11 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 9,7 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 4,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,8,2 0 073
|
||||
< 8,7 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,7 0 076
|
||||
? 9,11 0 077
|
||||
@ 14,11,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,8 0 0172
|
||||
{ 6,11,3 0 0173
|
||||
lC "
|
||||
| 4,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,11,3 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,11 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 11,7 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,8,2 0 073
|
||||
< 9,7 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 9,7 0 076
|
||||
? 8,11 0 077
|
||||
@ 13,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,8 0 0172
|
||||
{ 5,11,3 0 0173
|
||||
lC "
|
||||
| 4,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 5,11,3 0 0175
|
||||
rC "
|
||||
~ 8,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,10 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 5,11 0 0252
|
||||
Fo 8,6 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,8,2 0 073
|
||||
< 8,7 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 8,7 0 076
|
||||
? 8,11 0 077
|
||||
@ 13,11,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,8 0 0172
|
||||
{ 5,11,3 0 0173
|
||||
lC "
|
||||
| 3,11,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 5,11,3 0 0175
|
||||
rC "
|
||||
~ 8,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,10 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 4,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 8,8 0 074
|
||||
= 8,6 0 075
|
||||
eq "
|
||||
> 8,8 0 076
|
||||
? 7,11 0 077
|
||||
@ 14,11 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,7 0 0172
|
||||
{ 6,11,2 0 0173
|
||||
lC "
|
||||
| 8,11 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,11,2 0 0175
|
||||
rC "
|
||||
~ 8,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,10 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 8,6 0 0253
|
||||
no 8,6 0 0254
|
||||
tno 8,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 5,7,3 0 073
|
||||
< 9,9 0 074
|
||||
= 9,7 0 075
|
||||
eq "
|
||||
> 9,9 0 076
|
||||
? 7,11 0 077
|
||||
@ 13,11 0 0100
|
||||
@ -109,13 +108,11 @@ z 9,7 0 0172
|
||||
{ 6,11,2 0 0173
|
||||
lC "
|
||||
| 9,11 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,11,2 0 0175
|
||||
rC "
|
||||
~ 11,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 5,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,10 0 0250
|
||||
co 12,11 0 0251
|
||||
Of 8,11 0 0252
|
||||
Fo 10,7 0 0253
|
||||
no 9,7 0 0254
|
||||
tno 9,7 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 12,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 9,8 0 074
|
||||
= 8,6 0 075
|
||||
eq "
|
||||
> 9,8 0 076
|
||||
? 6,11 0 077
|
||||
@ 12,11 0 0100
|
||||
@ -109,13 +108,11 @@ z 8,7 0 0172
|
||||
{ 6,11,2 0 0173
|
||||
lC "
|
||||
| 9,11 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,11,2 0 0175
|
||||
rC "
|
||||
~ 9,6 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,10 0 0250
|
||||
co 13,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 8,7 0 0253
|
||||
no 8,6 0 0254
|
||||
tno 8,6 0 0254
|
||||
- 5,5 0 0255
|
||||
hy "
|
||||
rg 13,11 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 10,7 0 074
|
||||
= 9,6 0 075
|
||||
eq "
|
||||
> 10,7 0 076
|
||||
? 6,11 0 077
|
||||
@ 13,11 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,7 0 0172
|
||||
{ 4,11,2 0 0173
|
||||
lC "
|
||||
| 9,11 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 5,11,2 0 0175
|
||||
rC "
|
||||
~ 9,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,8,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,10 0 0250
|
||||
co 14,11 0 0251
|
||||
Of 6,11 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 9,5 0 0254
|
||||
tno 9,5 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 14,11 0 0256
|
||||
|
@ -104,7 +104,6 @@ radicalex 7,12 0 0140
|
||||
lC 7,10,3 0 0173
|
||||
{ "
|
||||
ba 3,10,3 0 0174
|
||||
or "
|
||||
| "
|
||||
rC 7,10,3 0 0175
|
||||
} "
|
||||
@ -166,6 +165,7 @@ co 12,10 0 0323
|
||||
tm 11,10 0 0324
|
||||
--- 12,11,1 0 0325
|
||||
sr 8,12 0 0326
|
||||
sqrt "
|
||||
md 4,5 0 0327
|
||||
no 10,5 0 0330
|
||||
AN 9,7 0 0331
|
||||
@ -197,9 +197,11 @@ braceleftbt 7,12,3 0 0356
|
||||
lb "
|
||||
bracerightex 7,12,3 0 0357
|
||||
braceleftex "
|
||||
braceex "
|
||||
bv "
|
||||
ra 5,12,3 0 0361
|
||||
is 4,12,1 0 0362
|
||||
integral "
|
||||
--- 10,12,3 0 0363
|
||||
--- 10,12,3 0 0364
|
||||
--- 10,12,3 0 0365
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 8,7 0 074
|
||||
= 8,5 0 075
|
||||
eq "
|
||||
> 8,7 0 076
|
||||
? 7,10 0 077
|
||||
@ 14,10,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,7 0 0172
|
||||
{ 7,10,3 0 0173
|
||||
lC "
|
||||
| 3,10,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,10,3 0 0175
|
||||
rC "
|
||||
~ 8,7 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 3,1 0 0240
|
||||
r! 4,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,10 0 0250
|
||||
co 12,10 0 0251
|
||||
Of 5,10 0 0252
|
||||
Fo 9,6 0 0253
|
||||
no 9,5 0 0254
|
||||
tno 9,5 0 0254
|
||||
- 4,4 0 0255
|
||||
hy "
|
||||
rg 12,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 8,6 0 074
|
||||
= 10,5 0 075
|
||||
eq "
|
||||
> 8,6 0 076
|
||||
? 8,10 0 077
|
||||
@ 15,10,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,7 0 0172
|
||||
{ 7,10,3 0 0173
|
||||
lC "
|
||||
| 4,10 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,10,3 0 0175
|
||||
rC "
|
||||
~ 10,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 3,1 0 0240
|
||||
r! 7,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 6,9 0 0250
|
||||
co 12,10 0 0251
|
||||
Of 6,10 0 0252
|
||||
Fo 8,6 0 0253
|
||||
no 9,5 0 0254
|
||||
tno 9,5 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 12,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,1 0 073
|
||||
< 10,7,1 0 074
|
||||
= 10,5 0 075
|
||||
eq "
|
||||
> 10,7,1 0 076
|
||||
? 7,10 0 077
|
||||
@ 13,10,3 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,7 0 0172
|
||||
{ 6,10,3 0 0173
|
||||
lC "
|
||||
| 4,10,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 6,10,3 0 0175
|
||||
rC "
|
||||
~ 8,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 3,1 0 0240
|
||||
r! 6,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,10 0 0250
|
||||
co 12,10 0 0251
|
||||
Of 5,10 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 12,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 8,7 0 074
|
||||
= 8,5 0 075
|
||||
eq "
|
||||
> 8,7 0 076
|
||||
? 6,10 0 077
|
||||
@ 13,10,2 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,7 0 0172
|
||||
{ 7,10,3 0 0173
|
||||
lC "
|
||||
| 3,10 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,10,3 0 0175
|
||||
rC "
|
||||
~ 8,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 3,1 0 0240
|
||||
r! 5,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,10 0 0250
|
||||
co 12,10 0 0251
|
||||
Of 4,10 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 9,6 0 0254
|
||||
tno 9,6 0 0254
|
||||
- 4,4 0 0255
|
||||
hy "
|
||||
rg 12,10 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 7,6,1 0 073
|
||||
< 7,7 0 074
|
||||
= 7,5 0 075
|
||||
eq "
|
||||
> 7,7 0 076
|
||||
? 7,8 0 077
|
||||
@ 7,8 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,6 0 0172
|
||||
{ 7,9,2 0 0173
|
||||
lC "
|
||||
| 7,8,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,9,2 0 0175
|
||||
rC "
|
||||
~ 7,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 7,1 0 0240
|
||||
r! 7,6,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,9 0 0250
|
||||
co 7,8 0 0251
|
||||
Of 7,9 0 0252
|
||||
Fo 7,5 0 0253
|
||||
no 7,5 0 0254
|
||||
tno 7,5 0 0254
|
||||
- 7,4 0 0255
|
||||
hy "
|
||||
rg 7,8 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 7,6,1 0 073
|
||||
< 7,6 0 074
|
||||
= 7,5 0 075
|
||||
eq "
|
||||
> 7,6 0 076
|
||||
? 7,8 0 077
|
||||
@ 7,8,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,6 0 0172
|
||||
{ 7,9,2 0 0173
|
||||
lC "
|
||||
| 7,8,1 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,9,2 0 0175
|
||||
rC "
|
||||
~ 7,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 7,1 0 0240
|
||||
r! 7,6,2 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,9 0 0250
|
||||
co 7,8 0 0251
|
||||
Of 7,8 0 0252
|
||||
Fo 7,5 0 0253
|
||||
no 7,5 0 0254
|
||||
tno 7,5 0 0254
|
||||
- 7,4 0 0255
|
||||
hy "
|
||||
rg 7,8 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 7,5,1 0 073
|
||||
< 7,7 0 074
|
||||
= 7,5 0 075
|
||||
eq "
|
||||
> 7,7 0 076
|
||||
? 7,8 0 077
|
||||
@ 7,8 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,6 0 0172
|
||||
{ 7,9,2 0 0173
|
||||
lC "
|
||||
| 7,8,1 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,9,2 0 0175
|
||||
rC "
|
||||
~ 7,4 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 7,1 0 0240
|
||||
r! 7,6,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,8 0 0250
|
||||
co 7,8 0 0251
|
||||
Of 7,8 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 7,5 0 0254
|
||||
tno 7,5 0 0254
|
||||
- 7,4 0 0255
|
||||
hy "
|
||||
rg 7,8 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 7,5,1 0 073
|
||||
< 7,7 0 074
|
||||
= 7,5 0 075
|
||||
eq "
|
||||
> 7,7 0 076
|
||||
? 7,8 0 077
|
||||
@ 7,8 0 0100
|
||||
@ -109,13 +108,11 @@ z 7,6 0 0172
|
||||
{ 7,8,2 0 0173
|
||||
lC "
|
||||
| 7,8,2 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 7,8,2 0 0175
|
||||
rC "
|
||||
~ 7,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 7,1 0 0240
|
||||
r! 7,6,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 7,8 0 0250
|
||||
co 7,8 0 0251
|
||||
Of 7,8 0 0252
|
||||
Fo 7,6 0 0253
|
||||
no 7,5 0 0254
|
||||
tno 7,5 0 0254
|
||||
- 7,4 0 0255
|
||||
hy "
|
||||
rg 7,8 0 0256
|
||||
|
@ -37,7 +37,6 @@ sl "
|
||||
; 4,7,2 0 073
|
||||
< 7,6 0 074
|
||||
= 7,5 0 075
|
||||
eq "
|
||||
> 7,6 0 076
|
||||
? 8,9 0 077
|
||||
@ 12,9,1 0 0100
|
||||
@ -109,13 +108,11 @@ z 6,7 0 0172
|
||||
{ 5,9,3 0 0173
|
||||
lC "
|
||||
| 4,9,3 0 0174
|
||||
or "
|
||||
ba "
|
||||
} 5,9,3 0 0175
|
||||
rC "
|
||||
~ 7,5 0 0176
|
||||
a~ "
|
||||
ap "
|
||||
ti "
|
||||
--- 4,1 0 0240
|
||||
r! 4,7,3 0 0241
|
||||
@ -129,7 +126,7 @@ ad 5,9 0 0250
|
||||
co 11,9 0 0251
|
||||
Of 6,9 0 0252
|
||||
Fo 8,6 0 0253
|
||||
no 8,6 0 0254
|
||||
tno 8,6 0 0254
|
||||
- 5,4 0 0255
|
||||
hy "
|
||||
rg 11,9 0 0256
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user