diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-03-24 12:41:43 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-03-24 12:41:43 -0700 |
commit | d275726b338f876c210555d7eadf8c3d81bae6a5 (patch) | |
tree | 136f1d20658da254fd386793ce216800b7356521 /texinfo/doc | |
parent | f35e74f9a615e8b93da23af446667ee0bbfad0d0 (diff) | |
download | gcc-d275726b338f876c210555d7eadf8c3d81bae6a5.zip gcc-d275726b338f876c210555d7eadf8c3d81bae6a5.tar.gz gcc-d275726b338f876c210555d7eadf8c3d81bae6a5.tar.bz2 |
Merge in texinfo-3.12.
From-SVN: r18811
Diffstat (limited to 'texinfo/doc')
-rw-r--r-- | texinfo/doc/Makefile.am | 21 | ||||
-rw-r--r-- | texinfo/doc/Makefile.in | 162 | ||||
-rw-r--r-- | texinfo/doc/README | 3 | ||||
-rw-r--r-- | texinfo/doc/info-stnd.texi | 2 | ||||
-rw-r--r-- | texinfo/doc/info.texi | 2 | ||||
-rw-r--r-- | texinfo/doc/texinfo.tex | 336 |
6 files changed, 299 insertions, 227 deletions
diff --git a/texinfo/doc/Makefile.am b/texinfo/doc/Makefile.am index 72eb1b7..cd9ae18 100644 --- a/texinfo/doc/Makefile.am +++ b/texinfo/doc/Makefile.am @@ -1,11 +1,12 @@ ## Makefile.am for texinfo/emacs. -## $Id: Makefile.am,v 1.2 1998/03/24 18:05:32 law Exp $ +## $Id: Makefile.am,v 1.1.1.2 1998/03/24 18:20:38 law Exp $ ## Run automake in .. to produce Makefile.in from this. -info_TEXINFOS = info-stnd.texi info.texi texinfo.texi +info_TEXINFOS = info-stnd.texi info.texi texinfo.txi -# Use the makeinfo built in our distribution. +# Use the programs built in our distribution. MAKEINFO = ../makeinfo/makeinfo +INSTALL_INFO = ../util/install-info # Include our texinfo.tex, not Automake's. EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex @@ -26,10 +27,10 @@ dist-info: # since we don't distribute them. .texi.info: $(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'` -texinfo: $(srcdir)/texinfo.texi - $(MAKEINFO) -I$(srcdir) texinfo.texi +texinfo: $(srcdir)/texinfo.txi + $(MAKEINFO) -I$(srcdir) texinfo.txi -# Do not try to install them from $(srcdir). +# Similarly, Do not try to install the info files from $(srcdir). install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(infodir) @@ -43,14 +44,14 @@ install-info-am: $(INFO_DEPS) done; \ done @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ + @if $(SHELL) -c '$(INSTALL_INFO) --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ for file in $(INFO_DEPS); do \ - echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\ - install-info --info-dir=$(infodir) $(infodir)/$$file || :;\ + echo " $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file";\ + $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file || :;\ done; \ else : ; fi -# Remove them at make distclean. +# Remove the info files at make distclean. distclean-aminfo: rm -f texinfo texinfo-* info*.info* diff --git a/texinfo/doc/Makefile.in b/texinfo/doc/Makefile.in index cd882e7..c021d3e 100644 --- a/texinfo/doc/Makefile.in +++ b/texinfo/doc/Makefile.in @@ -1,8 +1,14 @@ -# Makefile.in generated automatically by automake 1.2 from Makefile.am +# Makefile.in generated automatically by automake 1.2f from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. SHELL = /bin/sh @@ -43,27 +49,26 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ -NORMAL_INSTALL = true -PRE_INSTALL = true -POST_INSTALL = true -NORMAL_UNINSTALL = true -PRE_UNINSTALL = true -POST_UNINSTALL = true +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ DATADIRNAME = @DATADIRNAME@ -EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GT_NO = @GT_NO@ GT_YES = @GT_YES@ +INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@ INSTOBJEXT = @INSTOBJEXT@ INTLDEPS = @INTLDEPS@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ -MAINT = @MAINT@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ PACKAGE = @PACKAGE@ @@ -77,10 +82,11 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ l = @l@ -info_TEXINFOS = info-stnd.texi info.texi texinfo.texi +info_TEXINFOS = info-stnd.texi info.texi texinfo.txi -# Use the makeinfo built in our distribution. +# Use the programs built in our distribution. MAKEINFO = ../makeinfo/makeinfo +INSTALL_INFO = ../util/install-info # Include our texinfo.tex, not Automake's. EXTRA_DIST = macro.texi userdoc.texi epsf.tex texinfo.tex @@ -90,11 +96,11 @@ TEXMF = @TEXMF@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = -TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi` -TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex +TEXI2DVI = texi2dvi +TEXINFO_TEX = $(srcdir)/texinfo.tex INFO_DEPS = info-stnd.info info.info texinfo DVIS = info-stnd.dvi info.dvi texinfo.dvi -TEXINFOS = info-stnd.texi info.texi texinfo.texi +TEXINFOS = info-stnd.texi info.texi texinfo.txi DIST_COMMON = README $(info_TEXINFOS) Makefile.am Makefile.in \ texinfo.tex @@ -106,9 +112,9 @@ GZIP = --best default: all .SUFFIXES: -.SUFFIXES: .dvi .info .ps .texi .texinfo -$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile +.SUFFIXES: .dvi .info .ps .texi .texinfo .txi +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) \ @@ -123,31 +129,48 @@ info.info: info.texi $(info_TEXINFOS) info.dvi: info.texi $(info_TEXINFOS) -texinfo: texinfo.texi -texinfo.dvi: texinfo.texi +texinfo: texinfo.txi +texinfo.dvi: texinfo.txi DVIPS = dvips .texi.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ + TEXINPUTS=$(srcdir):$$TEXINPUTS \ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< .texi: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] + cd $(srcdir) \ + && $(MAKEINFO) `echo $< | sed 's,.*/,,'` .texinfo.info: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] + cd $(srcdir) \ + && $(MAKEINFO) `echo $< | sed 's,.*/,,'` .texinfo: - @rm -f $@ $@-[0-9] $@-[0-9][0-9] - $(MAKEINFO) -I $(srcdir) $< + @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] + cd $(srcdir) \ + && $(MAKEINFO) `echo $< | sed 's,.*/,,'` .texinfo.dvi: - TEXINPUTS=$(top_srcdir)/../texinfo:$$TEXINPUTS \ + TEXINPUTS=$(srcdir):$$TEXINPUTS \ + MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + +.txi.info: + @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] + cd $(srcdir) \ + && $(MAKEINFO) `echo $< | sed 's,.*/,,'` + +.txi.dvi: + TEXINPUTS=$(srcdir):$$TEXINPUTS \ MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< + +.txi: + @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9] + cd $(srcdir) \ + && $(MAKEINFO) `echo $< | sed 's,.*/,,'` .dvi.ps: $(DVIPS) $< -o $@ @@ -157,33 +180,39 @@ uninstall-info: ii=yes; \ else ii=; fi; \ for file in $(INFO_DEPS); do \ - test -z $ii || install-info --info-dir=$(infodir) --remove $$file; \ + test -z "$ii" \ + || install-info --info-dir=$(infodir) --remove $$file; \ done - $(NORMAL_UNINSTALL) + @$(NORMAL_UNINSTALL) for file in $(INFO_DEPS); do \ (cd $(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \ done mostlyclean-aminfo: - rm -f info-stnd.aux info-stnd.cp info-stnd.cps info-stnd.dvi \ - info-stnd.fn info-stnd.fns info-stnd.ky info-stnd.log \ - info-stnd.pg info-stnd.toc info-stnd.tp info-stnd.tps \ - info-stnd.vr info-stnd.vrs info-stnd.op info-stnd.tr \ - info-stnd.cv info.aux info.cp info.cps info.dvi info.fn \ - info.fns info.ky info.log info.pg info.toc info.tp info.tps \ - info.vr info.vrs info.op info.tr info.cv texinfo.aux \ + -rm -f info-stnd.aux info-stnd.cp info-stnd.cps info-stnd.dvi \ + info-stnd.fn info-stnd.fns info-stnd.ky info-stnd.kys \ + info-stnd.ps info-stnd.log info-stnd.pg info-stnd.toc \ + info-stnd.tp info-stnd.tps info-stnd.vr info-stnd.vrs \ + info-stnd.op info-stnd.tr info-stnd.cv info-stnd.cn info.aux \ + info.cp info.cps info.dvi info.fn info.fns info.ky info.kys \ + info.ps info.log info.pg info.toc info.tp info.tps info.vr \ + info.vrs info.op info.tr info.cv info.cn texinfo.aux \ texinfo.cp texinfo.cps texinfo.dvi texinfo.fn texinfo.fns \ - texinfo.ky texinfo.log texinfo.pg texinfo.toc texinfo.tp \ - texinfo.tps texinfo.vr texinfo.vrs texinfo.op texinfo.tr \ - texinfo.cv + texinfo.ky texinfo.kys texinfo.ps texinfo.log texinfo.pg \ + texinfo.toc texinfo.tp texinfo.tps texinfo.vr texinfo.vrs \ + texinfo.op texinfo.tr texinfo.cv texinfo.cn clean-aminfo: distclean-aminfo: maintainer-clean-aminfo: - for i in $(INFO_DEPS); do rm -f `eval echo $$i*`; done -clean-info: mostlyclean-aminfo + for i in $(INFO_DEPS); do \ + rm -f $$i; \ + if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ + rm -f $$i-[0-9]*; \ + fi; \ + done tags: TAGS TAGS: @@ -194,7 +223,7 @@ subdir = doc distdir: $(DISTFILES) @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + d=$(srcdir); \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || cp -p $$d/$$file $(distdir)/$$file; \ @@ -205,45 +234,45 @@ dvi: $(DVIS) check: all $(MAKE) installcheck: -install-info: install-info-am install-exec: @$(NORMAL_INSTALL) -install-data: install-data-local +install-data: install-info-am install-data-local @$(NORMAL_INSTALL) install: install-exec install-data all @: -uninstall: +uninstall: uninstall-info -all: Makefile +all: Makefile $(INFO_DEPS) install-strip: $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install installdirs: + $(mkinstalldirs) $(infodir) mostlyclean-generic: - test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - rm -f Makefile $(DISTCLEANFILES) - rm -f config.cache config.log stamp-h stamp-h[0-9]* - test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(DISTCLEANFILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean: mostlyclean-aminfo mostlyclean-generic clean: clean-aminfo clean-generic mostlyclean distclean: distclean-aminfo distclean-generic clean - rm -f config.status + -rm -f config.status maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \ distclean @@ -252,10 +281,9 @@ maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \ .PHONY: default install-info-am uninstall-info mostlyclean-aminfo \ distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir info \ -dvi installcheck install-info install-exec install-data install \ -uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +dvi installcheck install-exec install-data install uninstall all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean install-data-local: @@ -271,10 +299,10 @@ dist-info: # since we don't distribute them. .texi.info: $(MAKEINFO) -I$(srcdir) `echo $< | sed 's,.*/,,'` -texinfo: $(srcdir)/texinfo.texi - $(MAKEINFO) -I$(srcdir) texinfo.texi +texinfo: $(srcdir)/texinfo.txi + $(MAKEINFO) -I$(srcdir) texinfo.txi -# Do not try to install them from $(srcdir). +# Similarly, Do not try to install the info files from $(srcdir). install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(infodir) @@ -288,14 +316,14 @@ install-info-am: $(INFO_DEPS) done; \ done @$(POST_INSTALL) - @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ + @if $(SHELL) -c '$(INSTALL_INFO) --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \ for file in $(INFO_DEPS); do \ - echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\ - install-info --info-dir=$(infodir) $(infodir)/$$file || :;\ + echo " $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file";\ + $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/$$file || :;\ done; \ else : ; fi -# Remove them at make distclean. +# Remove the info files at make distclean. distclean-aminfo: rm -f texinfo texinfo-* info*.info* diff --git a/texinfo/doc/README b/texinfo/doc/README index e7518e6..fe8e654 100644 --- a/texinfo/doc/README +++ b/texinfo/doc/README @@ -1,5 +1,6 @@ This directory contains documentation on the Texinfo system and the TeX -sources needed to process Texinfo sources. +sources needed to process Texinfo sources. (Use texi2dvi to run a +Texinfo manual through TeX to produce a DVI file.) The .tex files are not installed automatically because TeX installations vary so widely. Installing them in the wrong place would give a false diff --git a/texinfo/doc/info-stnd.texi b/texinfo/doc/info-stnd.texi index 98df135..2e05bf2 100644 --- a/texinfo/doc/info-stnd.texi +++ b/texinfo/doc/info-stnd.texi @@ -9,7 +9,7 @@ @synindex fn cp @synindex ky cp @comment %**end of header -@comment $Id: info-stnd.texi,v 1.2 1998/03/24 18:05:36 law Exp $ +@comment $Id: info-stnd.texi,v 1.1.1.2 1998/03/24 18:20:36 law Exp $ @dircategory Texinfo documentation system @direntry diff --git a/texinfo/doc/info.texi b/texinfo/doc/info.texi index 9e63665..41e7295 100644 --- a/texinfo/doc/info.texi +++ b/texinfo/doc/info.texi @@ -3,7 +3,7 @@ @setfilename info.info @settitle Info 1.0 @comment %**end of header -@comment $Id: info.texi,v 1.2 1998/03/24 18:05:37 law Exp $ +@comment $Id: info.texi,v 1.1.1.2 1998/03/24 18:20:37 law Exp $ @dircategory Texinfo documentation system @direntry diff --git a/texinfo/doc/texinfo.tex b/texinfo/doc/texinfo.tex index 124d337..25d2634 100644 --- a/texinfo/doc/texinfo.tex +++ b/texinfo/doc/texinfo.tex @@ -1,32 +1,40 @@ -%% TeX macros to handle Texinfo files. -%% $Id: texinfo.tex,v 1.2 1998/03/24 18:05:39 law Exp $ - -% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, -% 94, 95, 96, 97 Free Software Foundation, Inc. - -%This texinfo.tex file is free software; you can redistribute it and/or -%modify it under the terms of the GNU General Public License as -%published by the Free Software Foundation; either version 2, or (at -%your option) any later version. - -%This texinfo.tex file is distributed in the hope that it will be -%useful, but WITHOUT ANY WARRANTY; without even the implied warranty -%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%General Public License for more details. - -%You should have received a copy of the GNU General Public License -%along with this texinfo.tex file; see the file COPYING. If not, write -%to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -%Boston, MA 02111-1307, USA. - - -%In other words, you are welcome to use, share and improve this program. -%You are forbidden to forbid anyone else to use, share and improve -%what you give them. Help stamp out software-hoarding! - - -% Send bug reports to bug-texinfo@prep.ai.mit.edu. -% Please include a *precise* test case in each bug report. +% texinfo.tex -- TeX macros to handle Texinfo files. +% $Id: texinfo.tex,v 1.1.1.2 1998/03/24 18:20:39 law Exp $ +% +% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98 +% Free Software Foundation, Inc. +% +% This texinfo.tex file is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 2, or (at +% your option) any later version. +% +% This texinfo.tex file is distributed in the hope that it will be +% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this texinfo.tex file; see the file COPYING. If not, write +% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +% Boston, MA 02111-1307, USA. +% +% In other words, you are welcome to use, share and improve this program. +% You are forbidden to forbid anyone else to use, share and improve +% what you give them. Help stamp out software-hoarding! +% +% Please try the latest version of texinfo.tex before submitting bug +% reports; you can get the latest version from: +% ftp://ftp.cs.umb.edu/pub/tex/texinfo.tex +% /home/gd/gnu/doc/texinfo.tex on the GNU machines. +% +% Send bug reports to bug-texinfo@gnu.org. +% Please include a precise test case in each bug report, +% including a complete document with which we can reproduce the problem. +% +% Texinfo macros (with @macro) are *not* supported by texinfo.tex. You +% have to run makeinfo -E to expand macros first; the texi2dvi script +% does this. % Make it possible to create a .fmt file just by loading this file: @@ -36,7 +44,7 @@ % This automatically updates the version number based on RCS. \def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}} -\deftexinfoversion$Revision: 1.2 $ +\deftexinfoversion$Revision: 1.1.1.2 $ \message{Loading texinfo package [Version \texinfoversion]:} % If in a .fmt file, print the version number @@ -54,7 +62,8 @@ \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end -\let\ptexequiv = \equiv +\let\ptexequiv=\equiv +\let\ptexexclam=\! \let\ptexi=\i \let\ptexlbrace=\{ \let\ptexrbrace=\} @@ -441,14 +450,11 @@ % @. is an end-of-sentence period. \def\.{.\spacefactor=3000 } -% @enddots{} is an end-of-sentence ellipsis. -\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000} - % @! is an end-of-sentence bang. -\gdef\!{!\spacefactor=3000 } +\def\!{!\spacefactor=3000 } % @? is an end-of-sentence query. -\gdef\?{?\spacefactor=3000 } +\def\?{?\spacefactor=3000 } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would @@ -573,9 +579,27 @@ where each line of input produces a line of output.} \let\br = \par -% @dots{} output some dots +% @dots{} output an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in a typewriter +% font as three actual period characters. +% +\def\dots{\hbox to 1.5em{% + \hskip 0pt plus 0.25fil minus 0.25fil + .\hss.\hss.% + \hskip 0pt plus 0.5fil minus 0.5fil +}} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \hbox to 2em{% + \hskip 0pt plus 0.25fil minus 0.25fil + .\hss.\hss.\hss.% + \hskip 0pt plus 0.5fil minus 0.5fil + }% + \spacefactor=3000 +} -\def\dots{$\ldots$} % @page forces the start of a new page @@ -1236,7 +1260,7 @@ where each line of input produces a line of output.} \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts #1}} +\def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc @@ -1263,6 +1287,10 @@ where each line of input produces a line of output.} % \textfonts +% Define these so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} + % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 @@ -1300,15 +1328,15 @@ where each line of input produces a line of output.} \null } \let\ttfont=\t -\def\samp #1{`\tclose{#1}'\null} +\def\samp#1{`\tclose{#1}'\null} \setfont\smallrm\rmshape{8}{1000} \font\smallsy=cmsy9 \def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{% - \raise0.4pt\hbox{$\langle$}\kern-.08em\vtop{% + \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% \vbox{\hrule\kern-0.4pt - \hbox{\raise0.4pt\hbox{\vphantom{$\langle$}}#1}}% + \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% \kern-0.4pt\hrule}% - \kern-.06em\raise0.4pt\hbox{$\rangle$}}}} + \kern-.06em\raise0.4pt\hbox{\angleright}}}} % The old definition, with no lozenge: %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} @@ -1421,7 +1449,7 @@ where each line of input produces a line of output.} % rms does not like the angle brackets --karl, 17may97. % So now @email is just like @uref. -%\def\email#1{$\langle${\tt #1}$\rangle$} +%\def\email#1{\angleleft{\tt #1}\angleright} \let\email=\uref % Check if we are currently using a typewriter font. Since all the @@ -2043,10 +2071,7 @@ July\or August\or September\or October\or November\or December\fi % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. - -%%%% -% Dimensions - +% \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace @@ -2056,15 +2081,15 @@ July\or August\or September\or October\or November\or December\fi \multitablecolspace=12pt \multitablelinespace=0pt -%%%% % Macros used to set up halign preamble: +% \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent -%% 2/1/96, to allow fractions to be given with more than one digit. +% 2/1/96, to allow fractions to be given with more than one digit. \def\pickupwholefraction#1 {\global\advance\colcount by1 % \expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}% \setuptable} @@ -2090,80 +2115,84 @@ July\or August\or September\or October\or November\or December\fi \ifx\go\pickupwholefraction\else\let\go\setuptable\fi% \fi\go} -%%%% % multitable syntax \def\tab{&\hskip1sp\relax} % 2/2/96 % tiny skip here makes sure this column space is % maintained, even if it is never used. - -%%%% % @multitable ... @end multitable definitions: \def\multitable{\parsearg\dotable} - \def\dotable#1{\bgroup -\let\item\cr -\tolerance=9500 -\hbadness=9500 -\setmultitablespacing -\parskip=\multitableparskip -\parindent=\multitableparindent -\overfullrule=0pt -\global\colcount=0\relax% -\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}% - % To parse everything between @multitable and @item : -\setuptable#1 \endsetuptable - % Need to reset this to 0 after \setuptable. -\global\colcount=0\relax% - % - % This preamble sets up a generic column definition, which will - % be used as many times as user calls for columns. - % \vtop will set a single line and will also let text wrap and - % continue for many paragraphs if desired. -\halign\bgroup&\global\advance\colcount by 1\relax% -\multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % If user has set preamble in terms of percent of \hsize - % we will use that dimension as the width of the column, and - % the \leftskip will keep entries from bumping into each other. - % Table will start at left margin and final column will justify at - % right margin. -\ifnum\colcount=1 -\else - \ifsetpercent + \vskip\parskip + \let\item\crcr + \tolerance=9500 + \hbadness=9500 + \setmultitablespacing + \parskip=\multitableparskip + \parindent=\multitableparindent + \overfullrule=0pt + \global\colcount=0 + \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}% + % + % To parse everything between @multitable and @item: + \setuptable#1 \endsetuptable + % + % \everycr will reset column counter, \colcount, at the end of + % each line. Every column entry will cause \colcount to advance by one. + % The table preamble + % looks at the current \colcount to find the correct column width. + \everycr{\noalign{% + % + % \filbreak%% keeps underfull box messages off when table breaks over pages. + % Maybe so, but it also creates really weird page breaks when the table + % breaks over pages. Wouldn't \vfil be better? Wait until the problem + % manifests itself, so it can be fixed for real --karl. + \global\colcount=0\relax}}% + % + % This preamble sets up a generic column definition, which will + % be used as many times as user calls for columns. + % \vtop will set a single line and will also let text wrap and + % continue for many paragraphs if desired. + \halign\bgroup&\global\advance\colcount by 1\relax + \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname + % + % In order to keep entries from bumping into each other + % we will add a \leftskip of \multitablecolspace to all columns after + % the first one. + % + % If a template has been used, we will add \multitablecolspace + % to the width of each template entry. + % + % If the user has set preamble in terms of percent of \hsize we will + % use that dimension as the width of the column, and the \leftskip + % will keep entries from bumping into each other. Table will start at + % left margin and final column will justify at right margin. + % + % Make sure we don't inherit \rightskip from the outer environment. + \rightskip=0pt + \ifnum\colcount=1 + % The first column will be indented with the surrounding text. + \advance\hsize by\leftskip \else - % If user has <not> set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace - \advance\hsize by \multitablecolspace + \ifsetpercent \else + % If user has not set preamble in terms of percent of \hsize + % we will advance \hsize by \multitablecolspace. + \advance\hsize by \multitablecolspace + \fi + % In either case we will make \leftskip=\multitablecolspace: + \leftskip=\multitablecolspace \fi - % In either case we will make \leftskip=\multitablecolspace: -\leftskip=\multitablecolspace -\fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively marking - % characters. - \noindent\ignorespaces##\unskip\multistrut}\cr - % \everycr will reset column counter, \colcount, at the end of - % each line. Every column entry will cause \colcount to advance by one. - % The table preamble - % looks at the current \colcount to find the correct column width. -\global\everycr{\noalign{% -% \filbreak%% keeps underfull box messages off when table breaks over pages. -% Maybe so, but it also creates really weird page breaks when the table -% breaks over pages Wouldn't \vfil be better? Wait until the problem -% manifests itself, so it can be fixed for real --karl. -\global\colcount=0\relax}} + % Ignoring space at the beginning and end avoids an occasional spurious + % blank line, when TeX decides to break the line at the space before the + % box from the multistrut, so the strut ends up on a line by itself. + % For example: + % @multitable @columnfractions .11 .89 + % @item @code{#} + % @tab Legal holiday which is valid in major parts of the whole country. + % Is automatically provided with highlighting sequences respectively marking + % characters. + \noindent\ignorespaces##\unskip\multistrut}\cr } \def\setmultitablespacing{% test to see if user has set \multitablelinespace. @@ -2510,6 +2539,11 @@ width0pt\relax} \fi \indexbreaks % % See if the index file exists and is nonempty. + % Change catcode of @ here so that if the index file contains + % \initial {@} + % as its first line, TeX doesn't complain about mismatched braces + % (because it thinks @} is a control sequence). + \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, @@ -2531,7 +2565,6 @@ width0pt\relax} \fi % to make right now. \def\indexbackslash{\rawbackslashxx}% \catcode`\\ = 0 - \catcode`\@ = 11 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s @@ -3427,11 +3460,12 @@ width0pt\relax} \fi % the index entries, but we want to suppress hyphenation here. (We % can't do that in the \entry macro, since index entries might consist % of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.) -% -% \turnoffactive is for the sake of @" used for umlauts. \def\tocentry#1#2{\begingroup \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks - \entry{\turnoffactive #1}{\turnoffactive #2}% + % Do not use \turnoffactive in these arguments. Since the toc is + % typeset in cmr, so characters such as _ would come out wrong; we + % have to do the usual translation tricks. + \entry{#1}{#2}% \endgroup} % Space between chapter (or whatever) number and the title. @@ -3497,30 +3531,35 @@ width0pt\relax} \fi % But \@ or @@ will get a plain tex @ character. \def\tex{\begingroup -\catcode `\\=0 \catcode `\{=1 \catcode `\}=2 -\catcode `\$=3 \catcode `\&=4 \catcode `\#=6 -\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie -\catcode `\%=14 -\catcode 43=12 % plus -\catcode`\"=12 -\catcode`\==12 -\catcode`\|=12 -\catcode`\<=12 -\catcode`\>=12 -\escapechar=`\\ -% -\let\,=\ptexcomma -\let\{=\ptexlbrace -\let\}=\ptexrbrace -\let\.=\ptexdot -\let\*=\ptexstar -\let\dots=\ptexdots -\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% -\def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% -\def\@{@}% -\let\bullet=\ptexbullet -\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext -% + \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 + \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 + \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie + \catcode `\%=14 + \catcode 43=12 % plus + \catcode`\"=12 + \catcode`\==12 + \catcode`\|=12 + \catcode`\<=12 + \catcode`\>=12 + \escapechar=`\\ + % + \let\b=\ptexb + \let\bullet=\ptexbullet + \let\c=\ptexc + \let\,=\ptexcomma + \let\.=\ptexdot + \let\dots=\ptexdots + \let\equiv=\ptexequiv + \let\!=\ptexexclam + \let\i=\ptexi + \let\{=\ptexlbrace + \let\}=\ptexrbrace + \let\*=\ptexstar + \let\t=\ptext + % + \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% + \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% + \def\@{@}% \let\Etex=\endgroup} % Define @lisp ... @endlisp. @@ -4373,7 +4412,7 @@ width0pt\relax} \fi \def\refx#1#2{% \expandafter\ifx\csname X#1\endcsname\relax % If not defined, say something at least. - $\langle$un\-de\-fined$\rangle$% + \angleleft un\-de\-fined\angleright \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else @@ -4390,10 +4429,13 @@ width0pt\relax} \fi } % This is the macro invoked by entries in the aux file. -\def\xrdef #1#2{{% - \catcode`\'=\other - \expandafter\gdef\csname X#1\endcsname{#2}% -}} +% +\def\xrdef#1{\begingroup + % Reenable \ as an escape while reading the second argument. + \catcode`\\ = 0 + \afterassignment\endgroup + \expandafter\gdef\csname X#1\endcsname +} % Read the last existing aux file, if any. No error if none exists. \def\readauxfile{\begingroup @@ -4617,7 +4659,7 @@ width0pt\relax} \fi % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. -\openin 1 = xepsf.tex +\openin 1 = epsf.tex \ifeof 1 \else \closein 1 \def\epsfannounce{\toks0 = }% do not bother showing banner |