summaryrefslogtreecommitdiff
path: root/biblio/tib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /biblio/tib
Initial commit
Diffstat (limited to 'biblio/tib')
-rw-r--r--biblio/tib/CHANGES81
-rw-r--r--biblio/tib/INSTALL71
-rw-r--r--biblio/tib/MANIFEST138
-rw-r--r--biblio/tib/Makefile171
-rw-r--r--biblio/tib/NONUNIX66
-rw-r--r--biblio/tib/README.1st44
-rw-r--r--biblio/tib/README.ja26
-rw-r--r--biblio/tib/doc/Styles45
l---------biblio/tib/doc/test.ref1
l---------biblio/tib/doc/test.tex1
-rw-r--r--biblio/tib/elisp/tib.el191
-rw-r--r--biblio/tib/index/common32
-rw-r--r--biblio/tib/inputs/Macros.ttx286
-rw-r--r--biblio/tib/inputs/acm.tib21
-rw-r--r--biblio/tib/inputs/acm.ttx153
-rw-r--r--biblio/tib/inputs/acml.tib17
-rw-r--r--biblio/tib/inputs/alpha.tib16
-rw-r--r--biblio/tib/inputs/alphab.tib10
-rw-r--r--biblio/tib/inputs/ams1.ttx5
-rw-r--r--biblio/tib/inputs/ams2.ttx6
-rw-r--r--biblio/tib/inputs/ams3.ttx148
-rw-r--r--biblio/tib/inputs/ams4.ttx156
-rw-r--r--biblio/tib/inputs/amsa.tib16
-rw-r--r--biblio/tib/inputs/amsabb.ttz1854
-rw-r--r--biblio/tib/inputs/amsd.tib17
-rw-r--r--biblio/tib/inputs/amsfll.ttz1854
-rw-r--r--biblio/tib/inputs/amsn.tib15
-rw-r--r--biblio/tib/inputs/aps.tib14
-rw-r--r--biblio/tib/inputs/aps.ttx131
-rw-r--r--biblio/tib/inputs/cmp.tib16
-rw-r--r--biblio/tib/inputs/cmp.ttx146
-rw-r--r--biblio/tib/inputs/demo1.tib10
-rw-r--r--biblio/tib/inputs/demo2.tib10
-rw-r--r--biblio/tib/inputs/demo2l.tib10
-rw-r--r--biblio/tib/inputs/demo3.tib8
-rw-r--r--biblio/tib/inputs/demo3l.tib10
-rw-r--r--biblio/tib/inputs/demo4.tib16
-rw-r--r--biblio/tib/inputs/demo5.tib31
-rw-r--r--biblio/tib/inputs/demo6l.tib7
-rw-r--r--biblio/tib/inputs/demo6p.tib11
-rw-r--r--biblio/tib/inputs/epes.tib15
-rw-r--r--biblio/tib/inputs/epes.ttx145
-rw-r--r--biblio/tib/inputs/footl.tib24
-rw-r--r--biblio/tib/inputs/footp.tib20
-rw-r--r--biblio/tib/inputs/ieeabb.ttz105
-rw-r--r--biblio/tib/inputs/ieee.tib14
-rw-r--r--biblio/tib/inputs/ieee.ttx144
-rw-r--r--biblio/tib/inputs/ieefll.ttz105
-rw-r--r--biblio/tib/inputs/ijrr.tib33
-rw-r--r--biblio/tib/inputs/ijrr.ttx146
-rw-r--r--biblio/tib/inputs/intext.tib25
-rw-r--r--biblio/tib/inputs/intext.ttx139
-rw-r--r--biblio/tib/inputs/jgr.tib17
-rw-r--r--biblio/tib/inputs/jgr.ttx156
-rw-r--r--biblio/tib/inputs/lala.tib14
-rw-r--r--biblio/tib/inputs/lala.ttx142
-rw-r--r--biblio/tib/inputs/mscabb.ttz36
-rw-r--r--biblio/tib/inputs/mscfll.ttz36
-rw-r--r--biblio/tib/inputs/nmdt.tib15
-rw-r--r--biblio/tib/inputs/nmdtb.tib9
-rw-r--r--biblio/tib/inputs/num.tib13
-rw-r--r--biblio/tib/inputs/numb.tib10
-rw-r--r--biblio/tib/inputs/numbs.tib10
-rw-r--r--biblio/tib/inputs/numo.tib11
-rw-r--r--biblio/tib/inputs/numos.tib11
-rw-r--r--biblio/tib/inputs/nums.tib7
-rw-r--r--biblio/tib/inputs/numu.tib13
-rw-r--r--biblio/tib/inputs/numub.tib10
-rw-r--r--biblio/tib/inputs/numubl.tib10
-rw-r--r--biblio/tib/inputs/numubs.tib11
-rw-r--r--biblio/tib/inputs/numubsl.tib11
-rw-r--r--biblio/tib/inputs/numul.tib13
-rw-r--r--biblio/tib/inputs/numus.tib6
-rw-r--r--biblio/tib/inputs/pub.ttz130
-rw-r--r--biblio/tib/inputs/siam1.ttx149
-rw-r--r--biblio/tib/inputs/siam2.ttx146
-rw-r--r--biblio/tib/inputs/siamd.tib28
-rw-r--r--biblio/tib/inputs/siamdl.tib21
-rw-r--r--biblio/tib/inputs/siamn.tib28
-rw-r--r--biblio/tib/inputs/siamnl.tib22
-rw-r--r--biblio/tib/inputs/slyd.tib15
-rw-r--r--biblio/tib/inputs/slyd.ttx106
-rw-r--r--biblio/tib/inputs/spln.tib74
-rw-r--r--biblio/tib/inputs/spln.ttx171
-rw-r--r--biblio/tib/inputs/std.ttx139
-rw-r--r--biblio/tib/inputs/stdbra.ttx5
-rw-r--r--biblio/tib/inputs/stdd.ttx140
-rw-r--r--biblio/tib/inputs/stdftl.ttx167
-rw-r--r--biblio/tib/inputs/stdftp.ttx176
-rw-r--r--biblio/tib/inputs/stdpar.ttx5
-rw-r--r--biblio/tib/inputs/stdper.ttx5
-rw-r--r--biblio/tib/inputs/stdu.ttx5
-rw-r--r--biblio/tib/intro.tib56
-rw-r--r--biblio/tib/sk/Makefile26
-rw-r--r--biblio/tib/sk/README71
-rw-r--r--biblio/tib/sk/swortcp.c170
-rw-r--r--biblio/tib/sk/texbib.155
-rwxr-xr-xbiblio/tib/sk/texbib.sh91
-rw-r--r--biblio/tib/sk/texswlist.163
-rwxr-xr-xbiblio/tib/sk/texswlist.sh75
-rw-r--r--biblio/tib/sk/tib-2.2-patch1088
-rw-r--r--biblio/tib/sk/tib.5220
-rw-r--r--biblio/tib/sk/tib.7114
-rw-r--r--biblio/tib/sk/ttb.155
-rw-r--r--biblio/tib/sk/ttb.c340
-rw-r--r--biblio/tib/src/Makefile55
-rw-r--r--biblio/tib/src/locate.c217
-rw-r--r--biblio/tib/src/makekey.c74
-rw-r--r--biblio/tib/src/seek.c73
-rw-r--r--biblio/tib/src/streams.c136
-rw-r--r--biblio/tib/src/tib.c775
-rw-r--r--biblio/tib/src/tibargs.c1876
-rw-r--r--biblio/tib/src/tibdex.c239
-rw-r--r--biblio/tib/src/tiblist.c219
-rw-r--r--biblio/tib/src/tiblook.c171
-rw-r--r--biblio/tib/test/DERHAM.TST8
-rw-r--r--biblio/tib/test/INDEX.TST203
-rw-r--r--biblio/tib/test/Makefile54
-rw-r--r--biblio/tib/test/README.NoMake27
-rw-r--r--biblio/tib/test/test.ref164
-rw-r--r--biblio/tib/test/test.tex42
-rw-r--r--biblio/tib/tib.h73
-rw-r--r--biblio/tib/tib.man191
-rw-r--r--biblio/tib/tibabb.sh24
-rw-r--r--biblio/tib/tibdoc.pdfbin0 -> 161405 bytes
-rw-r--r--biblio/tib/tibdoc.tex1670
-rw-r--r--biblio/tib/vitaMake337
127 files changed, 17921 insertions, 0 deletions
diff --git a/biblio/tib/CHANGES b/biblio/tib/CHANGES
new file mode 100644
index 0000000000..7562758f29
--- /dev/null
+++ b/biblio/tib/CHANGES
@@ -0,0 +1,81 @@
+Record of updates from version 1.10 (7/15/86)
+
+ ieee.ttx changed to eliminate double periods after `ed' and `eds' (8/86)
+ breakname in tibargs.c changed to handle certain bracket constructions (8/86)
+ test.tex and test.ref changed slightly (8/86)
+version 1.15 (8/22/86)
+ pub.ttz updated (9/86)
+ minor bug in ieee.ttx fixed (9/86)
+ demo3l, acml, siamnl, siamdl added -- LaTeX doesn't support \sevenrm (9/86)
+ lala style created (9/86)
+version 1.20 (10/1/86)
+ more complete file names printed in messages (10/86)
+ put active characters after p. and pp. (11/86)
+ chkindex fixed: did not correctly check headers with paths (11/86)
+ format of tibdoc.tex changed slightly (11/86)
+version 1.30 (11/5/86)
+ changed \kerns to \hskips in .ttx files (1/87)
+ tmpfile changed to tmp_file in source to avoid conflict with stdio (1/87)
+ siam formats changed to conform to siam specs (2/87)
+ improved tib.man (manual file); put manual instructions in Makefile (2/87)
+ changed footnote macros to allow including titles in loc. cit. (3/87)
+ repaired reference to common file in tibdoc.tex (3/87)
+ changed siamdl.tib, siamnl.tib to use LaTeX \footnotesize command (4/87)
+ put LaTeX \sevenrm(bf) fix in demo2.tib, numu*.tib, epes.ttx, aps.ttx (4/87)
+ fixed reference to intro.tib in tib.man (4/87)
+ changed array unlmark to type int in tib.c, tibargs.c, tiblist.c (4/87)
+ small changes in tibdoc to reflect changes in tib (5/87)
+ alternate optional version of subroutine dbldash in tibargs.c (5/87)
+version 1.50 (6/1/87)
+ siam formats updated to conform to specs (6/87)
+ minor change to tib.man to make `man -k' work better (7/87)
+ minor spacing change in ams4.ttx (8/87)
+ inserted hskip0pt in Citecomma in Macros.ttx to permit line break (9/87)
+ added journal files ieefll.ttz, ieeabb.ttz (undocumented) (9/87)
+ included unix utility tibabb (undocumented) (9/87)
+ put newline after Citecomma (10/87)
+ included unix utility vitaMake (undocumented) 10/87
+ made .ref default suffix for reference files for tibdex and tiblist (11/87)
+ minor changes in tibdex.c to allow it to run on empty ref file (11/87)
+ put `` '' around book names in ams4.ttx (11/87)
+ changed nextline() in streams.c to check for eof (11/87)
+ noted that FFFFF is file in INSTALL (11/87)
+ changed %D to %ld in locate.c, tibdex.c (more portable) (11/87)
+ included #ifdef HPUX in tib.h (11/87)
+ option on tib and tiblist to initialize numerical flags (11/87)
+ incorporated noninteractive mode in tiblook (11/87)
+ associated changes in tibdoc.tex and INSTALL (11/87)
+version 2.0 (12/1/87)
+ associated changes in tib.man (12/87)
+ demo2, numu, numub, numbs modified; demo2l, numul, numubl,
+ numbsl added (LaTeX doesn't support \sevenrm) (4/88)
+ associated changes in tibdoc.tex and Styles (4/88)
+ fixed tib.c so that output ends in newline (4/88)
+ correction in tibdoc concerning alternate citations (9/88)
+ changed alternate citation in siam.ttx to use brackets (9/88)
+ fixed rcomp1 (crashed in some circumstances) (10/88)
+ %% comment field in reference file (10/88)
+ minor changes in tibdoc.tex (10/88)
+ fixed call to clnup in tiblist.c (10/88)
+ initialized dumped in tib.c (10/88)
+ introduced intext style -- some changes in tib.c and tibargs.c (10/88)
+ introduced ijrr style (10/88)
+ reworked slyd style (10/88)
+ minor change in ijrr style (11/88)
+ eliminated instructions in INSTALL and files for sending by tape (11/88)
+version 2.1 (12/7/88)
+ cleanup features added to Makefile (12/88)
+ Unix-setup included (12/88)
+ fixed tiblook.c to handle multiple index files correctly (4/89)
+ partially fixed tibargs.c (expnd2) and tiblist.c to handle oversize
+ references (M. Plonski) (5/89)
+ commas inserted in siam1.ttx siam2.ttx before last author, etc. (6/89)
+ included spln.tib spln.ttx, changed Styles, documentation, FILES (11/89)
+ slight changes in test.ref (11/89)
+ fixed bug in tib.c concerning handling of % (11/89)
+ incorporated \input processing (tib.c, tibargs.c) (D. Meade) (12/89)
+ associated modifications to tibdoc.tex, tib.man (12/89)
+version 2.2 (12/15/89)
+ changes in acm styles to eliminate missing/double periods (1/90)
+
+P.S.: For Sebastian Kremer's extensions see the file sk/README (hpk)
diff --git a/biblio/tib/INSTALL b/biblio/tib/INSTALL
new file mode 100644
index 0000000000..f5b5625d5d
--- /dev/null
+++ b/biblio/tib/INSTALL
@@ -0,0 +1,71 @@
+Tib installation
+================
+
+Source language: C
+
+For a list of files see MANIFEST.
+
+1. Unpack the tar file. This will create the directories tib,
+ tib/src, tib/index, tib/inputs, tib/doc, tib/elisp, tib/sk,
+ and tib/test.
+
+2. Review the Makefile. With a text editor, change the variables
+ TIBDIR (where the tib file-hierarchy will reside after installation),
+ DESTDIR (where the executables go), MANDIR (where the manpages go
+ (only prefix)), and TEXBIN (the absolute pathname of your TeX-binary).
+
+3. Make certain paths to temporary files in #define statements
+ are correct in tib.h (they are set to /tmp/) (there are
+ three of them).
+
+4. Make certain paths to system descriptions in #include statements
+ are correct in tibargs.c (#include <sys/types.h>, #include <sys/stat.h>).
+
+5. If you like, create tib.cat (`make manual') and/or tibdoc.dvi ('make dvi').
+ If desired, copy tib.man and/or tib.cat to the doc directory.
+
+6. Compile and link the programs.
+ 'make ja' will produce James Alexander's original tib,
+ 'make sk' will produce Sebastian Kremer's (upward compatible)
+ extended tib. (cf. sk/README for information)
+
+7. 'make test' will run a check on the vital components of the system.
+
+8. Install the system.
+ 'make install' only installs the binaries, which is of not much
+ use the first time round.
+ 'make install.all' installs the full system, and
+ 'make install.man' installs the man pages.
+
+12. Change directory to the $TIBDIR/index directory. Install system
+ reference file. Apply tibdex to this reference file.
+ If no system reference file is to be used, create dummy
+ index by applying tibdex to empty file.
+
+13. Clean up as desired (delete object files: 'make clean',
+ remove executables and documentation, too, and reverse
+ changes introduced by SK's extensions: 'make veryclean').
+
+14. Advertise <documentation directory>/intro.tib to TeX users.
+
+15. Comments:
+ a. The siam format styles (siamd.tib, siamn.tib, siamdl.tib,
+ siamnl.tib) contain options on fonts (SIAM specifies smaller
+ type for bibliographies). Check if you want to modify.
+ b. On some machines, the stack can overflow in locate.c from `refs'.
+ I believe making `refs' a global variable should not cause problems.
+ Put the line `struct reftype refs[MAXREFS]...' after the
+ `static struct reftype' declaration.
+ c. In numo.tib and numos.tib, the font ammi10 is used. For some
+ sites, this should be cmmi10.
+ d. Files ieeabb.ttz and ieefll.ttz are included, but not documented.
+ They consist of journal names and abbreviations for ieee journals.
+ They can be installed in the macro subdirectory and made available
+ with either the -i flag on the call to tib or by modifying .tib
+ files.
+ e. A small unix utility named tibabb is included, but not documented.
+ It is called as `tibabb <word>'.
+ It will exhibit all entries in the journal file(s) containing
+ that word, so that the appropriate definition code can be used.
+ It should be modified to local use.
+ f. For Sebastian Kremer's extensions see the file sk/README
diff --git a/biblio/tib/MANIFEST b/biblio/tib/MANIFEST
new file mode 100644
index 0000000000..0030b64c18
--- /dev/null
+++ b/biblio/tib/MANIFEST
@@ -0,0 +1,138 @@
+CHANGES
+FILES
+INSTALL
+Makefile
+NONUNIX
+README.1st
+README.ja
+intro.tib
+tib.h
+tib.man
+tibabb.sh
+tibdoc.tex
+vitaMake
+
+doc:
+Styles
+
+elisp:
+tib.el
+
+index:
+common
+
+inputs:
+Macros.ttx
+acm.tib
+acm.ttx
+acml.tib
+alpha.tib
+alphab.tib
+ams1.ttx
+ams2.ttx
+ams3.ttx
+ams4.ttx
+amsa.tib
+amsabb.ttz
+amsd.tib
+amsfll.ttz
+amsn.tib
+aps.tib
+aps.ttx
+cmp.tib
+cmp.ttx
+demo1.tib
+demo2.tib
+demo2l.tib
+demo3.tib
+demo3l.tib
+demo4.tib
+demo5.tib
+demo6l.tib
+demo6p.tib
+epes.tib
+epes.ttx
+footl.tib
+footp.tib
+ieeabb.ttz
+ieee.tib
+ieee.ttx
+ieefll.ttz
+ijrr.tib
+ijrr.ttx
+intext.tib
+intext.ttx
+jgr.tib
+jgr.ttx
+lala.tib
+lala.ttx
+mscabb.ttz
+mscfll.ttz
+nmdt.tib
+nmdtb.tib
+num.tib
+numb.tib
+numbs.tib
+numo.tib
+numos.tib
+nums.tib
+numu.tib
+numub.tib
+numubl.tib
+numubs.tib
+numubsl.tib
+numul.tib
+numus.tib
+pub.ttz
+siam1.ttx
+siam2.ttx
+siamd.tib
+siamdl.tib
+siamn.tib
+siamnl.tib
+slyd.tib
+slyd.ttx
+spln.tib
+spln.ttx
+std.ttx
+stdbra.ttx
+stdd.ttx
+stdftl.ttx
+stdftp.ttx
+stdpar.ttx
+stdper.ttx
+stdu.ttx
+
+sk:
+Makefile
+README
+swortcp.c
+texbib.1
+texbib.sh*
+texswlist.1
+texswlist.sh*
+tib-2.2-patch
+tib.5
+tib.7
+ttb.1
+ttb.c
+
+src:
+Makefile
+locate.c
+makekey.c
+seek.c
+streams.c
+tib.c
+tibargs.c
+tibdex.c
+tiblist.c
+tiblook.c
+
+test:
+DERHAM.TST
+INDEX.TST
+Makefile
+README.NoMake
+test.ref
+test.tex
diff --git a/biblio/tib/Makefile b/biblio/tib/Makefile
new file mode 100644
index 0000000000..56b35b9470
--- /dev/null
+++ b/biblio/tib/Makefile
@@ -0,0 +1,171 @@
+############# CUSTOMIZATION SECTION
+
+SHELL = /bin/sh
+#
+TIBDIR = /usr/local/lib/texmf/tib
+DESTDIR = /usr/local/bin
+MANDIR = /usr/local/man
+TEXBIN = /usr/local/bin/tex
+
+############# End of customization section
+
+
+
+
+############ TOP-LEVEL GOALS
+
+all:
+ @echo "**************************************************************"
+ @echo ""
+ @echo " make sk produces tib with Sebastian Kremer's"
+ @echo " (sk@thp....) extensions"
+ @echo ""
+ @echo " make ja produces John Alexander's (...)"
+ @echo " original version."
+ @echo ""
+ @echo " make test tests the core system"
+ @echo ""
+ @echo " make install installs the executables ONLY"
+ @echo ""
+ @echo " make install.all installs the complete system"
+ @echo ""
+ @echo "**************************************************************"
+
+
+ja: progs
+ touch .made
+
+sk: progs add-ons
+ touch .sk
+ touch .made
+
+install: exinst install.them
+
+install.all: install.them install.macros install.doc install.man
+
+dvi: doc tibdoc.dvi
+
+manual: tib.cat
+
+test: progs
+ (cd test; make TEXBIN=$(TEXBIN) all)
+
+clean:
+ (cd src; make clean)
+ (cd test; make clean)
+
+veryclean:
+ (cd src; make veryclean)
+ (cd sk; make clean)
+ (cd test; make clean)
+ rm -f doc/tibdoc.tex tib.1 tib.cat doc/intro.tib \
+ tibabb tibdoc.dvi tibdoc.log .sk .made
+ if [ -f inputs/.patched ]; then \
+ (cd inputs; patch -R <../sk/tib-2.2-patch; rm -f .patched); \
+ fi
+
+########### Subordinate goals
+
+progs: src/tib.h
+ ( cd src; make DESTDIR=$(DESTDIR) all)
+ sed -e 's|BBBBB|$(TIBDIR)/inputs|' tibabb.sh > tibabb
+
+add-ons:
+ ( cd sk; make DESTDIR=$(DESTDIR) TIBDIR=$(TIBDIR) TEXBIN=$(TEXBIN) all)
+ if [ ! -f inputs/.patched ]; then \
+ ( cd inputs; patch <../sk/tib-2.2-patch; touch .patched );\
+ fi
+
+tibdoc.dvi:
+ $(TEXBIN) doc/tibdoc.tex
+
+
+doc: doc/tibdoc.tex doc/intro.tib
+
+doc/tibdoc.tex:
+ sed -e 's|AAAAA|$(TIBDIR)/doc|' \
+ -e 's|BBBBB|$(TIBDIR)/inputs|' \
+ -e 's|CCCCC|$(TIBDIR)/index/common|' \
+ tibdoc.tex > doc/tibdoc.tex
+
+tib.1:
+ sed -e 's|AAAAA|$(TIBDIR)/doc|g' \
+ -e 's|BBBBB|$(TIBDIR)/inputs|' \
+ -e 's|CCCCC|$(TIBDIR)/index/common|' \
+ -e 's|EEEEE|$(TIBDIR)/src|' \
+ -e 's|FFFFF|$(TIBDIR)/index/INDEX|' tib.man > tib.1
+
+doc/intro.tib:
+ sed -e 's|AAAAA|$(TIBDIR)/doc|g' intro.tib > doc/intro.tib
+
+src/tib.h:
+ sed -e 's|BBBBB|$(TIBDIR)/inputs|' \
+ -e 's|CCCCC|$(TIBDIR)/index/common|' \
+ -e 's|FFFFF|$(TIBDIR)/index/INDEX|' tib.h > src/tib.h
+
+.made: all
+
+exinst:
+ @echo ""
+ @echo "*** This command will only install the executables."
+ @echo ""
+ @echo "*** To install the complete system and/or the man-pages, do"
+ @echo " 'make install.all' and/or 'make install.man'"
+ @echo ""
+
+install.them: progs
+ install -s -m 755 -c src/tibdex $(DESTDIR)/tibdex
+ install -s -m 755 -c src/tiblook $(DESTDIR)/tiblook
+ install -s -m 755 -c src/tiblist $(DESTDIR)/tiblist
+ install -s -m 755 -c src/tib $(DESTDIR)/tib
+ install -c -m 755 tibabb $(DESTDIR)/tibabb
+ if [ -f .sk ]; then \
+ install -s -c -m 755 sk/swortcp $(TIBDIR)/swortcp; \
+ install -s -c -m 755 sk/ttb $(DESTDIR)/ttb; \
+ install -c -m 755 sk/texbib $(DESTDIR)/texbib; \
+ install -c -m 755 sk/texswlist $(DESTDIR)/texswlist; \
+ fi
+
+tibdir:
+ if [ ! -d $(TIBDIR) ]; then \
+ echo mkdir $(TIBDIR); \
+ mkdir $(TIBDIR); \
+ chmod a+rx $(TIBDIR); \
+ fi
+
+install.doc: doc tibdir
+ if [ ! -d $(TIBDIR)/doc ]; then \
+ echo mkdir $(TIBDIR)/doc; \
+ mkdir $(TIBDIR)/doc; \
+ chmod a+rx $(TIBDIR)/doc; \
+ fi;
+ install -c -m 644 ./doc/* $(TIBDIR)/doc
+
+install.macros: tibdir
+ if [ ! -d $(TIBDIR)/inputs ]; then \
+ echo mkdir $(TIBDIR)/inputs; \
+ mkdir $(TIBDIR)/inputs; \
+ chmod a+rx $(TIBDIR)/inputs; \
+ fi;
+ install -c -m 644 inputs/* $(TIBDIR)/inputs
+ if [ ! -d $(TIBDIR)/index ]; then \
+ echo mkdir $(TIBDIR)/index; \
+ mkdir $(TIBDIR)/index; \
+ chmod a+rx $(TIBDIR)/index; \
+ fi;
+ install -c -m 644 index/* $(TIBDIR)/index
+
+install.man: tib.1
+ install -c -m 644 tib.1 $(MANDIR)/man1/tib.1
+ if [ -f .sk ]; then \
+ install -c -m 644 sk/ttb.1 $(MANDIR)/man1/ttb.1;\
+ install -c -m 644 sk/texbib.1 $(MANDIR)/man1/texbib.1;\
+ install -c -m 644 sk/texswlist.1 $(MANDIR)/man1/texswlist.1;\
+ install -c -m 644 sk/tib.5 $(MANDIR)/man5/tib.5;\
+ install -c -m 644 sk/tib.7 $(MANDIR)/man5/tib-ext.5;\
+ fi
+
+tib.cat: tib.1
+ nroff -h -man tib.1>tib.cat
+
+### end of makefile
diff --git a/biblio/tib/NONUNIX b/biblio/tib/NONUNIX
new file mode 100644
index 0000000000..bb29da5d91
--- /dev/null
+++ b/biblio/tib/NONUNIX
@@ -0,0 +1,66 @@
+1. All file names are eight letters or less with an .extension of
+ three or less letters. Most variables are six or less letters; in any
+ case, the first six letters determine the variables. Also there are both
+ caps and lower-case letters used, in file names, but if they are all made
+ one case, there is no conflict.
+
+2. The program outfname in tibargs.c creates an output file name of the form
+ file-t.tex
+ or
+ file.ref-t.tex
+ for tib and tiblist. If this is illegal change the code in the routine
+ `outfname' in tibargs.c appropriately (maybe look for the last `.' in
+ the name and add extension).
+
+ *** WARNING ***
+ If your system has a limit on the length of file names and/or extensions
+ and silently truncates ones that are too long, there is a danger that tib
+ or tiblist could overwrite existing input files. The subroutine `outfname'
+ should be rewritten to prevent this possibility. One way, although
+ somewhat inconvenient for the user, is to give the output a different
+ extension. A second way, also possibly inconvenient, is to test for the
+ existence of a file with the proposed name before opening the file.
+ If your system will not open an open file, it would be possible to delay
+ closing the input file (fclose(fd)) until the end of the run, although
+ this is not necessarily 100% safe, since for example tiblist could take
+ `test.ref' as input and overwrite `test.tex' as output. The author assumes
+ no responsibility for overwritten files.
+
+3. The directory separator character is '/' for unix. If this is not
+ your separator character, make appropriate changes in tib.h and
+ at the top of tibargs.c in <sys/types.h> and <sys/stat.h>.
+ Also redefine \DIRSEP at the beginning of tibdoc.tex. Similarly,
+ the option character on the program calls is '-' for unix. If this
+ is not your option character, make appropriate changes in tib.h
+ and redefine \OPTCH in tibdoc.tex.
+
+4. The routine qsort is used several places. If qsort is unavailable,
+ an equivalent routine should be used.
+
+5. Tibdex uses a unix routine sort. If sort is unavailable, see the
+ discussion at the beginning of tibdex.c.
+
+6. The files <sys/types.h> and <sys/stat.h> are used in the routine
+ chkindex in tibargs.c in an error check. If they are unavailable,
+ rewrite chkindex to do nothing but return.
+
+7. If make is unavailable, compile and link the programs as indicated:
+ tibdex requires tibdex, streams, makekey;
+ tiblook requires tiblook, locate, seek, streams, makekey;
+ tiblist requires tiblist, tibargs, streams, makekey;
+ tib requires tib, tibargs, locate, seek, streams, makekey.
+
+8. If everything else seems OK and Tib gives lots of "no references found"
+ or "multiple references found", it may be counting end-of-line or new-line
+ characters differently. Make your counting unix compatible or some other
+ fix.
+
+9. The file tib.man is for a unix manual file and can be discarded.
+
+10. Remark. Word-definition pairs are read into memory one at a time, and
+ are sorted as they are read. For large sorted files of such pairs (such
+ as amsabb.ttz, amsfll.ttz), this is a rather inefficient way to do things
+ (it will be reworked in a future version), and may be unacceptable for
+ your system. It may be preferable to either a) rewrite the appropriate
+ code (case 'D' in tibargs.c), or b) not use large files of such pairs. Most
+ of the time at the beginning of a run of tib is used processing these pairs.
diff --git a/biblio/tib/README.1st b/biblio/tib/README.1st
new file mode 100644
index 0000000000..7ecd81d930
--- /dev/null
+++ b/biblio/tib/README.1st
@@ -0,0 +1,44 @@
+
+Enjoy
+ TiB
+
+ James Alexander's
+ bibliographic preprocessor
+ for (La)TeX
+
+in an easy-to-install distribution (at least under UNIX)
+ put together by hans-peter kolb
+ (kolb@sfs.nphil.uni-tuebingen.de).
+
+It includes:
+
+ - JA's original TiB-sources in a reasonable
+ directory structure;
+ - Sebastian Kremer's TiB-extensions (cf. sk/README);
+ - a small EMACS-utility for using TiB with your
+ favorite EMACS-(La)TeX-mode (also by S. Kremer---
+ cf. elisp/tib.el);
+ - a Makefile making installation (with or without
+ SK's extensions) and testing of TiB a lot
+ more comfortable.
+
+Basically, if you have a standard setup with the TeX-tree
+rooted in /usr/local/lib/texmf, all you have to do is
+
+ make ja for the original TiB,
+ or
+ make sk for TiB with SK's extensions
+plus
+ make install.all
+
+and you're set. A different setup requires just a few
+variables at the top of the Makefile to be changed.
+
+But please, do read the file INSTALL anyway...
+
+To make this absolutely clear: All the interesting stuff
+in this distribution is by James Alexander and Sebastian
+Kremer. All I take credit (and blame) for is the
+repackaging and the Makefiles...
+
+Happy TiBbing! ...hpk
diff --git a/biblio/tib/README.ja b/biblio/tib/README.ja
new file mode 100644
index 0000000000..44aa5a8b69
--- /dev/null
+++ b/biblio/tib/README.ja
@@ -0,0 +1,26 @@
+The file INSTALL contains instructions for installing and testing Tib.
+
+The file FILE contains a complete list of files in the Tib package.
+
+The file NONUNIX contains a discussion of portability issues.
+
+The file CHANGES contains a record of changes since version 1.10.
+
+The file intro.tib contains an on-screen introduction to Tib.
+
+The file tibdoc.tex contains a 23-page plain TeX manual for Tib.
+
+
+Undocumented items --- mostly items which have been contributed by users
+and are not yet in the documentation.
+
+ieefll.ttz and ieeabb.ttz --- definition files for all IEEE journals
+ not guaranteed to be "official" ones
+ to use, include appropriate I command in tib
+ file or alias tib with -i flag
+
+tibabb --- unix utility to look up journal codes (-i flag on grep
+ seems to be sun specific)
+
+vitaMake, vita.tib, vita.ttx --- makefile and tib files to create vita or
+ resume by eliminating oneself from authors
diff --git a/biblio/tib/doc/Styles b/biblio/tib/doc/Styles
new file mode 100644
index 0000000000..59dabfa41b
--- /dev/null
+++ b/biblio/tib/doc/Styles
@@ -0,0 +1,45 @@
+Styles available for tib.
+
+Table 1. General styles
+
+ num (default)
+ numo, numos, numb, numbs, numu, numub, numubs, numus,
+ numul, numubl, numubsl
+ alpha, alphab
+ nmdt, nmdtb
+ footp, footl
+ intext, slyd
+Meanings:
+ num standard numerical citations
+ alpha 3 letter alphabetic citations
+ nmdt citations made from names and date
+ foot footnotes
+ o old English
+ b some boldface
+ s sorted (alphabetized)
+ u superscripts (up)
+ p plain TeX
+ l LaTeX
+ intex puts reference in text
+ slyd puts reference in text -- for making slides
+
+Table 2. Journal styles
+
+ acm Association of Computing Machinery (all journals)
+ acml [for LaTeX]
+ American Mathematical Association (all journals)
+ amsa alphabetical citations
+ amsd name-date citations
+ amsn numerical citations
+ aps American Physical Society
+ epes Electrical Power and Energy Systems
+ ieee Institute of Electrical and Electronic Engineers
+ (all journals)
+ ijrr International Journal of Robotics Research
+ jgr Journal of Geophysical Research
+ lala Linear Algebra and its Applications
+ Society for Industrial and Applied Mathematics
+ (all journals)
+ siamd name-date citations [siamdl for LaTeX]
+ siamn numerical citations [siamdn for LaTeX]
+ springer Springer Lecture Notes and other publications
diff --git a/biblio/tib/doc/test.ref b/biblio/tib/doc/test.ref
new file mode 120000
index 0000000000..8ad67fbca9
--- /dev/null
+++ b/biblio/tib/doc/test.ref
@@ -0,0 +1 @@
+../test/test.ref \ No newline at end of file
diff --git a/biblio/tib/doc/test.tex b/biblio/tib/doc/test.tex
new file mode 120000
index 0000000000..411f523589
--- /dev/null
+++ b/biblio/tib/doc/test.tex
@@ -0,0 +1 @@
+../test/test.tex \ No newline at end of file
diff --git a/biblio/tib/elisp/tib.el b/biblio/tib/elisp/tib.el
new file mode 100644
index 0000000000..cdbe91eb5b
--- /dev/null
+++ b/biblio/tib/elisp/tib.el
@@ -0,0 +1,191 @@
+;;;; tib.el - Emacs interface to the Tib bibliography system.
+;;;; Requires Olin Shiver's comint package.
+
+;; Copyright (C) 1990 by Sebastian Kremer <sk@thp.uni-koeln.de>
+
+;; This program 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 1, or (at your option)
+;; any later version.
+;;
+;; This program 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 program; if not, write to the Free Software
+;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+;; Lispdir entry for the Elisp Archive:
+;; tib|Sebastian Kremer|sk@thp.uni-koeln.de
+;; |Enter and check bibliographic references for Tib.
+;; |$Date: 90/10/30 11:10:29 $|$Revision: 1.2 $|
+
+;; For your .emacs:
+
+;; (global-set-key "\C-c[" 'tib-insert-ref)
+;; (global-set-key "\C-c." 'tib-check-reference)
+;; (autoload 'tib-insert-ref "tib" "Insert a tib reference." t)
+;; (autoload 'tib-check-reference "tib" "Check a tib reference." t)
+;; (autoload 'tiblook "tib" "Run tiblook in a buffer." t)
+
+;; Instead of global-set-key, you might want to bind it in
+;; (la)tex-mode-map only, in your (la)tex-mode-hook.
+
+(defconst tib-version
+ "$Id: tib.el,v 1.2 90/10/30 11:10:29 sk Exp $")
+
+(require 'comint)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+;;; Support for editing tex files containing tib references:
+
+(defun tib-insert-ref ()
+ "Insert a tib reference \"[..]\" and put cursor into it."
+ (interactive)
+ (insert "[.")
+ (save-excursion (insert ".]")))
+
+(defconst tib-ref-beginning "\\(\\[\\.\\)\\|\\(,[ \t\n]*\\)"
+ "Regexp matching the beginning of a Tib reference.")
+
+(defconst tib-ref-end "\\(\\.\\]\\)\\|\\(,[ \t\n]*\\)"
+ "Regexp matching the end of a Tib reference.")
+
+(defun tib-reference-at-point ()
+ (save-excursion
+ (let ((low (save-excursion (forward-line -1)
+ (point)))
+ (high (save-excursion (forward-line 1)
+ (end-of-line)
+ (point)))
+ start)
+ (or (setq start
+ (or (if (looking-at "\\[\\.") (match-end 0))
+ (save-excursion
+ (if (re-search-backward tib-ref-beginning low t)
+ (match-end 0)))
+ (save-excursion
+ (if (re-search-forward tib-ref-beginning high t)
+ (match-end 0)))))
+ (error "Could not find beginning of tib reference."))
+ (goto-char start)
+ (or (re-search-forward tib-ref-end high t)
+ (error "Could not find end of tib reference."))
+ (buffer-substring start (match-beginning 0)))))
+
+(defun tib-check-reference (reference)
+ "Check the tib reference around point .
+If not on \"\[.\", has a preference for looking backwards.
+Pops up a *tiblook* buffer and feeds it tib-reference-at-point.
+See also variables tib-ref-beginning and tib-ref-end."
+ (interactive (list (tib-reference-at-point)))
+ (message "Checking '%s'" reference)
+ (let ((buf (current-buffer)))
+ (tiblook) ; pop to tiblook buffer
+ (goto-char (point-max))
+ (insert "\t") ; to separate it visually
+ (insert reference) ; from manual input
+ (comint-send-input)
+ ;; wait for output so that point moves and output is visible:
+ (sit-for 1)
+ (recenter -1)
+ ;; go back to editing buffer:
+ (pop-to-buffer buf)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+;;; The tiblook interface is a customized comint mode.
+
+(defvar tiblook-mode-map (copy-keymap comint-mode-map))
+
+(defvar tiblook-mode-hook nil
+ "*Hook for customising tiblook mode.")
+
+(defvar tiblook-prompt-pattern "^\*"
+ "Regexp matching tiblook's prompt.")
+
+(defun tiblook-mode ()
+ "Major mode for interacting with tiblook.
+Return after the end of the process' output sends the text from the
+ end of process to the end of the current line.
+Return before end of process output copies rest of line to end (skipping
+ the prompt) and sends it.
+
+If you accidentally suspend your process, use \\[comint-continue-subjob]
+to continue it.
+
+\\{tiblook-mode-map}
+Customisation: Entry to this mode runs the hooks on comint-mode-hook and
+tiblook-mode-hook (in that order).
+"
+ (interactive)
+ (comint-mode)
+ (setq comint-prompt-regexp tiblook-prompt-pattern)
+ (setq major-mode 'tiblook-mode)
+ (setq mode-name "Tiblook")
+ (use-local-map tiblook-mode-map)
+ (run-hooks 'tiblook-mode-hook))
+
+(defun tiblook ()
+ "Run an inferior tiblook, with I/O through buffer *tiblook*.
+If buffer exists but tiblook process is not running, make new process.
+If buffer exists and tiblook process is running, just switch to *tiblook*.
+The buffer is put in tiblook-mode.
+See also variable tiblook-prompt-pattern.
+
+\(Type \\[describe-mode] in the tiblook buffer for a list of commands.)"
+ (interactive)
+ (cond ((not (comint-check-proc "*tiblook*"))
+ (set-buffer (make-comint "tiblook" "tiblook"))
+ (tiblook-mode)))
+ (pop-to-buffer "*tiblook*"))
+
+(provide 'tib)
+
+
diff --git a/biblio/tib/index/common b/biblio/tib/index/common
new file mode 100644
index 0000000000..2d9f252ca1
--- /dev/null
+++ b/biblio/tib/index/common
@@ -0,0 +1,32 @@
+a
+and
+for
+the
+an
+be
+of
+in
+at
+on
+by
+to
+no
+as
+with
+some
+about
+jan
+feb
+mar
+apr
+may
+june
+jun
+july
+jul
+aug
+sep
+sept
+oct
+nov
+dec
diff --git a/biblio/tib/inputs/Macros.ttx b/biblio/tib/inputs/Macros.ttx
new file mode 100644
index 0000000000..0944e236f1
--- /dev/null
+++ b/biblio/tib/inputs/Macros.ttx
@@ -0,0 +1,286 @@
+% Basic control strings and macros for tib bibliography formatting,
+% and default definitions.
+%
+% tib and the accompaning TeX macros assume the \catcode of plain TeX
+% e.g. { demarks the beginning of a group, % demarks a comment, etc.
+% See D.E. Knuth, The TeXbook, p. 37.
+% So far as possible, definitions have been reduced to primitive TeX
+% strings, to make tib as compatible with any TeX as possible.
+% Two possible exceptions: the fonts \rm, \sl, \sevenrm are assumed
+% to have been loaded by TeX. If not, this file should be modified below.
+% Also macros for footnotes are tailored to the particular TeX, since
+% the footnote macros of different TeXs differ. Footnote macro files
+% ending in .p are for plain TeX; those ending in .l are for LaTeX.
+%
+% \Resetstrings and \Refformat are called within a local group---
+% the string names will not conflict with uses elsewhere in the document.
+% Other control strings are defined globally. The following is
+% a complete list of such globally defined control strings (except those
+% the user might define in a private tib formatting file).
+%
+% \Resetstrings \Refformat \Rpunct \Lpunct
+% \Lspace \Lperiod \Lcomma \Lquest
+% \Lcolon \Lscolon \Lbang \Lquote
+% \Lqquote \Lrquote \Rspace \Rperiod
+% \Rcomma \Rquest \Rcolon \Rscolon
+% \Rbang \Rquote \Rqquote \Rrquote
+% \Refstd \Refstda \Smallcapsaand \Smallcapseand
+% \Acomma \Aand \Aandd \Ecomma
+% \Eand \Eandd \acomma \aand
+% \aandd \ecomma \eand \eandd
+% \Namecomma \Nameand \Nameandd \Revcomma
+% \Initper \Initgap \Citefont \ACitefont
+% \Authfont \Titlefont \Tomefont \Volfont
+% \Flagfont \Reffont \Smallcapsfont \Underlinemark
+% \Citebrackets \Citeparen \Citesuper \Citenamedate
+% \Lcitemark \Rcitemark \LAcitemark \RAcitemark
+% \LIcitemark \RIcitemark \Citehyphen \Citecomma
+% \Citebreak \Resetstrings \ztest \zstr
+% \Ztest \Zstr
+% \journalarticleformat \conferencereportformat \bookformat
+% \technicalreportformat \bookarticleformat \otherformat
+%
+% This file is \input first in a document processed by tib.
+% Secondly any tib format files are processed. Then the input
+% document file is read and processed. Thus the default definitions
+% of this file can be overridden either in the tib format files
+% or the input document.
+%
+% \Refformat calls macros for creating the actual bibliography listings.
+% Such macros are generally kept in tibtex files and \input by a statement
+% in the tib format file.
+
+\def\Resetstrings{%Clears all strings before processing reference listing.
+% The strings (\Astr, etc.) are fields taken from the database.
+% If the string is present, the appropriate test (\Atest, etc) is set
+% equal to \present---thus allowing the macros to test for the presence
+% or absence of a field. All reference processing is done in a local
+% group--the control string names will not conflict with uses
+% elsewhere in the document.
+ \def\present{ }\let\bgroup={\let\egroup=}%primitive TeX
+ \def\Astr{}\def\astr{}\def\Atest{}\def\atest{}%
+ \def\Bstr{}\def\bstr{}\def\Btest{}\def\btest{}%
+ \def\Cstr{}\def\cstr{}\def\Ctest{}\def\ctest{}%
+ \def\Dstr{}\def\dstr{}\def\Dtest{}\def\dtest{}%
+ \def\Estr{}\def\estr{}\def\Etest{}\def\etest{}%
+ \def\Fstr{}\def\fstr{}\def\Ftest{}\def\ftest{}%
+ \def\Gstr{}\def\gstr{}\def\Gtest{}\def\gtest{}%
+ \def\Hstr{}\def\hstr{}\def\Htest{}\def\htest{}%
+ \def\Istr{}\def\istr{}\def\Itest{}\def\itest{}%
+ \def\Jstr{}\def\jstr{}\def\Jtest{}\def\jtest{}%
+ \def\Kstr{}\def\kstr{}\def\Ktest{}\def\ktest{}%
+ \def\Lstr{}\def\lstr{}\def\Ltest{}\def\ltest{}%
+ \def\Mstr{}\def\mstr{}\def\Mtest{}\def\mtest{}%
+ \def\Nstr{}\def\nstr{}\def\Ntest{}\def\ntest{}%
+ \def\Ostr{}\def\ostr{}\def\Otest{}\def\otest{}%
+ \def\Pstr{}\def\pstr{}\def\Ptest{}\def\ptest{}%
+ \def\Qstr{}\def\qstr{}\def\Qtest{}\def\qtest{}%
+ \def\Rstr{}\def\rstr{}\def\Rtest{}\def\rtest{}%
+ \def\Sstr{}\def\sstr{}\def\Stest{}\def\stest{}%
+ \def\Tstr{}\def\tstr{}\def\Ttest{}\def\ttest{}%
+ \def\Ustr{}\def\ustr{}\def\Utest{}\def\utest{}%
+ \def\Vstr{}\def\vstr{}\def\Vtest{}\def\vtest{}%
+ \def\Wstr{}\def\wstr{}\def\Wtest{}\def\wtest{}%
+ \def\Xstr{}\def\xstr{}\def\Xtest{}\def\xtest{}%
+ \def\Ystr{}\def\ystr{}\def\Ytest{}\def\ytest{}%
+}
+\Resetstrings\def\Ztest{}\def\ztest{}
+
+\def\Refformat{%Determines the kind of reference by the presence or
+% absence of certain fields in the database listing, and calls the
+% appropriate macro.
+ \if\Jtest\present
+ {\if\Vtest\present\journalarticleformat
+ \else\conferencereportformat\fi}
+ \else\if\Btest\present\bookarticleformat
+ \else\if\Rtest\present\technicalreportformat
+ \else\if\Itest\present\bookformat
+ \else\otherformat\fi\fi\fi\fi}
+
+\def\Rpunct{%Default punctuation control strings if the punctuation
+% is to appear after the citation. (tib looks for punctuation to
+% precede the incomplete citation in the input document; the TeX
+% output puts it to the left or right depending on the style of citation.)
+ \def\Lspace{ }%
+ \def\Lperiod{ }% .
+ \def\Lcomma{ }% ,
+ \def\Lquest{ }% ?
+ \def\Lcolon{ }% :
+ \def\Lscolon{ }% ;
+ \def\Lbang{ }% !
+ \def\Lquote{ }% '
+ \def\Lqquote{ }% "
+ \def\Lrquote{ }% `
+ \def\Rspace{}%
+ \def\Rperiod{.}% .
+ \def\Rcomma{,}% ,
+ \def\Rquest{?}% ?
+ \def\Rcolon{:}% :
+ \def\Rscolon{;}% ;
+ \def\Rbang{!}% !
+ \def\Rquote{'}% '
+ \def\Rqquote{"}% "
+ \def\Rrquote{`}% `
+ }
+
+\def\Lpunct{%Default punctuation control strings if the punctuation
+% is to appear before the citation. (tib looks for punctuation to
+% precede the incomplete citation in the input document; the TeX
+% output puts it to the left or right depending on the style of citation.)
+ \def\Lspace{}%
+ \def\Lperiod{\unskip.}% .
+ \def\Lcomma{\unskip,}% ,
+ \def\Lquest{\unskip?}% ?
+ \def\Lcolon{\unskip:}% :
+ \def\Lscolon{\unskip;}% ;
+ \def\Lbang{\unskip!}% !
+ \def\Lquote{\unskip'}% '
+ \def\Lqquote{\unskip"}% "
+ \def\Lrquote{\unskip`}% `
+ \def\Rspace{\spacefactor=1000}%
+ \def\Rperiod{\spacefactor=3000}% .
+ \def\Rcomma{\spacefactor=1250}% ,
+ \def\Rquest{\spacefactor=3000}% ?
+ \def\Rcolon{\spacefactor=2000}% :
+ \def\Rscolon{\spacefactor=1250}% ;
+ \def\Rbang{\spacefactor=3000}% !
+ \def\Rquote{\spacefactor=1000}% '
+ \def\Rqquote{\spacefactor=1000}% "
+ \def\Rrquote{\spacefactor=1000}% `
+ }
+
+\def\Refstd{%Standard control strings for formatting bibliography listings.
+ \def\Acomma{\unskip, }%between multiple author names
+ \def\Aand{\unskip\ and }%between two author names
+ \def\Aandd{\unskip\ and }%between last two of multiple author names
+ \def\Ecomma{\unskip, }%between multiple editor names
+ \def\Eand{\unskip\ and }%between two editor names
+ \def\Eandd{\unskip\ and }%between last two of multiple author names
+ \def\acomma{\unskip, }%same for authors of reviewed material
+ \def\aand{\unskip\ and }%same for authors of reviewed material
+ \def\aandd{\unskip\ and }%same for authors of reviewed material
+ \def\ecomma{\unskip, }%same for translators
+ \def\eand{\unskip\ and }%same for translators
+ \def\eandd{\unskip\ and }%same for translators
+ \def\Namecomma{\unskip, }%same for citations using authors' names
+ \def\Nameand{\unskip\ and }%same for citations using authors' names
+ \def\Nameandd{\unskip\ and }%same for citations using authors' names
+ \def\Revcomma{\unskip, }%between last and first name of reversed name
+ \def\Initper{.\ }%punctuation after initial
+ \def\Initgap{\dimen0=\spaceskip\divide\dimen0 by 2\hskip-\dimen0}%
+ %gap between initials of abbreviated first name
+ }
+
+\def\Smallcapsaand{%Smallcaps redefinition of \Aand and \Aandd for \Refstd
+ \def\Aand{\unskip\bgroup{\Smallcapsfont\ AND }\egroup}%
+ \def\Aandd{\unskip\bgroup{\Smallcapsfont\ AND }\egroup}%
+ \def\eand{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ \def\eandd{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ }
+
+\def\Smallcapseand{%Smallcaps redefinition of \Eand, \Eeand, etc for Refstd
+ \def\Eand{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ \def\Eandd{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ \def\aand{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ \def\aandd{\unskip\bgroup\Smallcapsfont\ AND \egroup}%
+ }
+
+\def\Refstda{%Standard control strings for formatting bibliography listings.
+% \Refstda sets an Ampersand instead of the word "and".
+ \chardef\Ampersand=`\&%primitive TeX
+ \def\Acomma{\unskip, }%between multiple author names
+ \def\Aand{\unskip\ \Ampersand\ }%between two author names
+ \def\Aandd{\unskip\ \Ampersand\ }%between last two of multiple author names
+ \def\Ecomma{\unskip, }%between multiple editor names
+ \def\Eand{\unskip\ \Ampersand\ }%between two editor names
+ \def\Eandd{\unskip\ \Ampersand\ }%between last two of multiple author names
+ \def\acomma{\unskip, }%same for authors of reviewed material
+ \def\aand{\unskip\ \Ampersand\ }%same for authors of reviewed material
+ \def\aandd{\unskip\ \Ampersand\ }%same for authors of reviewed material
+ \def\ecomma{\unskip, }%same for translators
+ \def\eand{\unskip\ \Ampersand\ }%same for translators
+ \def\eandd{\unskip\ \Ampersand\ }%same for translators
+ \def\Namecomma{\unskip, }%same for citations using authors' names
+ \def\Nameand{\unskip\ \Ampersand\ }%same for citations using authors' names
+ \def\Nameandd{\unskip\ \Ampersand\ }%same for citations using authors' names
+ \def\Revcomma{\unskip, }%between last and first name of reversed name
+ \def\Initper{.\ }%punctuation after initial
+ \def\Initgap{\dimen0=\spaceskip\divide\dimen0 by 2\hskip-\dimen0}%
+ %gap between initials of abbreviated first name
+ }
+
+%default fonts
+ \def\Citefont{}%citations
+ \def\ACitefont{}%alternate citations
+ \def\Authfont{}%authors
+ \def\Titlefont{}%titles
+ \def\Tomefont{\sl}%journals or books
+ \def\Volfont{}%volume number of journal
+ \def\Flagfont{}%citation flag
+ \def\Reffont{\rm}%set at beginning of reference listing
+ \def\Smallcapsfont{\sevenrm}%small caps
+ \def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt%flag style
+ {\hss[{\Flagfont#1}]\kern.5em}\ignorespaces}% for references
+
+\def\Underlinemark{\vrule height .7pt depth 0pt width 3pc}%for replacing
+% successive listings of identical author(s) by underline (U option
+% in tib format file or -u flag on call).
+
+\def\Citebrackets{\Rpunct%defaults for putting citations in brackets [].
+ \def\Lcitemark{\def\Cfont{\Citefont}[\bgroup\Cfont}%mark at left of citation
+ \def\Rcitemark{\egroup]}%mark at right of citation
+ \def\LAcitemark{\def\Cfont{\ACitefont}\bgroup\ACitefont}%
+ %mark at left of alternate citation
+ \def\RAcitemark{\egroup}%mark at right of alternate citation
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Cfont}%mark at right of insertion in citation
+ \def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+ \def\Citecomma{\egroup,\hskip0pt\bgroup\Cfont}%
+ %separater for multiple citations
+ \def\Citebreak{}%mark between parts of citation (e.g. author\Citebreak date)
+ }
+
+\def\Citeparen{\Rpunct%defaults for putting citations in parenthesis ().
+ \def\Lcitemark{\def\Cfont{\Citefont}(\bgroup\Cfont}%mark at left of citation
+ \def\Rcitemark{\egroup)}%mark at right of citation
+ \def\LAcitemark{\def\Cfont{\ACitefont}\bgroup\ACitefont}%
+ %mark at left of alternate citation
+ \def\RAcitemark{\egroup}%mark at right of alternate citation
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Cfont}%mark at right of insertion in citation
+ \def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+ \def\Citecomma{\egroup,\hskip0pt\bgroup\Cfont}%
+ %separater for multiple citations
+ \def\Citebreak{}%mark between parts of citation (e.g. author\Citebreak date)
+ }
+
+\def\Citesuper{\Lpunct%defaults for making superscript citations
+ \def\Lcitemark{\def\Cfont{\Citefont}\raise1ex\hbox\bgroup\bgroup\Cfont}%
+ %mark at left of citation
+ \def\Rcitemark{\egroup\egroup}%mark at right of citation
+ \def\LAcitemark{\def\Cfont{\ACitefont}\bgroup\ACitefont}%
+ %mark at left of alternate citation
+ \def\RAcitemark{\egroup}%mark at right of alternate citation
+ \def\LIcitemark{\egroup\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\raise1ex\hbox\bgroup\bgroup\Cfont}%
+ %mark at right of insertion in citation
+ \def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+ \def\Citecomma{\egroup,\hskip0pt\bgroup%
+ \Cfont}%separater for multiple citations
+ \def\Citebreak{}%mark between parts of citation (e.g. author\Citebreak date)
+ }
+
+\def\Citenamedate{\Rpunct%defaults for making name-date citations
+ \def\Lcitemark{%mark at left of citation--also sets internal punctuation
+ \def\Citebreak{\egroup\ [\bgroup\Citefont}%separater in citation
+ \def\Citecomma{\egroup]; %between multiple citations
+ \bgroup\let\uchyph=1\Citefont}(\bgroup\let\uchyph=1\Citefont}%
+ \def\Rcitemark{\egroup])}%mark at right of citation
+ \def\LAcitemark{%mark at left of alternate citation
+ \def\Citebreak{\egroup\ [\bgroup\Citefont}\def\Citecomma{\egroup], %
+ \bgroup\ACitefont }\bgroup\let\uchyph=1\ACitefont}%
+ \def\RAcitemark{\egroup]}%mark at right of alternate citation
+ \def\Citehyphen{\egroup--\bgroup\Citefont}%separater for string of citations
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Citefont}%mark at right of insertion in citation
+ }
diff --git a/biblio/tib/inputs/acm.tib b/biblio/tib/inputs/acm.tib
new file mode 100644
index 0000000000..60e4b96d85
--- /dev/null
+++ b/biblio/tib/inputs/acm.tib
@@ -0,0 +1,21 @@
+#
+# ACM format
+#
+# Note to user: A first name beginning with a small letter will
+# not be properly put in cap small caps style.
+# Before running TeX, change such letters to
+# capitals in the output from tib.
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+AX caps small caps for authors
+AR reverse authors' names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input acm.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/acm.ttx b/biblio/tib/inputs/acm.ttx
new file mode 100644
index 0000000000..a315a57359
--- /dev/null
+++ b/biblio/tib/inputs/acm.ttx
@@ -0,0 +1,153 @@
+%ACM format
+%flag. author. title. etc. volume, no., (date) pages, gov't no., other.
+
+\Refstd\Citebrackets\Smallcapsaand%set general formats for reference list and citations
+\def\Tomefont{\sl}\def\Volfont{\sl}%redefine some fonts
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}.\hskip.5em}}%flag style
+\def\Initper{. }%
+\catcode`$=11 %next 3 lines to get at last token in replacement text
+\def\$top{\$top}\def\Zstr#1{\let\ne$t\$can\expandafter\$can#1\$top}%
+\def\$can#1{\ifx#1\$top\def\ne$t{}%
+ \else\def\zstr{#1}\let\ne$t\$can\fi\ne$t}\catcode`$=3%
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\hskip.2em\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup\Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\hskip.2em\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.2em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup\pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Jtest\present\Comma Presented at \bgroup\Tomefont\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip. }\fi%
+ \if\Btest\present\Comma In \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\fi%
+ \if\Etest\present, \bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{\ }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Tomefont\tstr\egroup\def\Comma{. }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{. }\fi%
+ \if\atest\present\Comma\bgroup\astr\unskip, \if\acnt\present Eds.\else Ed.\fi\def\Comma{\ }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{\unskip\hskip.75em}%
+ \else\if\Itest\present\bgroup\Authfont\Istr\def\Initper{.}\Zstr\Istr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip. }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Tomefont\tstr\egroup\def\Comma{. }%
+ \else\if\btest\present. \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr%
+ \def\Initper{.}\Zstr\Estr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}%
+ \else\if\Itest\present\bgroup\Authfont\Istr\def\Initper{.}\Zstr\Istr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\def\Initper{.}\Zstr\Astr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr%
+ \def\Initper{.}\Zstr\Estr\if\zstr.\else.\fi\egroup\def\Comma{\unskip\hskip.75em}%
+ \else\if\Itest\present\bgroup\Authfont\Istr\def\Initper{.}\Zstr\Istr\if\zstr.\else.\fi\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+
diff --git a/biblio/tib/inputs/acml.tib b/biblio/tib/inputs/acml.tib
new file mode 100644
index 0000000000..623e0f9129
--- /dev/null
+++ b/biblio/tib/inputs/acml.tib
@@ -0,0 +1,17 @@
+#
+# ACM format (LaTeX)
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+AR reverse authors' names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\def\Smallcapsaand{}
+\input\TMACLIB acm.ttx%TeX macros for formatting reference list
+\def\Authfont{\sc}
diff --git a/biblio/tib/inputs/alpha.tib b/biblio/tib/inputs/alpha.tib
new file mode 100644
index 0000000000..46ac5827ee
--- /dev/null
+++ b/biblio/tib/inputs/alpha.tib
@@ -0,0 +1,16 @@
+#
+# alphaflags format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+C2 citation template (alphabetical flags derived from authors' names)
+SAD sort template (authors, date)
+F use special flag (F field) if present
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB stdbra.ttx %TeX macros for formatting reference list
+\Refstda\Citebrackets %set general formats for reference list and citations
+\def\Citecomma{\egroup,\ \bgroup\Cfont } %override a default definition
diff --git a/biblio/tib/inputs/alphab.tib b/biblio/tib/inputs/alphab.tib
new file mode 100644
index 0000000000..270555386b
--- /dev/null
+++ b/biblio/tib/inputs/alphab.tib
@@ -0,0 +1,10 @@
+#
+# bold alphaflags format
+#
+# include basic alphaflags tib format file
+I TMACLIB alpha.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new font styles (boldface citation flags)
+\def\Citefont{\bf}\def\ACitefont{\bf}\def\Flagfont{\bf}\def\Volfont{\bf}
diff --git a/biblio/tib/inputs/ams1.ttx b/biblio/tib/inputs/ams1.ttx
new file mode 100644
index 0000000000..2dd58600a7
--- /dev/null
+++ b/biblio/tib/inputs/ams1.ttx
@@ -0,0 +1,5 @@
+%ams numeric flag style
+%flag followed by period
+
+\def\Flagstyle#1{\Flagfont#1. }%flag style
+\input\TMACLIB ams3.ttx
diff --git a/biblio/tib/inputs/ams2.ttx b/biblio/tib/inputs/ams2.ttx
new file mode 100644
index 0000000000..114279301f
--- /dev/null
+++ b/biblio/tib/inputs/ams2.ttx
@@ -0,0 +1,6 @@
+%ams alpha flag style
+%flag enclosed in brackets
+
+\def\Flagfont{\bf}\def\Citefont{\bf}\def\ACitefont{\bf}%redefine some fonts
+\def\Flagstyle#1{[{\Flagfont#1}] }%flag style
+\input\TMACLIB ams3.ttx
diff --git a/biblio/tib/inputs/ams3.ttx b/biblio/tib/inputs/ams3.ttx
new file mode 100644
index 0000000000..99b2c0cbda
--- /dev/null
+++ b/biblio/tib/inputs/ams3.ttx
@@ -0,0 +1,148 @@
+%ams numeric or alpha flag style
+%flag, author, title, etc., volume (date) pages, gov't no., other
+
+\Refstd\Citebrackets%set general formats for reference list and citations
+\def\Citefont{\bf}\def\Titlefont{\sl}\def\Volfont{\bf}\def\Tomefont{\Reffont}%redefine some fonts
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest,\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.2em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/ams4.ttx b/biblio/tib/inputs/ams4.ttx
new file mode 100644
index 0000000000..b6bbd91673
--- /dev/null
+++ b/biblio/tib/inputs/ams4.ttx
@@ -0,0 +1,156 @@
+%AMS namedate format macros
+%no citation flag, author, date in brackets [], title, etc.,
+% volume, pages, gov't no., other
+
+\Refstd\Rpunct%set general formats for reference list and citations
+\def\Titlefont{\sl}\def\Volfont{\bf}\def\Tomefont{\Reffont}%redefine some fonts
+ \def\Lcitemark{%mark at left of citation--also sets internal punctuation
+ \let\uchyph=1\def\Cfont{\Citefont}%
+ \def\Citebreak{\egroup\ [\bgroup\bf}%
+ \def\Citecomma{\egroup]; \bgroup\Cfont }(\bgroup\Cfont}%
+ \def\Rcitemark{\egroup])}%mark at right of citation
+ \def\LAcitemark{%mark at left of alternate citation
+ \let\uchyph=1\def\Citebreak{\egroup\ [\bgroup\bf}%
+ \def\Cfont{\ACitefont}%
+ \def\Citecomma{\egroup], \bgroup\Cfont }\bgroup\Cfont}%
+ \def\RAcitemark{\egroup]}%mark at right of alternate citation
+ \def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Cfont}%mark at right of insertion in citation
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\if\Ttest\present{}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\if\Ttest\present\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in ``\bgroup\Tomefont\Bstr\/\egroup''\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in ``\bgroup\Tomefont\bstr\egroup''\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma vol. \bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma vol. \bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\bf\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/amsa.tib b/biblio/tib/inputs/amsa.tib
new file mode 100644
index 0000000000..5fcef36359
--- /dev/null
+++ b/biblio/tib/inputs/amsa.tib
@@ -0,0 +1,16 @@
+#
+# AMS alpha flag style
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+C2 alpha citation style
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+U replace successive identical authors with underlines
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB ams2.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/amsabb.ttz b/biblio/tib/inputs/amsabb.ttz
new file mode 100644
index 0000000000..f20bffa78c
--- /dev/null
+++ b/biblio/tib/inputs/amsabb.ttz
@@ -0,0 +1,1854 @@
+#
+#tibinc.ams.abb
+#copyright (C) Mathematical Reviews
+#
+#tibinc.publishers and tibinc.misc.abb are included (I) at end
+#
+D ABHBW2 Abh. Braunschweig. Wiss. Ges.
+D ABHMS Abh. Math. Sem. Univ. Hamburg
+D ABHSA Abh. S\"achs. Akad. Wiss. Leipzig Math.-Natur. Kl.
+D ABSAM Abstracts Amer. Math. Soc.
+D ACARB3 Acad. Roy. Belg. Bull. Cl. Sci. (5)
+D ACARB4 Acad. Roy. Belg. Cl. Sci. M\'em. Collect. 8$\sp {\rm o}$ (2)
+D ACASS Acad. Serbe Sci. Arts Glas
+D ACMTD ACM Trans. Database Systems
+D ACMTM ACM Trans. Math. Software
+D ACTAA Acta Acad. \.Abo. Ser. B
+D ACTAA1 Acta Arith.
+D ACTAA3 Acta Acust.
+D ACTAC Acta Cybernet.
+D ACTAI2 Acta Inform.
+D ACTAM1 Acta Math.
+D ACTAM2 Acta Mech.
+D ACTAM3 Acta Appl. Math.
+D ACTAS Acta Astronom. Sinica
+D ACTAS1 Acta Automat. Sinica
+D ACTAS2 Acta Astrophys. Sinica
+D ACTCC2 Acta Cient. Compostelana
+D ACTCI4 Acta Cienc. Indica Math.
+D ACTCSA Acta Cryst. Sect. A
+D ACTCV2 Acta Cient. Venezolana
+D ACTGS Acta Geophys. Sinica
+D ACTHS Acta Human. Sci. Univ. Sangio Kyotien. Natur. Sci. Ser.
+D ACTMA2 Acta Math. Appl. Sinica
+D ACTMC2 Acta Mexicana Cienc. Tecn.
+D ACTMH Acta Math. Hungar.
+D ACTMS1 Acta Math. Sinica
+D ACTMS3 Acta Mech. Sinica (Beijing)
+D ACTMS5 Acta Math. Sci. (Chinese)
+D ACTMS6 Acta Math. Sci. (English Ed.)
+D ACTMU Acta Math. Univ. Comenian.
+D ACTMV Acta Math. Vietnam.
+D ACTOP Acta Oeconomica Pragensia
+D ACTPA2 Acta Phys. Austriaca
+D ACTPH Acta Phys. Hungar.
+D ACTPPA Acta Phys. Polon. A
+D ACTPPB Acta Phys. Polon. B
+D ACTPS1 Acta Phys. Sinica
+D ACTPS2 Acta Phys. Slovaca
+D ACTPS4 Acta Polytech. Scand. Math. Comput. Sci. Ser.
+D ACTSM Acta Sci. Math. (Szeged)
+D ACTSN2 Acta Sci. Natur. Univ. Pekinensis
+D ACTSN3 Acta Sci. Natur. Univ. Fudan
+D ACTSN4 Acta Sci. Natur. Univ. Jilin.
+D ACTSN5 Acta Sci. Natur. Univ. Sunyatseni
+D ACTSN6 Acta Sci. Natur. Univ. Intramongolicae
+D ACTSN7 Acta Sci. Natur. Univ. Amoien.
+D ACTTA Acta Tech. Acad. Sci. Hungar.
+D ACTTC Acta Tech. \v CSAV
+D ACTUC2 Acta Univ. Carolin.---Math. Phys.
+D ACTUL Acta Univ. Lodz. Folia Philos.
+D ACTUL1 Acta Univ. Lodz. Folia Math.
+D ACTUO Acta Univ. Oulu. Ser. A Sci. Rerum Natur. Math.
+D ACTUP Acta Univ. Palack. Olomuc. Fac. Rerum Natur. Chem.
+D ACTUP2 Acta Univ. Palack. Olomuc. Fac. Rerum Natur. Math.
+D ACTUP3 Acta Univ. Palack. Olomuc. Fac. Rerum Natur. Phys.
+D ACTUTA Acta Univ. Tamper. Ser. A
+D ACTUW1 Acta Univ. Wratislav. Mat. Fiz. Astronom.
+D ACTUZ Acta Agricultkurae Univ. Zhejiangensis
+D ACUST Acustica
+D ADASA1 Adapt. Sistemy Avtomat. Upravleniya
+D ADVAM2 Adv. in Math.
+D ADVAM3 Adv. in Appl. Mech.
+D ADVAP2 Adv. in Appl. Probab.
+D ADVIA Adv. in Appl. Math.
+D ADVIM Adv. in Mech.
+D ADVIM1 Adv. in Math. (Beijing)
+D ADVIP Adv. in Phys.
+D AEQUM Aequationes Math.
+D AFRIM Afrika Mat.
+D AIAAJ AIAA J.
+D AICHJ AIChE J.
+D AKANA3 Akad. Nauk Armyan. SSR Dokl.
+D AKANA4 Akad. Nauk Azerba\u \i dzhan. SSR Dokl.
+D AKANK1 Akad. Nauk Kazakh. SSR Trudy Astrofiz. Inst.
+D AKANS2 Akad. Nauk SSSR Sibirsk. Otdel. Inst. Geol. Geofiz. Trudy
+D AKANS3 Akad. Nauk SSSR Sibirsk. Otdel. Vychisl. Tsentr Preprint
+D AKANU4 Akad. Nauk Ukrain. SSR Inst. Mat. Preprint
+D AKANU5 Akad. Nauk SSSR Inst. Prikl. Mat. Preprint
+D AKANUM Akad. Nauka Umjet. Bosne Hercegov. Rad. Odjelj. Prirod. Mat. Nauk
+D AKANUT Akad. Nauka Umjet. Bosne Hercegov. Rad. Odjelj. Tehn. Nauka
+D AKUSZ1 Akust. Zh.
+D ALGEL1 Algebra and Logic
+D ALGEL2 Algebra i Logika
+D ALGEU Algebra Universalis
+D ALGGG Algebras Groups Geom.
+D ALIBM Aligarh Bull. Math.
+D ALIJS Aligarh J. Statist.
+D ALKML Alkalmaz. Mat. Lapok
+D ALMAG1 Alma-Atin. Gos. Ped. Inst. Uchen. Zap.
+D AMEJM Amer. J. Math.
+D AMEJM1 Amer. J. Math. Management Sci.
+D AMEJP Amer. J. Phys.
+D AMEMM Amer. Math. Monthly
+D AMERN Amer. Natur.
+D AMERS1 Amer. Sci.
+D AMERS2 Amer. Statist.
+D ANABC2 An. Acad. Brasil. Ci\^enc.
+D ANALM Anal. Math.
+D ANALY Analysis
+D ANALY1 Analysis (Oxford)
+D ANANT Anal. Num\'er. Th\'eor. Approx.
+D ANASD Ann. Acad. Sci. Fenn. Ser. A I Math. Dissertationes
+D ANASM Ann. Acad. Sci. Fenn. Ser. A I Math.
+D ANINM An. Inst. Mat. Univ. Nac. Aut\'onoma M\'exico
+D ANINS Ann. I.N.S.\'E.\'E.
+D ANNEN Ann. \'Ecole Nat. Sup. M\'ec. Nantes
+D ANNFS Ann. Fac. Sci. Univ. Nat. Za\"\i re (Kinshasa) Sect. Math.-Phys.
+D ANNFS1 Ann. Fac. Sci. Toulouse Math. (5)
+D ANNFS2 Ann. Fac. Sci. Naut.
+D ANNGAG Ann. Global Anal. Geom.
+D ANNGC Ann. Gifu College Ed.
+D ANNHC Ann. Hist. Comput.
+D ANNHG Ann. Human Genetics
+D ANNIF Ann. Inst. Fourier (Grenoble)
+D ANNIHN Ann. Inst. H. Poincar\'e. Anal. Non Lin\'eaire
+D ANNIHP Ann. Inst. H. Poincar\'e. Phys. Th\'eor.
+D ANNIHS Ann. Inst. H. Poincar\'e. Probab. Statist.
+D ANNIS Ann. Inst. Statist. Math.
+D ANNIU Ann. Istit. Univ. Navale Napoli
+D ANNJA Ann. Japan Assoc. Philos. Sci.
+D ANNMA2 Ann. of Math. (2)
+D ANNMP2 Ann. Mat. Pura Appl. (4)
+D ANNMS Ann. Math. Sil.
+D ANNNE Ann. Nuclear Energy
+D ANNPA Ann. Pure Appl. Logic
+D ANNPH1 Ann. Physics
+D ANNPH3 Ann. Physik (7)
+D ANNPM Ann. Polon. Math.
+D ANNPR2 Ann. Probab.
+D ANNRA Annual Rep. Asahikawa Med. College
+D ANNRF1 Annual Rep. Fac. Ed. Iwate Univ.
+D ANNSC Ann. of Sci.
+D ANNSE2 Ann. Sci. \'Ecole Norm. Sup. (4)
+D ANNSK Ann. Sci. Kanazawa Univ.
+D ANNSM Ann. Sci. Math. Qu\'ebec
+D ANNSM1 Ann. Soc. Math. Polon. Ser. I Comment. Math. Prace Mat.
+D ANNSM2 Ann. Soc. Math. Polon. Ser. II Wiadom. Mat.
+D ANNSM3 Ann. Soc. Math. Polon. Ser. III Mat. Stos.
+D ANNSM4 Ann. Soc. Math. Polon. Ser. IV Fund. Inform.
+D ANNSN3 Ann. Scuola Norm. Sup. Pisa Cl. Sci. (4)
+D ANNSS Ann. Soc. Sci. Bruxelles S\'er. I
+D ANNST Ann. Statist.
+D ANNSU4 Ann. Sci. Univ. Besan\c con M\'ec. Phys. Th\'eor. (3)
+D ANNSU6 Ann. Sci. Univ. Clermont-Ferrand II Math.
+D ANNSU7 Ann. Sci. Univ. Clermont-Ferrand II. Probab. Appl.
+D ANNSU8 Ann. Sci. Univ. Besan\c con M\'ec. Phys. Th\'eor. (4)
+D ANNUF2 Ann. Univ. Ferrara Sez. VII (N.S.)
+D ANNUM2 Ann. Univ. Mariae Curie-Sk\l odowska Sect. A
+D ANNUS2 Ann. Univ. Sci. Budapest. E\"otv\"os Sect. Math.
+D ANNUS4 Annuaire Univ. Sofia Fac. Math. M\'ec.
+D ANNUS5 Ann. Univ. Sci. Budapest. Sect. Comput.
+D ANNUT Ann. Univ. Turku. Ser. A I
+D ANSTUF An. \c Stiin\c t. Univ. ``Al. I. Cuza''\ Ia\c si Sec\c t. I b Fiz. (N.S.)
+D ANSTUM An. \c Stiin\c t. Univ. ``Al. I. Cuza''\ Ia\c si Sec\c t. I a Mat. (N.S.)
+D ANUNBF An. Univ. Bucure\c sti Fiz.
+D ANUNBM An. Univ. Bucure\c sti Mat.
+D ANUNC3 An. Univ. Craiova Mat. Fiz.-Chim.
+D ANUNT3 An. Univ. Timi\c soara \c Stiin\c t. Fiz.
+D ANUNTM An. Univ. Timi\c soara Ser. \c Stiin\c t. Mat.
+D ANZOS2 Anz. \"Osterreich. Akad. Wiss. Math.-Natur. Kl.
+D APLMA Apl. Mat.
+D APPLA Applicable Anal.
+D APPMC Appl. Math. Comput.
+D APPMM Appl. Math. Modelling
+D APPMM1 Appl. Math. Mech.
+D APPMM2 Appl. Math. Mech. (English Ed.)
+D APPMM3 Appl. Math. Math. Comput.
+D APPMN Appl. Math. Notes
+D APPMO Appl. Math. Optim.
+D APPMR AMR
+D APPNM Appl. Numer. Math.
+D APPSR Appl. Sci. Res.
+D APPTA Approx. Theor. Appl.
+D ARAGJ Arab Gulf J. Sci. Res.
+D ARAJM Arab J. Math.
+D ARAJS Arabian J. Sci. Engrg.
+D ARBUB \.Arbok Univ. Bergen Mat.-Natur. Ser.
+D ARCAT2 Arch. Automat. Telemech.
+D ARCEW Arch. Elektrotech.
+D ARCHA Archaeoastronomy
+D ARCHE2 Arch. Hist. Exact Sci.
+D ARCHI Archimede
+D ARCIH2 Arch. Internat. Hist. Sci.
+D ARCMA Arch. Mech. (Arch. Mech. Stos.)
+D ARCMB1 Arch. Math. (Basel)
+D ARCMB2 Arch. Math. (Brno)
+D ARCML2 Arch. Math. Logik Grundlag.
+D ARCRM Arch. Rational Mech. Anal.
+D ARKHI Arkhimedes
+D ARKMA Ark. Mat.
+D ARSCO2 Ars Combin.
+D ARTII Artificial Intelligence
+D ASTER Ast\'erisque
+D ASTIB Astin Bull.
+D ASTRA Astronom. and Astrophys.
+D ASTRA1 Astrometr. i Astrofiz.
+D ASTRJ2 Astrophys. J.
+D ASTRN Astronom. Nachr.
+D ASTRO1 Astrofizika
+D ASTRO2 Astrophysics
+D ASTRZ1 Astronom. Zh.
+D ASTSS Astrophys. and Space Sci.
+D ATASP2 Atti Accad. Sci. Lett. Arti Palermo Parte I (4)
+D ATAST Atti Accad. Sci. Torino Cl. Sci. Fis. Mat. Natur.
+D ATTAF Atti Accad. Sci. Siena Fisiocrit. (14)
+D ATTAL Atti Accad. Ligure Sci. Lett.
+D ATTANM Atti Accad. Naz. Lincei Mem. Cl. Sci. Fis. Mat. Natur. Sez. Ia (8
+D ATTANR Atti Accad. Naz. Lincei Rend. Cl. Sci. Fis. Mat. Natur. (8)
+D ATTAP Atti Accad. Peloritana Pericolanti Cl. Sci. Fis. Mat. Natur.
+D ATTASB Atti Accad. Sci. Istit. Bologna Cl. Sci. Fis. Rend. (13)
+D ATTASL Atti Accad. Sci. Lett. Arti Palermo Ser. (5)
+D ATTBL AT\&T Bell Labs. Tech. J.
+D ATTSM Atti Sem. Mat. Fis. Univ. Modena
+D ATTSP Atti Soc. Peloritana Sci. Fis. Mat. Natur.
+D ATTTJ AT\&T Tech. J.
+D AUNIG An. Univ. Gala\c ti Metal.
+D AUSCJ Austral. Comput. J.
+D AUSJP Austral. J. Phys.
+D AUSJS Austral. J. Statist.
+D AUSMS Austral. Math. Soc. Gaz.
+D AUTDM Automat. Document. and Math. Linguistics
+D AUTOM Automatica---J. IFAC
+D AUTRC Automat. Remote Control
+D AVTIT3 Avtomat. Izchisl. Tekhn.
+D AVTOM1 Avtomatika
+D AVTOT1 Avtomat. i Telemekh.
+D AVTSU3 Avtomat. Sistemy Upravleniya i Pribory Avtomat.
+D AVTUV1 Avtomat. Upravlenie i Vychisl. Tekhn.
+D AVTVT1 Avtomat. i Vychisl. Tekhn. (Riga)
+D AVTVT2 Avtomat. i Vychisl. Tekhn. (Minsk)
+D AZEGU3 Azerba\u \i dzhan. Gos. Univ. Uchen. Zap.
+D BALGP1 Balashov. Gos. Ped. Inst. Uchen. Zap.
+D BANEC Bangabasi Evening College Mag.
+D BARGP1 Barnaul. Gos. Ped. Inst. Uchen. Zap.
+D BAYAWA Bayer. Akad. Wiss. Math.-Natur. Kl. Abh. (N.F.)
+D BAYAWS Bayer. Akad. Wiss. Math.-Natur. Kl. Sitzungsber.
+D BAYMS Bayreuth. Math. Schr.
+D BEHAS Behavioral Sci.
+D BEIAG1 Beitr\"age Algebra Geom.
+D BEIJX Beijing Daxue Xuebao
+D BEINM Beitr\"age Numer. Math.
+D BEIPP Beitr. Plasmaphys.
+D BEISD Beijing Shifan Daxue Xuebao
+D BELJO Belg. J. Oper. Res. Statist. Comput. Sci.
+D BERWG Ber. Wiss.-Gesch.
+D BIBLF Biblio. France
+D BIOLC Biol. Cybernet.
+D BIOME1 Biometrics
+D BIOME2 Biometrika
+D BIOMJ Biometrical J.
+D BIOPJ Biophys. J.
+D BIT BIT
+D BIT1 BIT (Tokyo)
+D BIULT Biul. Lubel. Towarz. Nauk. Mat. Fiz. Chem.
+D BJUIT1 Byull. Inst. Teoret. Astronom.
+D BOGUD Bo\u gazi\c ci \"Univ. Dergisi
+D BOLGS Boll. Geod. Sci. Affini
+D BOLLI Bol. Lima
+D BOLMA Bol. Mat.
+D BOLSB Bol. Soc. Brasil. Mat.
+D BOLSM2 Bol. Soc. Mat. Mexicana (2)
+D BOLSP Bol. Soc. Paran. Mat. (2)
+D BOLSP1 Bol. Soc. Port. Mat.
+D BOLSS Boll. Storia Sci. Mat.
+D BOLUM3 Boll. Un. Mat. Ital. A (6)
+D BOLUM4 Boll. Un. Mat. Ital. B (6)
+D BOLUM5 Boll. Un. Mat. Ital. D (6)
+D BOLUM6 Boll. Un. Mat. Ital. C (6)
+D BOLUMS Boll. Un. Mat. Ital. Suppl.
+D BRIJH British J. Hist. Sci.
+D BRIJM2 British J. Math. Statist. Psych.
+D BRIJP British J. Philos. Sci.
+D BRINB British Nat. Biblio.
+D BUASN1 Bull. Acad. Serbe Sci. Arts Cl. Sci. Math. Natur.
+D BULAI Bull. Astronom. Inst. Czechoslovakia
+D BULAM2 Bull. Austral. Math. Soc.
+D BULAM3 Bull. Amer. Math. Soc. (N.S.)
+D BULAPT Bull. Acad. Polon. Sci. S\'er. Sci. Tech.
+D BULAU Bull. Aichi Univ. Ed. Natur. Sci.
+D BULCM Bull. Calcutta Math. Soc.
+D BULCR2 Bull. Central Res. Inst. Fukuoka Univ.
+D BULCS1 Bull. College Sci. Univ. Ryukyus
+D BULDG Bull. Dept. Gen. Ed. College Sci. Tech. Nihon Univ.
+D BULEA Bull. European Assoc. Theoret. Comput. Sci.
+D BULFE Bull. Fac. Ed. Kagoshima Univ. Natur. Sci.
+D BULFEM Bull. Fac. Engrg. Miyazaki Univ.
+D BULFEU Bull. Fac. Ed. Utsunomiya Univ. Sect. 2
+D BULFEW Bull. Fac. Ed. Wakayama Univ. Natur. Sci.
+D BULFG Bull. Fac. Gen. Ed. Gifu Univ.
+D BULFL Bull. Fac. Liberal Arts Nagasaki Univ.
+D BULFL1 Bull. Fac. Liberal Arts Chukyo Univ.
+D BULFS2 Bull. Fac. Sci. Engrg. Chuo Univ.
+D BULFS3 Bull. Fac. Sci. Ibaraki Univ. Ser. A
+D BULFS5 Bull. Fac. Sci. King Abdul Aziz Univ.
+D BULFS6 Bull. Fac. School Ed. Hiroshima Univ. Part II
+D BULFS7 Bull. Fac. Sci. Assiut Univ. A
+D BULFS8 Bull. Fac. Sci. Assiut Univ. B
+D BULFT Bull. Fac. Textile Sci. Kyoto Univ. Industrial Arts Textile Fiber
+D BULFU Bull. Fukuoka Univ. Ed. III
+D BULGE Bull. Gen. Ed. Dokkyo Univ. School Medicine
+D BULIA Bull. Inst. Adv. Res. Fukuoka Univ.
+D BULIC Bull. Inform. Cybernet.
+D BULII Bull. Inst. Internat. Statist.
+D BULIM1 Bull. Inst. Math. Acad. Sinica
+D BULIM2 Bull. Inst. Math. Appl.
+D BULIM3 Bull. Iranian Math. Soc.
+D BULIP3 Bul. Inst. Politehn. Ia\c si Sec\c t. I
+D BULIP4 Bul. Inst. Politehn. Bucure\c sti Ser. Electrotehn. Energet. Automat. Calc. Electron.
+D BULIP5 Bul. Inst. Politehn. Bucure\c sti Ser. Mec. Construc. Ma\c s. Transport. Aeronave
+D BULIP6 Bul. Inst. Politehn. Bucure\c sti Ser. Chim.
+D BULIP7 Bul. Inst. Politehn. Bucure\c sti Ser. Electrotehn.
+D BULIP8 Bul. Inst. Politehn. Bucure\c sti. Ser. Mec.
+D BULIP9 Bul. Inst. Politehn. Bucure\c sti Ser. Construc. Ma\c s.
+D BULIPA Bul. Inst. Politehn. Bucure\c sti Ser. Automat.
+D BULIPB Bul. Inst. Politehn. Bucure\c sti Ser. Electron.
+D BULIPD Bul. Inst. Politehn. Bucure\c sti Ser. Energet.
+D BULIPT Bul. Inst. Politehn. Bucure\c sti Ser. Transport. Aeronave
+D BULJP Bulgar. J. Phys.
+D BULKI Bull. Kyushu Inst. Tech. Math. Natur. Sci.
+D BULKUB Bull. Kyoto Univ. Ed. Ser. B
+D BULLG Bull. G\'eod\'esique
+D BULLJ Bull. JSME
+D BULLKM Bull. Korean Math. Soc.
+D BULLM Bull. London Math. Soc.
+D BULLM1 Bull. Math.
+D BULLS BullSig(110)
+D BULMA Bull. Math. Assoc. India
+D BULMB2 Bull. Math. Biol.
+D BULMM1 Bull. Malaysian Math. Soc. (2)
+D BULMS3 Bull. Math. Soc. Sci. Math. R. S. Roumanie (N.S.)
+D BULNI Bull. Nagoya Inst. Tech.
+D BULNT Bull. Number Theory Related Topics
+D BULNU Bull. Nara Univ. Ed. Natur. Sci.
+D BULOP Bull. Osaka Prefect. Tech. College
+D BULPA Bull. Polish Acad. Sci. Math.
+D BULPA1 Bull. Polish Acad. Sci. Tech. Sci.
+D BULRL Bull. Res. Lab. Precision Mach. Electron.
+D BULSB Bull. Satyendranath Bose Inst. Phys. Sci.
+D BULSE2 Bull. Sci. Engrg. Res. Lab. Waseda Univ.
+D BULSF Bull. Soc. Franco-Japon. Sci. Pures Appl.
+D BULSI6 Bul. \c Stiin\c t. Inst. Politehn. Cluj-Napoca Ser. Chim. Metal.
+D BULSI7 Bul. \c Stiin\c t. Inst. Politehn. Cluj-Napoca Ser. Electrotehn.-Energet.-Inform.
+D BULSI8 Bul. \c Stiin\c t. Inst. Politehn. Cluj-Napoca Ser. Mat.-Fiz.-Mec. Apl.
+D BULSM2 Bull. Sci. Math. (2)
+D BULSM3 Bull. Soc. Math. Belg. S\'er. A
+D BULSM4 Bull. Soc. Math. Belg. S\'er. B
+D BULSM5 Bull. Soc. Math. Gr\`ece (N.S.)
+D BULSMF Bull. Soc. Math. France
+D BULSR Bull. Soc. Roy. Sci. Li\`ege
+D BULSS2 Bull. Soc. Sci. Lett. \L \'od\'z
+D BULSS3 Bull. Seismol. Soc. Amer.
+D BULST3 Bul. \c Stiin\c t. Tehn. Inst. Politehn. ``Traian Vuia''\ Timi\c soara
+D BULTG2 Bull. Tokyo Gakugei Univ. (4)
+D BULTW Bull. T\=okai Women's College
+D BULUB1 Bul. Univ. Bra\c sov Ser. C
+D BULUG Bul. Univ. Gala\c ti Fasc. II Mat. Fiz. Mec. Teoret.
+D BULUO2 Bull. Univ. Osaka Prefect. Ser. A
+D BULYU Bull. Yamagata Univ. Natur. Sci.
+D BUTSC Butl. Soc. Catalana Ci\`enc. F\'\i s. Qu\'\i m. Mat. (2)
+D BUTSM1 Butl. Sec. Mat.
+D BYTE Byte
+D CAHCE2 Cahiers Centre \'Etudes Rech. Op\'er.
+D CAHTG Cahiers Topologie G\'eom. Diff\'erentielle
+D CAHTG1 Cahiers Topologie G\'eom. Diff\'erentielle Cat\'egoriques
+D CAIJK Caijing Kexue
+D CALCO Calcolo
+D CALSA Calcutta Statist. Assoc. Bull.
+D CANJM Canad. J. Math.
+D CANJP Canad. J. Phys.
+D CANJS Canad. J. Statist.
+D CANMB Canad. Math. Bull.
+D CARJM Caribbean J. Math.
+D CASPM \v Casopis P\v est. Mat.
+D CELEM Celestial Mech.
+D CENTA Centaurus
+D CHEEJ Chem. Engrg. J.
+D CHEKD Chengdu Keji Daxue Xuebao
+D CHEMP Chem. Phys.
+D CHEPL Chem. Phys. Lett.
+D CHIAA Chinese Astronom. Astrophys.
+D CHIAM1 Chinese Ann. Math. Ser. A
+D CHIAM2 Chinese Ann. Math. Ser. B
+D CHIJC Chinese J. Comput.
+D CHIJM Chinese J. Math.
+D CHINP Chinese Phys.
+D CHIOR Chinese J. Oper. Res.
+D CHISA Chinese Sci. Abstracts Part A
+D CHITA1 China Sci. Tech. Abstracts Ser. I Math. Astronom. Phys.
+D CHIUS Chittagong Univ. Stud. Part II Sci.
+D CHOIK Cho-s\u on In-min Kong-hwa-kuk Kwa-hak-w\u on T'ong-bo
+D CIENC Ci\^enc. Cultura
+D CIENM1 Cienc. Mat. (Havana)
+D CIENT Cienc. Tecn.
+D CIFVT1 Tsifr. Vychisl. Tekhn. i Programmirovanie
+D CIRCE Circ\'e
+D CIRSS Circuits Systems Signal Process.
+D CISMM1 Chisl. Metody Mekh. Sploshn. Sredy
+D CLAQG Classical Quantum Gravity
+D CLCLC CL \&\ CL---Comput. Linguist. Comput. Lang.
+D CMCCC CMCI CompuMath Citation Index
+D COGNS Cognitive Sci.
+D COLLM Colloq. Math.
+D COLLM1 Collect. Math.
+D COLMJ College Math. J.
+D COMAG Comput. Aided Geom. Design
+D COMBI Combinatorica
+D COMBI1 Combinat\'oria
+D COMCA CCA
+D COMDI2 Comm. Dublin Inst. Adv. Stud. Ser. A
+D COMFSA Comm. Fac. Sci. Univ. Ankara S\'er. A$\sb 3$ Astronom.
+D COMFSM Comm. Fac. Sci. Univ. Ankara S\'er. A$\sb 1$ Math.
+D COMFSP Comm. Fac. Sci. Univ. Ankara S\'er. A$\sb 2$ Phys.
+D COMMA1 Comm. ACM
+D COMMA2 Comm. Algebra
+D COMMA3 Comput. Math. Appl.
+D COMMA4 Comput. Methods Appl. Mech. Engrg.
+D COMMC Comm. Cognition
+D COMMH Comment. Math. Helv.
+D COMMP Comm. Math. Phys.
+D COMMP1 Comment. Math. Prace Mat.
+D COMMS Comment. Math. Special Issue
+D COMMSA Comm. Statist. A---Theory Methods
+D COMMSB Comm. Statist. B---Simulation Comput.
+D COMMU2 Comment. Math. Univ. St. Paul.
+D COMMU3 Comment. Math. Univ. Carolin.
+D COMOR Comput. Oper. Res.
+D COMPA Comm. Pure Appl. Math.
+D COMPC Comput. Phys. Comm.
+D COMPD Comm. Partial Differential Equations
+D COMPEE Comput. Electr. Engrg.
+D COMPEL Compel
+D COMPF Comput. \&\ Fluids
+D COMPJ Comput. J.
+D COMPM Comment. Phys.-Math.
+D COMPM1 Comment. Phys.-Math. Dissertationes
+D COMPN Comput. Networks
+D COMPN1 Comput. Networks ISDN Systems
+D COMPO Compositio Math.
+D COMPR CR
+D COMPS Comput. Surveys
+D COMPS2 Comput. \&\ Structures
+D COMPS3 Comput. Sci.
+D COMPU Computing
+D COMSD Comput. Statist. Data Anal.
+D COMSSM Comm. Statist. Stochastic Models
+D COMTP Comm. Theoret. Phys.
+D COMVT Complex Variables Theory Appl.
+D CONCE Conceptus
+D CONGN Congr. Numer.
+D CONPP Contrib. Plasma Phys.
+D CONSA Constr. Approx.
+D CONSM Confer. Sem. Mat. Univ. Bari
+D CONTA Control Theory Appl.
+D CONTC Control Cybernet.
+D CRACA C. R. Acad. Bulgare Sci.
+D CRACA1 C. R. Acad. Sci. Paris S\'er. I Math.
+D CRACA2 C. R. Acad. Sci. Paris S\'er. II M\'ec. Phys. Chim. Sci. Univers Sci. Terre
+D CRACA4 C. R. Acad. Sci. S\'er. G\'en. Vie Sci.
+D CRACS C. R. Acad. Sci. Paris Vie Acad\'emique
+D CRACS1 C. R. Acad. Sci. Paris S\'er. D
+D CRMAR C. R. Math. Rep. Acad. Sci. Canada
+D CRYPT Cryptologia
+D CSQCS CSQ--Comput. Statist. Quart.
+D CURCC Current Contents/CompuMath
+D CURMP CMP
+D CUTRJ Cuttington Res. J.
+D CWINE CWI Newslett.
+D CYBCT Cybernet. Comput. Tech.
+D CYBER1 Cybernetica
+D CYBER2 Cybernetics
+D CYBES Cybernet. Systems
+D CZEJPB Czechoslovak J. Phys. B
+D CZEMJ Czechoslovak Math. J.
+D DALGX Dalian Gongxueyuan Xuebao
+D DAQIK Daqi Kexue
+D DATAM Datamation
+D DEFSJ Defence Sci. J.
+D DELPR Delft Progr. Rep.
+D DEMOM Demonstratio Math.
+D DENTG Denshi Tsushin Gakkai Ronbunshi Sect. A-D
+D DEUBW1 Deutsch. Biblio. W\"ochentl. Verzeich. Neuerscheinungen Sofordienst (CIP)
+D DEUBWA Deutsch. Biblio. W\"ochentl. Verzeich. Amtsblatt Deutsch. Bibliothek Ser. A
+D DEUBWB Deutsch. Biblio. W\"ochentl. Verzeich. Amtsblatt Deutsch. Bibliothek Ser. B
+D DEUBWC Deutsch. Biblio. W\"ochentl. Verzeich. Ser. C
+D DEUNRA Deutsch. Nationalbiblio. Reihe A
+D DEUNRB Deutsch. Nationalbiblio. Reihe B
+D DIAGR Diagrammes
+D DIALE Dialectica
+D DIALO Dialogue
+D DIFFE Differential Equations
+D DIFFU1 Differentsial'nye Uravneniya
+D DIFGM Differentsial'naya Geom. Mnogoobraz. Figur
+D DIFUP2 Differentsial'nye Uravneniya i Primenen.
+D DIGIP Digital Process.
+D DINAS Dinamika Sistem
+D DINPM1 Dinamika i Prochnost'\ Mashin
+D DINSS1 Dinamika Sploshn. Sredy
+D DIRRJ Dir\=as\=at Res. J. Natur. Sci.
+D DISAM Discrete Appl. Math.
+D DISCM Discrete Math.
+D DISMR Dissertationes Math. (Rozprawy Mat.)
+D DOGBD Do\u ga Bilim Dergisi. Ser. A$\sb 1$: Mat. Fiz. Kim. Astronom. Yerbilim.
+D DOGBD1 Do\u ga Bilim Dergisi. Ser. A$\sb 1$: Mat. Fiz. Kim. Astronom.
+D DOGMF Do\=ga. Ser. A$\sb {1}$: Mat. Fiz. Kim. Astronom. Yerbilim.
+D DOKAN1 Dokl. Akad. Nauk BSSR
+D DOKAN2 Dokl. Akad. Nauk SSSR
+D DOKAN4 Dokl. Akad. Nauk UzSSR
+D DOKAN5 Dokl. Akad. Nauk Tadzhik. SSR
+D DOKANA Dokl. Akad. Nauk Ukrain. SSR Ser. A
+D DONGX Dongbei Gongxueyuan Xuebao
+D DONSX Dongbei Shida Xuebao
+D DOPANA Dopov\=\i d\=\i \ Akad. Nauk Ukra\"\i n. RSR Ser. A.
+D DUKMJ Duke Math. J.
+D DUREG D\"urerner Geschichtsbl\"atter
+D DVTDV2 DVT---D\v ejiny V\v ed Tech.
+D ECOCE2 Econom. Comput. Econom. Cybernet. Stud. Res.
+D ECONL Econom. Lett.
+D ECONO Econometrica
+D ECONR Econometric Rev.
+D EDFBD EDF Bull. Direction \'Etudes Rech. S\'er. C Math. Inform.
+D EDSTM Ed. Stud. Math.
+D EESNT2 Eesti NSV Tead. Akad. F\"u\"us. Inst. Uurim.
+D EESNT4 Eesti NSV Tead. Akad. Toimetised F\"u\"us.-Mat.
+D EGYSJ Egyptian Statist. J.
+D EKOMM \`Ekonom. i Mat. Metody
+D EKOMO Ekonom.-Mat. Obzor
+D ELECJ2 Electron. Comm. Japan
+D ELEIK2 Elektron. Informationsverarb. Kybernet.
+D ELEMM Elem. Math.
+D ENCYC Encyclia
+D ENGFM Engrg. Fracture Mech.
+D ENGRC Engrg. Cybernetics
+D ENSEM2 Enseign. Math. (2)
+D EREGU1 Erevan. Gos. Univ. Uchen. Zap. Estestv. Nauki
+D ERGTD Ergodic Theory Dynamical Systems
+D ESTAD Estad\'\i stica
+D ESTAE Estad\'\i st. Espa\~nola
+D EUCLG Euclides (Groningen)
+D EURJC European J. Combin.
+D EURJO European J. Oper. Res.
+D EURJP European J. Phys.
+D EXPNA Exploration Nature
+D EXPOM Exposition. Math.
+D FASCM Fasc. Math.
+D FIBOQ Fibonacci Quart.
+D FIZEC1 Fiz. \`Elementar. Chastits i Atom. Yadra
+D FIZMS Fiz.-Mat. Spis. B\b ud lgar. Akad. Nauk.
+D FLUID Fluid Dynamics
+D FLUMS Fluid Mech.---Soviet Res.
+D FOLFS Folia Fac. Sci. Natur. Univ. Purk. Brun. Phys.
+D FORMS Formosan Sci.
+D FORTP2 Fortschr. Phys.
+D FOUCE Found. Control Engrg.
+D FOUNP Found. Phys.
+D FUDAX Fudan Xuebao
+D FUJES Fu Jen Stud.
+D FUKUS Fukuoka Univ. Sci. Rep.
+D FUNAA Functional Anal. Appl.
+D FUNAC Funct. Approx. Comment. Math.
+D FUNAP1 Funktsional. Anal. i Prilozhen.
+D FUNDI3 Fund. Inform.
+D FUNDM Fund. Math.
+D FUNDS Fund. Sci.
+D FUNKE Funkcial. Ekvac.
+D FUZDX Fuzhou Daxue Xuebao
+D FUZSS Fuzzy Sets and Systems
+D FUZZM Fuzzy Math.
+D GACMM2 Gaceta Mat. (1) (Madrid)
+D GANIB Ga\d nita Bh\=arat\=\i
+D GANIT Ga\d nita
+D GANIT1 Ganit
+D GAOWY Gaoneng Wuli yu He Wuli
+D GAOXJ Gaodeng Xuexiao Jisuan Shuxue Xuebao
+D GAUGG Gauss-Ges. G\"ottingen Mitt.
+D GAZEM Gaz. Math.
+D GAZMB Gaz. Mat. (Bucharest)
+D GAZMM Gaz. Mat. Mat. Inform.
+D GENER Gen. Ed. Rev. Toho Univ.
+D GENRG2 Gen. Relativity Gravitation
+D GEOAF Geophys. Astrophys. Fluid Dynamics
+D GEOMD2 Geom. Dedicata
+D GESNE Gesnerus
+D GIDRK1 Gidromekh. (Kiev)
+D GLAMJ Glasgow Math. J.
+D GLASM2 Glas. Mat. Ser. III
+D GODSU Godishnik Sofi\u \i sk. Univ. Fak. Mat. Mekh.
+D GODSU1 Godishnik Sofi\u \i sk. Univ. Fiz. Fak.
+D GODVI1 Godishnik Vissh. Inzh.-Stroitel. Inst.
+D GODVP1 Godishnik Vissh. Ped. Inst. Shumen Prirod.-Mat. Fak.
+D GODVU1 Godishnik Vissh. Uchebn. Zaved. Tekhn. Mekh.
+D GODVU2 Godishnik Vissh. Uchebn. Zaved. Tekhn. Fiz.
+D GODVU3 Godishnik Vissh. Uchebn. Zaved. Prilozhna Mat.
+D GRAPC Graphs Combin.
+D GRATO1 Gravitatsiya i Teor. Otnositel'nosti
+D GUJSR Gujarat Statist. Rev.
+D HADJS Hadronic J. Suppl.
+D HADRJ Hadronic J.
+D HAEGD Harbin Gongye Daxue Xuebo
+D HAKSC Hak-sul Chi
+D HANDX Hangzhou Daxue Xuebao
+D HARRJ Hardy-Ramanujan J.
+D HEIDZ Heilongjiang Daxue Ziran Kexue Xuebao
+D HEIKA Heimatbl\"atter Kreises Aachen
+D HELPA Helv. Phys. Acta
+D HEWPJ Hewlett-Packard J.
+D HIRMJ Hiroshima Math. J.
+D HISPL Hist. Philos. Logic
+D HISTM Historia Math.
+D HISTO Historia Sci.
+D HISTS Hist. of Sci.
+D HISTT Hist. Tech.
+D HITJA Hitotsubashi J. Arts Sci.
+D HOKMJ Hokkaido Math. J.
+D HOMME Homme
+D HONMJ Honam Math. J.
+D HOUJM Houston J. Math.
+D HUAGX Huazhong Gong Xueyuan Xuebao
+D HUASD Huadong Shifan Dazue Xuebao. Ziran Kexue Ban
+D HUASX Huazhong Shiyuan Xuebao
+D HUNSD Hunan Shifan Daxue Xuebao. Ziran Kexue Ban
+D HUNSX Hunan Shiyuan Xuebao
+D IAPAR IAPQR Trans.
+D IBMJR IBM J. Res. Develop.
+D IEETA1 IEEE Trans. Acoust. Speech Signal Process.
+D IEETA3 IEEE Trans. Antennas and Propagation
+D IEETA6 IEEE Trans. Aerospace Electron. Systems
+D IEETA7 IEEE Trans. Automat. Control
+D IEETC1 IEEE Trans. Circuits and Systems
+D IEETC2 IEEE Trans. Comm.
+D IEETC4 IEEE Trans. Comput.
+D IEETG3 IEEE Trans. Geosci. Remote Sensing
+D IEETI2 IEEE Trans. Inform. Theory
+D IEETM IEEE Trans. Microwave Theory Tech.
+D IEETP IEEE Trans. Plasma Sci.
+D IEETS1 IEEE Trans. Software Engrg.
+D IEETS2 IEEE Trans. Systems Man Cybernet.
+D ILLJM Illinois J. Math.
+D IMAJA IMA J. Appl. Math.
+D IMAJM IMA J. Math. Appl. Med. Biol.
+D IMAJN IMA J. Numer. Anal.
+D INDAM Indag. Math.
+D INDJH2 Indian J. Hist. Sci.
+D INDJM1 Indian J. Math.
+D INDJM2 Indian J. Mech. Math.
+D INDJPM Indian J. Pure Appl. Math.
+D INDJPP Indian J. Pure Appl. Phys.
+D INDUM1 Indiana Univ. Math. J.
+D INDUM2 Indust. Math.
+D INFAC Inform. and Control (Shenyang)
+D INFOC2 Inform. and Control
+D INFOS3 Inform. Sci.
+D INFPL2 Inform. Process. Lett.
+D INSHE Inst. Hautes \'Etudes Sci. Publ. Math.
+D INSMS Inst. Math. Statist. Bull.
+D INSPT Inst. Politehn. ``Traian Vuia''\ Timi\c soara. Lucr\u ar. Sem. Mat. Fiz.
+D INSUR Insurance Math. Econom.
+D INTEO Integral Equations Operator Theory
+D INTER Internat. Econom. Rev.
+D INTJC3 Internat. J. Comput. Math.
+D INTJC4 Internat. J. Control
+D INTJC5 Internat. J. Comput. Inform. Sci.
+D INTJC6 Internat. J. Circuit Theory Appl.
+D INTJE1 Internat. J. Electron.
+D INTJE2 Internat. J. Engrg. Sci.
+D INTJF Internat. J. Fracture
+D INTJG1 Internat. J. Game Theory
+D INTJG3 Internat. J. Gen. Systems
+D INTJM2 Internat. J. Math. Ed. Sci. Tech.
+D INTJM4 Internat. J. Math. Math. Sci.
+D INTJN Internat. J. Neuroscience
+D INTJN1 Internat. J. Non-Linear Mech.
+D INTJN2 Internat. J. Numer. Methods Engrg.
+D INTJN3 Internat. J. Numer. Anal. Methods Geomech.
+D INTJN4 Internat. J. Numer. Methods Fluids
+D INTJP1 Internat. J. Plast.
+D INTJQ Internat. J. Quantum Chem.
+D INTJQ1 Internat. J. Quantum Chem.
+D INTJS1 Internat. J. Solids and Structures
+D INTJS2 Internat. J. Systems Sci.
+D INTJT Internat. J. Theoret. Phys.
+D INTLR Internat. Logic Rev.
+D INTMN Internat. Math. News
+D INTRR Internat. J. Robotics Res.
+D INTSR Internat. Statist. Rev.
+D INTSR1 Interdisciplinary Sci. Rev.
+D INVEM Invent. Math.
+D INVEO Investigaci\'on Oper.
+D INVEP Inverse Problems
+D INZFZ1 Inzh.-Fiz. Zh.
+D IRAJS Iraqi J. Sci.
+D IRIMS Irish Math. Soc. Newslett.
+D ISIS Isis
+D ISLJS Islamabad J. Sci.
+D ISRJM Israel J. Math.
+D ISRJT Israel J. Tech.
+D ISSOA1 Issled. Operatsi\u \i \ i ASU
+D ISSPM Issled. Prikl. Mat.
+D ISSTP1 Issled. Teor. Plastin i Obolochek
+D ISTAI Istor.-Astronom. Issled.
+D ISTLAA Istit. Lombardo Accad. Sci. Lett. Rend. A
+D ISTMI Istor.-Mat. Issled.
+D ISTTU \.Istanbul Tek. \"Univ. B\"ul.
+D ISTUF \.Istanbul \"Univ. Fen Fak. Mecm. Ser. A
+D ISTVS2 Istit. Veneto Sci. Lett. Arti Atti Cl. Sci. Mat. Natur.
+D IZVAN4 Izv. Akad. Nauk SSSR Ser. Mat.
+D IZVAN7 Izv. Akad. Nauk UzSSR Ser. Fiz.-Mat. Nauk
+D IZVAN9 Izv. Akad. Nauk Kirgiz. SSR
+D IZVANB Izv. Akad. Nauk Armyan. SSR Ser. Mat.
+D IZVANC Izv. Akad. Nauk Armyan. SSR Ser. Mekh.
+D IZVAND Izv. Akad. Nauk Armyan. SSR Ser. Tekhn. Nauk
+D IZVANE Izv. Akad. Nauk Azerba\u \i dzhan. SSR Ser. Fiz.-Tekhn. Mat. Nauk
+D IZVANI Izv. Akad. Nauk Kazakh. SSR Ser. Fiz.-Mat.
+D IZVANJ Izv. Akad. Nauk Moldav. SSR Ser. Fiz.-Tekhn. Mat. Nauk
+D IZVANM Izv. Akad. Nauk SSSR Mekh. Tverd. Tela
+D IZVANO Izv. Akad. Nauk SSSR Ser. Fiz. Atmosfer. i Okeana
+D IZVANP Izv. Akad. Nauk SSSR Mekh. Zhidk. Gaza
+D IZVANQ Izv. Akad. Nauk SSSR Tekhn. Kibernet.
+D IZVANR Izv. Akad. Nauk Tadzhik. SSR Otdel. Fiz.-Mat. Khim. i Geol. Nauk
+D IZVANS Izv. Akad. Nauk Armyan. SSR Ser. Fiz.
+D IZVANU Izv. Akad. Nauk Turkmen. SSR Ser. Fiz.-Tekhn. Khim. Geol. Nauk
+D IZVANZ Izv. Akad. Nauk SSSR Ser. Fiz. Zemli
+D IZVAS1 Izv. Acad. Sci. USSR Atmospher. Ocean. Phys.
+D IZVSK3 Izv. Severo-Kavkaz. Nauchn. Tsentra Vyssh. Shkoly Estestv. Nauk.
+D IZVSK4 Izv. Severo-Kavkaz. Nauchn. Tsentra Vyssh. Shkoly Tekhn. Nauk.
+D IZVSO2 Izv. Sibirsk. Otdel. Akad. Nauk SSSR Ser. Tekhn. Nauk
+D IZVTP1 Izv. Tomsk. Politekhn. Inst.
+D IZVVG1 Izv. Voronezh. Gos. Ped. Inst.
+D IZVVU3 Izv. Vyssh. Uchebn. Zaved. Fiz.
+D IZVVU4 Izv. Vyssh. Uchebn. Zaved. Mat.
+D IZVVU5 Izv. Vyssh. Uchebn. Zaved. Radiofiz.
+D IZVVU6 Izv. Vyssh. Uchebn. Zaved. Aviatsion. Tekhn.
+D JACOS J. Acoust. Soc. Amer.
+D JAHDM Jahresber. Deutsch. Math.-Verein.
+D JAHRS Jahangirnagar Rev. Part A: Sci.
+D JALGE J. Algebra
+D JALGO J. Algorithms
+D JAMEC J. Amer. Chem. Soc.
+D JAMES J. Amer. Statist. Assoc.
+D JANAM J. Analyse Math.
+D JANIE J. Animal Ecology
+D JANUS Janus
+D JAPJM2 Japan. J. Math. (N.S.)
+D JAPPM1 J. Appl. Math. Mech.
+D JAPPM2 J. Appl. Mech. Tech. Phys.
+D JAPPP2 J. Appl. Probab.
+D JAPPT2 J. Approx. Theory
+D JASAT J. Asahikawa Tech. College
+D JASSC J. Assoc. Comput. Mach.
+D JASTS J. Astronaut. Sci.
+D JATMS J. Atmospheric Sci.
+D JAUSMA J. Austral. Math. Soc. Ser. A
+D JAUSMB J. Austral. Math. Soc. Ser. B
+D JBIHM J. Bihar Math. Soc.
+D JBIOM J. Biomech.
+D JBUHA Jbuch. Heidelberger Akad. Wiss.
+D JCENC J. Central China Teachers College
+D JCHEP J. Chem. Phys.
+D JCHES J. Chem. Soc. Faraday Trans. II
+D JCHEU J. Chekiang Univ.
+D JCHII J. Chinese Inst. Engrs.
+D JCHIU J. China Univ. Sci. Tech.
+D JCHUS J. Chengdu Univ. Sci. Tech.
+D JCLAS J. Classification
+D JCOLEB J. College Engrg. Nihon Univ. Ser. B
+D JCOLI J. Colloid Interface Sci.
+D JCOLS J. College Sci. Univ. Riyadh
+D JCOMA J. Comput. Appl. Math.
+D JCOMC J. Comput. Chem.
+D JCOMI2 J. Combin. Inform. System Sci.
+D JCOMM J. Comput. Math.
+D JCOMP2 J. Comput. Phys.
+D JCOMS J. Comput. System Sci.
+D JCOMTA J. Combin. Theory Ser. A
+D JCOMTB J. Combin. Theory Ser. B
+D JCUNS J. Cuneiform Stud.
+D JDALI J. Dalian Inst. Tech.
+D JDIFE J. Differential Equations
+D JDIFG2 J. Differential Geom.
+D JDIGS J. Digital Systems
+D JEASC J. East China Norm. Univ. Natur. Sci. Ed.
+D JECOD J. Econom. Dynamics Control
+D JECON2 J. Econometrics
+D JECONT J. Econom. Theory
+D JELAS J. Elasticity
+D JELIM J. Elisha Mitchell Sci. Soc.
+D JENGM J. Engrg. Math.
+D JENGP J. Engrg. Phys.
+D JFACE1 J. Fac. Engrg. Chiba Univ.
+D JFACE2 J. Fac. Engrg. Univ. Tokyo Ser. B
+D JFACE4 J. Fac. Ed. Saga Univ.
+D JFACL1 J. Fac. Liberal Arts Yamaguchi Univ. Natur. Sci.
+D JFACS1 J. Fac. Sci. Shinshu Univ.
+D JFACS2 J. Fac. Sci. Univ. Tokyo Sect. IA Math.
+D JFINA J. Finance
+D JFLUM J. Fluid Mech.
+D JFRAI J. Franklin Inst.
+D JFUDU J. Fudan Univ. Natur. Sci.
+D JFUNA2 J. Funct. Anal.
+D JFUZU J. Fuzhou Univ.
+D JGEOM2 J. Geom.
+D JGEOP J. Geom. Phys.
+D JGRAT J. Graph Theory
+D JHANU J. Hangzhou Univ.
+D JHARI J. Harbin Inst. Tech.
+D JHEIU J. Heilongjiang Univ. Natur. Sci.
+D JHISA1 J. Hist. Astronom.
+D JHISA2 J. Hist. Arabic Sci.
+D JHOKUA J. Hokkaido Univ. Ed. Sect. II A
+D JHUAI1 J. Huachung Inst. Tech.
+D JHUAU J. Huazhong Univ. Sci. Tech. (English Ed.)
+D JHUAU1 J. Huazhong Univ. Sci. Tech.
+D JHUNN J. Hunan Norm. Univ. Natur. Sci. Ed.
+D JILDZ Jilin Daxue Ziran Kexue Xuebao
+D JINDA J. Indian Acad. Math.
+D JINDI J. Indian Inst. Sci.
+D JINDM2 J. Indian Math. Soc. (N.S.)
+D JINDS J. Indian Statist. Assoc.
+D JINDS1 J. Indian Soc. Statist. Oper. Res.
+D JINDS2 J. Indian Soc. Agricultural Statist.
+D JINFO J. Inform. Optim. Sci.
+D JINFP1 J. Inform. Process.
+D JINNM J. Inner Mongolia Univ.
+D JINTA2 J. Internat. Assoc. Math. Geol.
+D JINTE J. Integral Equations
+D JISUS Jisuan Shuxue
+D JJAPS J. Japan Statist. Soc.
+D JKARU J. Karnatak Univ. Sci.
+D JKARU1 J. Karadeniz Univ. Fac. Arts Sci. Ser. Math.-Phys.
+D JKORM J. Korean Math. Soc.
+D JKORS J. Korean Statist. Soc.
+D JLANU J. Lanzhou Univ.
+D JLOGP J. Logic Programming
+D JLONM2 J. London Math. Soc. (2)
+D JMADK J. Madurai Kamaraj Univ.
+D JMATA J. Math. Anal. Appl.
+D JMATB J. Math. Biol.
+D JMATE J. Math. Econom.
+D JMATK J. Math. Kyoto Univ.
+D JMATP4 J. Math. Phys.
+D JMATP5 J. Math. Phys. Sci.
+D JMATP6 J. Math. Psych.
+D JMATP7 J. Math. Pures Appl.
+D JMATR J. Math. Res. Exposition
+D JMATS2 J. Math. Sci.
+D JMATS3 J. Math. Soc. Japan
+D JMATS5 J. Math. Sociol.
+D JMATT J. Math. Tokushima Univ.
+D JMATW J. Math. (Wuhan)
+D JMAUA J. Maulana Azad College Tech.
+D JMECP J. Mech. Phys. Solids
+D JMECT J. M\'ec. Th\'eor. Appl.
+D JMULA J. Multivariate Anal.
+D JNANA J\~n\=an\=abha
+D JNANI J. Nanjing Inst. Tech.
+D JNANU J. Nanjing Univ.
+D JNATA J. Nat. Acad. Math. India
+D JNATC J. Nat. Chiao Tung Univ.
+D JNATS2 J. Natur. Sci. Math.
+D JNATS3 J. Natur. Sci. Beijing Normal Univ.
+D JNIGM J. Nigerian Math. Soc.
+D JNONC J. Non-Classical Logic
+D JNORI J. Northeast Inst. Tech.
+D JNORN J. Northeast Normal Univ.
+D JNORN1 J. Northeast Normal Univ.
+D JNORU J. Northwest Univ.
+D JNUMM J. Numer. Methods Comput. Appl.
+D JNUMT J. Number Theory
+D JOPER2 J. Oper. Res. Soc. Japan
+D JOPET J. Operator Theory
+D JOPTS1 J. Opt. Soc. Amer. A
+D JOPTT2 J. Optim. Theory Appl.
+D JORIM J. Orissa Math. Soc.
+D JOUTS J. Time Ser. Anal.
+D JPHIL J. Philos. Logic
+D JPHIL2 J. Philos.
+D JPHYS1 J. Phys. Soc. Japan
+D JPHYS2 J. Physique
+D JPHYSA J. Phys. A
+D JPHYSB J. Phys. B
+D JPREF J. Predent. Fac. Gifu College Dent.
+D JPROR J. Proc. Roy. Soc. New South Wales
+D JPURA1 J. Pure Appl. Algebra
+D JPURA2 J. Pure Appl. Sci.
+D JPURM J. Pure Math.
+D JRECM J. Recreational Math.
+D JREIA J. Reine Angew. Math.
+D JRESN1 J. Res. Nat. Bur. Standards
+D JRHEO J. Rheol.
+D JROYSA J. Roy. Statist. Soc. Ser. A
+D JROYSB J. Roy. Statist. Soc. Ser. B
+D JROYSC J. Roy. Statist. Soc. Ser. C
+D JSAIU J. Saitama Univ. Fac. Ed. Math. Natur. Sci.
+D JSCIR1 J. Sci. Res.
+D JSHAC J. Shanghai Chiaotung Univ.
+D JSHAC1 J. Shandong College Oceanol.
+D JSHAJ J. Shanghai Jiaotong Univ.
+D JSHAU J. Shanghai Univ. Sci. Tech.
+D JSHAU1 J. Shanxi Univ. Natur. Sci. Ed.
+D JSHIU2 J. Shivaji Univ. (Sci.)
+D JSKKU J. Sung Kyan Kwan Univ.
+D JSOCA J. Soc. Architect. Hist.
+D JSOUG J. South Gujarat Univ.
+D JSOUV J. Sound Vibration
+D JSOVM J. Soviet Math.
+D JSTAC2 J. Statist. Comput. Simulation
+D JSTAP2 J. Statist. Plann. Inference
+D JSTAP3 J. Statist. Phys.
+D JSTAR J. Statist. Res.
+D JSTRM J. Structural Mech.
+D JSUNY J. Sun Yatsen Univ.
+D JSYMC J. Symb. Comput.
+D JSYML J. Symbolic Logic
+D JSYSS1 J. Systems Sci. Math. Sci.
+D JTECB J. Tech. Bengal Engrg. College
+D JTECP J. Tech. Phys.
+D JTECR J. Technikon Res. Ed.
+D JTENS J. Tensor Soc. India
+D JTHEB J. Theoret. Biol.
+D JTHEN J. Theoret. Neurobiol.
+D JTHES J. Thermal Stresses
+D JTIAU J. Tianjin Univ.
+D JTONU J. Tongji Univ.
+D JTSIU J. Tsinghua Univ.
+D JTSUC J. Tsuda College
+D JUNIB2 J. Univ. Bombay (N.S.)
+D JUNIK J. Univ. Kuwait Sci.
+D JUNIP J. Univ. Poona
+D JVLSC J. VLSI Comput. Syst.
+D JWARC2 J. Warburg Courtauld Inst.
+D JWUHI J. Wuhan Inst. Hydraulic Electr. Engrg.
+D JWUHI1 J. Wuhan Inst. Bldg. Materials
+D JWUHI2 J. Wuhan Inst. Iron Steel Tech.
+D JWUHU J. Wuhan Univ. Natur. Sci. Ed.
+D JXIAJ J. Xi'an Jiaotong Univ.
+D JXINU J. Xinjiang Univ. Nat. Sci.
+D JXUNS J. Xiamen Univ. Nat. Sci.
+D JZHEU J. Zhejiang Univ.
+D KARMA Karachi Math. Assoc. Riazi (Souvenir)
+D KARUJ Karachi Univ. J. Sci.
+D KARUM Karadeniz Univ. Math. J.
+D KEISC Keio Sci. Tech. Rep.
+D KENKG Kenky\^u Kiy\^o---Gakush\^uin K\^ot\^oka
+D KEXTC Kexue Tongbao (Chinese)
+D KEXTE Kexue Tongbao (English Ed.)
+D KEXUT1 Kexue Tansuo
+D KIBEK Kibernetika (Kiev)
+D KIBVT1 Kibernet. i Vychisl. Tekhn.
+D KINAM Kinam Rev. F\'\i s.
+D KINFN Kinemat. Fiz. Nebesn. Tel
+D KIRGP1 Kirov. Gos. Ped. Inst. Uchen. Zap.
+D KNILD1 Knizhnaya Letopis' Dopl. Vyp.
+D KNILU1 Knizhnaya Letopis' Ukazatel' Ser. Izdani##undt\u \i \
+D KNIZL1 Knizhnaya Letopis'
+D KOBJM Kobe J. Math.
+D KODMJ Kodai Math. J.
+D KOZMS2 K\"ozl.---MTA Sz\'amit\'astech. Automat. Kutat\'o Int. Budapest
+D KRIST1 Kristallografiya
+D KUIGP3 Ku\u \i byshev. Gos. Ped. Inst. Nauchn. Trudy
+D KUMJSM Kumamoto J. Sci. (Math.)
+D KVANE1 Kvantovaya \`Elektronika
+D KWAGU Kwansei Gakuin Univ. Annual Stud.
+D KWAHN2 Kwart. Hist. Nauk. Tech.
+D KYBEP Kybernetika (Prague)
+D KYBER Kybernetes
+D KYBPS Kybernetika (Prague) Suppl.
+D KYUMJ Kyungpook Math. J.
+D LANDX Lanzhou Daxue Xuebao
+D LARSS Large Scale Systems
+D LATME3 Latv. Mat. Ezhegodnik
+D LATPZV Latvijas PSR Zin\=at\c n. Akad. V\=estis
+D LATPZZ Latvijas PSR Zin\=at$\lhook$ n. Akad. V\=estis Fiz. Tehn. Zin\=at$\lhook$ n. S\=er.
+D LENGP3 Leninabad. Gos. Ped. Inst. Uchen. Zap.
+D LENGU3 Leningrad. Gos. Univ. Uchen. Zap. Ser. Mat. Nauk
+D LEONA Leonardo
+D LETMP Lett. Math. Phys.
+D LETNC2 Lett. Nuovo Cimento (2)
+D LIBEM Libertas Math.
+D LIBJS Libyan J. Sci.
+D LINAA2 Linear Algebra Appl.
+D LINGP Linguist. Philos.
+D LINMA Linear and Multilinear Algebra
+D LITFS Litovsk. Fiz. Sb.
+D LITMJ Lithuanian Math. J.
+D LITMS Litovsk. Mat. Sb.
+D LIXUX Lixue Xuebao
+D LIXYS1 Lixue yu Shijian
+D LOGIA2 Logique et Anal. (N.S.)
+D LOSAS Los Alamos Sci.
+D LUNLL Lunli Liwu
+D LUSJS Luso J. Sci. Tech.
+D MAGNET Magnetohydrodynamics
+D MAGNG Magnit. Gidrodinamika
+D MAKAN Makedon. Akad. Nauk. Umet. Oddel. Prirod.-Mat. Nauk. Prilozi
+D MAKAN1 Makedon. Akad. Nauk. Umet. Oddel. Mat.-Tehn. Nauk. Prilozi
+D MANAS Management Sci.
+D MANUG Manuscripta Geod.
+D MANUM Manuscripta Math.
+D MARGP1 Mari Gos. Ped. Inst. Uchen. Zap.
+D MATAC Mat. Apl. Comput.
+D MATBI Mat. Bilten
+D MATCE Math. Comput. Ed.
+D MATCH Match
+D MATCR Mat. Costarricense
+D MATCS Math. Comput. Simulation
+D MATCU Math. Colloq. Univ. Cape Town
+D MATEB1 Matematika (Sarajevo)
+D MATEC Matematiche (Catania)
+D MATEN Mat. Ense\~nanza
+D MATES Math. Ed. (Siwan)
+D MATFI1 Mat. Fiz. Neline\u \i n. Mekh.
+D MATFM Mat.-Fys. Medd. Danske Vid. Selsk.
+D MATFU Mat. Fak. Univ. Kiril Metodij Skopje Godi\v sen Zb.
+D MATHA Math. Ann.
+D MATHA1 Math. Ag\=og\=e
+D MATHB1 Math. Balkanica
+D MATHB2 Math. Biosci.
+D MATHC Mathematica (Cluj)
+D MATHC1 Math. Chronicle
+D MATHC3 Math. Comp.
+D MATHE Mathematika
+D MATHE2 Math. Ed.
+D MATHF Math. Forum
+D MATHG Math. Gaz.
+D MATHI Math. Intelligencer
+D MATHJ Math. Japon.
+D MATHM1 Math. Mag.
+D MATHM2 Math. Medley
+D MATHM3 Math. Modelling
+D MATHN1 Math. Nachr.
+D MATHN2 Math. Notae
+D MATHN3 Math. Notes
+D MATHP Math. Programming
+D MATHR MR
+D MATHR1 MR (Microfiche)
+D MATHS1 Math. Scand.
+D MATHS3 Math. Slovaca
+D MATHS4 Math. Student
+D MATHS5 Math. Sci.
+D MATHS6 Math. Semesterber.
+D MATHS7 Math. Spectrum
+D MATHT Math. Today
+D MATHZ Math. Z.
+D MATIM Matimy\'as Mat.
+D MATIS Mat. Issled.
+D MATJO Math. J. Okayama Univ.
+D MATLA Mat. Lapok
+D MATLP Mat. Logika Primenen.
+D MATMA Math. Methods Appl. Sci.
+D MATMF1 Mat. Metody i Fiz.-Mekh. Polya
+D MATMP Mat. Mar del Plata
+D MATMS2 Mat. Metody v Sotsial. Nauk.
+D MATNS Math. Numer. Sinica
+D MATOR Math. Oper. Res.
+D MATOS2 Math. Operationsforsch. Statist. Ser. Optim.
+D MATOSS Math. Operationsforsch. Statist. Ser. Statist.
+D MATPC Math. Proc. Cambridge Philos. Soc.
+D MATPS2 Math. Programming Stud.
+D MATPT Math. Practice Theory
+D MATRE Math. Rep.
+D MATRK Math. Rep. Kyushu Univ.
+D MATRS Math. Rev. Sect.
+D MATRT Math. Rep. Toyama Univ.
+D MATSB1 Mat. Sb. (N.S.)
+D MATSH Math. Sci. Humaines
+D MATSK2 Mat. v Shkole
+D MATSN Math. Sem. Notes Kobe Univ.
+D MATSS Math. Social Sci.
+D MATST Math. Systems Theory
+D MATST3 Mat. Stos.
+D MATTQ Matrix Tensor Quart.
+D MATUI Math. USSR-Izv.
+D MATUS Math. USSR-Sb.
+D MATVE Mat. Vesnik
+D MATVK Mat. Voprosy Kibernet. Vychisl. Tekhn.
+D MATZA Mat. Zametki
+D MECHP Mech. Practice
+D MECHS2 Mech. Solids
+D MECJI Meccanica---J. Ital. Assoc. Theoret. Appl. Mech.
+D MECME M\'ec. Mat\'eriaux \'Electr.
+D MECRC Mech. Res. Comm.
+D MECTS Mech. Teoret. Stos.
+D MEDKA2 Med. Konink. Acad. Wetensch. Belgi\"e
+D MEHTT1 Mekh. Tverd. Tela
+D MEMAM Mem. Amer. Math. Soc.
+D MEMAS3 Mem. Accad. Sci. Torino Cl. Sci. Fis. Mat. Natur. (5)
+D MEMEUA Mem. Ehime Univ. Natur. Sci. Ser. A
+D MEMFE2 Mem. Fac. Ed. Miyazaki Univ.
+D MEMFE3 Mem. Fac. Engrg. Hiroshima Univ.
+D MEMFE4 Mem. Fac. Engrg. Kyoto Univ.
+D MEMFE5 Mem. Fac. Engrg. Miyazaki Univ.
+D MEMFE6 Mem. Fac. Ed. Shiga Univ. Natur. Sci.
+D MEMFE7 Mem. Fac. Ed. Shimane Univ. Natur. Sci.
+D MEMFE8 Mem. Fac. Ed. Kumamoto Univ. Natur. Sci.
+D MEMFE9 Mem. Fac. Ed. Akita Univ. Natur. Sci.
+D MEMFED Mem. Fac. Engrg. Design Kyoto Inst. Tech. Ser. Sci. Tech.
+D MEMFG Mem. Fac. Gen. Ed. Kumamoto Univ. Natur. Sci.
+D MEMFS Mem. Fac. Sci. Kyushu Univ. Ser. A
+D MEMFS1 Mem. Fac. Sci. Shimane Univ.
+D MEMFS2 Mem. Fac. Sci. K\^ochi Univ. Ser. A Math.
+D MEMKI Mem. Kitami Inst. Tech.
+D MEMKT Mem. Kyoto Tech. Univ. Sci. Tech.
+D MEMMI Mem. Muroran Inst. Tech.
+D MEMND Mem. Nat. Defense Acad.
+D MEMNM Mem. Numer. Math.
+D MEMOI Mem. Osaka Inst. Tech. Ser. A
+D MEMOK Mem. Osaka Kyoiku Univ. III Natur. Sci. Appl. Sci.
+D MEMRA3 Mem. Real Acad. Cienc. Artes Barcelona
+D MEMRA4 Mem. Real Acad. Cienc. Exact. F\'\i s. Natur. Madrid
+D MEMRI Mem. Res. Inst. Sci. Engrg. Ritsumeikan Univ.
+D MEMSA2 Mem. Soc. Astronom. Ital. (N.S.)
+D MEMSE Mem. School Engrg. Okayama Univ.
+D MEMSM M\'em. Soc. Math. France (N.S.)
+D MEMSS Mem. School Sci. Engrg. Waseda Univ.
+D MEMSS1 Mem. Sec\c t. \c Stiin\c t. Acad. Repub. Soc. Rom\^ania Ser. IV
+D MENEM Menemui Mat.
+D METDA Metody Diskret. Analiz.
+D METOV1 Metody Vychisl.
+D METRI Metrika
+D METRI1 M\'etrica
+D METRO2 Metron
+D METRO3 Metroeconomica
+D MICMI MIC---Modeling Identification Control
+D MICMJ Michigan Math. J.
+D MIND Mind
+D MISCM Miscel\'anea Mat.
+D MITMG1 Mitt. Math. Ges. Hamburg
+D MITMG2 Mitt. Math. Ges. DDR
+D MITMS Mitt. Math. Sem. Giessen
+D MITVS Mitt. Verein. Schweiz. Versicherungsmath.
+D MOHUS Mohu Shuxue
+D MOLEP Molecular Phys.
+D MONAM Monatsh. Math.
+D MONNR Monthly Notices Roy. Astronom. Soc.
+D MOSGU3 Moskov. Gos. Univ. Soobshch. Gos. Astronom. Inst. Shternberga
+D MOSGU4 Moskov. Gos. Univ. Trudy Gos. Astronom. Inst. Shternberga
+D MOSII1 Moskov. Inst. Inzh. Zheleznodorozh. Transporta Trudy
+D MOSOP1 Moskov. Oblast. Ped. Inst. Sb. Trudov
+D MOSUM Moscow Univ. Math. Bull.
+D MOSUP Moscow Univ. Phys. Bull.
+D NACAW Nachr. Akad. Wiss. G\"ottingen Math.-Phys. Kl. II
+D NAGMJ Nagoya Math. J.
+D NANDX Nanjing Daxue Xuebao Ziran Kexue Ban
+D NANDX1 Nanjing Daxue Xuebao Shuxue Bannian Kan
+D NANGX Najning Gong Xueyuan Xuebao
+D NARAA Narody Azii i Afiki
+D NARIP1 Narisi \=Istor. Prirodoznav. \=\i \ Tekhn.
+D NATAS Nat. Acad. Sci. Lett.
+D NATSJ Natur. Sci. J. Xiangtan Univ.
+D NATSR Natur. Sci. Rep. Ochanomizu Univ.
+D NATUR Naturalia
+D NAUIP1 Nauchn.-Issled. i Proekt. Inst. Mekhanizatsii i Avtomatizatsii Upravleniya Proizv. v Avtomobil. Promyshl. (NIIUAVTOPROM) Trudy
+D NAUTI3 Nauchn.-Tekhn. Informatsiya (VINITI) Ser. 2 Informatsionnye Protsessy i Sistemy
+D NAVRL Naval Res. Logist. Quart.
+D NEDAW Nederl. Akad. Wetensch. Indag. Math.
+D NEDAW2 Nederl. Akad. Wetensch. Proc. Ser. A
+D NEDAWB Nederl. Akad. Wetensch. Proc. Ser. B
+D NEDAWN Nederl. Akad. Wetensch. Verslag Afd. Natuurk.
+D NEIDX Neimenggu Daxue Xuebao
+D NEIMS Nei Meng Shiyuan Xuebao
+D NEPMS Nepali Math. Sci. Rep.
+D NETWO Networks
+D NEWGC New Gener. Comput.
+D NEWZM New Zealand Math. Mag.
+D NEWZM1 New Zealand Math. Soc. Newsletter
+D NEWZM2 New Zealand Math. Soc. Newslett.
+D NEWZO New Zealand Oper. Res.
+D NIEAW3 Nieuw Arch. Wisk. (4)
+D NIETW Nieuw Tijdschr. Wisk.
+D NIGJS Nigerian J. Sci.
+D NONLA Nonlinear Anal.
+D NORDI Nordia
+D NORMA Normat
+D NORTI2 Nordisk Tidskr. Informationsbehandling (BIT)
+D NORVA2 Norske Vid.-Akad. Oslo Mat.-Natur. Kl. Skr. (N.S.)
+D NORVSF Norske Vid. Selsk. Forh. (Trondheim)
+D NORVSS Norske Vid. Selsk. Skr. (Trondheim)
+D NOTAM Notices Amer. Math. Soc.
+D NOTDJ Notre Dame J. Formal Logic
+D NOTEM Note Mat.
+D NOTRS Notes and Records Roy. Soc. London
+D NOUS No\^us
+D NOVAL Nova Acta Leopoldina (N.F.)
+D NOVKS Novye Knigi SSSR
+D NTMSG2 NTM Schr. Geschichte Natur. Tech. Medizin
+D NUCPA Nuclear Phys. A
+D NUCPB Nuclear Phys. B
+D NUMEM Numer. Math.
+D NUMFA Numer. Funct. Anal. Optim.
+D NUMMJ Numer. Math. J. Chinese Univ.
+D NUOVCA Nuovo Cimento A (11)
+D NUOVCB Nuovo Cimento B (11)
+D NUOVCC Nuovo Cimento C (1)
+D NUOVCD Nuovo Cimento D (1)
+D OBSAU Obs. Astron\'om. Univ. Nac. La Plata Ser. Astron\'om.
+D OBZMF Obzornik Mat. Fiz.
+D OPERL Oper. Res. Lett.
+D OPERR2 Oper. Res.
+D OPSEA Opsearch
+D OPTCA Optimal Control Appl. Methods
+D OPTIA Optica Acta
+D OPTIM1 Optimizatsiya
+D OPTIM2 Optimization
+D ORDER Order
+D OREZP1 Orekhovo-Zuev. Ped. Inst. Uchen. Zap. Kaf. Mat.
+D ORGAN Organon
+D ORSJM Osaka J. Math.
+D ORSPE OR Spektrum
+D OSIRIS Osiris (2)
+D OSTAWD \"Osterreich. Akad. Wiss. Math.-Natur. Kl. Denkschr.
+D OSTAWS \"Osterreich. Akad. Wiss. Math.-Natur. Kl. Sitzungsber. II
+D OTBPI1 Otbor i Peredacha Informatsii
+D PACJM Pacific J. Math.
+D PAPPR2 Papers Proc. Roy. Soc. Tasmania
+D PARAC Parallel Comput.
+D PATRL Pattern Recognition Lett.
+D PATTR Pattern Recognition
+D PERFE Performance Evaluation
+D PERIM2 Period. Mat. (5)
+D PERMH Period. Math. Hungar.
+D PERPM Period. Polytech. Mech. Engrg.
+D PHIJR Philips J. Res.
+D PHILJ Philos. Jbuch.
+D PHILM Philos. Math.
+D PHILN Philos. Natur.
+D PHILO Philologus
+D PHILQ Philos. Quart.
+D PHILS1 Philos. Sci.
+D PHILS3 Philos. Stud.
+D PHITRA Philos. Trans. Roy. Soc. London Ser. A
+D PHYEF Phys. Energi. Fort. Phys. Nuclear.
+D PHYLA Phys. Lett. A
+D PHYLB Phys. Lett. B
+D PHYRI Physis---Riv. Internaz. Storia Sci.
+D PHYRK Phys. Rep. Kumamoto Univ.
+D PHYRL Phys. Rev. Lett.
+D PHYSA Phys. A
+D PHYSBC Phys. B + C
+D PHYSD Phys. D
+D PHYSF Phys. Fluids
+D PHYSR Phys. Rep.
+D PHYSRA Phys. Rev. A (3)
+D PHYSRB Phys. Rev. B (3)
+D PHYSRC Phys. Rev. C (3)
+D PHYSRD Phys. Rev. D (3)
+D PHYSS Phys. Scripta
+D PHYST Phys. Today
+D PLAPC Plasma Phys. Control. Fusion
+D PLISM2 PLISKA Stud. Math. Bulgar.
+D PLOUN1 Plovdiv. Univ. Nauchn. Trud.
+D PODSS Podstawy Sterowania
+D POKMF Pokroky Mat. Fyz. Astronom.
+D POLAS Polish Acad. Sci. Inst. Philos. Sociol. Bull. Sect. Logic
+D POLBA Polska Biblio. Analit. Mech.
+D PORTM Portugal. Math.
+D PORTP Portugal. Phys.
+D POSTC Post\polhk epy Cybernet.
+D PRAAA Prakt. Akad. Ath\=en\=on
+D PRABM Prague Bull. Math. Linguist.
+D PRAIM Prace Inst. Maszyn Przep\l ywowych
+D PRANB Prace Nauk.-Bad. Inst. Masz. Mat.
+D PRASV1 Pr\'ace \v St\'ud. Vysokej \v Skoly Doprav. Spojov \v Ziline S\'er. Mat.-Fyz.
+D PRAXM Praxis Math.
+D PRIEA Proc. IEE-A
+D PRIEB Proc. IEE-B
+D PRIEC Proc. IEE-C
+D PRIED Proc. IEE-D
+D PRIEE Proc. IEE-E
+D PRIEF Proc. IEE-F
+D PRIEG Proc. IEE-G
+D PRIEH Proc. IEE-H
+D PRIEI Proc. IEE-I
+D PRIKM1 Prikl. Mekh.
+D PRIME Primenen. Mat. \`Ekonom.
+D PRIMM1 Prikl. Mat. Mekh.
+D PRIPP1 Prikl. Problemy Proch. i Plast.
+D PRITV1 Primenen. Teor. Veroyatnost. i Mat. Statist.
+D PRNICK Prace Nauk. Inst. Cybernet. Tech. Politech. Wroc\l aw. Ser. Konfe
+D PRNICM Prace Nauk. Inst. Cybernet. Tech. Politech. Wroc\l aw. Ser. Monograf.
+D PRNICS Prace Nauk. Inst. Cybernet. Tech. Politech. Wroc\l aw. Ser. Stud. Materia\l y
+D PRNIM Prace Nauk. Inst. Mat. Politech. Wroc\l aw. Ser. Stud. Materia\l y
+D PRNIMK Prace Nauk. Inst. Mat. Politech. Wroc\l aw. Ser. Konfer.
+D PRNIMM Prace Nauk. Inst. Mat. Politech. Wroc\l aw. Ser. Monograf.
+D PROAM Proc. Amer. Math. Soc.
+D PROBK2 Problemy Kibernet.
+D PROBM Problemy Mat.
+D PROCI2 Problems Control Inform. Theory/Problemy Upravlen. Teor. Inform.
+D PROCN Proc. College Natur. Sci. Seoul Nat. Univ.
+D PROEF Proc. Einstein Found. Internat.
+D PROEM Proc. Edinburgh Math. Soc. Edinburgh Math. Notes
+D PROEM2 Proc. Edinburgh Math. Soc. (2)
+D PROFS Proc. Fac. Sci. Tokai Univ.
+D PROGE Programmirovanie \`EVM
+D PROGI1 Prikl. Geom. i Inzhener. Grafika
+D PROGP Progr. Phys.
+D PROGR Programmirovanie
+D PROIA4 Proc. Indian Acad. Sci. Chem. Sci.
+D PROIA5 Proc. Indian Acad. Sci. Earth Planetary Sci.
+D PROIA6 Proc. Indian Acad. Sci. Math. Sci.
+D PROIN Proc. Indian Nat. Sci. Acad. Part A
+D PROIS Proc. Inst. Statist. Math.
+D PROIT2 Problems Inform. Transmission
+D PROJAA Proc. Japan Acad. Ser. A Math. Sci.
+D PROJAB Proc. Japan Acad. Ser. B Phys. Biol. Sci.
+D PROJF1 Problemy Yadern Fiz. i Kosm. Luche\u \i
+D PROLM2 Proc. London Math. Soc. (3)
+D PROMA2 Progr. Math. (Allahabad)
+D PROMP Proc. Math. Phys. Soc. Egypt
+D PROMS Probab. Math. Statist.
+D PRONA Proc. Nat. Acad. Sci. U.S.A.
+D PRONAA Proc. Nat. Acad. Sci. India Sect. A
+D PRONS Proc. Nat. Sci. Council
+D PROOU4 Protsessy Optimal. Upravleniya Trudy Sem. I Sektsiya
+D PROOU5 Protsessy Optimal. Upravleniya Trudy Sem. II Sektsiya
+D PROOU6 Protsessy Optimal. Upravleniya Trudy Sem. V Sektsiya
+D PROPA Proc. Pakistan Acad. Sci.
+D PROPI1 Problemy Peredachi Informatsii
+D PRORIA Proc. Roy. Irish Acad. Sect. A
+D PRORS2 Proc. Roy. Soc. Canada (4)
+D PROSI Proc. Steklov Inst. Math.
+D PROSP1 Problemy Slucha\u \i n. Poiska
+D PROTG1 Problemy Teor. Gravitatsii i \`Element. Chastits
+D PROTK2 Problemi Tekhn. Kibernet. Robot.
+D PROTP2 Progr. Theoret. Phys.
+D PROTP3 Progr. Theoret. Phys. Suppl.
+D PROTR Probab. Theor. Relat. Fields
+D PROWV Proc. West Virginia Acad. Sci.
+D PRRSEA Proc. Roy. Soc. Edinburgh Sect. A
+D PRRSLA Proc. Roy. Soc. London Ser. A
+D PRZES Przegl\polhk ad Statyst.
+D PSKPI1 Pskov. Ped. Inst. Fiz.-Mat. Fak. Uchen. Zap.
+D PSYCH Psychometrika
+D PUBBI3 Pubbl. Istit. Mat. Appl. Fac. Ingr. Univ. Stud. Roma Quaderno
+D PUBCR3 Publ. Centre Rech. Math. Pures (I) (Neuch\^atel)
+D PUBDM3 Pubbl. Dip. Metod. Model. Mat. Sci. Appl. Univ. Stud. Roma Quad.
+D PUBIM2 Publ. Inst. Math. (Beograd) (N.S.)
+D PUBIS Publ. Inst. Statist. Univ. Paris
+D PUBLE Publ. \'Econom\'etriques
+D PUBMD Publ. Math. Debrecen
+D PUBRI Publ. Res. Inst. Math. Sci.
+D PUBSM3 Publ. Sec. Mat. Univ. Aut\`onoma Barcelona
+D PUNUJ Punjab Univ. J. Math. (Lahore)
+D PURAM Pure Appl. Math. Sci.
+D PURMM Pure Math. Manuscript
+D QUAAM Quart. Appl. Math.
+D QUAEM Quaestiones Math.
+D QUAJE Quart. J. Econom.
+D QUAJM2 Quart. J. Mech. Appl. Math.
+D QUAJM3 Quart. J. Math. Oxford Ser. (2)
+D QUAMC Quad. Mathesis Cosenza
+D QUATE Quant. Tech. Econom.
+D QUATG Quatern. Geod.
+D QUEAG Questions Answers Gen. Topology
+D QUFSX Qufu Shiyuan Xuebao
+D RADEE Radio Engrg. Electron. Phys.
+D RADIE1 Radiotekhn. i \`Elektron.
+D RADIH1 Radiotekhn. (Khar'kov)
+D RADJA Rad Jugoslav. Akad. Znan. Umjet.
+D RADMA Rad. Mat.
+D RADQE Radiophys. and Quantum Electronics
+D RAIAN RAIRO Anal. Num\'er.
+D RAIAP RAIRO Automat.-Prod. Inform. Ind.
+D RAIIT2 RAIRO Inform. Th\'eor.
+D RAIMM RAIRO Mod\'el. Math. Anal. Num\'er.
+D RAIRA RAIRO Automat.
+D RAIRO2 RAIRO Rech. Op\'er.
+D RANJE Rand J. Econom.
+D RANUM Ranchi Univ. Math. J.
+D RATIO Ratio
+D RCARE RCA Rev.
+D REAAE Real Anal. Exchange
+D RECAE Rech. A\'erospat. (English Edition)
+D RECDM Rech. Didact. Math.
+D RECHA2 Rech. A\'erospat.
+D RECPN Recent Progr. Natur. Sci. Japan
+D RENAN4 Rend. Accad. Naz. Sci. XL Mem. Mat. (5)
+D RENAN6 Rend. Accad. Naz. Sci. XL Mem. Mat. Sci. Fis. Natur. (5)
+D RENAN7 Rend. Accad. Naz. Sci. XL Mem. Sci. Fis. Natur. (5)
+D RENAS2 Rend. Accad. Sci. Fis. Mat. Napoli (4)
+D RENCM2 Rend. Circ. Mat. Palermo (2)
+D RENDM3 Rend. Mat. (7)
+D RENIM2 Rend. Istit. Mat. Univ. Trieste
+D RENSF Rend. Sem. Fac. Sci. Univ. Cagliari
+D RENSMM Rend. Sem. Mat. Fis. Milano
+D RENSMP Rend. Sem. Mat. Univ. Padova
+D RENSMT Rend. Sem. Mat. Univ. Politec. Torino
+D REPFE1 Rep. Fac. Engrg. Kanagawa Univ.
+D REPFE2 Rep. Fac. Engrg. Oita Univ.
+D REPFS1 Rep. Fac. Sci. Engrg. Saga Univ. Math.
+D REPFS3 Rep. Fac. Sci. Shizuoka Univ.
+D REPFS4 Rep. Fac. Sci. Kagoshima Univ. Math. Phys. Chem.
+D REPIH Rep. Inst. High Speed Mech. T\^ohoku Univ.
+D REPML Rep. Math. Logic
+D REPMP2 Rep. Math. Phys.
+D REPPP Rep. Progr. Phys.
+D REPSA Rep. Statist. Appl. Res. Un. Japan. Sci. Engrs.
+D REPUE2 Rep. Univ. Electro-Comm.
+D REPVB2 Rep\'ub. Venezuela Bol. Acad. Cienc. F\'\i s. Mat. Natur.
+D RESAF Res. Act. Fac. Sci. Engrg. Tokyo Denki Univ.
+D RESBF Res. Bull. Fac. Ed. Oita Univ.
+D RESBM Res. Bull. Meisei Univ.
+D RESBP2 Res. Bull. Panjab Univ. (N.S.)
+D RESIF2 Res. Inst. Fund. Inform. Sci. Res. Rep.
+D RESRA Res. Rep. Anan Tech. College
+D RESRF Res. Rep. Fac. Engrg. Tokyo Denki Univ.
+D RESRK Res. Rep. Kushiro Tech. College
+D RESRM Res. Rep. Miyagi Tech. College
+D RESRN Res. Rep. Nagaoka Tech. College
+D RESRN1 Res. Rep. Nat. Sci. Council Math. Res. Center
+D RESUM Resultate Math.
+D REVAC2 Rev. Acad. Cienc. Zaragoza (2)
+D REVCE1 Rev. CETHEDEC
+D REVCE2 Rev. CETHEDEC Cahier
+D REVCL2 Rev. Cienc. (Lima)
+D REVCM2 Rev. Colombiana Mat.
+D REVES1 Rev. Econom. Stud.
+D REVGS Rev. Geophys. Space Phys.
+D REVGS1 Rev. Geophys.
+D REVHA Rev. Mexicana Astronom. Astrof\'\i s.
+D REVHS Rev. Histoire Sci. Appl.
+D REVIP Rev. Internat. Philos.
+D REVME Rev. Mat. Estatist.
+D REVMF Rev. Mexicana F\'\i s.
+D REVMH2 Rev. Mat. Hisp.-Amer. (4)
+D REVMP Rev. Modern Phys.
+D REVPD Rev. Palais D\'ecouverte
+D REVQS Rev. Questions Sci.
+D REVRA2 Rev. Real Acad. Cienc. Exact. F\'\i s. Natur. Madrid
+D REVRM Rev. Roumaine Math. Pures Appl.
+D REVRP Rev. Roumaine Phys.
+D REVRSE Rev. Roumaine Sci. Tech. S\'er. \'Electrotech. \'Energ\'et.
+D REVRSM Rev. Roumaine Sci. Tech. S\'er. M\'ec. Appl.
+D REVSA Rev. Statist. Appl.
+D REVTF Rev. T\'ecn. Fac. Ingr. Univ. Zulia
+D REVUM Rev. Un. Mat. Argentina
+D REVUS Rev. Univ. Santander
+D RHEWA Rheinisch-Westf\"alische Akad. Wissen. Natur-, Ingr.-Wirtschaftswiss.
+D RIAJK Riazi J. Karachi Math. Assoc.
+D RICEA Ricerche Automat.
+D RICEM Ricerche Mat.
+D RICMP Ricerca: Mat. Pure Appl.
+D RICUS2 Rice Univ. Stud.
+D RIVMS Riv. Mat. Sci. Econom. Social.
+D RIVMU2 Riv. Mat. Univ. Parma (4)
+D RIVNC3 Riv. Nuovo Cimento (3)
+D ROCMJ Rocky Mountain J. Math.
+D ROSDG3 Rostov.-na-Donu Gos. Ped. Inst. Fiz.-Mat. Fak. Uchen. Zap.
+D ROSMK Rostock. Math. Kolloq.
+D ROYSN Roy. Soc. New Zealand Bull.
+D ROZCA Rozpravy \v Ceskoslovensk\'e Akad. V\v ed \v Rada Mat. P\v r\'\i rod. V\v ed
+D ROZPE Rozprawy Elektrotech.
+D ROZPI Rozprawy In\.z.
+D ROZPP Rozprawy Politech. Pozna\'n
+D RUSMS Russian Math. Surveys
+D RZAVT1 RZh. Avtomat. Telemekh. i Vychisl. Tekhn.
+D RZMAT3 RZhMat
+D RZMEH3 RZhMekh
+D RZTEK3 RZhTekhnKibernet
+D SAIMJ Saitama Math. J.
+D SAKSP Sakharth. SSR Ped. Inst. \v Srom. Phiz.-Math. Ser.
+D SANKA Sankhy\=a Ser. A
+D SANKB Sankhy\=a Ser. B
+D SBNAS1 Sb. Nauchn. Soobshch. Dagestan. Gos. Univ.
+D SBPRP Sb. Prac\'\i \ Ped. Fak. v Ostrav\v e Ser. A
+D SCAAJ Scand. Actuar. J.
+D SCAJS Scand. J. Statist.
+D SCHBF Sci. Bull. Fac. Ed. Nagasaki Univ.
+D SCIAN Science and Nature
+D SCIAS Sci. Atmospher. Sinica
+D SCICP Sci. Comput. Programming
+D SCIEA Sci. Amer.
+D SCIEM Scientia (Milano)
+D SCIEN Science
+D SCIEV Scientia (Valpara\'\i so)
+D SCIEX Sci. Exploration
+D SCIPC1 Sci. Papers College Arts Sci. Univ. Tokyo
+D SCIRC Sci. Rep. College Gen. Ed. Osaka Univ.
+D SCIRF Sci. Rep. Fac. Ed. Gifu Univ. Natur. Sci.
+D SCIRF1 Sci. Rep. Fac. Ed. Fukushima Univ.
+D SCIRH Sci. Rep. Hirosaki Univ.
+D SCIRK1 Sci. Rep. Kagoshima Univ.
+D SCIRK2 Sci. Rep. Kanazawa Univ.
+D SCIRK4 Sci. Rep. Kyoto Prefect. Univ. Natur. Sci. Living Sci.
+D SCIRNA Sci. Rep. Niigata Univ. Ser. A
+D SCIRR Sci. Rep. Res. Inst. Engrg. Kanagawa Univ.
+D SCIRT2 Sci. Rep. Tokyo Woman's Christian Univ.
+D SCIRY1 Sci. Rep. Yokohama Nat. Univ. Sect. I
+D SCISS Sci. Sinica Suppl.
+D SCISSA Sci. Sinica Ser. A
+D SCISSB Sci. Sinica Ser. B
+D SCRFS Scripta Fac. Sci. Natur. Univ. Purk. Brun.
+D SEIBB Seibutsu Butsuri
+D SELMS Selecta Math. Soviet.
+D SEMAC S\'em. Anal. Convexe
+D SEMIF Semigroup Forum
+D SEMIP1 Sem. Inst. Prikl. Mat. Dokl.
+D SEQUA Sequential Anal.
+D SERDI Serdica
+D SERIL Serials Librarian
+D SHADX Shanxi Daxue Xuebao. Ziran Kexue Ban
+D SHAJD Shanghai Jiaotong Daxue Xuebao
+D SHAKJ Shanghai Kexue Jishu Daxue Xuebao
+D SHENX Shengxue Xuebao
+D SHUJJ Shuliang Jingji Jishu Jingji Xanjiu
+D SHUJY Shuxue Jisuan yu Jisuanji Yingyong
+D SHUNJ Shuxue Niankan Ji A
+D SHUSY Shuxuede Shijian yu Renshi
+D SHUWX Shuxue Wuli Xuebao
+D SHUXJ Shuxue Jinzhan
+D SHUXN Shuxue Niankan
+D SHUXX Shuxue Xuebao
+D SHUXZ Shuxue Zazhi
+D SHUYY Shuxue Yanjiu yu Pinglun
+D SIAJA SIAM J. Appl. Math.
+D SIAJA1 SIAM J. Algebraic Discrete Methods
+D SIAJC1 SIAM J. Comput.
+D SIAJC3 SIAM J. Control Optim.
+D SIAJM SIAM J. Math. Anal.
+D SIAJN SIAM J. Numer. Anal.
+D SIAJS SIAM J. Sci. Statist. Comput.
+D SIAMR SIAM Rev.
+D SIBMJ Siberian Math. J.
+D SIBMZ1 Sibirsk. Mat. Zh.
+D SICDX Sichuan Daxue Xuebao
+D SIEFE2 Siemens Forsch. Entwickl.
+D SIGNP Signal Process.
+D SIMOS Simon Stevin
+D SINET SINET
+D SITSA Sitzungsber. S\"achs. Akad. Wiss. Leipzig. Math.-Natur. Kl.
+D SITWG Sitzber. Wiss. Ges. Johann Wolfgang Goethe-Univ. Frankf. am Main
+D SOCCW Soc. Choice Welf.
+D SOCIN Social Networks
+D SOCSF Soc. Sci. Fenn. Comment. Phys.-Math.
+D SOKES S\=oka Econom. Stud.
+D SOLMA Solid Mech. Arch.
+D SOOAN1 Soobshch. Akad. Nauk Gruzin. SSR
+D SOOJM1 Soochow J. Math.
+D SOUAB Southeast Asian Bull. Math.
+D SOUAS South African Statist. J.
+D SOUJP Southwestern J. Philos.
+D SOVAC Soviet Automat. Control
+D SOVAM Soviet Appl. Mech.
+D SOVIA1 Soviet Aeronaut.
+D SOVIA2 Soviet Astronom.
+D SOVJC Soviet J. Contemporary Math. Anal.
+D SOVJC1 Soviet J. Comm. Tech. Electron.
+D SOVJC2 Soviet J. Comput. Syst. Sci.
+D SOVJN Soviet J. Nuclear Phys.
+D SOVJP Soviet J. Particles and Nuclei
+D SOVMD Soviet Math. Dokl.
+D SOVMI Soviet Math. (Iz. VUZ)
+D SOVPA2 Soviet Phys. Acoust.
+D SOVPC2 Soviet Phys.---Collection
+D SOVPC3 Soviet Phys. Cryst.
+D SOVPD2 Soviet Phys. Dokl.
+D SOVPJ3 Soviet Phys. J.
+D SOVPJ4 Soviet Phys. JETP
+D SOVPU2 Soviet Phys. Uspekhi
+D SPIRA Spirales
+D STAAD Statist. Anal. Donn\'ees
+D STAPL Statist. Probab. Lett.
+D STATB Statistica (Bologna)
+D STATD Statist. Decisions
+D STATH2 Statist. Hefte (N.F.)
+D STATI1 Statistics
+D STATM STMA
+D STATN2 Statist. Neerlandica
+D STATP1 Statist. Problemy Upravleniya
+D STOAA Stochastic Anal. Appl.
+D STOCH1 Stochastica
+D STOCH2 Stochastics
+D STOPA2 Stochastic Process. Appl.
+D STRML Strukturn. i Mat. Lingvistika
+D STRUT Structural Topology
+D STUAM2 Stud. Appl. Math.
+D STUCF Stud. Cerc. Fiz.
+D STUCM Stud. Cerc. Mat.
+D STUCMA Stud. Cerc. Mec. Apl.
+D STUDA Studia Automat.
+D STUDE Stud. Develop.
+D STUDL1 Studia Leibnitiana
+D STUDL2 Studia Logica
+D STUDM Studia Math.
+D STUDS Stud. Develop. Special Issue
+D STUGM Studia Geotech. Mech.
+D STUHP Stud. Hist. Philos. Sci.
+D STUSC Studia Sci. Math. Hungar.
+D STUUB1 Studia Univ. Babe\c s-Bolyai Math.
+D STUUBP Studia Univ. Babe\c s-Bolyai Ser. Phys.
+D SUDHA Sudhoffs Arch.
+D SUGAK1 S\^ugaku
+D SUGAK2 S\^ugakushi Kenky\^u
+D SUHAM Su-hak kwa Mul-li
+D SUIAT Suid-Afrikaanse Tydskr. Natuurwetenskap Tegnol.
+D SUNKK Sung Kyun Kwan Univ. J. Nat. Sci.
+D SURIK S\^urikaisekikenky\^usho K\^oky\^uroku
+D SYNTH Synthese
+D SYSAM Systems Anal. Modelling Simulation
+D SYSCC2 Systems-Comput.-Controls
+D SYSCJ Syst. Comput. Japan
+D SYSCL Systems Control Lett.
+D SYSTC Systems and Control
+D SYSTS Systems Sci.
+D SZAMT SZ\'AMKI Tanulm\'anyok
+D SZIMK Szigma---Mat.-K\"ozgazdas\'agi Foly\'oirat
+D TAMJM Tamkang J. Math.
+D TAMJM1 Tamkang J. Management Sci.
+D TANMS2 Tanulm\'anyok---MTA Sz\'amit\'astech. Automat. Kutat\'o Int. Budapest
+D TAPCT T\d ap ch\'\i \ To\'an h\d oc
+D TARRU Tartu Riikl. \"Ul. Toimetised
+D TASGU4 Tashkent. Gos. Univ. Sb. Nauchn. Trudov
+D TBIGU Tbiliss. Gos. Univ. Inst. Prikl. Mat. Trudy
+D TECHC Tech. Chronica
+D TECHN1 Technikgeschichte
+D TECHN2 Technometrics
+D TECRK Tech. Rep. Kansai Univ.
+D TECRO Tech. Rep. Osaka Univ.
+D TELLU1 Tellus Ser. A
+D TENSO2 Tensor (N.S.)
+D TEOFF1 Teor. Funktsi\u \i \ Funktsional. Anal. i Prilozhen.
+D TEOKA2 Teor. Konechn. Avtomatov i Prilozhen.
+D TEOMF Teoret. Mat. Fiz.
+D TEOOR2 Teor. Optimal. Resheni\u \i
+D TEOPM Teoret. i Prikl. Mekh. (Minsk)
+D TEOPM7 Teor. Primen. Meh.
+D TEOPM8 Teoret. Prilozhna Mekh.
+D TEOPM9 Teoret. i Prikl. Mekh. (Kiev/Donetsk)
+D TEORE1 Teorema
+D TEORE3 Teoret. \`Elektrotekhn.
+D TEORI Teoria
+D TEOVM1 Teor. Veroyatnost. i Mat. Statist.
+D TEOVP1 Teor. Veroyatnost. i Primenen.
+D TESLE2 TESLA Electron.
+D TEXJS Texas J. Sci.
+D THEAF Theor. Appl. Fract. Mech.
+D THEC5 Theoret. Comput. Sci.
+D THEMP Theoret. and Math. Phys.
+D THEOD Theory and Decision
+D THEOL Theoret. Linguist.
+D THEOP Theoret. Papers
+D THEOR Theoria
+D THEOR1 Theoria (Madrid)
+D THEOR2 Theoria (San Sebasti\'an)(2)
+D THEPA2 Theory Probab. Appl.
+D THEPB2 Theoret. Population Biol.
+D THEPM2 Theory Probab. Math. Statist.
+D TIADX Tianjin Daxue Xuebao
+D TIANX Tianwen Xuebao
+D TIAWX Tianti Wuli Xuebao
+D TJUGU1 Tyumen. Gos. Univ. Nauchn. Trudy
+D TOHMJ2 T\^ohoku Math. J. (2)
+D TOKJM Tokyo J. Math.
+D TONDX Tongji Daxue Xuebao
+D TOPOA Topology Appl.
+D TOPOI Topoi
+D TOPOL Topology
+D TOPOP Topology Proc.
+D TRAAM Trans. Amer. Math. Soc.
+D TRAEI Trabajos Estad\'\i st. Investigaci\'on Oper.
+D TRAIE Trans. Inst. Electron. Comm. Engrs. Japan Sect. E
+D TRAIS Trans. Illinois State Acad. Sci.
+D TRAJA Trans. Japan Acad.
+D TRAMM Trans. Moscow Math. Soc.
+D TRANAE Trans. ASME Ser. E J. Appl. Mech.
+D TRANRB Transportation Res. Part B
+D TRANS Transportation Sci.
+D TRARS Trans. Roy. Soc. South Africa
+D TRARS2 Trans. Roy. Soc. Canada (4)
+D TRASI Traitement Signal
+D TRATS Transport Theory Statist. Phys.
+D TRUAL1 Trudy Arkhangel. Lesotekhn. Inst.
+D TRUAN Trudy Akad. Nauk Litov. SSR Ser. B
+D TRUDC1 Trudy TsNIIKA
+D TRUDV Trudy VTI
+D TRUDV1 Trudy VTI
+D TRUFI Trudy Fiz. Inst. Lebedev.
+D TRUGG Trudy Glavn. Geofiz. Observator.
+D TRUGS1 Trudy Geom. Sem. Kazan. Univ.
+D TRUIM1 Trudy Inst. Mat. i Mekh. Ural. Nauchn. Tsentr Akad. Nauk SSSR
+D TRUIS3 Trudy Inst. Sistem Upravleniya Akad. Nauk Gruzin. SSR
+D TRUIT Trudy Inst. Teoret. Astronom.
+D TRUKF3 Trudy Kolomen. Filiala Vsesoyuz. Zaochn. Politekhn. Inst.
+D TRUKG3 Trudy Kirgiz. Gos. Univ. Ser. Mat. Nauk
+D TRUKP1 Trudy Kalinin. Politekhn. Inst.
+D TRUKS1 Trudy Kazan. S.-kh. Inst.
+D TRUMA TRU Math.
+D TRUME1 Trudy Moskov. \`Elektrotekhn. Inst. Svyazi (M\`EIS)
+D TRUMI1 Trudy Mat. Inst. Steklov.
+D TRUMI2 Trudy Metrolog. Inst. SSSR
+D TRUMI3 Trudy Moskov. Inst. Radiotehn. \`Elektron. i Avtomat.
+D TRUMI4 Trudy Moskov. Inst. Radiotekhn. \`Elektron. i Avtomat.
+D TRUMM1 Trudy Moskov. Mat. Obshch.
+D TRUMO Trudy Moskov. Orden. Lenin. \`Energet. Inst.
+D TRUMV1 Trudy Moskov. Vyssh. Tekhn. Uchilishcha
+D TRUNI1 Trudy Nauchno-Issled. Inst. Avtomatizatsii Proizvod. Protsessov Khim. Promyshl. i Tsvet. Metallurgii
+D TRUNK Trudy Nikolaev. Korablestroitel. Inst.
+D TRURI1 Trudy Rizhsk. Inst. Inzh. Grazhdan. Aviatsii
+D TRUSG1 Trudy Samarkand. Gos. Univ. (N.S.)
+D TRUSK4 Trudy Sem. Kraev. Zadacham
+D TRUSP Trudy Sem. Petrovsk.
+D TRUSV Trudy Sem. Vektor. Tenzor. Anal.
+D TRUTM Trudy Tbiliss. Mat. Inst. Razmadze Akad. Nauk Gruzin. SSR
+D TRUTP1 Trudy Tadzhik. Politekhn. Inst.
+D TRUTU Trudy Tbiliss. Univ.
+D TRUUD1 Trudy Univ. Druzhby Narod.
+D TRUVC6 Trudy Vychisl. Tsentra Tartu. Gos. Univ.
+D TRUVI Trudy Inst. Vychisl. Mat. Akad. Nauk Gruzin. SSR
+D TRUVN2 Trudy Vsesoyuz. Nauchno-Issled. Inst. \`Elektromekh.
+D TSUJM Tsukuba J. Math.
+D TULGP1 Tul. Gos. Ped. Inst. Uchen. Zap. Mat. Kaf.
+D UCEZC1 Uchen. Zap. TsAGI
+D UCEZK1 Uchen. Zap. Karel. Ped. Inst. Ser. Fiz.-Mat. Nauk
+D UKRFZ3 Ukrain. Fiz. Zh.
+D UKRGS2 Ukrain. Geom. Sb.
+D UKRMJ Ukrainian Math. J.
+D UKRMZ3 Ukrain. Mat. Zh.
+D ULSIT Ulsan Inst. Tech. Rep.
+D UNIBPE Univ. Beograd. Publ. Elektrotehn. Fak. Ser. Elektron. Telekomun. Automat.
+D UNIBPM Univ. Beograd. Publ. Elektrotehn. Fak. Ser. Mat. Fiz.
+D UNIBT Univ. Beograd. Tehn. Fiz.
+D UNIIA Univ. Iagel. Acta Math.
+D UNINS1 Univ. u Novom Sadu Zb. Rad. Prirod.-Mat. Fak. Ser. Mat.
+D UNINTA Univ. Nac. Tucum\'an Rev. Ser. A
+D UNISK4 Uniw. \'Sl\polhk aski w Katowicach Prace Nauk.-Prace Mat.
+D UPRAS1 Upravlyaemye Sistemy
+D URAGU Ural. Gos. Univ. Mat. Zap.
+D URDGP1 Urdmurt. i Glazov. Ped. Inst. Uchen. Zap.
+D URDPI1 Urdmurt. Ped. Inst. Uchen. Zap.
+D USPFN1 Uspekhi Fiz. Nauk
+D USPMN1 Uspekhi Mat. Nauk
+D USSRC U.S.S.R. Comput. Math. and Math. Phys.
+D UTILM Utilitas Math.
+D VERKA2 Verh. Konink. Acad. Wetensch. Belgi\"e
+D VERZ4 Verzekerings-Arch.
+D VESAN3 Vestnik Akad. Nauk SSSR
+D VESAN4 Vests\=\i \ Akad. Navuk BSSR Ser. F\=\i z.-Mat. Navuk
+D VESAN5 Vestnik Akad. Nauk Kazakh. SSR
+D VESBG Vestnik Beloruss. Gos. Univ. Ser. I
+D VESHG1 Vestnik Khar'kov. Gos. Univ.
+D VESKU Vestnik Kiev. Univ. Model. Optim. Slozhn. Sist.
+D VESLP1 Vestnik L'vov. Politekhn. Inst.
+D VESLU1 Vestnik Leningrad. Univ. Fiz. Khim.
+D VESLU2 Vestnik Leningrad. Univ. Mat. Mekh. Astronom.
+D VESLUM Vestnik Leningrad Univ. Math.
+D VESMU Vestnik Moskov. Univ. Ser. I Mat. Mekh.
+D VESMU1 Vestnik Moskov. Univ. Ser. XV Vychisl. Mat. Kibernet.
+D VESMUF Vestnik Moskov. Univ. Ser. III Fiz. Astronom.
+D VIDYAB Vidya B
+D VIGNB Vignana Bharathi
+D VIJPA Vijnana Parishad Anusandhan Patrika
+D VIKRA1 Vikram
+D VIKRAM Vikram Math. J.
+D VIRJS Virginia J. Sci.
+D VISIL Visible Lang.
+D VISKU1 V\=\i snik Ki\"\i v. Un\=\i v. Ser. Mat. Mekh.
+D VISLD1 V\=\i snik L'v\=\i v. Derzh. Un\=\i v. Ser. Mekh.-Mat.
+D VISLP1 V\=\i snik L'v\=\i v. Pol\=\i tekhn. \=Inst.
+D VISTA Vistas Astronom.
+D VLAGP1 Vladimir. Gos. Ped. Inst. Uchen. Zap.
+D VOLGP3 Volgograd. Gos. Ped. Inst. Uchen. Zap.
+D VOPDP1 Voprosy Dinamiki i Prochnosti
+D VOPIE1 Voprosy Istor. Estestvoznan. i Tekhn.
+D VOPIT1 Voprosy Informatsion. Teorii i Praktiki
+D VOPKM Voprosy Kibernet. (Moscow)
+D VOPKT Voprosy Kibernet. (Tashkent)
+D VOPRF Voprosy Filos.
+D VOPTS1 Voprosy Teor. Sistem Avtomat. Upravleniya
+D VOPVP1 Voprosy Vychisl. i Prikl. Mat. (Tashkent)
+D VORTI1 Voronezh. Tekhn. Inst. Trudy
+D VYCIS1 Vychisl. Sistemy
+D VYCMP1 Vychisl. Metody i Programmirovanie
+D VYCPM1 Vychisl. Prikl. Mat. (Kiev)
+D VYCTV1 Vychisl. Tekhn. i Voprosy Kibernet.
+D WAVEM Wave Motion
+D WIADM3 Wiadom. Mat.
+D WISZE Wiss. Z. Ernst-Moritz-Arndt-Univ. Greifswald Math.-Natur. Reihe
+D WISZH1 Wiss. Z. Hochsch. Verkehrswesen ``Friedrich List''\ Dresden
+D WISZH2 Wiss. Z. Humboldt-Univ. Berlin Math.-Natur. Reihe
+D WISZK Wiss. Z. Karl-Marx-Univ. Leipzig Math.-Natur. Reihe
+D WISZK2 Wiss. Z. Karl-Marx-Univ. Leipzig Ges. Reihe
+D WISZM Wiss. Z. Martin-Luther-Univ. Halle-Wittenberg Math.-Natur. Reihe
+D WISZP Wiss. Z. P\"adagog. Hochsch. ``Karl Liebknecht''\ Potsdam
+D WISZP1 Wiss. Z. P\"adagog. Hochsch. ``Karl Friedrich Wilhelm Wander''\ Dresden
+D WISZT6 Wiss. Z. Tech. Hochsch. Magdeburg
+D WISZTD Wiss. Z. Tech. Univ. Dresden
+D WISZTI Wiss. Z. Tech. Hochsch. Ilmenau
+D WISZTK Wiss. Z. Tech. Hochsch. Karl-Marx-Stadt
+D WISZTL Wiss. Z. Tech. Hochsch. Leuna-Merseburg
+D WUHUJ Wuhan Univ. J.
+D WULIJ Wulixue Jingzhan
+D WULIX Wuli Xuebao
+D WYZSP3 Wy\.z. Szko\l a Ped. Krakow. Rocznik Nauk.-Dydakt. Prace Mat.
+D XIADZ Xiangtan Daxue Ziran Kexue Xuebao
+D XIAJD Xi'an Jiaotong Daxue Xuebao
+D XIAME Xiamen. Daxue Xuebao
+D XIBDX Xibei Daxue Xuebao
+D XINDX Xinjiang Daxue Xuebao Ziran Kexue Ban
+D XINYK Xinxi yu Kongzhi
+D XITKY Xitong Kexue yu Shuxue
+D YADEF Yadernaya Fiz.
+D YINSH Yingyong Shuxue he Lixue
+D YINSX Yingyong Shuxue Xuebao
+D YOKMJ Yokohama Math. J.
+D YUNCZ Yunchouxue Zazhi
+D ZALLW Z. Allgemeine Wissenschaftstheorie
+D ZANAA Z. Anal. Anwendungen
+D ZANGM1 Z. Angew. Math. Mech.
+D ZANGM2 Z. Angew. Math. Phys.
+D ZAPNS1 Zap. Nauchn. Sem. Leningrad. Otdel. Mat. Inst. Steklov. (LOMI)
+D ZASTM Zastos. Mat.
+D ZBLMA Zbl
+D ZBORM2 Zb. Rad. Mat. Inst. Beograd. (N.S.)
+D ZEKST1 Zh. \`Eksper. Teoret. Fiz.
+D ZELIE2 Z. Elektr. Inform. Energietech.
+D ZEMEM1 Zemledel. Mekh.
+D ZESNA Zeszyty Nauk. Akad. G\'orn.-Hutniczej---Mat.-Fiz.-Chem.
+D ZESNG Zeszyty Nauk. Geom.
+D ZESNPL Zeszyty Nauk. Politech. \L \'odz. Mat.
+D ZESNPM Zeszyty Nauk. Politech. \'Sl\polhk ask. Mat.-Fiz.
+D ZESNPR Zeszyty Nauk. Politech. Rzeszowskiej. Mat. Fiz.
+D ZESNUF Zeszyty Nauk. Uniw. Jagiello\'n. Prace Fiz.
+D ZESNUM Zeszyty Nauk. Uniw. Jagiello\'n. Prace Mat.
+D ZESNW1 Zeszyty Nauk. Wy\.z. Szko\l y Ped. Szczecine Prace Wydz. Mat. Przyrod.
+D ZESNWF Zeszyty Nauk. Wy\.z. Szko\l y Ped. w Opolu Fiz.
+D ZESNWM Zeszyty Nauk. Wy\.z. Szko\l y Ped. w Opolu Mat.
+D ZFIZH1 Zh. Fiz. Khim.
+D ZHEDX Zhejiang Daxue Xuebao
+D ZHODX Zhongshan Daxue Xuebao
+D ZHOKJ Zhongguo Kexue Jishu Daxue Xuebao
+D ZHONX Zhongguo Kexue
+D ZIDOH Zidonghua Xuebao
+D ZKRIS Z. Krist.
+D ZMATL2 Z. Math. Logik Grundlag. Math.
+D ZNATA Z. Naturforsch. A
+D ZNATIO Z. National\"okonom.
+D ZOPRAB Z. Oper. Res. Ser. A-B
+D ZPHYA Z. Phys. A
+D ZPHYB Z. Phys. B
+D ZPHYC Z. Phys. C
+D ZPRIM1 Zh. Prikl. Mekh. i Tekhn. Fiz.
+D ZVYCM1 Zh. Vychisl. Mat. i Mat. Fiz.
+D ZWAHV2 Z. Wahrsch. Verw. Gebiete
+#
+I TMACLIB pub.ttz
+I TMACLIB mscabb.ttz
diff --git a/biblio/tib/inputs/amsd.tib b/biblio/tib/inputs/amsd.tib
new file mode 100644
index 0000000000..d5a53520a1
--- /dev/null
+++ b/biblio/tib/inputs/amsd.tib
@@ -0,0 +1,17 @@
+#
+# AMS namedate format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+C3D-4 name-date citations
+SAD sort on authors, dates
+TF trailing character string (flags)
+U replace successive identical authors with underlines
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB ams4.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/amsfll.ttz b/biblio/tib/inputs/amsfll.ttz
new file mode 100644
index 0000000000..2c31e6edf1
--- /dev/null
+++ b/biblio/tib/inputs/amsfll.ttz
@@ -0,0 +1,1854 @@
+#
+#tibinc.ams.full
+#copyright (C) Mathematical Reviews
+#
+#tibinc.publishers and tibinc.misc.full are included (I) at end
+#
+D ABHBW2 Abhandlungen der Braunschweigischen Wissenschaftlichen Gesellschaf
+D ABHMS Abhandlungen aus dem Mathematischen Seminar der Universit\"at Hamb
+D ABHSA Abhandlungen der S\"achsischen Akademie der Wissenschaften zu Leipzig. Mathematisch-Naturwissenschaftliche Klasse
+D ABSAM Abstracts of Papers Presented to the American Mathematical Society
+D ACARB3 Acad\'emie Royale de Belgique. Bulletin de la Classe des Sciences. Koninklijke Belgische Acad\'emie. Mededelingen van de Klasse der Wetenschappen. 5e S\'erie
+D ACARB4 Acad\'emie Royale de Belgique. Classe des Sciences. M\'emoires. Collection in-$8^{\rm o}$ Koninklijke Belgische Academie. Klasse der Wetenschappen. Verhandelingen. Verzameling in-$8^{\rm o}$. 2e S\'erie
+D ACASS Acad\'emie Serbe des Sciences et des Arts. Glas. Classe des Sciences Math\'ematiques et Naturelles. Nouvelle S\'erie
+D ACMTD Association for Computing Machinery. Transactions on Database Syst
+D ACMTM Association for Computing Machinery. Transactions on Mathematical Software
+D ACTAA Acta Academiae \.Aboensis. Ser. B. Mathematica et Physica. Matematik-Naturvetenskaper-Teknik
+D ACTAA1 Polska Akademia Nauk. Instytut Matematyczny. Acta Arithmetica
+D ACTAA3 Acta Acustica. Shengxue Xuebao
+D ACTAC Acta Cybernetica
+D ACTAI2 Acta Informatica
+D ACTAM1 Acta Mathematica
+D ACTAM2 Acta Mechanica
+D ACTAM3 Acta Applicandae Mathematicae. An International Journal on Applying Mathematics and Mathematical Applications
+D ACTAS Acta Astronomica Sinica. Tianwen Xuebao
+D ACTAS1 Acta Automatica Sinica. Zidonghua Xuebao
+D ACTAS2 Acta Astrophysica Sinica. Tianti Wuli Xuebao
+D ACTCC2 Acta Cient\'\i fica Compostelana
+D ACTCI4 Acta Ciencia Indica. Mathematics
+D ACTCSA Acta Crystallographica. Section A. Crystal Physics, Diffraction, Theoretical and General Crystallography
+D ACTCV2 Acta Cient\'\i fica Venezolana. Asociaci\'on Venezolana para el Avance de la Ciencia
+D ACTGS Acta Geophysica Sinica. Diqiu Wuli Xuebao
+D ACTHS Acta Humanistica et Scientifica Universitatis Sangio Kyotiensis. Natural Science Series
+D ACTMA2 Acta Mathematicae Applicatae Sinica. Yingyong Shuxue Xuebao
+D ACTMC2 Instituto Polit\'ecnico Nacional. Acta Mexicana de Ciencia y Tecnolog\'\i a
+D ACTMH Acta Mathematica Hungarica
+D ACTMS1 Acta Mathematica Sinica. Shuxue Xuebao
+D ACTMS3 Acta Mechanica Sinica. Lixue Xuebao
+D ACTMS5 Acta Mathematica Scientia. Shuxue Wuli Xuebao. Chinese Edition
+D ACTMS6 Acta Mathematica Scientia. Shuxue Wuli Xuebao. English Edition
+D ACTMU Acta Mathematica Universitatis Comenianae
+D ACTMV Acta Mathematica Vietnamica
+D ACTOP Acta Oeconomica Pragensia
+D ACTPA2 Acta Physica Austriaca
+D ACTPH Acta Physica Hungarica
+D ACTPPA Polska Akademia Nauk. Instytut Fizyki. Acta Physica Polonica. A
+D ACTPPB Polska Akademia Nauk. Instytut Fizyki. Acta Physica Polonica. B
+D ACTPS1 Acta Physica Sinica. Wuli Xuebao
+D ACTPS2 Acta Physica Slovaca
+D ACTPS4 Acta Polytechnica Scandinavica. Mathematics and Computer Science Series
+D ACTSM Acta Universitatis Szegediensis. Acta Scientiarum Mathematicarum
+D ACTSN2 Acta Sci. Natur. Univ. Pekinensis
+D ACTSN3 Acta Sci. Natur. Univ. Fudan
+D ACTSN4 Acta Scientiarum Naturalium Universitatis Jilinensis. Jilin Daxue. Ziran Kexue Xuebao. Jilin University. Natural Sciences Journal
+D ACTSN5 Acta Scientiarum Naturalium Universitatis Sunyatseni. Zhongshan Daxue Xuebao. Ziran Kexue Ban. Journal of Sun Yatsen University. Natural Sciences
+D ACTSN6 Acta Sci. Natur. Univ. Intramongolicae
+D ACTSN7 Acta Scientiarum Naturalium Universitatis Amoiensis. Xiamen Daxue Xuebao. Ziran Kexue Ban
+D ACTTA Acta Technica Academiae Scientiarum Hungaricae
+D ACTTC Acta Technica. \v Ceskoslovensk\'a Akademie V\v ed
+D ACTUC2 Acta Universitatis Carolinae. Mathematica et Physica
+D ACTUL Acta Universitatis Lodziensis Folia Philosophica
+D ACTUL1 Acta Universitatis Lodziensis Folia Mathematica
+D ACTUO Acta Universitatis Ouluensis. Series A. Scientiae Rerum Naturalium. Mathematica
+D ACTUP Acta Universitatis Palackianae Olomucensis Facultas Rerum Naturalium. Chemica
+D ACTUP2 Acta Universitatis Palackianae Olomucensis. Facultas Rerum Naturalium. Mathematica
+D ACTUP3 Acta Universitatis Palackianae Olomucensis. Facultas Rerum Naturalium. Physica
+D ACTUTA Acta Universitatis Tamperensis. Series A
+D ACTUW1 Acta Universitatis Wratislaviensis. Matematyka, Fizyka, Astronomia
+D ACTUZ Acta Agriculturae Universitatis Zhejiangensis
+D ACUST Acustica. International Journal of Acoustics
+D ADASA1 Kievski\u \i \ Politekhnicheski\u \i \ Institut. Adaptivnye Sistemy Avtomaticheskogo Upravleniya
+D ADVAM2 Advances in Mathematics
+D ADVAM3 Advances in Applied Mechanics
+D ADVAP2 Advances in Applied Probability
+D ADVIA Advances in Applied Mathematics
+D ADVIM Advances in Mechanics
+D ADVIM1 Advances in Mathematics. Shuxue Jinzhan
+D ADVIP Advances in Physics
+D AEQUM Aequationes Mathematicae
+D AFRIM Afrika Matematika. The First Pan-African Mathematical Journal
+D AIAAJ American Institute of Aeronautics and Astronautics. Journal
+D AICHJ The American Institute of Chemical Engineers. Journal
+D AKANA3 Akademiya Nauk Armyansko\u \i \ SSR. Doklady
+D AKANA4 Akademiya Nauk Azerba\u \i dzhansko\u \i \ SSR. Doklady
+D AKANK1 Akademiya Nauk Kazakhsko\u \i \ SSR. Trudy Astrofizicheskogo Instituta
+D AKANS2 Akademiya Nauk SSSR Sibirskoe Otdelenie. Trudy Instituta Geologii i Geofiziki
+D AKANS3 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Vychislitel'ny\u \i \ Tsentr. Preprint
+D AKANU4 Akademiya Nauk Ukrainsko\u \i \ SSR. Institut Matematiki. Preprint
+D AKANU5 Akademiya Nauk SSSR. Institut Prikladno\u \i \ Matematiki. Preprin
+D AKANUM Akademija Nauka i Umjetnosti Bosne i Hercegovine. Radovi. Odjeljenje Prirodnih i Matemati\v ckih Nauka
+D AKANUT Akademija Nauka i Umjetnosti Bosne i Hercegovine. Radovi. Odjeljenje Tehni\v ckih Nauka
+D AKUSZ1 Akademiya Nauk SSSR. Akusticheski\u \i \ Zhurnal
+D ALGEL1 Algebra and Logic
+D ALGEL2 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Institut Matematiki. Algebra i Logika
+D ALGEU Algebra Universalis
+D ALGGG Algebras, Groups and Geometries
+D ALIBM The Aligarh Bulletin of Mathematics
+D ALIJS The Aligarh Journal of Statistics
+D ALKML Alkalmazott Matematikai Lapok
+D ALMAG1 Alma-Atinski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut imeni Abaya. Uchenye Zapiski
+D AMEJM American Journal of Mathematics
+D AMEJM1 American Journal of Mathematical and Management Sciences
+D AMEJP American Journal of Physics
+D AMEMM The American Mathematical Monthly
+D AMERN The American Naturalist
+D AMERS1 American Scientist
+D AMERS2 The American Statistician
+D ANABC2 Anais da Academia Brasileira de Ci\^encias
+D ANALM Analysis Mathematica
+D ANALY Analysis. International Journal of Analysis and its Application
+D ANALY1 Analysis
+D ANANT L'Analyse Num\'erique et la Th\'eorie de L'Approximation
+D ANASD Annales Academiae Scientiarum Fennicae. Series A I. Mathematica Dissertationes
+D ANASM Suomalaisen Tiedeakatemian Toimituksia. Sarja A. Annales Academiae Scientiarum Fennicae. Series A I. Mathematica
+D ANINM Anales del Instituto de Matem\'aticas. Universidad Nacional Aut\'onoma de M\'exico
+D ANINS Minist\`ere de l'\'Economie et des Finances. Institut National de la Statistique et des \'Etudes \'Economiques. Annales
+D ANNEN Annales. \'Ecole Nationale Sup\'erieure de M\'ecanique
+D ANNFS Universit\'e Nationale du Za\"\i re. Facult\'e des Sciences. Annales. Section Math\'ematique-Physique
+D ANNFS1 Toulouse. Facult\'e des Sciences. Annales. Math\'ematiques. S\'eri
+D ANNFS2 Annali della Facolt\`a di Scienze Nautiche
+D ANNGAG Annals of Global Analysis and Geometry
+D ANNGC Gifu College of Education. The Annals
+D ANNHC Annals of the History of Computing
+D ANNHG Annals of Human Genetics
+D ANNIF Universit\'e de Grenoble. Annales de l'Institut Fourier
+D ANNIHN Annales de l'Institut Henri Poincar\'e. Analyse Non Lin\'eaire
+D ANNIHP Annales de l'Institut Henri Poincar\'e. Physique Th\'eorique
+D ANNIHS Annales de l'Institut Henri Poincar\'e. Probabilit\'es et Statistique
+D ANNIS Annals of the Institute of Statistical Mathematics
+D ANNIU Annali dell'Istituto Universitario Navale di Napoli
+D ANNJA Annals of the Japan Association for Philosophy of Science
+D ANNMA2 Annals of Mathematics. Second Series
+D ANNMP2 Annali di Matematica Pura ed Applicata. Serie Quarta
+D ANNMS Annales Mathematicae Silesianae
+D ANNNE Annals of Nuclear Energy
+D ANNPA Annals of Pure and Applied Logic
+D ANNPH1 Annals of Physics
+D ANNPH3 Annalen der Physik. 7. Folge
+D ANNPM Polska Akademia Nauk. Annales Polonici Mathematici
+D ANNPR2 The Annals of Probability
+D ANNRA Annual Report of Asahikawa Medical College
+D ANNRF1 Iwate University. Faculty of Education. Annual Report
+D ANNSC Annals of Science
+D ANNSE2 Annales Scientifiques de l'\'Ecole Normale Sup\'erieure. Quatri\`eme S\'erie
+D ANNSK Kanazawa University. College of Liberal Arts. Annals of Science
+D ANNSM Les Annales des Sciences Math\'ematiques du Qu\'ebec
+D ANNSM1 Ann. Soc. Math. Polon. Ser. I Comment. Math. Prace Mat.
+D ANNSM2 Ann. Soc. Math. Polon. Ser. II Wiadom. Mat.
+D ANNSM3 Ann. Soc. Math. Polon. Ser. III Mat. Stos.
+D ANNSM4 Ann. Soc. Math. Polon. Ser. IV Fund. Inform.
+D ANNSN3 Annali della Scuola Normale Superiore di Pisa. Classe di Scienze. Serie IV
+D ANNSS Annales de la Societ\'e Scientifique de Bruxelles. S\'erie I. Sciences Math\'ematiques, Astronomiques et Physiques
+D ANNST The Annals of Statistics
+D ANNSU4 Annales Scientifiques de l'Universit\'e de Besan\c con. M\'ecanique et Physique Th\'eorique. 3\`eme S\'erie
+D ANNSU6 Annales Scientifiques de l'Universit\'e de Clermont-Ferrand II. Math\'ematiques
+D ANNSU7 Annales Scientifiques de l'Universit\'e de Clermont-Ferrand II. Probabilit\'es et Applications
+D ANNSU8 Annales Scientifiques de l'Universit\'e de Besan\c con. M\'ecanique et Physique Th\'eorique. 4\`eme S\'erie
+D ANNUF2 Annali dell'Universit\`a di Ferrara. Nuovo Serie. Sezione VII. Scienze Matematiche
+D ANNUM2 Annales Universitatis Mariae Curie Sk\l odowska. Sectio A. Mathematica
+D ANNUS2 Annales Universitatis Scientiarum Budapestinensis de Rolando E\"otv\"os Nominatae. Sectio Mathematica
+D ANNUS4 Godishnik na Sofi\u \i skiya Universitet. Fakultet po Matematika i Mekhanika. Annuaire l'Universit\'e de Sofia. Facult\'e de Sofia. Facult\'e de Math\'ematiques et M\'ecanique
+D ANNUS5 Annales Universitatis Scientiarum Budapestinensis de Rolando E\"otv\"os Nominatae. Sectio Computatorica
+D ANNUT Annales Universitatis Turkuensis. Series A. I. Astronomica-Chemica-Physica-Mathematica
+D ANSTUF Universit\u a\c tii ``Al. I. Cuza''\ din Ia\c si. Analele \c Stiin\c tifice. Sec\c tiunea I b. Fizica. Seria Nou\u a
+D ANSTUM Analele \c Stiin\c tifice ale Universit\u a\c tii ``Al. I. Cuza''\ din Ia\c si. Seria Nou\u a. Sec\c tiunea I a Matematic\u
+D ANUNBF Analele Universit\u a\c tii Bucure\c sti. Fizica
+D ANUNBM Analele Universit\u a\c tii Bucure\c sti. Matematica
+D ANUNC3 Universit\v a\c tii din Craiova. Analele. Matematic\u a, Fizic\u a-Chimie
+D ANUNT3 Analele Universit\u atii din Timi\c soara. \c Stiin\c te Fizice
+D ANUNTM Analele Universit\u a\c tii din Timi\c soara. Seria \c Stiin\c te Matematice
+D ANZOS2 \"Osterreichische Akademie der Wissenschaften. Mathematisch-Naturwissenschaftliche Klasse. Anzeiger
+D APLMA \v Ceskoslovensk\'a Akademie V\v ed. Aplikace Matematiky
+D APPLA Applicable Analysis. An International Journal
+D APPMC Applied Mathematics and Computation
+D APPMM Applied Mathematical Modelling
+D APPMM1 Applied Mathematics and Mechanics. Yingyong Shuxue he Lixue
+D APPMM2 Applied Mathematics and Mechanics. English Edition
+D APPMM3 Applied Mathematics \&\ Mathematics of Computation. Yingyong Shuxue yu Jisuan Shuxue
+D APPMN Applied Mathematics Notes
+D APPMO Applied Mathematics and Optimization. An International Journal
+D APPMR Applied Mechanics Reviews
+D APPNM Applied Numerical Mathematics. Transactions of IMACS
+D APPSR Applied Scientific Research. An International Journal on Thermal, Mechanical, and Electromagnetic Phenomena in Continua
+D APPTA Approximation Theory and its Application
+D ARAGJ Arab Gulf Journal of Scientific Research
+D ARAJM The Arab Journal of Mathematics
+D ARAJS Arabian Journal for Science and Engineering
+D ARBUB \.Arbok for Universitetet i Bergen. Matematisk-Naturvidenskapelig Serie
+D ARCAT2 Polska Akademia Nauk. Komitet Automatyki i Cybernetyki Technicznej. Archiwum Automatyki i Telemechaniki
+D ARCEW Polska Akademia Nauk. Komitet Elektrotechniki. Komitet Elektroniki i Telekommunikacji. Archiwum Elektrotechniki
+D ARCHA Archaeoastronomy
+D ARCHE2 Archive for History of Exact Sciences
+D ARCHI Archimede. Rivista per gli Insegnanti e i Cultori di Matematiche Pure e Applicate
+D ARCIH2 Archives Internationales d'Histoire des Sciences
+D ARCMA Polish Academy of Sciences. Institute of Fundamental Technical Research. Archives of Mechanics (Archiwum Mechaniki Stosowanej)
+D ARCMB1 Archiv der Mathematik. Archives of Mathematics. Archives Math\'ematiques
+D ARCMB2 Spisy P\v r\'\i rodov\v edeck\'e Fakulty University J. E. Purkyn\v e v Brn\v e. Archivum Mathematicum
+D ARCML2 Archiv f\"ur Mathematische Logik und Grundlagenforschung
+D ARCRM Archive for Rational Mechanics and Analysis
+D ARKHI Arkhimedes. Suomen Fyysikkoseura-Finlands Fysikerforening r.y. Suomen Matemaattinen Yhdistys-Finlands Matematiska F\"orening r.y.
+D ARKMA Arkiv f\"or Matematik
+D ARSCO2 Ars Combinatoria
+D ARTII Artificial Intelligence. An International Journal
+D ASTER Ast\'erisque
+D ASTIB The Astin Bulletin. International Journal for Actuarial Studies in Non-Life Insurance and Risk Theory
+D ASTRA Astronomy and Astrophysics
+D ASTRA1 Akademiya Nauk Ukrainsko\u \i \ SSR. Glavnaya Astronomicheskaya Observatoriya. Astrometriya i Astrofizika
+D ASTRJ2 The Astrophysical Journal
+D ASTRN Astronomische Nachrichten
+D ASTRO1 Akademiya Nauk Armyansko\u \i \ SSR. Astrofizika
+D ASTRO2 Astrophysics. A translation of Astrofizika of the Academy of Sciences of the Armenian SSR
+D ASTRZ1 Akademiya Nauk SSSR. Astronomicheski\u \i \ Zhurnal
+D ASTSS Astrophysics and Space Science
+D ATASP2 Atti della Accademia di Scienze Lettere e Arti di Palermo. Parte Prima. Scienze. Serie Quarta
+D ATAST Atti della Accademia delle Scienze di Torino. Classe di Scienze Fisiche, Matematiche e Naturali
+D ATTAF Atti dell'Accademia delle Scienze di Siena detta de' Fisiocritici. Serie XIV
+D ATTAL Atti della Accademia Ligure di Scienze e Lettere
+D ATTANM Atti della Accademia Nazionale dei Lincei. Memorie. Classe di Scienze Fisiche, Matematiche e Naturali. Sezione Ia. Matematica, Meccanica, Astronomia, Geodesia e
+D ATTANR Atti della Accademia Nazionale dei Lincei. Rendiconti. Classe di Scienze Fisiche, Matematiche e Naturali. Serie VIII
+D ATTAP Accademia Peloritana dei Pericolanti. Classe Scienze, Fisiche, Matematiche e Naturali. Atti
+D ATTASB Atti della Accademia delle Scienze dell'Istituto di Bologna. Classe di Scienze Fisiche. Rendiconti. Serie XIII
+D ATTASL Atti della Accademia di Scienze Lettere e Arti di Palermo
+D ATTBL AT\&T Bell Laboratories Technical Journal
+D ATTSM Atti del Seminario Matematico e Fisico dell'Universita di Modena
+D ATTSP Atti della Societ\`a Peloritana di Scienze Fisiche Matematiche e Naturali
+D ATTTJ AT\&T Technical Journal
+D AUNIG Analele Universit\u a\c tii din Gala\c ti. Metalurgie
+D AUSCJ The Australian Computer Society. The Australian Computer Journal
+D AUSJP Australian Journal of Physics
+D AUSJS The Australian Journal of Statistics
+D AUSMS The Australian Mathematical Society. Gazette
+D AUTDM Automatic Documentation and Mathematical Linguistics
+D AUTOM Automatica. The Journal of IFAC. The International Federation of Automatic Control
+D AUTRC Automation and Remote Control. A translation of Avtomatika i Telemekhanika, a publication of the Academy of Sciences of the USSR
+D AVTIT3 Avtomatika i Izchislitelna Tekhnika
+D AVTOM1 Avtomatika
+D AVTOT1 Akademiya Nauk SSSR. Avtomatika i Telemekhanika
+D AVTSU3 Avtomatizirovannye Sistemy Upravleniya i Pribory Avtomatiki
+D AVTUV1 Avtomaticheskoe Upravlenie i Vychislitel'naya Tekhnika
+D AVTVT1 Akademiya Nauk Latvi\u \i sko\u \i \ SSR. Avtomatika i Vychislitel'naya Tekhnika
+D AVTVT2 Minski\u \i \ Radiotekhnicheski\u \i \ Institut. Avtomatika i Vychislitel'naya Tekhnika
+D AZEGU3 Azerba\u \i dzhanski\u \i \ Gosudarstvenny\u \i \ Universitet imeni M. Kirova. Uchenye Zapiski
+D BALGP1 Balashovski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski
+D BANEC Bangabasi Evening College Magazine
+D BARGP1 Barnaul'ski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski
+D BAYAWA Bayerische Akademie der Wissenschaften. Mathematisch-Naturwissenschaftliche Klasse. Abhandlungen. Neue Folge
+D BAYAWS Bayerische Akademie der Wissenschaften. Mathematisch-Naturwissenschaftliche Klasse. Sitzungsberichte
+D BAYMS Bayreuther Mathematische Schriften
+D BEHAS Behavioral Science. Journal of the Society for General Systems Research
+D BEIAG1 Beitr\"age zur Algebra und Geometrie
+D BEIJX Beijing Daxue Xuebao. Ziran Kexue Ban. Beijing University Journal. Natural Sciences
+D BEINM Beitr\"age zur Numerischen Mathematik
+D BEIPP Beitr\"age aus der Plasmaphysik. Contributions to Plasma Physics
+D BEISD Beijing Shifan Daxue Xuebao. Ziran Kexue Ban. Journal of Natural Sciences of Beijing Normal University
+D BELJO Belgian Journal of Operations Research Statistics and Computer Science
+D BERWG Berichte zur Wissenschaftsgeschichte
+D BIBLF Bibliographie de la France
+D BIOLC Biological Cybernetics
+D BIOME1 Biometrics. Journal of the Biometric Society
+D BIOME2 Biometrika
+D BIOMJ Biometrical Journal
+D BIOPJ Biophysical Journal
+D BIT BIT; Nordisk Tidskrift for Informationsbehandling (BIT)
+D BIT1 BIT
+D BIULT Biuletyn Lubelskiego Towarzystwa Naukowego. Matematyka. Fizyka. Chemia
+D BJUIT1 Akademiya Nauk Soyuza Sovetskikh Sotsialisticheskikh Respublik. Byulleten'\ Instituta Teoretichesko\u \i \ Astronomii
+D BOGUD Bo\u gazi\c ci \"Universitesi Dergisi
+D BOLGS Geodesia e Scienze Affini. Bollettino
+D BOLLI Boletin de Lima
+D BOLMA Bolet\'\i n de Matem\'aticas
+D BOLSB Boletim da Sociedade Brasileira de Matem\'atica
+D BOLSM2 Bolet\'\i n de la Sociedad Matem\'atica Mexicana. Segunda Serie
+D BOLSP Boletim da Sociedade Paranaense de Matem\'atica. $2^{\rm a}$ S\'er
+D BOLSP1 Boletim de Sociedade Portuguesa de Matem\'atica
+D BOLSS Bollettino di Storia delle Scienze Matematiche
+D BOLUM3 Unione Matematica Italiana. Bollettino. A. Serie VI
+D BOLUM4 Unione Matematica Italiana. Bollettino. B. Serie VI
+D BOLUM5 Unione Matematica Italiana. Bollettino. D. Serie VI
+D BOLUM6 Unione Matematica Italiana. Bollettino. C. Serie VI. Analisi Funzionale e Applicazioni
+D BOLUMS Unione Matematica Italiana. Bollettino. Supplemento
+D BRIJH British Society for the History of Science. British Journal for the History of Science
+D BRIJM2 The British Journal of Mathematical and Statistical Psychology
+D BRIJP The British Journal for the Philosophy of Science
+D BRINB British National Bibliography
+D BUASN1 Acad\'emie Serbe des Sciences et des Arts. Classe des Sciences Math\'ematiques et Naturelles. Bulletin. Sciences Math\'ematiques
+D BULAI Astronomical Institutes of Czechoslovakia. Bulletin
+D BULAM2 Bulletin of the Australian Mathematical Society
+D BULAM3 American Mathematical Society. Bulletin. New Series
+D BULAPT Bulletin de l'Acad\'emie Polonaise des Sciences. S\'erie des Sciences Techniques
+D BULAU Bulletin of Aichi University of Education. Natural Science
+D BULCM Bulletin of the Calcutta Mathematical Society
+D BULCR2 Bulletin of Central Research Institute Fukuoka University
+D BULCS1 University of the Ryukyus. College of Science. Bulletin
+D BULDG Bulletin of Department of General Education. College of Science and Technology. Nihon University
+D BULEA European Association for Theoretical Computer Science. Bulletin
+D BULFE Bulletin of the Faculty of Education. Kagoshima University. Natural Science
+D BULFEM Bulletin of the Faculty of Engineering. Miyazaki University
+D BULFEU Utsunomiya University. Faculty of Education. Section 2. Bulletin
+D BULFEW Wakayama University. Faculty of Education. Bulletin. Natural Science
+D BULFG Gifu University. Faculty of General Education. Bulletin
+D BULFL Bulletin of the Faculty of Liberal Arts. Nagasaki Univesity. Natural Science
+D BULFL1 Bulletin of the Faculty of the Liberal Arts. Chukyo University
+D BULFS2 Chuo University. Faculty of Science and Engineering. Bulletin
+D BULFS3 Bulletin of the Faculty of Science. Ibaraki University. Series A. Mathematics
+D BULFS5 Bulletin of the Faculty of Science. King Abdul Aziz University
+D BULFS6 Bulletin of the Faculty of School Education. Hiroshima University. Part II
+D BULFS7 Bulletin of the Faculty of Science. Assiut University. A. Physics and Mathematics
+D BULFS8 Bulletin of the Faculty of Science. Assiut University. B. Chemistry and Geology
+D BULFT Kyoto University of Industrial Arts and Textile Fibers. Faculty of Textile Science. Bulletin
+D BULFU Bulletin of Fukuoka University of Education. Part III. Mathematics, Natural Sciences and Technology
+D BULGE Bulletin of General Education. Dokkyo University. School of Medicine. Dokkyo Ika Daigaku Kyoyo Iggaka Kiyo
+D BULIA Bulletin of the Institute for Advanced Research of Fukuoka Univers
+D BULIC Bulletin of Informatics and Cybernetics
+D BULII Bulletin de l'Institut International de Statistique
+D BULIM1 Bulletin of the Institute of Mathematics. Academia Sinica
+D BULIM2 Bulletin of the Institute of Mathematics and its Applications
+D BULIM3 Iranian Mathematical Society. Bulletin
+D BULIP3 Institutului Politehnic din Ia\c si. Buletinul. Sec\c tia I. Matematic\u a. Mecanic\u a Teoretic\u a. Fizic\u a
+D BULIP4 Buletinul. Institutului Politehnic ``Gheorghe Gheorghiu-Dej''\ Bucure\c sti. Seria: Electrotehnic\u a, Energetic\u a, Automatic\u a, Calculataore, Electronic\u a
+D BULIP5 Buletinul. Institutului Politehnic ``Gheorghe Gheorghiu-Dej''\ Bucure\c sti. Seria: Mecanic\u a, Construc\c tii de Ma\c sini, Transporturi, Aeronave
+D BULIP6 Buletinul Institutului Politehnic ``Gheorge Gheorghiu--Dej'' Bucure\c sti. Seria Chimie
+D BULIP7 Buletinul Institutului Politehnic ``Gheorge Gheorghiu--Dej'' Bucure\c sti. Seria Electrotehnic\u a
+D BULIP8 Buletinul Institutului Politehnic ``Gheorge Gehorghiu--Dej'' Bucure\c sti. Seria Mecanic\u a
+D BULIP9 Buletinul Institutului Politehnic ``Gheorge Gheorghiu--Dej'' Bucure\c sti. Seria Construc\c tii de Ma\c sini
+D BULIPA Buletinul Institutului Politehnic ``Gheorge Gheorghiu--Dej'' Bucure\c sti. Seria Automatic\v a
+D BULIPB Buletinul Institutului Politehnic ``Gheorghe Gheorghiu--Dej'' Buchure\c sti. Seria Electronic\v a
+D BULIPD Buletinul Institutului Politehnic ``Gheorghe Gheorghiu--Dej'' Buchure\c sti. Seria Energetic\v a
+D BULIPT Buletinul Institutului Politehnic ``Gheorghe Gheorghiu--Dej'' Bucure\c sti. Seria Transporturi--Aeronave
+D BULJP Bulgarian Journal of Physics
+D BULKI Bulletin of the Kyushu Institute of Technology. Mathematics, Natural Science
+D BULKUB Bulletin of the Kyoto University of Education. Series B. Mathematics and Natural Science
+D BULLG Bulletin G\'eod\'esique
+D BULLJ Bulletin of the Japan Society of Mechanical Engineers
+D BULLKM Bulletin of the Korean Mathematical Society
+D BULLM The Bulletin of the London Mathematical Society
+D BULLM1 George O. Okikiolu. Bulletin of Mathematics
+D BULLS Centre National de la Recherche Scientifique. Bulletin Signal\'etique 110. Informatique. Automatique. Recherche Op\'erationnelle. Gestion
+D BULMA Bulletin of the Mathematical Association of India
+D BULMB2 Bulletin of Mathematical Biology
+D BULMM1 Malaysian Mathematical Society. Bulletin. Second Series
+D BULMS3 Bulletin Math\'ematique de la Soci\'et\'e des Sciences Math\'ematiques de la R\'epublique Socialiste de Roumanie. Nouvelle S\'erie
+D BULNI Bulletin of Nagoya Institute of Technology
+D BULNT Bulletin of Number Theory and Related Topics
+D BULNU Bulletin of Nara University of Education. Natural Science
+D BULOP Bulletin of Osaka Prefectural Technical College
+D BULPA Bulletin of the Polish Academy of Sciences. Mathematics
+D BULPA1 Bulletin of the Polish Academy of Sciences. Technical Sciences
+D BULRL Bulletin of Research Laboratory of Precision Machinery and Electronics
+D BULSB Bulletin of Satyendranath Bose Institute of Physical Sciences
+D BULSE2 Bulletin of Science and Engineering Research Laboratory. Waseda University
+D BULSF Bulletin de la Soci\'et\'e Franco-Japonaise des Sciences Pures et Appliqu\'ees
+D BULSI6 Al Institutului Politehnic Cluj-Napoca. Buletinul \c Stiin\c tific. Seria Chimie-Metalurgie
+D BULSI7 Al Institutului Politehnic Cluj-Napoca. Buletinul \c Stiin\c tific. Seria Electrotehnic\u a-Energetic\u a-Informatic\u a
+D BULSI8 Al Institutului Politehnic Cluj-Napoca. Buletinul \c Stiin\c tific. Seria Matematic\u a-Fizic\u a-Mecanic\u a Aplicat\u a
+D BULSM2 Bulletin des Sciences Math\'ematiques. 2e S\'erie
+D BULSM3 Bulletin de la Soci\'et\'e Math\'ematique de Belgique. S\'erie A
+D BULSM4 Bulletin de la Soci\'et\'e Math\'ematique de Belgique. S\'erie B
+D BULSM5 Bulletin de la Soci\'et\'e Math\'ematique de Gr\`ece. Nouvelle S\'erie
+D BULSMF Bulletin de la Soci\'et\'e Math\'ematique de France
+D BULSR Bulletin de la Soci\'et\'e Royale des Sciences de Li\`ege
+D BULSS2 Bulletin de la Soci\'et\'e des Sciences et des Lettres de \L \'od\
+D BULSS3 Bulletin of the Seismological Society of America
+D BULST3 Institutului Politehnic ``Traian Vuia''\ Timi\c soara. Buletinul \c Stiin\c tific \c si Tehnic
+D BULTG2 Bulletin of Tokyo Gakugei University. Series IV
+D BULTW Bulletin of T\=okai Women's College
+D BULUB1 Universit\u a\c tea din Bra\c sov. Buletinul. Seria C
+D BULUG Universitatea din Gala\c ti. Buletinul. Fascicula II. Matematic\u a, Fizic\u a, Mecanic\u a Teoretic\u a
+D BULUO2 Bulletin of University of Osaka Prefecture. Series A. Engineering and Natural Sciences
+D BULYU Bulletin of the Yamagata University. Natural Science
+D BUTSC Butllet\'\i \ de la Societat Catalana de Ci\`encies F\'\i siques, Qu\'\i miques i Matem\`atiques. Segona \`epoca
+D BUTSM1 Butllet\'\i\ de la Secci\'o de Matem\'atiques
+D BYTE Byte. The Small Systems Journal
+D CAHCE2 Cahiers du Centre d'\'Etudes de Recherche Op\'erationnelle
+D CAHTG Cahiers de Topologie et G\'eom\'etrie Diff\'erentielle
+D CAHTG1 Cahiers de Topologie et G\'eom\'etrie Diff\'erentielle Cat\'egoriq
+D CAIJK Caijing Kexue
+D CALCO Calcolo
+D CALSA Calcutta Statistical Association Bulletin
+D CANJM Canadian Journal of Mathematics. Journal Canadien de Math\'ematiqu
+D CANJP Canadian Journal of Physics
+D CANJS The Canadian Journal of Statistics
+D CANMB Canadian Mathematical Bulletin
+D CARJM Caribbean Journal of Mathematics
+D CASPM \v Ceskoslovensk\'a Akademie V\v ed. \v Casopis Pro P\v estov\'an\'\i \ Matematiky
+D CELEM Celestial Mechanics
+D CENTA Centaurus
+D CHEEJ The Chemical Engineering Journal. An International Journal of Research and Development
+D CHEKD Chengdu Keji Daxue Xuebao
+D CHEMP Chemical Physics
+D CHEPL Chemical Physics Letters
+D CHIAA Chinese Astronomy and Astrophysics
+D CHIAM1 Chinese Annals of Mathematics. Series A. Shuxue Niankan. Ji A
+D CHIAM2 Chinese Annals of Mathematics. Series B
+D CHIJC Chinese Journal of Computers. Jisuanji Xuebao
+D CHIJM Chinese Journal of Mathematics
+D CHINP Chinese Physics
+D CHIOR Chinese Journal of Operations Research. Yunchouxue Zazhi
+D CHISA Chinese Science Abstracts. Part A
+D CHITA1 China Science \&\ Technology Abstracts. Series I. Mathematics, Astronomy, Physics
+D CHIUS Chittagong University Studies. Part II: Science
+D CHOIK (Academy of Science of the People's Republic of Korea. Bulletin) Cho-s\u on Min-ju-ju-\u ui In-min Kong-hwa-kuk Kwa-hak-w\u on. T'ong-bo
+D CIENC Ci\^enc. e Cultura
+D CIENM1 Revista Ciencias Matem\'aticas
+D CIENT Ciencia y Tecnolog\'\i a
+D CIFVT1 Tsifrovaya Vychislitel'naya Tekhnika i Programmirovanie
+D CIRCE Circ\'e
+D CIRSS Circuits, Systems, and Signal Processing
+D CISMM1 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Vychislitel'ny\u \i \ Tsentr. Chislennye Metody Mekhaniki Sploshno\u \i \ Sredy
+D CLAQG Classical and Quantum Gravity
+D CLCLC Computational Linguistics and Computer Languages
+D CMCCC CMCI CompuMath Citation Index. An International, Interdisciplinary Index to the Literature of Applied Mathematics, Computer Science, Statistics, Operations Research and Related Disciplines
+D COGNS Cognitive Science. A Multidisciplinary Journal of Artificial Intelligence, Psychology, and Language
+D COLLM Colloquium Mathematicum
+D COLLM1 Consejo Superior de Investigaciones Cient\'\i ficas. Universidad de Barcelona. Collectanea Mathematica. Seminario Matem\'atico de Barcelona
+D COLMJ The College Mathematics Journal
+D COMAG Computer Aided Geometric Design
+D COMBI Combinatorica. An International Journal of the J\'anos Bolyai Mathematical Society
+D COMBI1 Combinat\'oria. Estudos e Pesquisas
+D COMCA Computer and Control Abstracts
+D COMDI2 Communications of the Dublin Institute for Advanced Studies. Series A
+D COMFSA Universit\'e d'Ankara. Facult\'e des Sciences. Communications. S\'erie $A\sb 3$. Astronomie
+D COMFSM Universit\'e d'Ankara. Facult\'e des Sciences. Communications. S\'erie ${\rm A}\sb 1$. Math\'ematiques
+D COMFSP Universit\'e d'Ankara. Facult\'e des Sciences. Communications. S\'erie $A\sb 2$. Physique
+D COMMA1 Communications of the Association for Computing Machinery
+D COMMA2 Communications in Algebra
+D COMMA3 Computers \&\ Mathematics with Applications. An International Jour
+D COMMA4 Computer Methods in Applied Mechanics and Engineering
+D COMMC Communication and Cognition
+D COMMH Commentarii Mathematici Helvetici
+D COMMP Communications in Mathematical Physics
+D COMMP1 Roczniki Polskiego Towarzystwa Matematycznego. Seria I. Commentationes Mathematicae. Prace Matematyczne
+D COMMS Commentationes Mathematicae. Special Issue
+D COMMSA Communications in Statistics. A. Theory and Methods
+D COMMSB Communications in Statistics. B. Simulation and Computation
+D COMMU2 Commentarii Mathematici Universitatis Sancti Pauli
+D COMMU3 Commentationes Mathematicae Universitatis Carolinae
+D COMOR Computers \&\ Operations Research
+D COMPA Communications on Pure and Applied Mathematics
+D COMPC Computer Physics Communications. An International Journal Devoted to Computational Physics and Computer Programs in Physics
+D COMPD Communications in Partial Differential Equations
+D COMPEE Computers \&\ Electrical Engineering. An International Journal
+D COMPEL Compel. The International Journal for Computation and Mathematics in Electrical and Electronic Engineering
+D COMPF Computers \&\ Fluids. An International Journal
+D COMPJ The Computer Journal
+D COMPM Comment. Phys.-Math.
+D COMPM1 Comment. Phys.-Math. Dissertationes
+D COMPN Computer Networks. International Journal of Distributed Informatiq
+D COMPN1 Computer Networks and ISDN Systems. The International Journal of Computer and Telecommunications Networking
+D COMPO Compositio Mathematica
+D COMPR Computing Reviews
+D COMPS Computing Surveys. ACM. Association for Computing Machinery
+D COMPS2 Computers \&\ Structures. An International Journal
+D COMPS3 Computer Science. Jisuanji Kexue
+D COMPU Computing. Archiv f\"ur Informatik und Numerik
+D COMSD Computational Statistics \&\ Data Analysis
+D COMSSM Communications in Statistics. Stochastic Models
+D COMTP Communications in Theoretical Physics. Lunli Liwu
+D COMVT Complex Variables. Theory and Application. An International Journa
+D CONCE Conceptus. Zeitschrift f\"ur Philosophie
+D CONGN Congressus Numerantium
+D CONPP Contributions to Plasma Physics
+D CONSA Constructive Approximation. An International Journal for Approximations and Expansions
+D CONSM Conferenze del Seminario di Matematica dell'Universit\`a di Bari
+D CONTA Control Theory \&\ Applications. Kongzhi Lilun yu Yingyong
+D CONTC Polish Academy of Sciences. Institute of Applied Cybernetics. Control and Cybernetics
+D CRACA Doklady Bolgarsko\u \i \ Akademii Nauk. Comptes Rendus de l'Acad\'emie Bulgare des Sciences
+D CRACA1 Comptes Rendus des S\'eances de l'Acad\'emie des Sciences. S\'erie I. Math\'ematique
+D CRACA2 Comptes Rendus des S\'eances de l'Acad\'emie des Sciences. S\'erie II. M\'ecanique, Physique, Chimie, Sciences de l'Univers, Sciences de la Te
+D CRACA4 Comptes Rendus de l'Acad\'emie des Sciences. S\'erie G\'en\'erale. La Vie des Sciences
+D CRACS Comptes Rendus Hebdomadaires des S\'eances de l'Acad\'emie des Sciences. Vie Acad\'emique
+D CRACS1 Comptes Rendus Hebdomadaires des S\'eances de l'Acad\'emie des Sciences. S\'erie D
+D CRMAR La Soci\'et\'e Royale du Canada. L'Academie des Sciences. Comptes Rendus Math\'ematiques. (Mathematical Reports)
+D CRYPT Cryptologia
+D CSQCS Computational Statistics Quarterly
+D CURCC CC/CompuMath. Current Contents/CompuMath
+D CURMP Current Mathematical Publications
+D CUTRJ Cuttington Research Journal
+D CWINE Centrum voor Wiskunde en Informatica. Centre for Mathematics and Computer Science. Newsletter
+D CYBCT Cybernetics and Computing Technology
+D CYBER1 Cybernetica
+D CYBER2 Cybernetics
+D CYBES Cybernetics and Systems. An International Journal
+D CZEJPB \v Cehoslovackaja Akademija Nauk. \v Cehoslovacki\u \i \ Fizi\v ceski\u \i \ \v Zurnal. Czechoslovak Academy of Sciences. Czechoslovak Journal of Physics. B
+D CZEMJ \v Cehoslovackaja Akademija Nauk. \v Cehoslovacki\u \i \ Matemati\v ceski\u \i \ \v Zurnal. Czechoslovak Mathematical Journal
+D DALGX Dalian Gongxueyuan Xuebao
+D DAQIK Daqi Kexue
+D DATAM Datamation
+D DEFSJ Defence Science Journal
+D DELPR Delft Progress Report
+D DEMOM Demonstratio Mathematica
+D DENTG Denshi Tsushin Gakkai Ronbunshi Sect. A-D
+D DEUBW1 Deutsche Bibliographie. W\"ochentliches Verzeichnis. Amtsblatt der Deutschen Bibliothek. Neuerscheinungen Sofordienst (CIP)
+D DEUBWA Deutsche Bibliographie. W\"ochentliches Verzeichnis. Amtsblatt der Deutschen Bibliothek. Reihe A
+D DEUBWB Deutsche Bibliographie. W\"ochentliches Verzeichnis. Amtsblatt der Deutschen Bibliothek. Reihe B
+D DEUBWC Deutsche Bibliographie. W\"ochentliches Verzeichnis. Reihe C
+D DEUNRA Deutsche Nationalbibliographie. Reihe A. Neuerscheinungen des Buchhandels
+D DEUNRB Deutsche Nationalbibliographie. Reihe B. Neuerscheinungen Ausserhalb des Buchhandels
+D DIAGR Diagrammes
+D DIALE Dialectica. International Review of Philosophy of Knowledge
+D DIALO Dialogue. Canadian Philosophical Review. Revue Canadienne de Philosophie
+D DIFFE Differential Equations
+D DIFFU1 Differentsial'nye Uravneniya
+D DIFGM Differentsial'naya Geometriya Mnogoobrazi\u \i \ Figur. Kaliningradski\u \i \ Gosudarstvenny\u \i \ Universitet
+D DIFUP2 Differentsial'nye Uravneniya i Ikh Primenenie
+D DIGIP Digital Processes. An International Journal on the Theory and Design of Digital Systems
+D DINAS Gor'kovski\u \i \ Gosudarstvenny\u \i \ Universitet. Dinamika Sistem
+D DINPM1 Dinamika i Prochnost'\ Mashin
+D DINSS1 Institut Gidrodinamiki Sibirskogo Otdeleniya Akademii Nauk SSSR. Dinamika Sploshno\u \i \ Sredy
+D DIRRJ Dir\=as\=at. A Research Journal. Natural Sciences
+D DISAM Discrete Applied Mathematics
+D DISCM Discrete Mathematics
+D DISMR Polska Akademia Nauk. Instytut Matematyczny. Dissertationes Mathematicae. Rozprawy Matematyczne
+D DOGBD Do\u ga Bilim Dergisi. Seri A$\sb 1$: Matematik, Fizik, Kimya, Astronomi ve Yerbilimleri. Nature Science Journal Series A$\sb {1}$: Mathematics, Physics, Chemistry, Astronomy and Geology
+D DOGBD1 Do\u ga Bilim Dergisi. Seri A$\sb 1$: Matematik, Fizik, Kimya, Astronomi
+D DOGMF Do\=ga. Seri\/ ${\Reffont A}_1$: Matematik, Fizik, Kimya, Astronomi ve Yerbilimleri
+D DOKAN1 Doklady Akademii Nauk BSSR
+D DOKAN2 Doklady Akademii Nauk SSSR
+D DOKAN4 Doklady Akademii Nauk UzSSR
+D DOKAN5 Doklady Akademii Nauk Tadzhiksko\u \i \ SSR
+D DOKANA Akademiya Nauk Ukrainsko\u \i \ SSR. Doklady. Seriya A. Fiziko-Matematicheskie i Tekhnicheskie Nauki
+D DONGX Dongbei Gongxueyuan Xuebao
+D DONSX Dongbei Shida Xuebao. Ziran Kexue Ban. Journal of Northeast Normal University. Natural Sciences
+D DOPANA Dopov\=\i d\=\i \ Akadem\=\i \"\i \ Nauk Ukra\"\i ns'ko\"\i \ RSR. Seriya A
+D DUKMJ Duke Mathematical Journal
+D DUREG D\"urerner Geschichtsbl\"atter
+D DVTDV2 D\v ejiny V\v ed a Techniky. Spole\v cnost pro D\v ejiny V\v ed a Techniky
+D ECOCE2 Economic Computation and Economic Cybernetics Studies and Research
+D ECONL Economics Letters
+D ECONO Econometrica. Journal of the Econometric Society
+D ECONR Econometric Reviews
+D EDFBD Electricit\'e de France. Bulletin de la Direction des \'Etudes et Recherches. S\'erie C. Math\'ematiques. Informatique
+D EDSTM Educational Studies in Mathematics
+D EESNT2 NSV Teaduste Akadeemia. F\"u\"usika Instituudi Uurimused. Eesti. Akademia Nauk \`Estonsko\u \i \ SSR. Institut Fiziki. Trudy
+D EESNT4 Eesti NSV Teaduste Akadeemia Toimetised. F\"u\"usika-Matemaatika. Izvestiya Akademii Nauk \`Estonsko\u \i \ SSR. Seriya Fizika-Matematika
+D EGYSJ The Egyptian Statistical Journal
+D EKOMM \`Ekonomika i Matematicheskie Metody
+D EKOMO \v Ceskoslovensk\'a Akademie V\v ed. Ekonomicko-Matematick\'y Obzo
+D ELECJ2 Electronics and Communications in Japan. The Transactions of the Institute of Electronics and Communication Engineers of Japan
+D ELEIK2 Elektronische Informationsverarbeitung und Kybernetik
+D ELEMM Elemente der Mathematik. Revue de Math\'ematiques \'El\'ementaires. Rivista de Matematica Elementare
+D ENCYC Encyclia. Utah Academy of Sciences, Arts, and Letters. Journal
+D ENGFM Engineering Fracture Mechanics
+D ENGRC Engineering Cybernetics. English Edition of Tekhnicheskaya Kibernetika
+D ENSEM2 L'Enseignement Math\'ematique. Revue Internationale. IIe S\'erie
+D EREGU1 Erevanski\u \i \ Gosudarstvenny\u \i \ Universitet. Uchenye Zapiski. Estestvennye Nauki
+D ERGTD Ergodic Theory and Dynamical Systems
+D ESTAD Inter-American Statistical Institute. Estad\'\i stica
+D ESTAE Instituto Nacional de Estad\'\i stica. Estad\'\i stica Espa\~nola
+D EUCLG Euclides. Maandblad voor de Didactiek van de Wiskunde
+D EURJC European Journal of Combinatorics
+D EURJO European Journal of Operational Research
+D EURJP European Journal of Physics
+D EXPNA Exploration of Nature. Da Ziran Tansuo
+D EXPOM Expositiones Mathematicae. International Journal for Pure and Applied Mathematics
+D FASCM Polytechnica Posnaniensis. Institutum Mathematicum. Fasciculi Mathematici
+D FIBOQ The Fibonacci Quarterly. Official Organ of the Fibonacci Association
+D FIZEC1 Ob\b ud edinenny\u \i \ Institut Yadernykh Issledovani\u \i . Dubna. Fizika \`Elementarnykh Chastits i Atomnogo Yadra
+D FIZMS B\b ud lgarska Akademiya na Naukite. Fizicheski Institut. Matematicheski Institut. Fiziko-Matematichesko Spisanie
+D FLUID Fluid Dynamics
+D FLUMS Fluid Mechanics. Soviet Research
+D FOLFS Folia. Facultatis Scientiarum Naturalium Universitatis Purkynianae Brunensis. Physica
+D FORMS Formosan Science
+D FORTP2 Fortschritte der Physik
+D FOUCE Technical University of Pozna\'n. Institute of Control Engineering. Foundations of Control Engineering
+D FOUNP Foundations of Physics
+D FUDAX Fudan Xuebao. Ziran Kexue Ban. Fudan Journal. Natural Sciences
+D FUJES Fu Jen Studies
+D FUKUS Fukuoka University Science Reports
+D FUNAA Functional Analysis and its Applications
+D FUNAC Uniwersytet im. Adama Mickiewicza w Poznaniu Instytut Matematyki. Functiones et Approximatio Commentarii Mathematici
+D FUNAP1 Akademiya Nauk SSSR. Funktsional'ny\u \i \ Analiz i ego Prilozheniya
+D FUNDI3 Roczniki Polskiego Towarzystwa Matematycznego. Seria IV. Fundamenta Informaticae
+D FUNDM Polska Akademia Nauk. Fundamenta Mathematicae
+D FUNDS Fundamenta Scientiae
+D FUNKE Fako de l'Funkcialaj Ekvacioj Japana Matematika Societo. Funkcialaj Ekvaciog. Serio Internacia
+D FUZDX Fuzhou Daxue Xuebao. Journal of Fuzhou University.
+D FUZSS Fuzzy Sets and Systems
+D FUZZM Fuzzy Mathematics. Mohu Shuxue
+D GACMM2 Gaceta Matem\'atica. Primera Serie
+D GANIB Ga\d nita Bh\=arat\=\i . Indian Society for History of Mathematics. Bulletin
+D GANIT Ga\d nita Bharat Ga\d nita Pari\d sad
+D GANIT1 Ganit. Journal of Bangladesh Mathematical Society
+D GAOWY Gaoneng Wuli yu He Wuli
+D GAOXJ Gaodeng Xuexiao Jisuan Shuxue Xuebao
+D GAUGG Gauss-Gesellschaft e. V. G\"ottingen. Mitteilungen
+D GAZEM Gazette des Math\'ematiciens
+D GAZMB Gazeta Matematic\u a. Publica\c tie Lunar\u a Pentru Tineret
+D GAZMM Gazeta Matematic\u a. Perfec\c tionare Metodic\u a \c si Metodologic\u a in Matematic\u a \c si Informatic\u a
+D GENER General Education Review. Toho University
+D GENRG2 General Relativity and Gravitation
+D GEOAF Geophysical and Astrophysical Fluid Dynamics
+D GEOMD2 Geometriae Dedicata
+D GESNE Gesnerus
+D GIDRK1 Akademiya Nauk Ukrainsko\u \i \ SSR. Institut Gidromekhaniki. Gidromekhanika
+D GLAMJ Glasgow Mathematical Journal
+D GLASM2 Dru\v sstvo Matemati\v cara i Fizi\v cara S. R. Hrvatske. Glasnik Matemati\v cki. Serija III
+D GODSU Godishnik Sofi\u \i sk. Univ. Fak. Mat. Mekh.
+D GODSU1 Godishnik Sofi\u \i sk. Univ. Fiz. Fak.
+D GODVI1 Godishnik na Visshiya Inzherno-Stroitelen Institut
+D GODVP1 Godishnik na Visshiya Pedagogicheski Institut v Shumen. Prirodo-Matematicheski Fakultet
+D GODVU1 Godishnik na Visshite Uchebni Zavedeniya. Tekhnicheska Mekhanika
+D GODVU2 Godishnik na Visshite Uchebni Zavedeniya. Tekhnicheska Fizika
+D GODVU3 Godishnik na Visshite Uchebni Zavedeniya. Prilozhna Matematika
+D GRAPC Graphs and Combinatorics. An Asian Journal
+D GRATO1 Kazanski\u \i \ Gosudarstvenny\u \i \ Universitet. Gravitatsiya i Teoriya Otnositel'nosti
+D GUJSR Gujarat Statistical Review
+D HADJS Hadronic Journal Supplement
+D HADRJ Hadronic Journal
+D HAEGD Harbin Gongye Daxue Xuebo
+D HAKSC K\u on'guk Taehakkyo, Haksul Y\u on'guwon. Hak-sul Chi. (K\u on'guk University. Research Institute. Research Journal)
+D HANDX Hangzhou Daxue Xuebao
+D HARRJ Hardy-Ramanujan Journal
+D HEIDZ Heilongjiang Daxue Ziran Kexue Xuebao
+D HEIKA Heimatbl\"atter des Kreises Aachen
+D HELPA Helvetica Physica Acta. Societatis Physicae Helveticae Commentaria Publica
+D HEWPJ Hewlett-Packard Journal
+D HIRMJ Hiroshima Mathematical Journal
+D HISPL History and Philosophy of Logic
+D HISTM Historia Mathematica
+D HISTO Historia Scientiarum. International Journal of the History of Science Society of Japan
+D HISTS History of Science. An Annual Review of Literature, Research, and Teaching
+D HISTT History and Technology. An International Journal
+D HITJA Hitotsubashi Journal of Arts \&\ Sciences. Hitotsubashi University
+D HOKMJ Hokkaido Mathematical Journal
+D HOMME L'Homme. Revue Fran\c caise d'Anthropologie
+D HONMJ Honam Mathematical Journal
+D HOUJM Houston Journal of Mathematics
+D HUAGX Huazhong Gong Xueyuan Xuebao
+D HUASD Huadong Shifan Dazue Xuebao. Ziran Kexue Ban
+D HUASX Huazhong Shiyuan Xuebao. Ziran Kexue Ban
+D HUNSD Hunan Shifan Daxue Xuebao. Ziran Kexue Ban
+D HUNSX Hunan Shiyuan Xuebao
+D IAPAR IAPQR Transactions. Journal of the Indian Association for Productivity, Quality \&\ Reliability
+D IBMJR International Business Machines Corporation. Journal of Research and Development
+D IEETA1 Institute of Electrical and Electronics Engineers. Transactions on Acoustics, Speech, and Signal Processing
+D IEETA3 Institute of Electrical and Electronics Engineers. Transactions on Antennas and Propagation
+D IEETA6 Institute of Electrical and Electronics Engineers. Transactions on Aerospace and Electronic Systems
+D IEETA7 Institute of Electrical and Electronics Engineers. Transactions on Automatic Control
+D IEETC1 Institute of Electrical and Electronics Engineers. Transactions on Circuits and Systems
+D IEETC2 Institute of Electrical and Electronics Engineers. Transactions on Communications
+D IEETC4 Institute of Electrical and Electronics Engineers. Transactions on Computers
+D IEETG3 Institute of Electrical and Electronics Engineers. Transactions on Geoscience and Remote Sensing
+D IEETI2 Institute of Electrical and Electronics Engineers. Transactions on Information Theory
+D IEETM Institute of Electrical and Electronics Engineers. Transactions on Microwave Theory and Techniques
+D IEETP Institute of Electrical and Electronic Engineers. Transactions on Plasma Science
+D IEETS1 Institute of Electrical and Electronics Engineers. Transactions on Software Engineering
+D IEETS2 Institute of Electrical and Electronic Engineers. Transactions on Systems, Man, and Cybernetics
+D ILLJM Illinois Journal of Mathematics
+D IMAJA IMA (Institute of Mathematics and its Applications). Journal of Applied Mathematics
+D IMAJM IMA Journal of Mathematics Applied in Medicine and Biology
+D IMAJN IMA (Institute of Mathematics and its Applications). Journal of Numerical Analysis
+D INDAM Indag. Math.
+D INDJH2 Indian Journal of History of Science. National Institute of Sciences of India
+D INDJM1 Indian Journal of Mathematics
+D INDJM2 Indian Journal of Mechanics and Mathematics
+D INDJPM Indian Journal of Pure and Applied Mathematics
+D INDJPP Indian Journal of Pure and Applied Physics
+D INDUM1 Indiana University Mathematics Journal
+D INDUM2 Industrial Mathematics
+D INFAC Information and Control. Xinxi yu Kongzhi
+D INFOC2 Information and Control
+D INFOS3 Information Sciences. An International Journal
+D INFPL2 Information Processing Letters
+D INSHE Institut des Hautes \'Etudes Scientifiques. Publications Math\'ematiques
+D INSMS Institute of Mathematical Statistics. Bulletin
+D INSPT Institutului Politehnic ``Traian Vuia''\ Timi\c soara. Lucr\u arile Seminarului de Matematic\u a \c si Fizic\u a
+D INSUR Insurance: Mathematics \&\ Economics
+D INTEO Integral Equations and Operator Theory
+D INTER International Economic Review
+D INTJC3 International Journal of Computer Mathematics. Section A. Programming Theory and Methods. Section B. Computational Methods
+D INTJC4 International Journal of Control
+D INTJC5 International Journal of Computer and Information Sciences
+D INTJC6 International Journal of Circuit Theory and Applications
+D INTJE1 International Journal of Electronics
+D INTJE2 International Journal of Engineering Science
+D INTJF International Journal of Fracture
+D INTJG1 International Journal of Game Theory
+D INTJG3 International Journal of General Systems. Methodology, Applications, Education
+D INTJM2 International Journal of Mathematical Education in Science and Technology
+D INTJM4 International Journal of Mathematics and Mathematical Sciences
+D INTJN International Journal of Neuroscience
+D INTJN1 International Journal of Non-Linear Mechanics
+D INTJN2 International Journal for Numerical Methods in Engineering
+D INTJN3 International Journal for Numerical and Analytical Methods in Geomechanics
+D INTJN4 International Journal for Numerical Methods in Fluids
+D INTJP1 International Journal of Plasticity
+D INTJQ International Journal of Quantum Chemistry
+D INTJQ1 International Journal of Quantum Chemistry
+D INTJS1 International Journal of Solids and Structures
+D INTJS2 International Journal of Systems Science
+D INTJT International Journal of Theoretical Physics
+D INTLR International Logic Review. Rassegna Internazionale di Logica
+D INTMN International Mathematical News
+D INTRR The International Journal of Robotics Research
+D INTSR International Statistical Review. Revue International de Statistiq
+D INTSR1 ISR. Interdisciplinary Science Reviews
+D INVEM Inventiones Mathematicae
+D INVEO Investigaci\'on Operacional
+D INVEP Inverse Problems. An International Journal of Inverse Problems, Inverse Methods and Computerized Inversion of Data
+D INZFZ1 Inzhenerno-Fizicheski\u \i \ Zhurnal
+D IRAJS Iraqi Journal of Science
+D IRIMS Irish Mathematical Society Newsletter
+D ISIS Isis. An International Review Devoted to the History of Science and Civilization
+D ISLJS Islamabad Journal of Sciences. Journal of Mathematics and Sciences
+D ISRJM Israel Journal of Mathematics
+D ISRJT Israel Journal of Technology
+D ISSOA1 Kievski\u \i \ Gosudarstvenny\u \i \ Universitet. Issledovanie Operatsi\u \i \ i ASU
+D ISSPM Kazanski\u \i \ Universitet. Issledovaniya po Prikladno\u \i \ Matematike
+D ISSTP1 Kazanski\u \i \ Universitet. Issledovaniya po Teorii Plastin i Obolochek
+D ISTAI Istoriko-Astronomicheskie Issledovaniya
+D ISTLAA Istituto Lombardo. Accademia di Scienze e Lettere. Rendiconti. Scienze Matematiche, Fisiche, Chimiche e Geologiche. A
+D ISTMI Istoriko-Matematicheskie Issledovaniya
+D ISTTU \.Istanbul Teknik \"Universitesi B\"ulteni. Bulletin of the Technical University of Istanbul
+D ISTUF \.Istanbul \"Universitesi Fen Fak\"ultesi Mecmuasi. A Serisi. Sirf\^\i \ ve Tatbiki Matematik. Revue de la Facult\'e des Sciences de l'Universit\'e d'Istanbul. S\'erie A. Math\'ematiques Pures et Appliqu\'ees
+D ISTVS2 Istituto Veneto di Scienze, Lettere ed Arti. Venezia. Atti. Classe de Scienze Matematiche e Naturali
+D IZVAN4 Izvestiya Akademii Nauk SSSR. Seriya Matematicheskaya
+D IZVAN7 Izvestiya Akademii Nauk UzSSR. Seriya Fiziko-Matematicheskikh Nauk. UzSSR Fanlar Akademiyasining Akhboroti. Fizika-Matematika Fanlari Seriyasi
+D IZVAN9 Izvestiya Akademii Nauk Kirgizsko\u \i \ SSR
+D IZVANB Izvestiya Akademii Nauk Armyansko\u \i \ SSR. Seriya Matematika
+D IZVANC Izvestiya Akademii Nauk Armyansko\u \i \ SSR. Seriya Mekhanika
+D IZVAND Izvestiya Akademii Nauk Armyansko\u \i \ SSR. Seriya Tekhnicheskikh Nauk
+D IZVANE Izvestiya Akademii Nauk Azerba\u \i dzhansko\u \i \ SSR. Seriya Fiziko-Tekhnicheskikh i Matematicheskikh Nauk
+D IZVANI Izvestiya Akademii Nauk Kazakhsko\u \i \ SSR. Seriya Fiziko-Matematicheskaya
+D IZVANJ Izvestiya Akademii Nauk Moldavsko\u \i \ SSR. Seriya Fiziko-Tekhnicheskikh i Matematicheskikh Nauk
+D IZVANM Izvestiya Akademii Nauk SSSR. Mekhanika Tverdogo Tela
+D IZVANO Izvestiya Akademii Nauk SSSR. Seriya Fizika Atmosfery i Okeana
+D IZVANP Izvestiya Akademii Nauk SSSR. Mekhanika Zhidkosti i Gaza
+D IZVANQ Izvestiya Akademii Nauk SSSR. Tekhnicheskaya Kibernetika
+D IZVANR Izvestiya Akademii Nauk Tadzhiksko\u \i \ SSR. Otdelenie Fiziko-Matematicheskikh, Khimicheskikh i Geologicheskikh Nauk
+D IZVANS Izvestiya Akademii Nauk Armyansko\u \i \ SSR. Seriya Fizika
+D IZVANU Izvestiya Akademii Nauk Turkmensko\u \i \ SSR. Seriya Fiziko-Tekhnicheskikh, Khimicheskikh i Geologicheskikh Nauk
+D IZVANZ Izvestiya Akademii Nauk SSSR Seriya Fizika Zemli
+D IZVAS1 Izvestiya Academy of Sciences USSR. Atmospheric and Oceanic Physic
+D IZVSK3 Izvestiya Severo-Kavkazskogo Nauchnogo Tsentra Vysshe\u \i \ Shkoly. Estestvennye Nauki
+D IZVSK4 Izvestiya Severo-Kavkazskogo Nauchnogo Tsentra Vysshe\u \i \ Shkoly. Tekhnicheskie Nauki
+D IZVSO2 Izvestiya Sibirskogo Otdeleniya. Akademiya Nauk SSSR. Seriya Tekhnicheskikh Nauk
+D IZVTP1 Izvestiya Tomskogo Ordena Trudovogo Krasnogo Znameni Politekhnicheskogo Instituta imeni S. M. Kirova
+D IZVVG1 Izvestiya Voronezhskogo Gosudarstvennogo Pedagogicheskogo Institut
+D IZVVU3 Izvestiya Vysshikh Uchebnykh Zavedeni\u \i . Fizika
+D IZVVU4 Izvestiya Vysshikh Uchebnykh Zavedeni\u \i . Matematika
+D IZVVU5 Izvestiya Vysshikh Uchebnykh Zavedeni\u \i . Radiofizika
+D IZVVU6 Izvestiya Vysshikh Uchebnykh Zavedeni\u \i . Aviatsionnaya Tekhnik
+D JACOS Acoustical Society of America. Journal
+D JAHDM Jahresbericht der Deutschen Mathematiker-Vereinigung
+D JAHRS Jahangirnagar Review Part A: Science
+D JALGE Journal of Algebra
+D JALGO Journal of Algorithms
+D JAMEC Journal of the American Chemical Society
+D JAMES Journal of the American Statistical Association
+D JANAM Journal d'Analyse Math\'ematique
+D JANIE The Journal of Animal Ecology
+D JANUS Janus. Revue Internationale de l'Histoire des Sciences, de la M\'edecine, de la Pharmacie et de la Technique
+D JAPJM2 Science Council of Japan. Japanese Journal of Mathematics. New Ser
+D JAPPM1 Journal of Applied Mathematics and Mechanics. Translation of the Soviet journal Prikladnaya Matematika i Mekhanika
+D JAPPM2 Journal of Applied Mechanics and Technical Physics
+D JAPPP2 Journal of Applied Probability
+D JAPPT2 Journal of Approximation Theory
+D JASAT Journal of the Asahikawa Technical College
+D JASSC Journal of the Association for Computing Machinery
+D JASTS American Astronautical Society. Journal of the Astronautical Scien
+D JATMS Journal of the Atmospheric Sciences
+D JAUSMA Australian Mathematical Society. Journal. Series A
+D JAUSMB Australian Mathematical Society. Journal. Series B. Applied Mathematics
+D JBIHM Journal of the Bihar Mathematical Society
+D JBIOM Journal of Biomechanics
+D JBUHA Heidelberger Akademie der Wissenschaften. Jahrbuch
+D JCENC Journal of Central China Teachers College. Natural Sciences Edition. Huazhong Shiyuan Xuebao. Ziran Kexue Ban
+D JCHEP The Journal of Chemical Physics
+D JCHES Chemical Society. Journal Faraday Transactions II
+D JCHEU J. Chekiang Univ.
+D JCHII Chinese Institute of Engineers. Journal
+D JCHIU Journal of China University of Science and Technology. Zhongguo Kexue Jishu Daxue Xuebao
+D JCHUS Journal of Chengdu University of Science and Technology. Chengdu Keji Daxue Xuebao
+D JCLAS Journal of Classification
+D JCOLEB Nihon University. College of Engineering. Journal. Series B
+D JCOLI Journal of Colloid and Interface Science
+D JCOLS Journal of the College of Science. University of Riyadh
+D JCOMA Journal of Computational and Applied Mathematics
+D JCOMC Journal of Computational Chemistry
+D JCOMI2 Journal of Combinatorics, Information \&\ System Sciences
+D JCOMM Journal of Computational Mathematics. An International Journal on Numerical Methods, Analysis and Applications
+D JCOMP2 Journal of Computational Physics
+D JCOMS Journal of Computer and System Sciences
+D JCOMTA Journal of Combinatorial Theory. Series A
+D JCOMTB Journal of Combinatorial Theory. Series B
+D JCUNS Journal of Cuneiform Studies
+D JDALI Journal of Dalian Institute of Technology. Dalian Gong Xueyuan Xue
+D JDIFE Journal of Differential Equations
+D JDIFG2 Journal of Differential Geometry
+D JDIGS Journal of Digital Systems
+D JEASC Journal of East China Normal University. Natural Science Edition. Huadong Shifan Daxue Xuebao. Ziran Kexue Ban
+D JECOD Journal of Economic Dynamics \&\ Control
+D JECON2 Journal of Econometrics
+D JECONT Journal of Economic Theory
+D JELAS Journal of Elasticity
+D JELIM Journal of the Elisha Mitchell Scientific Society
+D JENGM Journal of Engineering Mathematics
+D JENGP Journal of Engineering Physics
+D JFACE1 Journal of the Faculty of Engineering. Chiba University
+D JFACE2 Journal of the Faculty of Engineering. University of Tokyo. Series B
+D JFACE4 Journal of the Faculty of Education. Saga University
+D JFACL1 Journal of the Faculty of Liberal Arts. Yamaguchi University. (Natural Science)
+D JFACS1 Journal of the Faculty of Science. Shinshu University
+D JFACS2 Journal of the Faculty of Science. University of Tokyo. Section IA. Mathematics
+D JFINA The Journal of Finance
+D JFLUM Journal of Fluid Mechanics
+D JFRAI Journal of the Franklin Institute
+D JFUDU Journal of Fudan University. Natural Science. Fudan Xuebao. Ziran Kexue Ban
+D JFUNA2 Journal of Functional Analysis
+D JFUZU J. Fuzhou Univ.
+D JGEOM2 Journal of Geometry
+D JGEOP Journal of Geometry and Physics
+D JGRAT Journal of Graph Theory
+D JHANU Journal of Hangzhou University. Natural Science Edition. Hangzhou Daxue Xuebao. Ziran Kexue Ban
+D JHARI Journal of Harbin Institute of Technology. Harbin Gongye Daxue Xue
+D JHEIU J. Heilongjiang Univ. Natur. Sci.
+D JHISA1 Journal for the History of Astronomy
+D JHISA2 Journal for the History of Arabic Science
+D JHOKUA Journal of Hokkaido University of Education. Section II A
+D JHUAI1 Journal of Huachung Institute of Technology
+D JHUAU Journal of Huazhong (Central China) University of Science and Technology. English Edition
+D JHUAU1 Journal. Huazhong (Central China) University of Science and Technology. Huazhong Gong Xueyuan Xuebao
+D JHUNN Journal of Hunan Normal University. Natural Science Edition. Hunan Shifan Daxue Xuebao. Ziran Kexue Ban.
+D JILDZ Jilin Daxue Ziran Kexue Xuebao
+D JINDA Indian Academy of Mathematics. Journal
+D JINDI Indian Institute of Science. Journal. Sections A-C
+D JINDM2 The Journal of the Indian Mathematical Society. New Series
+D JINDS Journal of the Indian Statistical Association
+D JINDS1 Journal of the Indian Society of Statistics and Operations Research
+D JINDS2 Journal of the Indian Society of Agricultural Statistics
+D JINFO Journal of Information \&\ Optimization Sciences
+D JINFP1 Journal of Information Processing
+D JINNM J. Inner Mongolia Univ.
+D JINTA2 Journal of the International Association for Mathematical Geology
+D JINTE Journal of Integral Equations
+D JISUS Jisuan Shuxue
+D JJAPS Journal of the Japan Statistical Society (Nihon T\^okei Gakkai Kaih\^o)
+D JKARU Journal of the Karnatak University. Science
+D JKARU1 Journal Karadeniz University. Faculty of Arts and Sciences. Series of Mathematics-Physics
+D JKORM Journal of the Korean Mathematical Society
+D JKORS Journal of the Korean Statistical Society
+D JLANU J. Lanzhou Univ.
+D JLOGP Journal of Logic Programming
+D JLONM2 The Journal of the London Mathematical Society. Second Series
+D JMADK Madurai Kamaraj University. Journal
+D JMATA Journal of Mathematical Analysis and Applications
+D JMATB Journal of Mathematical Biology
+D JMATE Journal of Mathematical Economics
+D JMATK Journal of Mathematics of Kyoto University
+D JMATP4 Journal of Mathematical Physics
+D JMATP5 Journal of Mathematical and Physical Sciences
+D JMATP6 Journal of Mathematical Psychology
+D JMATP7 Journal de Math\'ematiques Pures et Appliqu\'ees. Neuvi\`eme S\'er
+D JMATR Journal of Mathematical Research \&\ Exposition. Shuxue Yanjiu yu Pinglun
+D JMATS2 Journal of Mathematical Sciences. The Society of Mathematical Sciences
+D JMATS3 Journal of the Mathematical Society of Japan
+D JMATS5 The Journal of Mathematical Sociology
+D JMATT Journal of Mathematics. Tokushima University
+D JMATW Journal of Mathematics. Shuxue Zazhi
+D JMAUA Maulana Azad College of Technology. Journal
+D JMECP Journal of the Mechanics and Physics of Solids
+D JMECT Journal de M\'ecanique Th\'eorique et Appliqu\'ee. Journal of Theoretical and Applied Mechanics
+D JMULA Journal of Multivariate Analysis
+D JNANA J\~n\=an\=abha. The Vijnana Parishad of India. Bundelkhand Univers
+D JNANI Journal of Nanjing Institute of Technology. Nanjing Gong Xueyuan Xuebao.
+D JNANU J. Nanjing Univ.
+D JNATA Journal of National Academy of Mathematics, India
+D JNATC National Chiao Tung University. Journal
+D JNATS2 The Journal of Natural Sciences and Mathematics
+D JNATS3 J. Natur. Sci. Beijing Normal Univ.
+D JNIGM Journal of the Nigerian Mathematical Society
+D JNONC The Journal of Non-Classical Logic
+D JNORI Journal of Northeast Institute of Technology. Dongbei Gong Xueyuan Xuebao
+D JNORN Journal of Northeast Normal University. Natural Science. Dongbei Shida Xuebao. Ziran Kexue Ban
+D JNORN1 J. Northeast Normal Univ.
+D JNORU Journal of Northwest University. Natural Sciences. Xibei Daxue Xuebao. Ziran Kexue Ban
+D JNUMM Journal on Numerical Methods and Computer Applications. Shuxue Jisuan yu Jisuanji Yingyong
+D JNUMT Journal of Number Theory
+D JOPER2 Journal of the Operations Research Society of Japan
+D JOPET Journal of Operator Theory
+D JOPTS1 Journal of the Optical Society of America A
+D JOPTT2 Journal of Optimization Theory and Applications
+D JORIM Journal of Orissa Mathematical Society
+D JOUTS Journal of Time Series Analysis
+D JPHIL Journal of Philosophical Logic
+D JPHIL2 Journal of Philosophy
+D JPHYS1 Journal of the Physical Society of Japan
+D JPHYS2 Le Journal de Physique
+D JPHYSA Journal of Physics. A. Mathematical and General
+D JPHYSB Journal of Physics. B. Atomic and Molecular Physics
+D JPREF Journal of the Predental Faculty. Gifu College of Dentistry. Gifu Shika Daigaku Shingakubu Kenkyu Hokoku
+D JPROR Royal Society of New South Wales. Journal and Proceedings
+D JPURA1 Journal of Pure and Applied Algebra
+D JPURA2 Middle East Technical University. Journal of Pure and Applied Sciences. Orta Do\v gu Teknik \"Universitesi. Temel ve Uygulamali Bilimler Dergisi
+D JPURM Journal of Pure Mathematics
+D JRECM Journal of Recreational Mathematics
+D JREIA Journal f\"ur die Reine und Angewandte Mathematik
+D JRESN1 National Bureau of Standards. Journal of Research
+D JRHEO Journal of Rheology
+D JROYSA Journal of the Royal Statistical Society. Series A. General
+D JROYSB Journal of the Royal Statistical Society. Series B. Methodological
+D JROYSC Journal of the Royal Statistical Society. Series C. Applied Statistics
+D JSAIU Saitama University. Faculty of Education. Journal. Mathematics and Natural Science
+D JSCIR1 Journal of Scientific Research
+D JSHAC J. Shanghai Chiaotung Univ.
+D JSHAC1 Journal of Shandong College of Oceanology
+D JSHAJ Journal of Shanghai Jiaotong University. Shanghai Jiaotong Daxue Xuebao
+D JSHAU J. Shanghai Univ. Sci. Tech.
+D JSHAU1 Journal of Shanxi University. Natural Science Edition. Shanxi Daxue Xuebao Ziran Kexue Ban
+D JSHIU2 Shivaji University. Journal. (Science)
+D JSKKU Journal of Sung Kyun Kwan University
+D JSOCA Journal of the Society of Architectural Historians
+D JSOUG South Gujarat University. Journal
+D JSOUV Journal of Sound and Vibration
+D JSOVM Journal of Soviet Mathematics
+D JSTAC2 Journal of Statistical Computation and Simulation
+D JSTAP2 Journal of Statistical Planning Inference
+D JSTAP3 Journal of Statistical Physics
+D JSTAR Journal of Statistical Research
+D JSTRM Journal of Structural Mechanics
+D JSUNY J. Sun Yatsen Univ.
+D JSYMC Journal of Symbolic Computation
+D JSYML The Journal of Symbolic Logic
+D JSYSS1 Journal of Systems Science and Mathematical Sciences. Xitong Kexue yu Shuxue
+D JTECB Journal of Technology. Bengal Engineering College
+D JTECP Polish Academy of Sciences. Institute of Fundamental Technological Research. Journal of Technical Physics
+D JTECR Journal for Technikon Research and Education
+D JTENS Journal of the Tensor Society of India
+D JTHEB Journal of Theoretical Biology
+D JTHEN Journal of Theoretical Neurobiology
+D JTHES Journal of Thermal Stresses. An International Quarterly
+D JTIAU Journal of Tianjin University. Tianjin Daxue Xuebao
+D JTONU J. Tongji Univ.
+D JTSIU Journal of Tsinghua University. Qinghua Daxue Xuebao
+D JTSUC Journal of Tsuda College
+D JUNIB2 Journal of the University of Bombay. New Series
+D JUNIK The Journal of the University of Kuwait. Science
+D JUNIP University of Poona. Journal
+D JVLSC Journal of VLSI and Computer Systems
+D JWARC2 Journal of the Warburg and Courtauld Institutes
+D JWUHI Journal of the Wuhan Institute of Hydraulic and Electric Engineering. Wuhan Shuili Dianli Xueyuan Xuebao
+D JWUHI1 Journal of Wuhan Institute of Building Materials. Wuhan Jiancai Xueyuan Xuebao
+D JWUHI2 Journal of the Wuhan Institute of Iron and Steel Technology. Wuhan Gangtie Xueyuan Xuebao
+D JWUHU Journal of Wuhan University. Natural Sciences Edition. Wuhan Daxue Xuebao. Ziran Kexue Ban
+D JXIAJ J. Xi'an Jiaotong Univ.
+D JXINU Journal Xinjiang University of Natural Science. Xinjiang Daxue Xuebao Ziran Kexue Ban
+D JXUNS J. Xiamen Univ. Nat. Sci.
+D JZHEU J. Zhejiang Univ.
+D KARMA Riazi. Souvenir of the Karachi Mathematics Association
+D KARUJ Karachi University. Journal of Science
+D KARUM Karaden\.\i z University Mathematical Journal
+D KEISC Keio Science and Technology Reports
+D KENKG Memoirs of Gakush\^uin High School
+D KEXTC Chinese Academy of Science. Kexue Tongbao (Science Bulletin)
+D KEXTE Chinese Academy of Science. Kexue Tongbao (Science Bulletin). A Monthly Journal of Science. English Edition
+D KEXUT1 Kexue Tansuo
+D KIBEK Otdelenie Matematiki, Mekhaniki i Kibernetiki Akademii Nauk Ukrainsko\u \i \ SSR. Kibernetika
+D KIBVT1 Akademiya Nauk Ukrainsko\u \i \ SSR. Institut Kibernetiki. Kibernetika i Vychislitel'naya Tekhnika
+D KINAM Kinam. Revista de F\'\i sica
+D KINFN Kinematika i Fizika Nebesnykh Tel
+D KIRGP1 Kirovski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut imeni V. I. Lenina. Uchenye Zapiski
+D KNILD1 Knizhnaya Letopis' Dopolnitel'ny##undt\u \i \ Vypusk
+D KNILU1 Knizhnaya Letopis' Ukazatel' Seri##undt\u \i nykh Izdani##undt\u \i \
+D KNIZL1 Knizhnaya Letopis'
+D KOBJM Kobe Journal of Mathematics
+D KODMJ Kodai Mathematical Journal
+D KOZMS2 K\"ozlem\'enyek. MTA Sz\'amit\'astechnikai \'es Automatiz\'al\'asi Kutat\'o Int\'ezet Budapest
+D KRIST1 Kristallografiya
+D KUIGP3 Ku\u \i byshevski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Nauchnye Trudy
+D KUMJSM Kumamoto Journal of Science. (Mathematics)
+D KVANE1 Kvantovaya \`Elektronika
+D KWAGU Kwansei Gakuin University. Annual Studies
+D KWAHN2 Polska Akademia Nauk. Zak\l ad Historii Nauki i Techniki. Kwartalnik Historii Nauki i Techniki
+D KYBEP Kybernetika
+D KYBER Kybernetes. An International Journal of Cybernetics and General Systems
+D KYBPS Kybernetika. Supplement
+D KYUMJ Kyungpook National University. Kyungpook Mathematical Journal
+D LANDX Lanzhou Daxue Xuebao. Ziran Kexue Ban. Journal of Lanzhou University. Natural Sciences
+D LARSS Large Scale Systems. Theory and Applications
+D LATME3 Latvi\u \i ski\u \i \ Gosudarstvenny\u \i \ Universitet imeni P. Stuchki. Latvi\u \i ski\u \i \ Matematicheski\u \i \ Ezhegodnik
+D LATPZV Latvijas PSR Zin\=at\c nu Akad\=emijas V\=estis. Izvestiya Akademii Nauk Latvi\u \i sko\u \i \ SSR
+D LATPZZ Latvijas PSR Zin\=at\lfhook nu Akad\=emijas V\=estis. Fizikas un Tehnisko Zin\=at\lfhook nu S\=erija. Izvestiya Akademii Nauk Latvi\u \i sko\u \i \ SSR. Seriya Fizicheskikh i Tekhnicheskikh Nauk
+D LENGP3 Leninabadski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski
+D LENGU3 Leningradski\u \i \ Gosudarstvenny\u \i \ Ordena Lenina Universitet imeni A. A. Zhdanova. Uchenye Zapiski. Seriya Matematicheskikh Nauk
+D LEONA Leonardo. Art Science and Technology. International Journal of the Contemporary Artist
+D LETMP Letters in Mathematical Physics. A Journal for the Rapid Dissemination of Short Contributions in the Field of Mathematical Physics
+D LETNC2 Lettere al Nuovo Cimento. Rivista Internazionale della Societ\`a Italiana di Fisica. Serie 2
+D LIBEM Libertas Mathematica
+D LIBJS The Libyan Journal of Science
+D LINAA2 Linear Algebra and its Applications
+D LINGP Linguistics and Philosophy
+D LINMA Linear and Multilinear Algebra
+D LITFS Lietuvos TSR Moksl\polhk u Akademija. Lietuvos TSR Auk\v stosios Mokyklos. Lietuvos Fizikos Rinkinys. Akademiya Nauk Litovsko\u \i \ SSR. Vysshie Shkoly Litovsko\u \i \ SSR. Litovski\u \i \ Fizicheski\u \i \ Sbornik
+D LITMJ Lithuanian Mathematical Journal
+D LITMS Lietuvos TSR Moksl\polhk u Akademija. Lietuvos TSR Auk\v stosios Mokyklos. Lietuvos Matematikos Rinkinys. Akademiya Nauk Litovsko\u \i \ SSR. Vysshie Uchebnye Zavedeniya Litovsko\u \i \ SSR. Litovski\u \i \ Matematicheski\u \i \ Sbornik
+D LIXUX Lixue Xuebao
+D LIXYS1 Lixue yu Shijian
+D LOGIA2 Logique et Analyse. Nouvelle S\'erie
+D LOSAS Los Alamos Science
+D LUNLL Lunli Liwu
+D LUSJS Luso. Journal of Science and Technology
+D MAGNET Magnetohydrodynamics. A translation of Magnitnaya Gidrodinamika of the Academy of Sciences of the Latvian SSR
+D MAGNG Akademiya Nauk Latviisko\u \i \ SSR. Magnitnaya Gidrodinamika
+D MAKAN Makedonska Akademija na Naukite i Umetnostite. Oddelenie za Prirodo-Matematichki Nauki. Prilozi=Makedonska Akademija na Naukite i Umetnostite. Oddelenie za Prir
+D MAKAN1 Makedonska Akademija na Naukite i Umetnostite. Oddelenie za Matematichki-Tehnichki Nauki. Prilozi=Makedonska Akademija na Naukite i Umetnostite. Oddelenie za Ma
+D MANAS Management Science. Journal of the Institute of Management Science. Application and Theory Series
+D MANUG Manuscripta Geodaetica
+D MANUM Manuscripta Mathematica
+D MARGP1 Mari\u \i ski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski
+D MATAC Matem\'atica Aplicada e Computacional
+D MATBI Matematichki Bilten=Matemati\v cki Bilten
+D MATCE Mathematics and Computer Education
+D MATCH Match
+D MATCR Matem\'atica Costarricense
+D MATCS Mathematics and Computers in Simulation
+D MATCU Mathematics Colloquium University of Cape Town
+D MATEB1 Matematika
+D MATEC Le Matematiche
+D MATEN Matem\'aticas y Ense\~nanza
+D MATES The Mathematics Education
+D MATFI1 Matematicheskaya Fizika i Neline\u \i naya Mekhanika
+D MATFM Matematiskfysiske Meddelelser udgivet af Det Kongelige Danske Videnskabernes Selskab
+D MATFU Matematichki Fakultet. Univerzitetot Kiril i Metodij. Skopje. Godishen Zbornik=Matemati\v cki Fakultet. Univerzitet Kiril i Metodij. Skopje. Godi\v sen Zbornik
+D MATHA Mathematische Annalen
+D MATHA1 Math\=ematik\=e Ag\=og\=e
+D MATHB1 Mathematica Balkanica
+D MATHB2 Mathematical Biosciences. An International Journal
+D MATHC Societatea de S\c tiin\c te Matematice \c si Fizice din R.P.R. Filiala Cluj. Mathematica
+D MATHC1 Mathematical Chronicle
+D MATHC3 Mathematics of Computation
+D MATHE Mathematika. A Journal of Pure and Applied Mathematics
+D MATHE2 Mathematical Education
+D MATHF Mathematical Forum
+D MATHG The Mathematical Gazette
+D MATHI The Mathematical Intelligencer
+D MATHJ Mathematica Japonica
+D MATHM1 Mathematics Magazine
+D MATHM2 Mathematical Medley
+D MATHM3 Mathematical Modelling
+D MATHN1 Mathematische Nachrichten
+D MATHN2 Mathematicae Notae. Boletin del Instituto de Matem\'atica
+D MATHN3 Mathematical Notes of the Academy of Sciences of the USSR
+D MATHP Mathematical Programming
+D MATHR Mathematical Reviews
+D MATHR1 Mathematical Reviews (Microfiche)
+D MATHS1 Mathematica Scandinavica
+D MATHS3 Mathematica Slovaca
+D MATHS4 The Mathematics Student
+D MATHS5 The Mathematical Scientist
+D MATHS6 Mathematische Semesterberichte
+D MATHS7 Mathematical Spectrum
+D MATHT Mathematics Today
+D MATHZ Mathematische Zeitschrift
+D MATIM Matimy\'as Matematika
+D MATIS Akademiya Nauk Moldavsko\u \i \ SSR. Institut Matematiki s Vychislitel'nym Tsentrom. Matematicheskie Issledovaniya
+D MATJO Mathematical Journal of Okayama University
+D MATLA Matematikai Lapok. Bolyai J\'anos Matematikai T\'arsulat
+D MATLP Matematicheskaya Logika i ee Primeneniya
+D MATMA Mathematical Methods in the Applied Sciences
+D MATMF1 Matematicheskie Metody i Fiziko-Mekhanicheskie Polya
+D MATMP Matematica. Mar del Plata
+D MATMS2 Matematicheskie Metody v Sotsial'nykh Naukakh
+D MATNS Mathematica Numerica Sinica. Jisuan Shuxue
+D MATOR Mathematics of Operations Research
+D MATOS2 Mathematische Operationsforschung und Statistik Series Optimizatio
+D MATOSS Mathematische Operationsforschung und Statistik Series Statistics
+D MATPC Mathematical Proceedings of the Cambridge Philosophical Society
+D MATPS2 Mathematical Programming Study
+D MATPT Mathematics in Practice and Theory. Shuxuede Shijian yu Renshi
+D MATRE Mathematical Reports
+D MATRK Mathematical Reports of College of General Education. Kyushu University
+D MATRS Mathematical Reviews Sections
+D MATRT Toyama University. Mathematics Reports
+D MATSB1 Matematicheski\u \i \ Sbornik. Novaya Seriya
+D MATSH Centre de Math\'ematique Sociale. \'Ecole Pratique des Hautes \'Etudes. Math\'ematiques et Sciences Humaines
+D MATSK2 Ministerstvo Prosveshcheniya RSSR. Matematika v Shkole
+D MATSN Kobe University. Mathematics Seminar Notes
+D MATSS Mathematical Social Sciences
+D MATST Mathematical Systems Theory
+D MATST3 Roczniki Polskiego Towarzystwa Matematycznego. Seria III. Matematyka Stosowana
+D MATTQ The Tensor Society of Great Britain. The Matrix and Tensor Quarter
+D MATUI Mathematics of the USSR-Izvestiya
+D MATUS Mathematics of the USSR-Sbornik
+D MATVE Matemati\v cki Vesnik
+D MATVK Matematicheskie Voprosy Kibernetiki i Vychislitel'no\u \i \ Tekhniki. Trudy Vychislitel'nogo Tsentra Akademii Nauk Armyansko\u \i \ SSR i Erevanskogo Gosudarstvennogo Universiteta
+D MATZA Akademiya Nauk Soyuza SSR. Matematicheskie Zametki
+D MECHP Mechanics and Practice. Lixue yu Shijian
+D MECHS2 Mechanics of Solids
+D MECJI Meccanica. Journal of the Italian Association of Theoretical and Applied Mechanics
+D MECME M\'ecanique Mat\'eriaux \'Electricit\'e
+D MECRC Mechanics Research Communications
+D MECTS Polskie Towarzystwo Mechaniki Teoretycznej i Stosowanej. Mechanika Teoretyczna i Stosowana
+D MEDKA2 Mededelingen van de Koninklijke Academie voor Wetenschappen, Letteren en Schone Kunsten van Belgi\"e. Klasse der Wetenschappen
+D MEHTT1 Akademiya Nauk Ukrainsko\u \i \ SSR. Institut Prikladno\u \i \ Matematiki i Mekhaniki. Mekhanika Tverdogo Tela
+D MEMAM Memoirs of the American Mathematical Society
+D MEMAS3 Accademia delle Scienze di Torino. Memorie. Classe di Scienze Fisiche, Matematiche e Naturali. Serie V
+D MEMEUA Memoirs of the Ehime University. Natural Science. Series A
+D MEMFE2 Memoirs of the Faculty of Eduction. Miyazaki University
+D MEMFE3 Memoirs of the Faculty of Engineering. Hiroshima University
+D MEMFE4 Memoirs of the Faculty of Engineering. Kyoto University
+D MEMFE5 Memoirs of the Faculty of Engineering. Miyazaki University
+D MEMFE6 Shiga University. Faculty of Education. Memoirs. Natural Science
+D MEMFE7 Shimane University. Faculty of Education. Memoirs. Natural Science
+D MEMFE8 Kumamoto University. Faculty of Education. Memoirs. Natural Scienc
+D MEMFE9 Memoirs of the Faculty of Education. Akita University. Natural Science
+D MEMFED Memoirs of the Faculty of Engineering and Design Kyoto Institute of Technology Series of Science and Technology
+D MEMFG Kumamoto University. Faculty of General Education. Natural Sciences. Memoirs. Mathematics
+D MEMFS Memoirs of the Faculty of Science. Kyushu University. Series A. Mathematics
+D MEMFS1 Shimane University. Faculty of Science. Memoirs
+D MEMFS2 K\^ochi University. Faculty of Science. Memoirs. Series A. Mathematics
+D MEMKI Memoirs of the Kitami Institute of Technology
+D MEMKT Memoirs of the Faculty of Industrial Arts. Kyoto Technical University. Science and Technology
+D MEMMI Memoirs of the Muroran Institute of Technology
+D MEMND Memoirs of the National Defense Academy. Mathematics, Physics, Chemistry and Engineering
+D MEMNM Memoirs of Numerical Mathematics
+D MEMOI Memoirs of the Osaka Institute of Technology. Series A. Science \&\ Technology
+D MEMOK Memoirs of Osaka Kyoiku University. III. Natural Science and Applied Science
+D MEMRA3 Memorias de la Real Academia de Ciencias y Artes de Barcelona
+D MEMRA4 Memorias de la Real Academia de Ciencias Exactas, F\'\i sicas y Naturales de Madrid. Serie de Ciencias Exactas
+D MEMRI Memoirs of the Research Institute of Science and Engineering Ritsumeikan University
+D MEMSA2 Memorie della Societ\`a Astronomica Italiana. Nuova Serie
+D MEMSE Memoirs of the School of Engineering. Okayama University
+D MEMSM M\'emoire de la Soci\'et\'e Math\'ematique de France. Nouvelle S\'erie
+D MEMSS Memoirs of the School of Science and Engineering. Waseda Universit
+D MEMSS1 Memoriile Sec\c tiilor \c Stiin\c tifice. Academia Republicii Socialiste Rom\^ania. Seria IV
+D MENEM Menemui Matematik. (Discovering Mathematics)
+D METDA Metody Diskretnogo Analiza
+D METOV1 Leningradski\u \i \ Ordena Lenina Gosudarstvenny\u \i \ Universitet imeni A. A. Zhdanova. Metody Vychisleni\u \i
+D METRI Metrika
+D METRI1 M\'etrica. Estudos e Pesquisas em Matem\'atica
+D METRO2 Metron
+D METRO3 Metroeconomica. International Review of Economics
+D MICMI Modeling, Identification and Control. A Norwegian Research Bulleti
+D MICMJ The Michigan Mathematical Journal
+D MIND Mind. A Quarterly Review of Philosophy
+D MISCM Miscel\'anea Matematica
+D MITMG1 Mitteilungen der Mathematischen Gesellschaft in Hamburg
+D MITMG2 Mitteilungen. Mathematische Gesellschaft der Deutschen Demokratischen Republik
+D MITMS Mitteilungen aus dem Mathematischen Seminar Giessen
+D MITVS Vereinigung Schweizerischer Versicherungsmathematiker. Mitteilungen. (L'Association des Actuaires Suisses. Bulletin)
+D MOHUS Mohu Shuxue
+D MOLEP Molecular Physics
+D MONAM Monatshefte f\"ur Mathematik
+D MONNR Royal Astronomical Society. Monthly Notices
+D MOSGU3 Moskovski\u \i \ Gosudarstvenny\u \i \ Universitet imeni M. V. Lomonosova. Soobshcheniya Gosudarstvennogo Astronomicheskogo Instituta imeni P. K. Shternberga
+D MOSGU4 Moskovski\u \i \ Gosudarstvenny\u \i \ Universitet imeni M. V. Lomonosova. Trudy Gosudarstvennogo Astronomicheskogo Instituta imeni P. K. Shternberga
+D MOSII1 Moskovski\u \i \ Institut Inzhenerov Zheleznodorozhnogo Transporta. Trudy
+D MOSOP1 Moskovski\u \i \ Oblastno\u \i \ Pedagogicheski\u \i \ Institut Sbornik Trudov
+D MOSUM Moscow University Mathematics Bulletin
+D MOSUP Moscow University Physics Bulletin
+D NACAW Nachrichten der Akademie der Wissenschaften in G\"ottingen. II. Mathematisch-Physikalische Klasse
+D NAGMJ Nagoya Mathematical Journal
+D NANDX Nanjing Daxue Xuebao. Ziran Kexue Ban. Nanjing University Journal. Natural Sciences
+D NANDX1 Nanjing Daxue Xuebao. Shuxue Bannian Kan. Nanjing University Journal Mathematical Biquarterly
+D NANGX Najning Gong Xueyuan Xuebao
+D NARAA Narody Azii i Afiki
+D NARIP1 Narisi \=Istor\=\i \"\i \ Prirodoznavstva \=\i \ Tekhn\=\i ki
+D NATAS National Academy of Science Letters
+D NATSJ Natural Science Journal of Xiangtan University
+D NATSR Natural Science Report of the Ochanomizu University
+D NATUR Naturalia
+D NAUIP1 Nauchno-Issledovatel'ski\u \i \ i Proektny\u \i \ Institut Mekhanizatsii i Avtomatizatsii Upravleniya Proizvodstvom v Avtomobil'no\u \i \ Promyshlennosti (NIIUAVTOPROM). Trudy Instituta
+D NAUTI3 Akademiya Nauk SSSR. Vsesoyuzny\u \i \ Institut Nauchno\u \i \ i Tekhnichesko\u \i \ Informatsii. Nauchno-Tekhnicheskaya Informatsiya. Seriya 2. Informatsionnye Protsessy i Sistemy
+D NAVRL Naval Research Logistics Quarterly
+D NEDAW Koninklijke Nederlandse Akademie van Wetenschappen. Indagationes Mathematicae
+D NEDAW2 Koninklijke Nederlandse Akademie van Wetenschappen. Proceedings. Series A. Mathematical Sciences
+D NEDAWB Koninklijke Nederlandse Akademie van Wetenschappen. Proceedings. Series B. Physical Sciences
+D NEDAWN Koninklijke Nederlandse Akademie van Wetenschappen. Verslag van de Gewone Vergadering van de Afdeling Natuurkunde
+D NEIDX Neimenggu Daxue Xuebao. Ziran Kexue Ban. Acta Scientiarum Naturalium Universitatis Intramongolicae. Journal of Inner Mongolia University. Natural Sciences
+D NEIMS Nei Meng Shiyuan Xuebao. Ziran Kexue Ban. Journal of Inner Mongolia Normal College. Natural Sciences
+D NEPMS The Nepali Mathematical Sciences Report
+D NETWO Networks. An International Journal
+D NEWGC New Generation Computing
+D NEWZM The New Zealand Mathematics Magazine
+D NEWZM1 The New Zealand Mathematical Society. Newsletter
+D NEWZM2 New Zealand Mathematical Society Newsletter
+D NEWZO New Zealand Operational Research
+D NIEAW3 Nieuw Archief voor Wiskunde. Vierde Serie
+D NIETW Nieuw Tijdschrift voor Wiskunde
+D NIGJS University of Ibadan. Nigerian Journal of Science
+D NONLA Nonlinear Analysis
+D NORDI Nordia
+D NORMA Normat. Nordisk Matematisk Tidskrift
+D NORTI2 Nordisk Tidskr. Informationsbehandling (BIT)
+D NORVA2 Norske Videnskaps-Akademi i Oslo. Matematisk-Naturvidenskapelig Klasse. Skrifter
+D NORVSF Det Kongelige Norske Videnskabers Selskabs Forhandlinger
+D NORVSS Det Kongelige Norske Videnskabers Selskabs Skrifter
+D NOTAM Notices of the American Mathematical Society
+D NOTDJ Notre Dame Journal of Formal Logic
+D NOTEM Note di Matematica
+D NOTRS Notes and Records of the Royal Society of London
+D NOUS No\^us
+D NOVAL Nova Acta Leopoldina. Abhandlungen der Deutschen Akademie der Naturforscher Leopoldina. Neue Folge
+D NOVKS Novye Knigi SSSR
+D NTMSG2 NTM Schriftenreihe f\"ur Geschichte der Naturwissenschaften Technik und Medizin
+D NUCPA Nuclear Physics. A
+D NUCPB Nuclear Physics. B
+D NUMEM Numerische Mathematik
+D NUMFA Numerical Functional Analysis and Optimization
+D NUMMJ Numerical Mathematics. A Journal of Chinese Universities. Gaodeng Xuexiao Jisuan Shuxue Xuebao
+D NUOVCA Il Nuovo Cimento. A. Serie 11
+D NUOVCB Il Nuovo Cimento. B. Serie 11
+D NUOVCC Il Nuovo Cimento. C. Serie 1
+D NUOVCD Il Nuovo Cimento. D. Serie 1
+D OBSAU Observatorio Astron\'omico de la Universidad Nacional de La Plata. Serie Astron\'omica
+D OBZMF Dru\v stvo Matematikov, Fizikov in Astronomov SRS. Obzornik za Matematiko in Fiziko=Dru\v stvo Matematikov, Fizikov in Astronomov SRS. Obzornik za Matematiko in Fiziko
+D OPERL Operations Research Letters
+D OPERR2 Operations Research. The Journal of the Operations Research Society of America
+D OPSEA Opsearch. The Journal of the Operational Research Society of India
+D OPTCA Optimal Control Applications \&\ Methods
+D OPTIA Optica Acta
+D OPTIM1 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Institut Matematiki. Optimizatsiya
+D OPTIM2 Optimization. A Journal of Mathematical Programming and Operations Research
+D ORDER Order
+D OREZP1 Orekhovo-Zuevski\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski Kafedry Matematiki
+D ORGAN Organon. Institut d'Histoire de la Science et de la Technique aupr\`es de l'Acad\'emie Polonaise des Sciences
+D ORSJM Osaka Journal of Mathematics
+D ORSPE Operations Research Spektrum
+D OSIRIS Osiris. A Research Journal Devoted to the History of Science and its Cultural Influences. Second Series
+D OSTAWD \"Osterreichische Akademie der Wissenschaften. Mathematisch-Naturwissenschaftliche Klasse. Denkschriften
+D OSTAWS \"Osterreichische Akademie der Wissenschaften. Mathematisch-Naturwissenschaftliche Klasse. Sitzungsberichte. Abteilung II. Mathematik, Astronomie, Physik, Meterologie und Technik
+D OTBPI1 Otbor i Peredacha Informatsii. Akademiya Nauk Ukrainsko\u \i \ SSR. Fiziko-Mekhanicheski\u \i \ Institut
+D PACJM Pacific Journal of Mathematics
+D PAPPR2 Papers and Proceedings of the Royal Society of Tasmania
+D PARAC Parallel Computing
+D PATRL Pattern Recognition Letters
+D PATTR The Journal of the Pattern Recognition Society
+D PERFE Performance Evaluation. An International Journal
+D PERIM2 Periodico di Matematiche. Serie V
+D PERMH Periodica Mathematica Hungarica. Journal of the J\'anos Bolyai Mathematical Society
+D PERPM Periodica Polytechnica. Mechanical Engineering
+D PHIJR Philips Journal of Research
+D PHILJ Philosophisches Jahrbuch
+D PHILM Philosophia Mathematica. An International Journal for Philosophy of Modern Mathematics
+D PHILN Philosophia Naturalis. Archiv f\"ur Naturphilosophie und die Philosophischen Grenzgebiete der Exakten Wissenschaften und Wissenschaftsgeschichte
+D PHILO Philologus. Zeitschrift f\"ur Klassische Philologie
+D PHILQ The Philosophical Quarterly
+D PHILS1 Philosophy of Science
+D PHILS3 Philosophical Studies
+D PHITRA Philosophical Transactions of the Royal Society of London. Series A. Mathematical and Physical Sciences
+D PHYEF Physica Energiae Fortis et Physica Nuclearis. Gaoneng Wuli yu He W
+D PHYLA Physics Letters. A
+D PHYLB Physics Letters. B
+D PHYRI Physis. Rivista Internazionale di Storia della Scienza
+D PHYRK Physics Reports of the Kumamoto University
+D PHYRL Physical Review Letters
+D PHYSA Physica. A. Europhysics Journal
+D PHYSBC Physica B + C. Europhysics Journal. B: Low Temperature and Solid State Physics. C: Atomic, Molecular and Plasma Physics, Optics
+D PHYSD Physica D. Nonlinear Phenomena
+D PHYSF The Physics of Fluids
+D PHYSR Physics Reports. A Review Section of Physics Letters
+D PHYSRA Physical Review. A. General Physics. Third Series
+D PHYSRB Physical Review. B. Condensed Matter. Third Series
+D PHYSRC Physical Review. C. Nuclear Physics. Third Series
+D PHYSRD Physical Review. D. Particles and Fields. Third Series
+D PHYSS Physica Scripta
+D PHYST Physics Today
+D PLAPC Plasma Physics and Controlled Fusion
+D PLISM2 PLISKA Studia Mathematica Bulgarica
+D PLOUN1 Plovdivski Universitet. Nauchni Trudove
+D PODSS Podstawy Sterowania. Polska Akademia Nauk. Centrum Bada\'n Naukowych w Woj. Katowickim. Zak\l ad System\'ow Automatyki Kompleksowej
+D POKMF Jednota \v Ceskoslovensk\'ych Matematik\'u a Fyziku. Pokroky Matematiky, Fyziky a Astronomie
+D POLAS Polish Academy of Sciences. Institute of Philosophy and Sociology. Bulletin of the Section of Logic
+D POLBA Polska Akademia Nauk. Instytut Podstawowych Problem\'ow Techniki. Polska Bibliografia Analityczna. Mechanika. Polish Scientific Abstracts. Mechanics
+D PORTM Portugaliae Mathematica
+D PORTP Portugaliae Physica
+D POSTC Post\polhk epy Cybernetyki. Kwartalnik Naukowy
+D PRAAA Praktik\`a t\^es Akadem\'\i as Athen\^on
+D PRABM Prague Bulletin of Mathematical Linguistics
+D PRAIM Prace Instytutu Maszyn Przep\l ywowych. Transactions of the Institute of Fluid-Flow Machinery
+D PRANB Prace Naukowo-Badawcze Instytutu Maszyn Matematycznych
+D PRASV1 Pr\'ace a \v St\'udie Vysokej \v Skoly Dopravy a Spojov v \v Ziline. S\'eria Matematicko-Fyzik\'alna
+D PRAXM Praxis der Mathematik
+D PRIEA Institution of Electrical Engineers. Proceedings. A. Physical Sciences, Measurement and Instrumentation
+D PRIEB Institution of Electrical Engineers. Proceedings. B. Electric Power Applications
+D PRIEC Institution of Electrical Engineers. Proceedings. C. Generation, Transmission and Distribution
+D PRIED Institution of Electrical Engineers. Proceedings. D. Control Theory and Applications
+D PRIEE Institution of Electrical Engineers. Proceedings. E. Computers and Digital Techniques
+D PRIEF Institution of Electrical Engineers. Proceedings. F. Communications, Radar and Signal Processing
+D PRIEG Institution of Electrical Engineers. Proceedings. G. Electronic Circuits and Systems
+D PRIEH Institution of Electrical Engineers. Proceedings. H. Microwaves, Optics and Antennas
+D PRIEI Institution of Electrical Engineers. Proceedings. I. Solid-State and Electronic Devices
+D PRIKM1 Akademiya Nauk Ukrainsko\u \i \ SSR. Otdelenie Matematiki, Mekhaniki i Kibernetiki. Prikladnaya Mekhanika
+D PRIME Leningradski\u \i \ Ordena Lenina Gosudarstvenny\u \i \ Universitet imeni A. A. Zhdanova. Kafedra i Laboratoriya \`Ekonomiko-Matematicheskikh Metodov. Primenenie Matematiki v \`Ekonomike
+D PRIMM1 Akademiya Nauk SSSR. Otdelenie Tekhnicheskikh Nauk. Institut Mekhaniki. Prikladnaya Matematika i Mekhanika
+D PRIPP1 Gor'kovski\u \i \ Gosudarstvenny\u \i \ Universitet imeni N. I. Lobachevskogo. Prikladnye Problemy Prochnosti i Plastichnosti
+D PRITV1 Primenenie Teorii Veroyatnoste\u \i \ i Matematichesko\u \i \ Statistiki
+D PRNICK Wroc\l aw. Politechnika Wroc\l awska. Instytut Cybernetyki Technicznej. Prace Naukowe Seria Konferencje
+D PRNICM Wroc\l aw. Politechnika Wroc\l awska. Instytut Cybernetyki Technicznej. Prace Naukowe. Seria Monografie
+D PRNICS Wroc\l aw. Politechnika Wroc\l awska. Instytut Cybernetyki Technicznej. Prace Naukowe. Seria Studia i Materia\l y
+D PRNIM Wroc\l aw. Politechnika Wroc\l awska. Instytut Matematyki. Prace Naukowe. Seria Studia i Materia\l y
+D PRNIMK Wroc\l aw. Politechnika Wroc\l awska. Instytut Matematyki. Prace Naukowe. Seria Konferencje
+D PRNIMM Wroc\l aw. Politechnika Wroc\l awska. Instytut Matematyki. Prace Naukowe. Seria Monografie
+D PROAM Proceedings of the American Mathematical Society
+D PROBK2 Problemy Kibernetiki
+D PROBM Zesszyty Naukowe Wy\.zszej Szko\l y Pedagogicznej w Bydgoszczy. Problemy Matematyczne
+D PROCI2 Problems of Control and Information Theory. Problemy Upravlenija i Teorii Informacii
+D PROCN Proceedings of the College of Natural Sciences. Seoul National University
+D PROEF Proceedings of Einstein Foundation International
+D PROEM Proceedings of the Edinburgh Mathematical Society. Edinburgh Mathematical Notes
+D PROEM2 Proceedings of the Edinburgh Mathematical Society. Series II
+D PROFS Proceedings of the Faculty of Science of Tokai University
+D PROGE Programmirovanie \`EVM
+D PROGI1 Prikladnaya Geometriya i Inzhenernaya Grafika
+D PROGP Progress in Physics. Wulixue Jingzhan
+D PROGR Akademiya Nauk SSSR. Programmirovanie
+D PROIA4 Indian Academy of Sciences. Proceedings. Chemical Sciences
+D PROIA5 Indian Academy of Sciences. Proceedings. Earth and Planetary Scien
+D PROIA6 Indian Academy of Sciences. Proceedings. Mathematical Sciences
+D PROIN Proceedings of the Indian National Science Academy. Part A. Physical Sciences
+D PROIS The Proceedings of the Institute of Statistical Mathematics
+D PROIT2 Problems of Information Transmission
+D PROJAA Japan Academy. Proceedings. Series A. Mathematical Sciences
+D PROJAB Japan Academy. Proceedings. Series B. Physical and Biological Sciences
+D PROJF1 Problemy Yaderno\u \i \ Fiziki i Kosmicheskikh Luche\u \i
+D PROLM2 Proceedings of the London Mathematical Society. Third Series
+D PROMA2 Academy for Progress of Mathematics of the University of Allahabad. Progress of Mathematics
+D PROMP Proceedings of the Mathematical and Physical Society
+D PROMS Probability and Mathematical Statistics
+D PRONA Proceedings of the National Academy of Sciences of the United States of America
+D PRONAA Proceedings of the National Academy of Sciences, India. Section A
+D PRONS Proceedings of the National Science Council
+D PROOU4 Protsessy Optimal. Upravleniya Trudy Sem. I Sektsiya
+D PROOU5 Protsessy Optimal. Upravleniya Trudy Sem. II Sektsiya
+D PROOU6 Protsessy Optimal. Upravleniya Trudy Sem. V Sektsiya
+D PROPA Proceedings of the Pakistan Academy of Sciences
+D PROPI1 Akademiya Nauk SSSR. Institut Problem Peredachi Informatsii Akademii Nauk SSSR. Problemy Peredachi Informatsii
+D PRORIA Proceedings of the Royal Irish Academy. Section A
+D PRORS2 Proceedings of the Royal Society of Canada. Fourth Series
+D PROSI Proceedings of the Steklov Institute of Mathematics
+D PROSP1 Akademiya Nauk Latvi\u \i sko\u \i \ SSR. Institut \`Elektroniki i Vychislitel'no\u \i \ Tekhniki. Problemy Slucha\u \i nogo Poiska
+D PROTG1 Problemy Teorii Gravitatsii i \`Elementarnykh Chastits
+D PROTK2 Problemi na Tekhnicheskata Kibernetika i Robotikata. Problems of Engineering Cybernetics and Robotics
+D PROTP2 Progress of Theoretical Physics
+D PROTP3 Progress of Theoretical Physics. Supplement
+D PROTR Probability Theory and Related Fields
+D PROWV West Virginia Academy of Science. Proceedings
+D PRRSEA Proceedings of the Royal Society of Edinburgh. Section A. Mathematical and Physical Sciences
+D PRRSLA Proceedings of the Royal Society. London. Series A. Mathematical and Physical Sciences
+D PRZES Polska Akademia Nauk. Komitet Statystyki i Ekonometrii. Przegl\polhk ad Statystyczny
+D PSKPI1 Ministerstvo Prosveshcheniya RSFSR. Pskovski\u \i \ Pedagogicheski\u \i \ Institut. Fiziko-Matematicheski\u \i \ Fakul'tet. Uchenye Zapis
+D PSYCH Psychometrika. A Journal Devoted to the Development of Psychology as a Quantitative Rational Science
+D PUBBI3 Universit\`a degli Studi di Roma. Facolt\`a di Ingegneria. Istituto di Matematica Applicata. Pubblicazioni
+D PUBCR3 Publications du Centre de Recherches en Math\'ematiques Pures. S\'erie I
+D PUBDM3 Universit\'a degli Studi di Roma ``La Sapienza''. Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate. Pubblicazioni
+D PUBIM2 Institut Math\'ematique. Publications. Nouvelle S\'erie
+D PUBIS Publications de l'Institut de Statistique de l'Universit\'e de Par
+D PUBLE Publications \'Econom\'etriques
+D PUBMD Universitatis Debreceniensis. Institutum Mathematicum. Publicationes Mathematicae
+D PUBRI Kyoto University. Research Institute for Mathematical Sciences. Publications
+D PUBSM3 Publicacions de la Secci\'o de Matem\`atiques. Universitat Aut\`onoma de Barcelona
+D PUNUJ University of Punjab. Journal of Mathematics
+D PURAM Pure and Applied Mathematika Sciences
+D PURMM Pure Mathematics Manuscript
+D QUAAM Quarterly of Applied Mathematics
+D QUAEM Quaestiones Mathematicae
+D QUAJE The Quarterly Journal of Economics
+D QUAJM2 The Quarterly Journal of Mechanics and Applied Mathematics
+D QUAJM3 The Quarterly Journal of Mathematics. Oxford. Second Series
+D QUAMC Mathesis di Cosenza. Quaderni
+D QUATE Quantitative and Technical Economics. Shuliang Jingji Jishu Jingji Xanjiu
+D QUATG Quaterniones Geodaesiae. Hellenic Journal for Geodesy and Surveyin
+D QUEAG Questions and Answers in General Topology
+D QUFSX Qufu Shiyuan Xuebao
+D RADEE Radio Engineering and Electronic Physics. A translation of Radiotekhnika i \`Elektronika, a U.S.S.R. Academy of Sciences Publication
+D RADIE1 Akademiya Nauk SSSR. Radiotekhnika i \`Elektronika
+D RADIH1 Khar'kovski\u \i \ Ordena Trudovogo Krasnogo Znameni Gosudarstvenny\u \i \ Universitet imeni A. M. Gor'kogo. Radiotekhnika
+D RADJA Rad Jugoslavenske Akademije Znanosti i Umjetnosti
+D RADMA Radovi Matemati\v cki
+D RADQE Radiophysics and Quantum Electronics. A translation of the Izvestiya Vysshikh Uchebnykh Zavedeni\u \i \ Radiofizika of the Ministry of Higher Education of the USSR
+D RAIAN RAIRO Analyse Num\'erique
+D RAIAP RAIRO Automatique-Productique Informatique Industrielle
+D RAIIT2 RAIRO Informatique Th\'eorique
+D RAIMM RAIRO Mod\'elisation Math\'ematique et Analyse Num\'erique
+D RAIRA RAIRO Automatique
+D RAIRO2 RAIRO Recherche Op\'erationnelle
+D RANJE The Rand Journal of Economics
+D RANUM Ranchi University Mathematical Journal
+D RATIO Ratio
+D RCARE RCA Review
+D REAAE Real Analysis Exchange
+D RECAE La Recherche A\'erospatiale. English Edition
+D RECDM Recherches en Didactique des Math\'ematiques
+D RECHA2 La Recherche A\'erospatiale
+D RECPN Recent Progress of Natural Sciences in Japan
+D RENAN4 Rendiconti. Accademia Nazionale delle Scienze detta dei XL. Serie V. Memorie di Matematica. Parte I
+D RENAN6 Rendiconti della Accademia Nazionale delle Scienze detta dei XL. Memorie di Matematica e di Scienze Fisiche e Naturali. Serie V
+D RENAN7 Rendiconti della Accademia Nazionale delle Scienze della dei XL. Memorie di Scienze Fisiche e Naturali. Serie V
+D RENAS2 Societ\`a Nazionale di Scienze, Lettere ed Arti in Napoli. Rendiconto dell'Accademia delle Scienze Fisiche e Matematiche. Serie IV
+D RENCM2 Rendiconti del Circolo Matematico di Palermo. Serie II
+D RENDM3 Rendiconti di Matematica. Serie VII. Universit\`a degli Studia Roma. Istituto Matematica Guido Castelnuovo. Istituto di Matematica Applicata. Istituto Nazionale di Alta Matematica
+D RENIM2 Rendiconti dell'Istituto di Matematica dell'Universit\`a di Trieste
+D RENSF Rendiconti del Seminario della Facolt\`a di Scienze della Universit\`a di Cagliari
+D RENSMM Rendiconti del Seminario Matematico e Fisico di Milano
+D RENSMP Rendiconti del Seminario Matematico dell'Universit\`a di Padova
+D RENSMT Rendiconti del Seminario Matematico (gi\`a ``Conferenze di Fisica e di Matematica'') Universit\`a e Politecnico di Torino
+D REPFE1 Kanagawa University. Faculty of Engineering. Reports
+D REPFE2 Oita University. Faculty of Engineering. Reports
+D REPFS1 Reports of the Faculty of Science and Engineering. Saga University. Mathematics
+D REPFS3 Reports of the Faculty of Science. Shizuoka University
+D REPFS4 Reports of the Faculty of Science. Kagoshima University. Mathematics, Physics and Chemistry
+D REPIH T\^ohoku University. Institute of High Speed Mechanics. Reports
+D REPML Reports on Mathematical Logic
+D REPMP2 Reports on Mathematical Physics
+D REPPP Reports on Progress in Physics
+D REPSA Reports of Statistical Application Research. Union of Japanese Scientists and Engineers
+D REPUE2 Reports of the University of Electro-Communications
+D REPVB2 Rep\'ublica de Venezuela. Boletin de la Academia de Ciencias F\'\i sicas, Matem\'aticas y Naturales
+D RESAF Research Activities. The Faculty of Science and Engineering of Tokyo Denki University
+D RESBF The Research Bulletin of the Faculty of Education. Oita University
+D RESBM Meisei University. Research Bulletin
+D RESBP2 Research Bulletin of the Panjab University. New Series
+D RESIF2 Kyushu University. Research Institute of Fundamental Information Science. Research Report
+D RESRA Research Reports of the Anan Technical College
+D RESRF Research Reports of the Faculty of Engineering. Tokyo Denki University
+D RESRK Research Reports. Kushiro Technical College
+D RESRM Miyagi Technical College. Research Reports
+D RESRN Research Reports of the Nagaoka Technical College
+D RESRN1 Research Reports. National Science Council. Mathematics Research Center
+D RESUM Resultate der Mathematik
+D REVAC2 Revista de la Academia de Ciencias Exactas, F\'\i sico-Qu\'\i micas y Naturales de Zaragoza. Serie 2
+D REVCE1 Revue du Centre d'\'Etudes Th\'eoriques de la D\'etection et des Communications
+D REVCE2 Revue du Centre d'\'Etudes Th\'eoriques de la D\'etection et des Communications. Cahier
+D REVCL2 Revista de Ciencias
+D REVCM2 Revista Colombiana de Matem\'aticas
+D REVES1 The Review of Economic Studies
+D REVGS Reviews of Geophysics and Space Physics
+D REVGS1 Review of Geophysics
+D REVHA Revista Mexicana de Astronom\'\i a y Astrof\'\i sica
+D REVHS Revue d'Histoire des Sciences et de leurs Applications
+D REVIP Revue Internationale de Philosophie
+D REVME Revista de Matem\'atica e Estat\'\i stica
+D REVMF Revista Mexicana de F\'\i sica
+D REVMH2 Revista Matem\'atica Hispano-Americana. 4. Serie
+D REVMP Reviews of Modern Physics
+D REVPD Revue du Palais de la D\'ecouverte
+D REVQS Revue des Questions Scientifiques
+D REVRA2 Real Academia de Ciencias Exactas, F\'\i sicas y Naturales de Madrid. Revista
+D REVRM Acad\'emie de la R\'epublique Populaire Roumaine. Revue Roumaine de Math\'ematiques Pures et Appliqu\'ees
+D REVRP Revue Roumaine de Physique
+D REVRSE Revue Roumaine des Sciences Techniques. S\'erie \'Electrotechnique et \'Energ\'etique
+D REVRSM Revue Roumaine des Sciences Techniques. S\'erie de M\'ecanique Appliqu\'ee
+D REVSA Revue de Statistique Appliqu\'ee. Centre d'Enseignement et de Recherche de Statistique Appliqu\'ee
+D REVTF Universidad del Zulia. Facultad de Ingenier\'\i a. Revista T\'ecni
+D REVUM Revista de la Uni\'on Matem\'atica Argentina
+D REVUS Revista de la Universidad de Santander
+D RHEWA Rheinisch-Westf\"alische Akademie der Wissenschaften. Natur-, Ingenieur- aund Wirtschaftswissenschaften
+D RIAJK Riazi. The Journal of Karachi Mathematical Association
+D RICEA Ricerche di Automatica
+D RICEM Ricerche di Matematica
+D RICMP La Ricerca: Matematiche Pure ed Applicate
+D RICUS2 Rice University Studies
+D RIVMS Rivista di Matematica per le Scienze Economiche e Sociali
+D RIVMU2 Rivista di Matematica della Universit\`a di Parma. Serie IV
+D RIVNC3 La Rivista del Nuovo Cimento. Serie 3
+D ROCMJ The Rocky Mountain Journal of Mathematics
+D ROSDG3 Rostovski\u \i -na-Donu Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut. Fiziko-Matematicheski\u \i \ Fakul'tet. Uchenye Zapiski
+D ROSMK Rostocker Mathematisches Kolloquium
+D ROYSN Royal Society of New Zealand Bulletin
+D ROZCA Rozpravy \v Ceskoslovensk\'e Akademie V\v ed \v Rada Matematick\'ych a P\v r\'\i rodn\'\i ch V\v ed
+D ROZPE Polska Akademia Nauk. Instytut Technologii Elektronowej. Rozprawy Elektrotechniczne
+D ROZPI Polska Akademia Nauk. Instytut Podstawowych Problem\'ow Techniki. Rozprawy In\.zynierskie
+D ROZPP Politechnika Pozna\'nska. Rozprawy
+D RUSMS Russian Mathematical Surveys
+D RZAVT1 Akademiya Nauk SSSR. Institut Nauchno##undt\u \i \ Informatsii. Referativny##undt\u \i \ Zhurnal. Avtomatika, Telemekhanika i Vychislitel'naya Tekhnika
+D RZMAT3 Akademiya Nauk SSSR. Institut Nauchno##undt\u \i \ Informatsii. Referativny##undt\u \i \ Zhurnal. Matematika
+D RZMEH3 Akademiya Nauk SSSR. Institut Nauchno##undt\u \i \ Informatsii. Referativny##undt\u \i \ Zhurnal. Mekhanika
+D RZTEK3 Akademiya Nauk SSSR. Institut Nauchno##undt\u \i \ i Tekhnichesko##undt\u \i \ Informatsii. Referativny##undt\u \i \ Zhurnal. Tekhnicheskaya Kibernetika
+D SAIMJ Saitama Mathematical Journal
+D SAKSP Sakharthvelos SSR Pedagogiuri Institutebis. \v Sromebi. Phizika-Mathematikis Seria
+D SANKA Sankhy\=a (Statistics). The Indian Journal of Statistics. Series A
+D SANKB Sankhy\=a (Statistics). The Indian Journal of Statistics. Series B
+D SBNAS1 Sbornik Nauchnykh Soobshcheni\u \i \ Dagestanski\u \i \ Gosudarstvenny\u \i \ Universitet imeni V. I. Lenina
+D SBPRP Sborn\'\i k Prac\'\i \ Pedagogick\'e Fakulty v Ostrav\v e. Seria A
+D SCAAJ Scandinavian Actuarial Journal
+D SCAJS Scandinavian Journal of Statistics. Theory and Applications
+D SCHBF Science Bulletin of the Faculty of Education. Nagasaki University
+D SCIAN Science and Nature
+D SCIAS Scientia Atmospherica Sinica. Daqi Kexue
+D SCICP Science of Computer Programming
+D SCIEA Scientific American
+D SCIEM Scientia. Rivista Internazionale di Sintesi Scientifica
+D SCIEN American Association for the Advancement of Science. Science
+D SCIEV Universidad T\'ecnica Federico Santa Maria. Scientia
+D SCIEX Science Exploration. Kexue Tansuo
+D SCIPC1 Scientific Papers of the College of Arts and Sciences. The University of Tokyo
+D SCIRC Science Reports. College of General Education. Osaka University
+D SCIRF Science Reports of the Faculty of Education. Gifu University. Natural Science
+D SCIRF1 Fukushima University. Faculty of Education. Science Reports
+D SCIRH Science Reports of the Hirosaki University
+D SCIRK1 Science Reports of Kagoshima University
+D SCIRK2 The Science Reports of the Kanazawa University
+D SCIRK4 Kyoto Prefectural University. Scientific Reports. Natural Science and Living Science
+D SCIRNA Science Reports of Niigata University. Series A. Mathematics
+D SCIRR Kanagawa University. Research Institute for Engineering. Science Reports
+D SCIRT2 Tokyo Woman's Christian University. Science Reports
+D SCIRY1 Science Reports of the Yokohama National University. Section I. Mathematics, Physics
+D SCISS Scientia Sinica Supplement. Zhongguo Kexue Zengkan
+D SCISSA Scientia Sinica. Series A. Mathematical, Physical, Astronomical \&\ Technical Sciences
+D SCISSB Scientia Sinica. Series B. Chemical, Biological, Agricultural, Medical \&\ Earth Sciences
+D SCRFS Scripta Facultatis Scientiarum Naturalium Universitatis Purkynianae Brunensis
+D SEIBB Seibutsu Butsuri
+D SELMS Selecta Mathematica Sovietica
+D SEMAC S\'eminarie d'Analyse Convexe
+D SEMIF Semigroup Forum
+D SEMIP1 Tbilisski\u \i \ Gosudarstvenny\u \i . Institut Prikladno\u \i \ Matematiki. Seminar. Doklady
+D SEQUA Sequential Analysis
+D SERDI Serdica. Bulgaricae Mathematicae Publicationes
+D SERIL Serials Librarian
+D SHADX Shanxi Daxue Xuebao. Ziran Kexue Ban
+D SHAJD Shanghai Jiaotong Daxue Xuebao
+D SHAKJ Shanghai Kexue Jishu Daxue Xuebao. Journal of Shanghai University of Science and Technology
+D SHENX Shengxue Xuebao
+D SHUJJ Shuliang Jingji Jishu Jingji Xanjiu
+D SHUJY Shuxue Jisuan yu Jisuanji Yingyong
+D SHUNJ Shuxue Niankan Ji A
+D SHUSY Shuxuede Shijian yu Renshi
+D SHUWX Shuxue Wuli Xuebao
+D SHUXJ Shuxue Jinzhan
+D SHUXN Shuxue Niankan
+D SHUXX Shuxue Xuebao
+D SHUXZ Shuxue Zazhi
+D SHUYY Shuxue Yanjiu yu Pinglun
+D SIAJA SIAM Journal on Applied Mathematics
+D SIAJA1 Society for Industrial and Applied Mathematics. Journal on Algebraic and Discrete Methods
+D SIAJC1 SIAM Journal on Computing
+D SIAJC3 Society for Industrial and Applied Mathematics. Journal on Control and Optimization
+D SIAJM SIAM Journal on Mathematical Analysis
+D SIAJN SIAM Journal on Numerical Analysis
+D SIAJS Society for Industrial and Applied Mathematics. Journal on Scientific and Statistical Computing
+D SIAMR SIAM Review. A Publication of the Society for Industrial and Applied Mathematics
+D SIBMJ Siberian Mathematical Journal
+D SIBMZ1 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Sibirski\u \i \ Matematicheski\u \i \ Zhurnal
+D SICDX Sichuan Daxue Xuebao. Ziran Kexue Ban. Sichuan University Journal. Natural Sciences
+D SIEFE2 Siemens Forschungs-und Entwicklungsberichte. Research and Development Reports
+D SIGNP Signal Processing
+D SIMOS Simon Stevin. Wis- en Natuurkundig Tijdschrift
+D SINET SINET;\ an Ethiopian Journal of Science
+D SITSA Sitzungsberichte der S\"achsischen Akademie der Wissenschaften zu Leipzig. Mathematisch-Naturwissenschaftliche Klasse
+D SITWG Sitzungsberichte der Wissenschaftlichen Gesellschaft an der Johann Wolfgang Goethe-Universit\"at Frankfurt am Main
+D SOCCW Social Choice and Welfare
+D SOCIN Social Networks. An International Journal of Structural Analysis
+D SOCSF Societas Scientiarum Fennica. Commentationes Physico-Mathematicae
+D SOKES The S\=oka Economic Studies
+D SOLMA Solid Mechanics Archives
+D SOOAN1 Soobshcheniya Akademii Nauk Gruzinsko\u \i \ SSR
+D SOOJM1 Soochow Journal of Mathematics
+D SOUAB Southeast Asian Bulletin of Mathematics
+D SOUAS South African Statistical Journal
+D SOUJP The Southwestern Journal of Philosophy
+D SOVAC Soviet Automatic Control
+D SOVAM Soviet Applied Mechanics
+D SOVIA1 Soviet Aeronautics
+D SOVIA2 Soviet Astronomy. A translation of Astronomicheski\u \i \ Zhurnal, the astronomical journal of the Academy of Sciences of the USSR
+D SOVJC Soviet Journal of Contemporary Mathematical Analysis
+D SOVJC1 Soviet Journal of Communications, Technology and Electronics
+D SOVJC2 Soviet Journal of Computer and Systems Sciences
+D SOVJN American Institute of Physics. Soviet Journal of Nuclear Physics
+D SOVJP Soviet Journal of Particles and Nuclei
+D SOVMD Soviet Mathematics. Doklady. A translation of the mathematics section of Doklady Akademii Nauk SSSR
+D SOVMI Soviet Mathematics (Izvestiya Vysshikh Uchebnykh Zavedeni\u \i . Matematika)
+D SOVPA2 Soviet Physics. Acoustics. A translation of Akusticheski\u \i \ Zhurnal of the Academy of Sciences of the USSR
+D SOVPC2 Soviet Physics. Collection
+D SOVPC3 Soviet Physics Crystallography
+D SOVPD2 Soviet Physics. Doklady. A translation of the physics sections of Doklady Akademii Nauk SSSR
+D SOVPJ3 Soviet Physics Journal
+D SOVPJ4 Soviet Physics. JETP. A translation of Zh. \`Eksperimental'no\u \i \ i Teoretichesko\u \i \ Fiziki of the USSR
+D SOVPU2 Soviet Physics. Uspekhi. A translation of the Uspekhi Fizicheskikh Nauk (Advances in the Physical Sciences) of the Academy of Sciences of the USSR
+D SPIRA Spirales. Journal de Culture Internationale
+D STAAD Statistique et Analyse des Donn\'ees. Bulletin de l'Association des Statisticiens Universitaires
+D STAPL Statistics \&\ Probability Letters
+D STATB Statistica
+D STATD Statistics \&\ Decisions. An International Mathematical Journal for Stochastic Methods and Models
+D STATH2 Statistische Hefte. Neue Folge
+D STATI1 Statistics. A Journal of Theoretical and Applied Statistics
+D STATM Statistical Theory and Method Abstracts
+D STATN2 Statistica Neerlandica. Orgaan van de Vereniging voor Statistiek
+D STATP1 Statisticheskie Problemy Upravleniya
+D STOAA Stochastic Analysis and Applications
+D STOCH1 Stochastica
+D STOCH2 Stochastics
+D STOPA2 Stochastic Processes and their Applications
+D STRML Kievski\u \i \ Gosudarstvenny\u \i \ Universitet. Strukturnaya i Matematicheskaya Lingvistika
+D STRUT Structural Topology. Topologie Structurale
+D STUAM2 Studies in Applied Mathematics
+D STUCF Studii \c si Cercet\u ari de Fizic\u a
+D STUCM Studii \c si Cercet\u ari Matematice
+D STUCMA Studii \c si Cercet\u ari de Mecanic\u a Aplicat\u a
+D STUDA Studia z Automatyki. Pozna\'nskie Towarzystwo Przyjaci\'o\l \ Nauk. Wydzia\l \ Nauk Technicznych. Prace Komisji Automatyki
+D STUDE Middle East Technical University. Studies in Development
+D STUDL1 Studia Leibnitiana. Vierteljahrschrift f\"ur Philosophie und Geschichte der Wissenschaften
+D STUDL2 Polska Akademia Nauk. Instytut Filozofii i Socjologii. Studia Logi
+D STUDM Polska Akademia Nauk. Instytut Matematyczny. Studia Mathematica
+D STUDS Middle East Technical University. Studies in Development. Special Issue
+D STUGM Studia Geotechnica et Mechanica
+D STUHP Studies in History and Philosophy of Science
+D STUSC Consilium Instituti Mathematici Academiae Scientiarum Hungaricae. Studia Scientiarum Mathematicarum Hungarica
+D STUUB1 Universitatas Babe\c s-Bolyai. Studia. Mathematica
+D STUUBP Studia Universitatis Babe\c s-Bolyai. Series Physica
+D SUDHA Sudhoffs Archiv f\"ur Geschichte der Medizin und der Naturwissenschaften
+D SUGAK1 Mathematical Society of Japan. S\^ugaku (Mathematics)
+D SUGAK2 History of Mathematics Society of Japan. S\^ugakushi Kenky\^u (Journal of History of Mathematics of Japan)
+D SUHAM Academy of Science of the People's Democratic Republic of Korea. Research Center for Physics and Mathematics. Su-hak kwa Mul-li (Mathematics and Physics)
+D SUIAT Die Suid-Afrikaanse Tydskrif vir Natuurwetenskap en Tegnologie
+D SUNKK Sung Kyung Kwan University Journal. Natural Science
+D SURIK S\^urikaisekikenky\^usho K\^oky\^uroku
+D SYNTH Synthese. An International Journal for Epistemology, Methodology and Philosophy of Science
+D SYSAM Systems Analysis Modelling Simulation. Journal of Mathematical Modelling and Simulation in Systems Analysis
+D SYSCC2 Systems-Computers-Controls. The Transactions of the Institute of Electronics and Communication Engineers of Japan
+D SYSCJ Systems and Computers in Japan
+D SYSCL Systems \&\ Control Letters
+D SYSTC Systems and Control (Shisutemu to Seigyo)
+D SYSTS Wroc\l aw Technical University. Systems Science
+D SZAMT Sz\'am\'\i t\'og\'epalkalmaz\'asi Kutat\'o Int\'ezet. Tanulm\'anyo
+D SZIMK Szigma. Matematikai-K\"ozgazdas\'agi Foly\'oirat
+D TAMJM Tamkang Journal of Mathematics
+D TAMJM1 Tamkang Journal of Management Sciences
+D TANMS2 Tanulm\'anyok. MTA Sz\'amit\'astechnikai \'es Automatiz\'al\'asi Kutat\'o Int\'ezet Budapest
+D TAPCT T\d ap ch\'\i \ To\'an h\d oc. Progress of Mathematical Sciences
+D TARRU Tartu Riikliku \"Ulikooli Toimetised. Uchenye Zapiski Tartuskogo Gosudarstvennogo Universiteta. Acta et Commentationes Universitatis Tartuen
+D TASGU4 Tashkentski\u \i \ Gosudarstvenny\u \i \ Universitet. Sbornik Nauchnykh Trudov
+D TBIGU Tbilisski\u \i \ Gosudarstvenny\u \i \ Universitet. Institut Prikladno\u \i \ Matematiki. Trudy
+D TECHC Technica Chronica
+D TECHN1 Technikgeschichte. Verein Deutscher Ingenieure
+D TECHN2 Technometrics. A Journal of Statistics for the Physical, Chemical and Engineering Sciences
+D TECRK Kansai University. Technology Reports
+D TECRO Technology Reports of the Osaka University
+D TELLU1 Tellus. Series A: Dynamic Meteorology and Oceanography
+D TENSO2 The Tensor Society. Tensor. New Series
+D TEOFF1 Khar'kovski\u \i \ Ordena Trudovogo Krasnogo Znameni Gosudarstvenny\u \i \ Universitet imeni A. M. Gor'kogo. Teoriya Funktsi\u \i , Funktsional'ny\u \i \ Analiz i ikh Prilozheniya
+D TEOKA2 Teoriya Konechnykh Avtomatov i ee Prilozheniya
+D TEOMF Akademiya Nauk SSSR. Teoreticheskaya i Matematicheskaya Fizika
+D TEOOR2 Teoriya Optimal'nykh Resheni\u \i
+D TEOPM Belorusski\u \i \ Politekhnicheski\u \i \ Institut. Teoreticheskaya i Prikladnaya Mekhanika
+D TEOPM7 Jugoslovensko Dru\v stvo za Mehaniku. Teorijska i Primenjena Mehan
+D TEOPM8 B\b ud lgarska Akademiya na Naukite. Teoretichna i Prilozhna Mekhan
+D TEOPM9 Donetski\u \i \ Gosudarstvenny\u \i \ Universitet. Teoreticheskaya i Prikladnaya Mekhanika
+D TEORE1 Teorema
+D TEORE3 L'vovski\u \i \ Gosudarstvenny\u \i \ Universitet. Teoreticheskaya \`Elektrotekhnika
+D TEORI Teoria. Logica e Filosofia del Linguaggio
+D TEOVM1 Teoriya Veroyatnoste\u \i \ i Matematicheskaya Statistika
+D TEOVP1 Akademiya Nauk SSSR. Teoriya Veroyatnoste\u \i \ i ee Primeneniya
+D TESLE2 TESLA Electronics. Quarterly Review of Czechoslovak Electronics and Telecommunications
+D TEXJS The Texas Journal of Science
+D THEAF Theoretical and Applied Fracture Mechanics. Fracture Mechanics Technology
+D THEC5 Theoretical Computer Science
+D THEMP Theoretical and Mathematical Physics
+D THEOD Theory and Decision. An International Journal for Philosophy and Methodology of the Social Sciences
+D THEOL Theoretical Linguistics
+D THEOP Theoretic Papers
+D THEOR Theoria. A Swedish Journal of Philosophy
+D THEOR1 Theoria. Revista de Teoria, Historia y Fundamentos de la Cienia
+D THEOR2 Theoria. Revista de Teoria, Historia y Fundamentos de la Ciencia. Segunda Epoca
+D THEPA2 Theory of Probability and its Applications. An English translation of the Soviet journal Teoriya Veroyatnoste\u \i \ i ee Primeneniya
+D THEPB2 Theoretical Population Biology
+D THEPM2 Theory of Probability and Mathematical Statistics
+D TIADX Tianjin Daxue Xuebao
+D TIANX Tianwen Xuebao
+D TIAWX Tianti Wuli Xuebao
+D TJUGU1 Tyumenski\u \i \ Gosudarstvenny\u \i \ Universitet. Nauchnye Trudy
+D TOHMJ2 The T\^ohoku Mathematical Journal. Second Series
+D TOKJM Tokyo Journal of Mathematics
+D TONDX Tongji Daxue Xuebao. Journal of Tongji University
+D TOPOA Topology and its Applications
+D TOPOI Topoi. An International Review of Philosophy
+D TOPOL Topology. An International Journal of Mathematics
+D TOPOP Topology Proceedings
+D TRAAM Transactions of the American Mathematical Society
+D TRAEI Trabajos de Estad\'\i stica y de Investigaci\'on Operativa
+D TRAIE The Transactions of the Institute of Electronics and Communication Engineers of Japan. Section E
+D TRAIS Illinois State Academy of Science. Transactions
+D TRAJA Transactions of the Japan Academy
+D TRAMM Transactions of the Moscow Mathematical Society
+D TRANAE American Society of Mechanical Engineers. Transactions of the ASME. Series E. Journal of Applied Mechanics
+D TRANRB Transportation Research. Part B. Methodological
+D TRANS Operations Research Society of America. Transportation Science Section. Transportation Science
+D TRARS Transactions of the Royal Society of South Africa
+D TRARS2 Transactions of the Royal Society of Canada. Chemical, Mathematical and Physical Sciences. Fourth Series
+D TRASI Traitement du Signal
+D TRATS Transport Theory and Statistical Physics. An International Journal for Rapid Communication
+D TRUAL1 Trudy Arkhangel'skogo Lesotekhnicheskogo Instituta imeni V. V. Ku\u \i bysheva
+D TRUAN Lietuvos TSR Moksl\polhk u Akademijos. Darbai. Serija B. Akademii Nauk Litovsko\u \i \ SSR. Trudy. Seriya B
+D TRUDC1 Gosudarstvenny\u \i \ Vsesoyuzny\u \i \ Tsentral'ny\u \i \ Nauchno-Issledovatel'ski\u \i \ Institut Kompleksno\u \i \ Avtomatizatsii. Trudy. TsNIIKA
+D TRUDV Vsesoyuzny\u \i \ Davzhdy Ordena Trudovogo Krasnogo Znameni Teplotekhnicheski\u \i \ Nauchno-Issledovatel'ski\u \i \ Institut imeni F. \`E. Dzerzhinskogo. Trudy Vsesoyuznogo Teplotekhnicheskogo Instituta
+D TRUDV1 Trudy VTI
+D TRUFI Akademiya Nauk SSSR. Trudy Fizicheskogo Instituta imeni P. N. Lebedeva
+D TRUGG Glavnaya Geofizicheskaya Observatoriya imeni A. I. Voe\u \i kova. Trudy
+D TRUGS1 Kazanski\u \i \ Universitet. Trudy Geometricheskogo Seminara
+D TRUIM1 Trudy Instituta Matematiki i Mekhaniki. Ural'ski\u \i \ Nauchny\u \i \ Tsentr. Akademiya Nauk SSSR
+D TRUIS3 Akademiya Nauk Gruzinsko\u \i \ SSR. Trudy Instituta Sistem Upravleniya
+D TRUIT Akademiya Nauk SSSR. Trudy Instituta Teoretichesko\u \i \ Astronom
+D TRUKF3 Vsesoyuzny\u \i \ Zaochny\u \i \ Politekhnicheski\u \i \ Institut. Trudy Kolomenskogo Filiala
+D TRUKG3 Kirgizski\u \i \ Gosudarstvenny\u \i \ Universitet. Trudy Kirgizskogo Gosudarstvennogo Universiteta. Seriya Matematicheskikh Nauk
+D TRUKP1 Trudy Kalininskogo Politekhnicheskogo Instituta
+D TRUKS1 Trudy Kazanskogo Sel'skokhozya\u \i stvennogo Instituta
+D TRUMA TRU Mathematics
+D TRUME1 Trudy Moskovskogo \`Elektrotekhnicheskogo Instituta Svyazi. Trudy M\`EIS
+D TRUMI1 Akademiya Nauk Soyuza Sovetskikh Sotsialisticheskikh Respublik. Trudy Matematicheskogo Instituta imeni V. A. Steklova
+D TRUMI2 Vsesoyuzny\u \i \ Nauchno-Issledovatel'ski\u \i \ Institut Metrologii imeni D. I. Mendeleeva. Tbilisski\u \i \ Filial. Trudy Metrologicheskikh Institutov SSSR
+D TRUMI3 Trudy Moskovskogo Instituta Radiotehniki, \`Elektroniki i Avtomati
+D TRUMI4 Trudy Moskovskogo Instituta Radiotekhniki, \`Elektroniki i Avtomat
+D TRUMM1 Trudy Moskovskogo Matematicheskogo Obshchestva
+D TRUMO Trudy Moskovskogo Ordena Lenina \`Energeticheskogo Instituta
+D TRUMV1 Moskovskoe Vysshee Tekhnicheskoe Uchilishche. Trudy
+D TRUNI1 Trudy Nauchno-Issledovatel'skogo Instituta Avtomatizatsii Proizvodstvennykh Protsessov Khimicheskoi Promyshlennosti i Tsvetnoi Metallurgii. ``NIIA Avtomatika''
+D TRUNK Nikolaevski\u \i \ Ordena Trudovogo Krasnogo Znameni Korablestroitel'ny\u \i \ Institut im. Admirala S. O. Makarova. Trudy Nikolaevskogo Korablestroitel'nogo Instituta
+D TRURI1 Trudy Rizhski\u \i \ Institut Inzhenerov Grazhdansko\u \i \ Aviatsii imeni Leninskogo Komsomola
+D TRUSG1 Ministerstvo Vysshego i Srednego Spetsial'nogo Obrazovaniya UzSSR. Trudy Samarkandskogo Gosudarstvennogo Universiteta imeni A. Navoi. Novaya Seriya
+D TRUSK4 Trudy Seminara po Kraevym Zadacham
+D TRUSP Moskovski\u \i \ Universitet. Trudy Seminara imeni I. G. Petrovsko
+D TRUSV Trudy Seminara po Vektornomu i Tenzornomu Analizu s ikh Prilozheniyami k Geometrii, Mekhanike i Fizike
+D TRUTM Akademiya Nauk Gruzinsko\u \i \ SSR. Trudy Tbilisskogo Matematicheskogo Instituta im. A. M. Razmadze
+D TRUTP1 Trudy Tadzhikskogo Politekhnicheskogo Instituta
+D TRUTU Tbilisski\u \i \ Universitet. Trudy. Fiziko- Matematicheskie i Estestvennye Nauki
+D TRUUD1 Trudy Universiteta Druzhby Narodov imeni Patrisa Lumumby
+D TRUVC6 Trudy Vychislitel'nogo Tsentra. Tartuski\u \i \ Gosudarstvenny\u \i \ Universitet
+D TRUVI Akademiya Nauk Gruzinsko\u \i \ SSR. Trudy Instituta Vychislitel'no\u \i \ Matematiki
+D TRUVN2 Trudy Vsesoyuznogo Nauchno-Issledovatel'skogo Instituta \`Elektromekhaniki
+D TSUJM Tsukuba Journal of Mathematics
+D TULGP1 Tul'ski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut imeni L. N. Tokstogo. Uchenye Zapiski Matematicheskikh Kafedr
+D UCEZC1 Uchenye Zapiski Tsentral'nogo A\`ero-Gidrodinamicheskogo Instituta (TsAGI)
+D UCEZK1 Ministerstvo Prosveshcheniya RSFSR. Karel'ski\u \i \ Pedagogicheski\u \i \ Institut. Uchenye Zapiski. Seriya Fiziko-Matematicheskikh Nauk
+D UKRFZ3 Akademiya Nauk Ukrainsko\u \i \ SSR. Otdelenie Fiziki. Ukrainski\u \i \ Fizicheski\u \i \ Zhurnal
+D UKRGS2 Ukrainski\u \i \ Geometricheski\u \i \ Sbornik
+D UKRMJ Ukrainian Mathematical Journal
+D UKRMZ3 Akademiya Nauk Ukrainsko\u \i \ SSR. Institut Matematiki. Ukrainski\u \i \ Matematicheski\u \i \ Zhurnal
+D ULSIT Ulsan Institute of Technology. Report
+D UNIBPE Univerzitet u Beogradu Publikacije Elektrotehni\v ckog Fakulteta. Serija Elektronika, Telekomunikacije, Automatika
+D UNIBPM Univerzitet u Beogradu. Publikacije Elektrotehni\v ckog Fakulteta. Serija Matematika i Fizika
+D UNIBT Univerzitet u Beogradu. Tehni\v cka Fizika. Journal of Engineering Physics
+D UNIIA Universitatis Iagellonicae Acta Mathematica
+D UNINS1 Univerzitet u Novom Sadu. Zbornik Radova Prirodno- Matematichkog Fakulteta. Serija za Matematiku=Univerzitet u Novom Sadu. Zbornik Radova Prirodno-Matemati\v ckog Fakulteta. Serija za Matematiku
+D UNINTA Universidad Nacional de Tucum\'an. Facultad de Ciencias Exactas y Tecnolog\'\i a. Revista. Serie A. Matem\'aticas y F\'\i sica Te\'orica
+D UNISK4 Uniwersytet \'Sl\polhk aski w Katowicach. Prace Naukowe. Prace Matematyczne
+D UPRAS1 Upravlyaemye Sistemy. Institut Matematiki. Institut Kataliza Sibirskogo Otdeleniya Akademii Nauk SSSR
+D URAGU Ural'ski\u \i \ Gosudarstvenny\u \i \ Universitet im. A. M. Gor'kogo. Ural'skoe Matematicheskoe Obshchestvo. Matematicheskie Zapiski
+D URDGP1 Urdmurtskogo i Glazovskogo Pedagogicheskogo Instituta Uchenye Zapi
+D URDPI1 Urdmurtskogo Pedagogicheskogo Instituta Uchenye Zapiski
+D USPFN1 Akademiya Nauk SSSR. Uspekhi Fizicheskikh Nauk
+D USPMN1 Akademiya Nauk SSSR i Moskovskoe Matematicheskoe Obshchestvo. Uspekhi Matematicheskikh Nauk
+D USSRC U.S.S.R. Computational Mathematics and Mathematical Physics
+D UTILM Utilitas Mathematica. A Canadian Journal of Applied Mathematics, Computer Science, and Statistics
+D VERKA2 Verhandlingen van de Koninklijke Academie voor Wetenschappen, Letteren en Schone Kunsten van Belgi\"e. Klasse der Wetenschappen
+D VERZ4 Het Verzekerings-Archief
+D VESAN3 Vestnik Akademii Nauk SSSR
+D VESAN4 Vests\=\i \ Akad\`em\=\i \=\i \ Navuk BSSR. Seryya F\=\i z\=\i ka-Mat\`ematychnykh Navuk
+D VESAN5 Vestnik Akademii Nauk Kazakhsko\u \i \ SSR
+D VESBG Vestnik Belorusskogo Gosudarstvennogo Universiteta im. V. I. Lenina. Nauchny\u \i \ Zhurnal. Seriya I. Fizika, Matematika, Mekhanika
+D VESHG1 Vestnik Khar'kovskogo Gosudarstvennogo Universiteta. Seriya Mekhaniko-Matematicheskaya. Zapiski Mekhaniko-Matematicheskogo. Fakul'teta i Khar'kovskogo Matematicheskogo Obshchestva
+D VESKU Vestnik Kievskogo Universiteta. Modelirovanie i Optimizatsiya Slozhnykh Sistem
+D VESLP1 Vestnik L'vovskogo Politekhnicheskogo Instituta
+D VESLU1 Vestnik Leningradskogo Universiteta. Fizika, Khimiya
+D VESLU2 Vestnik Leningradskogo Universiteta. Matematika, Mekhanika, Astronomiya
+D VESLUM Vestnik Leningrad University. Mathematics
+D VESMU Vestnik Moskovskogo Universiteta. Seriya I. Matematika, Mekhanika
+D VESMU1 Vestnik Moskovskogo Universiteta. Seriya XV. Vychislitel'naya Matematika i Kibernetika
+D VESMUF Vestnik Moskovskogo Universiteta. Seriya III. Fizika, Astronomiya
+D VIDYAB Vidya B. Sciences. The Journal of the Gujarat University
+D VIGNB Vignana Bharathi
+D VIJPA Vijnana Parishad Anusandhan Patrika (The Research Journal of the Hindu Science Academy)
+D VIKRA1 Vikram
+D VIKRAM The Vikram Mathematical Journal
+D VIRJS Virginia Journal of Science
+D VISIL Visible Language
+D VISKU1 V\=\i snik Ki\"\i vs'kogo Un\=\i versitetu. Ser\=\i ya Matematiki ta Mekhan\=\i ki
+D VISLD1 V\=\i snik L'v\=\i vs'kogo Ordena Len\=\i na Derzhavogo Un\=\i versitetu imeni Ivana Franka. Ser\=\i ya Mekhan\=\i ko-Matematichna
+D VISLP1 V\=\i snik L'v\=\i vs'kogo Pol\=\i tekhn\=\i chnogo \=Institutu
+D VISTA Vistas in Astronomy
+D VLAGP1 Vladimirski\u \i \ Gosudarstvenny\u \i \ Pedagogicheski\u \i \ Institut imeni P. I. Lebedeva-Polyanskogo. Uchenyi Zapiski
+D VOLGP3 Volgogradski\u \i \ Gosudarstvenny\u \i \ Pedagogichesk \u \i \ Institut imeni A. S. Serafimovicha. Uchenye Zapiski
+D VOPDP1 Rizhski\u \i \ Politekhnicheski\u \i \ Institut. Voprosy Dinamiki i Prochnosti
+D VOPIE1 Akademiya Nauk SSSR. Voprosy Istorii Estestvoznaniya i Tekhniki
+D VOPIT1 Akademiya Nauk SSSR. Vsesoyuzny\u \i \ Institut Nauchno\u \i \ i Tekhnichesko\u \i \ Informatsii. Voprosy Informatsionno\u \i \ Teorii i Praktiki
+D VOPKM Akademiya Nauk SSSR. Nauchny\u \i \ Sovet po Kompleksno\u \i \ Probleme ``Kibernetika''. Voprosy Kibernetiki
+D VOPKT Voprosy Kibernetiki. Akademiya Nauk Uzbeksko\u \i \ SSR
+D VOPRF Akademiya Nauk SSSR. Institut Filosofii. Voprosy Filosofii
+D VOPTS1 Leningradski\u \i \ Universitet. Voprosy Teorii Sistem Avtomaticheskogo Upravleniya
+D VOPVP1 Akademiya Nauk Uzbeksko\u \i \ SSR. Trudy Ordena Trudovogo Krasnogo Znameni Instituta Kibernetiki s Vychislitel'nym Tsentrom. Voprosy Vychislitel'no\u \i \ i Prikladno\u \i \ Matematiki
+D VORTI1 Voronezhski\u \i \ Tekhnologicheski\u \i \ Institut. Trudy
+D VYCIS1 Akademiya Nauk SSSR. Sibirskoe Otdelenie. Institut Matematiki. Vychislitel'nye Sistemy. Sbornik Trudov
+D VYCMP1 Moskovski\u \i \ Universitet. Sbornik Rabot Vychislitel'nogo Tsentra Moskovskogo Universiteta. Vychislitel'nye Metody i Programmirovanie
+D VYCPM1 Kievski\u \i \ Gosudarstvenny\u \i \ Universitet. Mezhvedomstvenny\u \i \ Nauchny\u \i \ Sbornik. Vychislitel'naya i Prikladnaya Matemati
+D VYCTV1 Leningradski\u \i \ Gosudarstvenny\u \i \ Universitet. Vychislitel'ny\u \i \ Tsentr. Moskovski\u \i \ Gosudarstvenny\u \i \ Universitet. Vychislitel'ny\u \i \ Tsentr. Vychislitel'naya Tekhnika i Voprosy Kibernetiki
+D WAVEM Wave Motion
+D WIADM3 Roczniki Polskiego Towarzystwa Matematycznego. Seria II. Wiadomo\'sci Matematyczne
+D WISZE Wissenschaftliche Zeitschrift der Ernst-Moritz-Arndt-Universit\"at Greifswald. Mathematisch-Naturwissenschaftliche Reihe
+D WISZH1 Wissenschaftliche Zeitschrift der Hochschule f\"ur Verkehrswesen ``Friedrich List''\ in Dresden. Die Anwendung Mathematischer Methoden im Transport-und Nachrichtenwesen
+D WISZH2 Wissenschaftliche Zeitschrift der Humboldt-Universit\"at Berlin. Mathematisch-Naturwissenschaftliche Reihe
+D WISZK Wissenschaftliche Zeitschrift der Karl-Marx-Universit\"at Leipzig. Mathematisch-Naturwissenschaftliche Reihe
+D WISZK2 Leipzig. Universit\"at. Wissenschaftliche Zeitschrift der Karl-Marx-Universit\"at Leipzig. Gesellschaftswissenshaftliche Reihe
+D WISZM Wissenschaftliche Zeitschrift der Martin-Luther-Universit\"at Halle-Wittenberg. Mathematisch-Naturwissenschaftliche Reihe
+D WISZP Wissenschaftliche Zeitschrift der P\"adagogischen Hochschule ``Karl Liebknecht''\ Potsdam
+D WISZP1 Wissenschaftliche Zeitschrift der P\"adagogischen Hochschule ``Karl Friedrich Wilhelm Wander''\ Dresden
+D WISZT6 Wissenschaftliche Zeitschrift der Technischen Hochschule Otto von Guericke Magdeburg
+D WISZTD Wissenschaftliche Zeitschrift der Technischen Universit\"at Dresde
+D WISZTI Wissenschaftliche Zeitschrift der Technischen Hochschule Ilmenau
+D WISZTK Wissenschaftliche Zeitschrift der Technischen Hochschule Karl-Marx-Stadt
+D WISZTL Leuna-Merseburg. Technische Hochschule ``Carl Schorlemmer'' Wissenschaftliche Zeitschrift
+D WUHUJ Wuhan Univ. J.
+D WULIJ Wulixue Jingzhan
+D WULIX Wuli Xuebao
+D WYZSP3 Wy\.zsza Szko\l a Pedagogiczna w Krakowie. Rocznik Naukowo-Dydaktyczny. Prace Matematyczne
+D XIADZ Xiangtan Daxue Ziran Kexue Xuebao
+D XIAJD Xi'an Jiaotong Daxue Xuebao. Journal of Xi'an Jiaotong University
+D XIAME Xiamen. Daxue Xuebao
+D XIBDX Xibei Daxue Xuebao
+D XINDX Xinjiang Daxue Xuebao Ziran Kexue Ban
+D XINYK Xinxi yu Kongzhi
+D XITKY Xitong Kexue yu Shuxue
+D YADEF Akademiya Nauk SSSR. Yadernaya Fizika
+D YINSH Yingyong Shuxue he Lixue
+D YINSX Yingyong Shuxue Xuebao
+D YOKMJ Yokohama Mathematical Journal
+D YUNCZ Yunchouxue Zazhi
+D ZALLW Zeitschrift f\"ur Allgemeine Wissenschaftstheorie
+D ZANAA Zeitschrift f\"ur Analysis und Ihre Anwendungen
+D ZANGM1 Zeitschrift f\"ur Angewandte Mathematik und Mechanik. Ingenieurwissenschaftliche Forschungsarbeiten
+D ZANGM2 Zeitschrift f\"ur Angewandte Mathematik und Physik. ZAMP. Journal of Applied Mathematics and Physics. Journal de Math\'ematiques et de Physiques Appliqu\'ees
+D ZAPNS1 Zapiski Nauchnykh Seminarov Leningradskogo Otdeleniya Matematicheskogo Instituta imeni V. A. Steklova Akademii Nauk SSSR (LOMI)
+D ZASTM Polska Akademia Nauk. Instytut Matematyczny. Zastosowania Matematy
+D ZBLMA Zentralblatt f\"ur Mathematik und ihre Grenzgebiete
+D ZBORM2 Beograd. Matematichki Institut. Zbornik Radova. Nova Serija=Beograd. Matemati\v cki Institut. Zbornik Radova. Nova Serija
+D ZEKST1 Akademiya Nauk SSSR. Zhurnal \`Eksperimental'no\u \i \ i Teoretichesko\u \i \ Fiziki
+D ZELIE2 Zeitschrift f\"ur Elektrische Informations-und Energietechnik
+D ZEMEM1 Vsesoyuznaya Akademiya Sel'skokhozya\u \i stvennykh Nauk imeni V. I. Lenina. Zemledel'cheskaya Mekhanika
+D ZESNA Zeszyty Naukowe Akademii G\'orniczo-Hutniczej im. Stanislawa Staszica. Matematyka-Fizyka-Chemia
+D ZESNG Zeszyty Naukowe Geometria
+D ZESNPL Zeszyty Naukowe Politechniki \L \'odzkiej. Matematyka
+D ZESNPM Zeszyty Naukowe Politechniki \'Sl\polhk askiej. Matematyka-Fizyka
+D ZESNPR Zeszyty Naukowe Politechniki Rzeszowskiej. Matematyka i Fizyka
+D ZESNUF Zeszyty Naukowe Uniwersytetu Jagiello\'nskiego. Prace Fizyczne
+D ZESNUM Zeszyty Naukowe Uniwersytetu Jagiello\'nskiego. Prace Matematyczne
+D ZESNW1 Zeszyty Naukowe Wy\.zszej Szko\l y Pedagogicznej w Szczecinie Prace Wydzia\l u Matematyczno-Przyrodniczego
+D ZESNWF Zeszyty Naukowe Wy\.zszej Szko\l y Pedagogicznej w Opolu. Fizyka
+D ZESNWM Zeszyty Naukowe Wy\.zszej Szko\l y Pedagogicznej w Opolu. Matematy
+D ZFIZH1 Zhurnal Fizichesko\u \i \ Khimii
+D ZHEDX Zhejiang Daxue Xuebao. Journal of Chekiang University
+D ZHODX Zhongshan Daxue Xuebao
+D ZHOKJ Zhongguo Kexue Jishu Daxue Xuebao
+D ZHONX Zhongguo Kexue
+D ZIDOH Zidonghua Xuebao
+D ZKRIS Zeitschrift f\"ur Kristallographie, Kristallgeometrie, Kristallphysik, Kristallchemie
+D ZMATL2 Zeitschrift f\"ur Mathematische Logik und Grundlagen der Mathemati
+D ZNATA Zeitschrift f\"ur Naturforschung. A
+D ZNATIO Zeitschrift f\"ur National\"okonomie. Journal of Economics
+D ZOPRAB Zeitschrift f\"ur Operations Research. Serie A. Serie B
+D ZPHYA Zeitschrift f\"ur Physik. A. Atoms and Nuclei
+D ZPHYB Zeitschrift f\"ur Physik. B. Condensed Matter and Quanta
+D ZPHYC Zeitschrift f\"ur Physik. C. Particles and Fields
+D ZPRIM1 Zhurnal Prikladno\u \i \ Mekhaniki i Tekhnichesko\u \i \ Fiziki
+D ZVYCM1 Akademiya Nauk SSSR. Zhurnal Vychislitel'no\u \i \ Matematiki i Matematichesko\u \i \ Fiziki
+D ZWAHV2 Zeitschrift f\"ur Wahrscheinlichkeitstheorie und Verwandte Gebiete
+#
+I TMACLIB pub.ttz
+I TMACLIB mscfll.ttz
diff --git a/biblio/tib/inputs/amsn.tib b/biblio/tib/inputs/amsn.tib
new file mode 100644
index 0000000000..e0c6d0304c
--- /dev/null
+++ b/biblio/tib/inputs/amsn.tib
@@ -0,0 +1,15 @@
+#
+# AMS numeric flag style
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+U replace successive identical authors with underlines
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB ams1.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/aps.tib b/biblio/tib/inputs/aps.tib
new file mode 100644
index 0000000000..5b41d5545f
--- /dev/null
+++ b/biblio/tib/inputs/aps.tib
@@ -0,0 +1,14 @@
+#
+# american physical society format
+#
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+P print only first page number
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file tibtex.Macros is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+
+\input\TMACLIB aps.ttx
diff --git a/biblio/tib/inputs/aps.ttx b/biblio/tib/inputs/aps.ttx
new file mode 100644
index 0000000000..799c087913
--- /dev/null
+++ b/biblio/tib/inputs/aps.ttx
@@ -0,0 +1,131 @@
+%american physical society style
+%footnotes collected as endnotes
+%superscript flag, author, journal, volume, first page, (date). (journal)
+%superscript flag, author, title, (publisher, city, date). (book)
+
+\Refstd\Citesuper %set general formats for reference list and citations
+\def\Citefont{\sevenrm} %override default definition (smaller superscripts)
+\def\Flagfont{\sevenrm} %override default definition (smaller superscripts)
+\expandafter\ifx\csname{sevenrm} %LaTeX fix for \sevenrm
+ \endcsname\relax\def\sevenrm{\scriptsize\rm}\fi
+\def\Volfont{\bf}\def\Titlefont{\sl} %override default definition
+\def\Flagstyle#1{\noindent\hbox{\raise1ex\hbox{\Flagfont#1}}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\ \else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\ \else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma edited by \bgroup\Estr\egroup\fi%
+ \if\Itest\present\ (\bgroup\Istr\egroup\def\Comma{) }\fi%
+ \if\Ctest\present\if\Itest\present, \else\ (\fi\bgroup\Cstr\egroup\def\Comma{) }\fi%
+ \if\Dtest\present\if\Itest\present, \else\if\Ctest\present, \else\ (\fi\fi\bgroup\Dstr\egroup\def\Comma{) }\fi%
+ \if\Itest\present\if\Ctest\present\else\if\Dtest\present\Comma\def\Comma{, }\fi\fi\fi%
+ \if\Ptest\present\Comma p.~\Pstr\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Atest\present\if\Itest\present
+ \ (\bgroup\Istr\egroup\fi%
+ \else\if\Etest\present\if\Itest\present
+ \ (\bgroup\Istr\egroup\fi\fi\fi%
+ \if\Ctest\present\if\Atest\present, \else\if\Etest\present, \else\ (\fi\fi\bgroup\Cstr\egroup\fi%
+ \if\Dtest\present\if\Atest\present, \else\if\Etest\present, \else%
+ \if\Ctest\present, \else\ (\fi\fi\fi\bgroup\Dstr\egroup\fi%
+ \if\Ctest\present)\else\if\Dtest\present)\else\if\Itest\present%
+ \if\Atest\present)\else\if\Etest\present)\fi\fi\fi\fi\fi\def\Comma{ }%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\itest\present\ (\bgroup\istr\egroup\def\Comma{\unskip) }\fi%
+ \if\ctest\present\if\itest\present, \else\ (\fi\bgroup\cstr\egroup\fi%
+ \if\dtest\present\if\itest\present, \else%
+ \if\ctest\present, \else\ (\fi\fi\bgroup\dstr\egroup\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\ }\fi%
+ \if\Atest\present\if\Itest\present
+ \ (\bgroup\Istr\egroup\fi%
+ \else\if\Etest\present\if\Itest\present
+ \ (\bgroup\Istr\egroup\fi\fi\fi%
+ \if\Rtest\present\if\Atest\present, \else\if\Etest\present, \else\ (\fi\fi\bgroup\Rstr\egroup\fi%
+ \if\Ctest\present\if\Atest\present, \else\if\Etest\present, \else\if\Rtest\present, \else\ (\fi\fi\fi\bgroup\Cstr\egroup\fi%
+ \if\Dtest\present\if\Atest\present, \else\if\Etest\present, \else%
+ \if \Rtest\present, \else\if\Ctest\present, \else\ (\fi\fi\fi\fi\bgroup\Dstr\egroup\fi%
+ \if\Rtest\present)\else\if\Dtest\present)\else\if\Ctest\present)\else%
+ \if\Itest\present\if\Atest\present)\else\if\Etest\present)\fi\fi\fi\fi\fi\fi\def\Comma{ }%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent5pt%
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ }
diff --git a/biblio/tib/inputs/cmp.tib b/biblio/tib/inputs/cmp.tib
new file mode 100644
index 0000000000..6d97690e08
--- /dev/null
+++ b/biblio/tib/inputs/cmp.tib
@@ -0,0 +1,16 @@
+#
+# communications in mathematical physics format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+AR reverse authors' names
+ER reverse editors' names
+SAD sort on authors, dates
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB cmp.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/cmp.ttx b/biblio/tib/inputs/cmp.ttx
new file mode 100644
index 0000000000..d2c9ee5dda
--- /dev/null
+++ b/biblio/tib/inputs/cmp.ttx
@@ -0,0 +1,146 @@
+%flag. author: title. journal volume pages (date), gov't no., other (article)
+%flag. author: title. series. city: publisher date, gov't no., other (book)
+
+\Refstd\Citebrackets\Smallcapsaand%set general formats for reference list and citations
+\def\Titlefont{\Reffont}\def\Tomefont{\Reffont}\def\Volfont{\bf}%redefine some fonts
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}.\kern.5em}}%flag style
+\def\Aand{, }\def\Aandd{, }\def\Eand{, }\def\Eandd{, }\def\aand{, }\def\aandd{, }\def\eand{, }\def\eandd{, }%redefine author, editor, etc. separators
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\ }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip\ }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{\ }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup\Pstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{\ }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{\ }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup\pstr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\egroup\def\Comma{\ }\fi%
+
+ \if\Dtest\present(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip. }\fi%
+ \if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{. }\fi%
+ \if\Etest\present, \bgroup\Estr\egroup\ifnum\Ecnt>1(eds.)\else (ed.)\fi\def\Comma{. }\fi%
+ \if\Ptest\present, \bgroup{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\egroup\def\Comma{. }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\ Vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\ No. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\ \bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{. }\fi%
+ \if\atest\present, \bgroup\astr\egroup\unskip, \if\acnt\present (eds.)\else (ed.)\fi\def\Comma{. }\fi%
+ \if\ptest\present, {\if\pcnt\present pp.~\else p.~\fi}\pstr\def\Comma{. }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\ Vol. \bgroup\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\ No. \bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\ \bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{: }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\/\egroup\def\Comma{\unskip. }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip. }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{. }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\ Vol. \bgroup\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\ No. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip\ }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip\ }\fi\fi\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present. \bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present\Comma Gov't ordering no. \bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\def\Comma{\unskip: }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{. }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present\Comma Gov't ordering no. \bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip: }%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup\def\Comma{\unskip: }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present\Comma Gov't ordering no. \bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/demo1.tib b/biblio/tib/inputs/demo1.tib
new file mode 100644
index 0000000000..b74a3de8d7
--- /dev/null
+++ b/biblio/tib/inputs/demo1.tib
@@ -0,0 +1,10 @@
+#
+# demo1.tib
+#
+# include basic oldstyle tib format file
+I TMACLIB numo.tib
+# modifications to basic format
+SAD sort on authors' names and dates
+AA abbreviate authors' first names
+AR1 reverse first author's first and last names
+U replace successive listing of identical authors by underline
diff --git a/biblio/tib/inputs/demo2.tib b/biblio/tib/inputs/demo2.tib
new file mode 100644
index 0000000000..e6740fe505
--- /dev/null
+++ b/biblio/tib/inputs/demo2.tib
@@ -0,0 +1,10 @@
+#
+# demo2.tib
+#
+# include epes superscript format file
+I TMACLIB epes.tib
+# modifications to basic format
+U replace successive listing of identical authors by underline
+
+%The lines below are copied verbatim into the output document as TeX commands.
+\def\Citefont{\sevenbf}
diff --git a/biblio/tib/inputs/demo2l.tib b/biblio/tib/inputs/demo2l.tib
new file mode 100644
index 0000000000..85109dc49b
--- /dev/null
+++ b/biblio/tib/inputs/demo2l.tib
@@ -0,0 +1,10 @@
+#
+# demo2.tib (LaTeX)
+#
+# include epes superscript format file
+I TMACLIB epes.tib
+# modifications to basic format
+U replace successive listing of identical authors by underline
+
+%The lines below are copied verbatim into the output document as TeX commands.
+\def\Citefont{\scriptsize}
diff --git a/biblio/tib/inputs/demo3.tib b/biblio/tib/inputs/demo3.tib
new file mode 100644
index 0000000000..f3601cb464
--- /dev/null
+++ b/biblio/tib/inputs/demo3.tib
@@ -0,0 +1,8 @@
+#
+# demo3.tib
+#
+# include ams alpha format file
+I TMACLIB amsa.tib
+# modifications to basic format
+AX capsmallcaps for authors
+NA do not abbreviate authors' first names
diff --git a/biblio/tib/inputs/demo3l.tib b/biblio/tib/inputs/demo3l.tib
new file mode 100644
index 0000000000..e74ed233e5
--- /dev/null
+++ b/biblio/tib/inputs/demo3l.tib
@@ -0,0 +1,10 @@
+#
+# demo3l.tib (LaTeX)
+#
+# include ams alpha format file
+I TMACLIB amsa.tib
+# modifications to basic format
+NA do not abbreviate authors' first names
+#
+#The line below is copied verbatim into the output document as a TeX command.
+\def\Authfont{\sc}
diff --git a/biblio/tib/inputs/demo4.tib b/biblio/tib/inputs/demo4.tib
new file mode 100644
index 0000000000..41e6f42ccc
--- /dev/null
+++ b/biblio/tib/inputs/demo4.tib
@@ -0,0 +1,16 @@
+#
+# demo4.tib
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsfll.ttz
+TF trailing character string (flags)
+SAD sort on authors' names and dates
+C3D-4 citation template (authors' names and last 4 characters of date)
+AA abbreviate authors' first names
+U replace successive listing of identical authors by underline
+
+%The lines below is copied verbatim into the output document as a TeX command.
+\input \TMACLIB stdd.ttx %TeX macros for formatting reference list
+\Refstda\Citenamedate %set general formats for reference list and citations
+\def\Underlinemark{\vrule height .7pt depth 0pt width 4.5pc}
+\def\Authfont{\bf}\def\Citefont{\bf} %define some new fonts
diff --git a/biblio/tib/inputs/demo5.tib b/biblio/tib/inputs/demo5.tib
new file mode 100644
index 0000000000..dff6653bc9
--- /dev/null
+++ b/biblio/tib/inputs/demo5.tib
@@ -0,0 +1,31 @@
+#
+# demo5.tib
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+AR reverse authors' names
+U replace successive listing of identical authors by underline
+TF trailing character string (flags)
+SAD sort on authors' names and dates
+C3D-2 citation template (authors' names and last 2 characters of date)
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB siam2.ttx %TeX macros for formatting reference list
+\Refstda\Rpunct%set general formats for reference list and citations
+\def\Underlinemark{\vrule height .7pt depth 0pt width 4.5pc}
+\def\Lcitemark#1\Citebreak{\let\uchyph=1%beginning of ordinary citation
+ [\bgroup\Citefont\uppercase{#1}\egroup, \bgroup\Citefont}
+\def\Citecomma#1\Citebreak{\egroup; \let\uchyph=1%multiple citations
+ \bgroup\Citefont\uppercase{#1}\egroup, \bgroup\Citefont}
+\def\Rcitemark{\egroup]}%mark at right of citation
+\def\LAcitemark#1\Citebreak{\let\uchyph=1%beginning of alternate citation
+ \bgroup\Citefont\uppercase{#1}\ \egroup[\bgroup\Citefont}
+\def\LAcitemark#1\Citebreak{\Lcitemark#1\Citebreak}%alternate citation
+\def\RAcitemark{\egroup]}%mark at right of alternate citation
+\def\Citehyphen{\egroup--\bgroup\Citefont}%separater for string of citations
+\def\LIcitemark{\egroup}%mark at left of insertion in citation
+\def\RIcitemark{\bgroup\Citefont}%mark at right of insertion in citation
diff --git a/biblio/tib/inputs/demo6l.tib b/biblio/tib/inputs/demo6l.tib
new file mode 100644
index 0000000000..7387fb0143
--- /dev/null
+++ b/biblio/tib/inputs/demo6l.tib
@@ -0,0 +1,7 @@
+#
+# demo6l.tib (footnotes -- LaTeX)
+#
+# Note to user: See instructions in test.tex
+#
+# include basic footnote format file
+I TMACLIB footl.tib
diff --git a/biblio/tib/inputs/demo6p.tib b/biblio/tib/inputs/demo6p.tib
new file mode 100644
index 0000000000..e29e75ee58
--- /dev/null
+++ b/biblio/tib/inputs/demo6p.tib
@@ -0,0 +1,11 @@
+#
+# demo6p.tib (footnotes -- plain TeX)
+#
+# Note to user: See instructions in test.tex
+#
+# include basic footnote format file
+I TMACLIB footp.tib
+
+%The following line is inserted to eliminate an underfull \vbox
+%which occurs because there are so many references.
+\raggedbottom
diff --git a/biblio/tib/inputs/epes.tib b/biblio/tib/inputs/epes.tib
new file mode 100644
index 0000000000..0e438c3ca7
--- /dev/null
+++ b/biblio/tib/inputs/epes.tib
@@ -0,0 +1,15 @@
+#
+# energy systems and electrical power format
+#
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+AR reverse authors' names
+AA abbreviate authors' names
+ER reverse editors' names
+EE abbreviate editors' names
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB epes.ttx
diff --git a/biblio/tib/inputs/epes.ttx b/biblio/tib/inputs/epes.ttx
new file mode 100644
index 0000000000..57213b5238
--- /dev/null
+++ b/biblio/tib/inputs/epes.ttx
@@ -0,0 +1,145 @@
+% electrical power and energy systems formats
+
+\Refstd\Citesuper %set general formats for reference list and citations
+\def\Citefont{\sevenrm} %override default definition (smaller superscripts)
+\expandafter\ifx\csname{sevenrm} %LaTeX fix for \sevenrm
+ \endcsname\relax\def\sevenrm{\scriptsize\rm}\fi
+\def\Authfont{\bf}\def\Tomefont{\sl}\def\Flagfont{\bf}\def\Initper{\ }
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}\kern.5em}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }\fi%
+ \if\Ttest\present\Comma\bgroup`\Titlefont\Tstr\egroup\def\Comma{' }\fi%
+ \if\etest\present\if\Ttest\present{'}\fi\ (\bgroup\estr\egroup)\def\Comma{\ }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{\ }\fi%
+ \if\Vtest\present\if\Jtest\present\ \else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\Ptest\present\Comma\bgroup \Pstr\egroup\def\Comma{\ }\fi%
+ \if\ttest\present\Comma\bgroup`\Titlefont\tstr\egroup\def\Comma{' }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{\ }\fi%
+ \if\vtest\present\if\jtest\present\ \else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{\ }\fi%
+ \if\ptest\present\bgroup \pstr\egroup\def\Comma{\ }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }\fi%
+ \if\Ttest\present\Comma\bgroup`\Titlefont\Tstr\egroup\def\Comma{' }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{\ }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }\fi%
+ \if\Ttest\present\Comma\bgroup`\Titlefont\Tstr\egroup\def\Comma{' }\fi%
+ \if\etest\present\if\Ttest\present'\fi\ (\bgroup\estr\egroup)\def\Comma{\ }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\ }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{\ }\fi%
+ \if\Etest\present, \bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{\ }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{\ }\fi%
+ \if\Vtest\present\bgroup\ \Volfont\Vstr\egroup\def\Comma{\ }\fi%
+ \if\Ntest\present\bgroup\ \Volfont\Nstr\egroup\def\Comma{\ }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{\ }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\Comma(\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{\ }\fi%
+ \if\ttest\present\Comma\bgroup`\Titlefont\tstr\egroup\def\Comma{' }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{\ }\fi%
+ \if\atest\present, \bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{\ }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{\ }\fi%
+ \if\vtest\present\bgroup\ \Volfont\vstr\egroup\def\Comma{\ }\fi%
+ \if\ntest\present\bgroup\ \Volfont\nstr\egroup\def\Comma{\ }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{\ }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\Comma(\bgroup\dstr\egroup)\def\Comma{\ }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{\ }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{\ }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\ }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\ }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{\ }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\ }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{\ }\fi%
+ \if\Vtest\present\bgroup\ \Volfont\Vstr\egroup\def\Comma{\ }\fi%
+ \if\Ntest\present\bgroup\ \Volfont\Nstr\egroup\def\Comma{\ }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\Comma(\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{\ }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{\ }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{\ }\fi%
+ \if\vtest\present\bgroup\ \Volfont\vstr\egroup\def\Comma{\ }\fi%
+ \if\ntest\present\bgroup\ \Volfont\nstr\egroup\def\Comma{\ }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{\ }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\Comma(\bgroup\dstr\egroup)\def\Comma{\ }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{\ }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup`\Titlefont\Tstr\egroup\def\Comma{' }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{\ }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\Comma(\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\ttest\present\Comma\bgroup`\Titlefont\tstr\egroup\def\Comma{' }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{\ }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{\ }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{\ }\fi%
+ \if\dtest\present\Comma(\bgroup\dstr\egroup)\def\Comma{\ }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\ }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{\ }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup`\Titlefont\Tstr\egroup\def\Comma{' }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\ }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{\ }\fi%
+ \if\Dtest\present\Comma(\bgroup\Dstr\egroup)\def\Comma{\ }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{\ }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/footl.tib b/biblio/tib/inputs/footl.tib
new file mode 100644
index 0000000000..25d3596273
--- /dev/null
+++ b/biblio/tib/inputs/footl.tib
@@ -0,0 +1,24 @@
+#
+# standard footnote format (latex)
+#
+# if titles are desired in loc. cit. references, see note in stdftl.ttx
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+f footnotes
+L use ibid and loc cit
+C0 empty citation string
+O for multiple citations use ordering of reference file
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%The \footnote macro is from LaTeX
+%
+\input \TMACLIB stdftl.ttx %macros for formatting reference list
+\Refstda\Citesuper %set general formats for reference list and citations
+\def\Lcitemark{\footnotemark}\def\Rcitemark{}
+\def\Citecomma{$^,$\footnotemark}
+\def\LAcitemark{\addtocounter{footnote}{1}\arabic{footnote}}
+\def\RAcitemark{}
+\def\LIcitemark#1\RIcitemark{\def\Ztest{ }\def\Zstr{#1}}
diff --git a/biblio/tib/inputs/footp.tib b/biblio/tib/inputs/footp.tib
new file mode 100644
index 0000000000..b2bb80fbfa
--- /dev/null
+++ b/biblio/tib/inputs/footp.tib
@@ -0,0 +1,20 @@
+#
+# standard footnote format
+#
+# if titles are desired in loc. cit. references, see note in stdftp.ttx
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+f footnotes
+L use ibid and loc cit
+O for muliple citations use ordering of reference file
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%The \footnote macro is from plain TeX
+%
+\input \TMACLIB stdftp.ttx %macros for formatting reference list
+\Refstda\Citesuper %set general formats for reference list and citations
+\def\Citefont{\sevenrm}\def\Flagfont{\sevenrm} %smaller citation fonts
+\def\LIcitemark#1\RIcitemark{\gdef\Ztest{ }\gdef\Zstr{#1}}
diff --git a/biblio/tib/inputs/ieeabb.ttz b/biblio/tib/inputs/ieeabb.ttz
new file mode 100644
index 0000000000..020314ec87
--- /dev/null
+++ b/biblio/tib/inputs/ieeabb.ttz
@@ -0,0 +1,105 @@
+# IEEE journal abbreviations
+#
+D IEEATI IEEE Annu. Text. Ind. Tech. Conf.
+D IEEATT IEEE Annu. Text. and Tech. Conf. Proc.
+D IEECIT IEEE Cem. Ind. Tech. Conf. Pap.
+D IEECSy IEEE Circuit. Syst. Mag.
+D IEECMa IEEE Commun. Mag.
+D IEECSo IEEE Commun. Soc. Mag.
+D IEECGN IEEE Comput. Group News
+D IEECRA IEEE Conf. Rec. Annu. Conf. Electr. Eng. Probl. Rubber. Plast. Ind.
+D IEECRI IEEE Conf. Rec. Ind. Commer. Power. Syst. Tech. Conf.
+D IEECRT IEEE Conf. Rec. Thermion. Convers. Spec. Conf.
+D IEECSM IEEE Control Syst. Mag.
+D IEEECS IEEE Electromagn. Compat. Symp.
+D IEEEDL IEEE Electron. Device. Lett.
+D IEEEAC IEEE Electron. Aerosp. Conv. Rec.
+D IEEEMR IEEE Eng. Manage. Rev.
+D IEETEM IEEE Trans. Engng. Man.
+D IEEITP IEEE Intercon. Tech. Pap.
+D IEEPIC IEEE Proc. Intermag. Conf.
+D IEEICD IEEE Int. Conv. Dig.
+D IEEICR IEEE Int. Conv. Rec.
+D IEEJOE IEEE J. Ocean Eng.
+D IEEJQE IEEE J. Quantum Electron.
+D IEEJSS IEEE J. Solid-State Circuits
+D IEEPSC IEEE Photovoltaic. Spec. Conf. Conf. Rec.
+D IEEPER IEEE Power. Eng. Rev.
+D IEEPro IEEE Proc.
+D IEEPAS IEEE Proc. Annu. Symp. Rel.
+D IEEPEA IEEE Proc. Conf. Elec. Appl. Text. Ind.
+D IEEPEM IEEE Proc. Conf. Eng. Med. Biol.
+D IEEPEC IEEE Proc. Electron. Components Conf.
+D IEEPNA IEEE Proc. Nat. Aerosp. Electron. Conf.
+D IEERSC IEEE Reg. Six (West. USA) Conf. Rec.
+D IEESpe IEEE Spectrum
+D IEESPu IEEE Stand. Publ.
+D IEESPa IEEE Stud. Pap.
+D IEETAG IEEE Tech. Act. Guide
+D IEETCI IEEE Trans. CAD Integ. Circuits and Systems
+D IEETct IEEE Trans. Circuit Theory
+D IEETSE IEEE Trans. Software Eng.
+D IEETAS IEEE Trans. Acoust. Speech Signal. Process.
+D IEETAP IEEE Trans. ASSP
+D IEETAe IEEE Trans. Aerosp.
+D IEETAE IEEE Trans. Aerosp. and Electron. Syst.
+D IEETAN IEEE Trans. Aerosp. Navig. Electron.
+D IEETAP IEEE Trans. Antennas Propag.
+D IEETAI IEEE Trans. Appl. Ind.
+D IEETAu IEEE Trans. Audio.
+D IEETAd IEEE Trans. Audio. Electroacoust.
+D IEETAC IEEE Trans. Automat. Contr.
+D IEETBM IEEE Trans. Bio. Med. Electron.
+D IEETBE IEEE Trans. Biomed. Eng.
+D IEETBT IEEE Trans. Broadcast. Telev. Receivers
+D IEETB IEEE Trans. Broadcast.
+D IEETCA IEEE Trans. CATV
+D IEETCi IEEE Trans. Circuits and Syst.
+D IEETCS IEEE Trans. Commun. Syst.
+D IEETCT IEEE Trans. Com. Tech.
+D IEETCm IEEE Trans. Commun. Electron.
+D IEETCo IEEE Trans. Comm.
+D IEETCP IEEE Trans. Component Parts
+D IEETCH IEEE Trans. Components Hybrids Manuf. Technol.
+D IEETCo IEEE Trans. Comput.
+D IEETCE IEEE Trans. Consum. Electron.
+D IEETEd IEEE Trans. Educ.
+D IEETEI IEEE Trans. Elec. Insul.
+D IEETEl IEEE Trans. Electromagn. Compat.
+D IEETED IEEE Trans. Electron. Devices
+D IEETEC IEEE Trans. Electron. Comput.
+D IEETnE IEEE Trans. Eng. Manag.
+D IEETEW IEEE Trans. Eng. Writing Speech
+D IEETGE IEEE Trans. Geosci. Electron.
+D IEETGR IEEE Trans. Geosci. Remote Sens.
+D IEETHF IEEE Trans. Hum. Factors Electron.
+D IEETIn IEEE Trans. Ind. Electron.
+D IEETIE IEEE Trans. Ind. Electron. Control Instrum.
+D IEETIA IEEE Trans. Ind. Appl.
+D IEETIG IEEE Trans. Ind. Gen. Appl.
+D IEETIT IEEE Trans. Inform. Theory
+D IEETIM IEEE Trans. Instrum. Meas.
+D IEETMa IEEE Trans. Magn.
+D IEETMM IEEE Trans. Man-Mach. Syst.
+D IEETMT IEEE Trans. Manuf. Technol.
+D IEETMi IEEE Trans. Microwave Theory Tech.
+D IEETME IEEE Trans. Mil. Electron.
+D IEETNS IEEE Trans. Nucl. Sci.
+D IEETPH IEEE Trans. Parts Hybrids Packag.
+D IEETPM IEEE Trans. Parts Mater. Packag.
+D IEETPS IEEE Trans. Plasma Sci.
+D IEETPA IEEE Trans. Power App. Syst.
+D IEETPE IEEE Trans. Prod. Eng. Prod.
+D IEETPC IEEE Trans. Prof. Commun.
+D IEETRe IEEE Trans. Reliab.
+D IEETSo IEEE Trans. Software Engrg.
+D IEETSU IEEE Trans. Sonics Ultrason.
+D IEETSp IEEE Trans. Space Electron. Telem.
+D IEETSM IEEE Trans. Syst. Man. Cybern.
+D IEETSS IEEE Trans. Syst. Sci. and Cybern.
+D IEETUE IEEE Trans. UltraSonics Eng.
+D IEETVC IEEE Trans. Veh. Commun.
+D IEETVT IEEE Trans. Veh. Technol.
+D IEETTh IEEE Trans. Inf. Theory
+D IEEWCR IEEE Wescon Conven. Rec.
+D IEEWTP IEEE Wescon Tech. Pap.
diff --git a/biblio/tib/inputs/ieee.tib b/biblio/tib/inputs/ieee.tib
new file mode 100644
index 0000000000..c8fd34d9f7
--- /dev/null
+++ b/biblio/tib/inputs/ieee.tib
@@ -0,0 +1,14 @@
+#
+# IEEE format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+U replace successive identical authors with underlines
+#
+#The line below is copied verbatim into the output document as a TeX command.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB ieee.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/ieee.ttx b/biblio/tib/inputs/ieee.ttx
new file mode 100644
index 0000000000..1d83b4f8f5
--- /dev/null
+++ b/biblio/tib/inputs/ieee.ttx
@@ -0,0 +1,144 @@
+%IEEE numeric flag format
+%[flag], author, ``title,'' etc., vol. volume, no. number, pp. pages, date
+%gov't no., other (journal article)
+%[flag], author, title. series, city: publisher, etc (book)
+
+\Refstd\Citebrackets%set general formats for reference list and citations
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss[{\Flagfont#1}]\kern.5em}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma no. \bgroup\Nstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. ``\bgroup\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma no. \bgroup\nstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup{\if\pcnt\present pp.~\else p.~\fi}\pstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma presented at \bgroup\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\egroup\def\Comma{.\hskip1em}\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\fi%
+ \if\Stest\present\ (\bgroup\Sstr\egroup)\fi%
+ \if\Vtest\present, vol. \bgroup\Volfont\Vstr\egroup\fi%
+ \if\Ntest\present, no. \bgroup\Volfont\Nstr\egroup\fi%
+ \if\Etest\present, \bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{\hskip1em}\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. ``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\stest\present\ (\bgroup\sstr\egroup)\fi%
+ \if\vtest\present, vol. \bgroup\Volfont\vstr\egroup\fi%
+ \if\ntest\present, no. \bgroup\Volfont\nstr\egroup\fi%
+ \if\atest\present, \bgroup\astr\egroup\unskip, \if\acnt\present Eds.\else Ed.\fi\def\Comma{\hskip1em}\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma{\if\pcnt\present pp.~\else p.~\fi}\pstr\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present{\bgroup\Authfont\Astr\egroup}\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{.\hskip1em}%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\egroup\def\Comma{.\hskip1em}\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\fi%
+ \if\Stest\present\ (\bgroup\Sstr\egroup)\fi%
+ \if\Vtest\present, vol. \bgroup\Volfont\Vstr\egroup\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ : \bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Tomefont\tstr\egroup\def\Comma{.\hskip1em}%
+ \else\if\btest\present. \bgroup\Tomefont\bstr\egroup\def\Comma{.\hskip1em}\fi\fi%
+ \if\stest\present\ (\bgroup\sstr\egroup\)\fi%
+ \if\vtest\present, vol. \bgroup\Volfont\vstr\egroup\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. ``\bgroup\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/ieefll.ttz b/biblio/tib/inputs/ieefll.ttz
new file mode 100644
index 0000000000..b778a301bd
--- /dev/null
+++ b/biblio/tib/inputs/ieefll.ttz
@@ -0,0 +1,105 @@
+# IEEE journals, full names
+#
+D IEEATI Institute of Electrical and Electronics Engineers. Annual Textile Industry Technical Conference
+D IEEATT Institute of Electrical and Electronics Engineers. Annual Textile Industry Technical Conference Proceedings
+D IEECIT Institute of Electrical and Electronics Engineers. Cement Industry Technical Conference Paper
+D IEECSy Institute of Electrical and Electronics Engineers. Circuits and Systems Magazine
+D IEECMa Institute of Electrical and Electronics Engineers. Communications Magazine
+D IEECSo Institute of Electrical and Electronics Engineers. Communications Society Magazine
+D IEECGN Institute of Electrical and Electronics Engineers. Computer Group News
+D IEECRA Institute of Electrical and Electronics Engineers. Conference Record. Annual Conference of Electrical Engineering Problems in the Rubber and Plastics Industries
+D IEECRI Institute of Electrical and Electronics Engineers. Conference Record. Industrial and Commercial Power Systems. Technical Conference
+D IEECRT Institute of Electrical and Electronics Engineers. Conference Records. Thermionic Conversion Specialist Conference
+D IEECSM Institute of Electrical and Electronics Engineers. Control Systems Magazine
+D IEEECS Institute of Electrical and Electronics Engineers. Electromagnetic Compatibility Symposium. Record
+D IEEEDL Institute of Electrical and Electronics Engineers. Electron Device Letters
+D IEEEAC Institute of Electrical and Electronics Engineers. Electronics and Aerospace Systems. Convention Record
+D IEEEMR Institute of Electrical and Electronics Engineers. Engineering Management Review
+D IEETEM Institute of Electrical and Electronics Engineers. Engineering Management
+D IEEITP Institute of Electrical and Electronics Engineers. Intercon Technical Digest
+D IEEPIC Institute of Electrical and Electronics Engineers. International Conference on Magnetics. Proceedings of the Intermag Conference
+D IEEICD Institute of Electrical and Electronics Engineers. International Convention. Digest
+D IEEICR Institute of Electrical and Electronics Engineers. International Convention. Records
+D IEEJOE Institute of Electrical and Electronics Engineers. Journal of Oceanic Engineering
+D IEEJQE Institute of Electrical and Electronics Engineers. Journal of Quantum Electronics
+D IEEJSS Institute of Electrical and Electronics Engineers. Journal of Solid-State Circuits
+D IEEPSC Institute of Electrical and Electronics Engineers. Photovoltaic Specialists Conference. Conference Record
+D IEEPER Institute of Electrical and Electronics Engineers. Power Engineering Review
+D IEEPro Institute of Electrical and Electronics Engineers. Proceedings
+D IEEPAS Institute of Electrical and Electronics Engineers. Proceedings. Annual Symposium on Reliability
+D IEEPEA Institute of Electrical and Electronics Engineers. Proceedings. Conference on Electrical Applications for the Textile Industry
+D IEEPEM Institute of Electrical and Electronics Engineers. Proceedings. Conference on Engineering in Medicine and Biology
+D IEEPEC Institute of Electrical and Electronics Engineers. Proceedings. Electronic Components Conference
+D IEEPNA Institute of Electrical and Electronics Engineers. Proceedings. National Aerospace and Electronics Conference
+D IEERSC Institute of Electrical and Electronics Engineers. Region Six (Western USA). Conference Record
+D IEESpe Institute of Electrical and Electronics Engineers. Spectrum
+D IEESPu Institute of Electrical and Electronics Engineers. Standards Publications
+D IEESPa Institute of Electrical and Electronics Engineers. Student Papers
+D IEETAG Institute of Electrical and Electronics Engineers. Technical Activities Guide
+D IEETCI Institute of Electrical and Electronics Engineers. Transactions on Computer-Aided Design of Integrated Circuits and Systems
+D IEETct Institute of Electrical and Electronics Engineers. Transaction on Circuit Theory
+D IEETSE Institute of Electrical and Electronics Engineers. Transaction on Software Engineering
+D IEETAS Institute of Electrical and Electronics Engineers. Transactions on Acoustic, Speech and Signal Processing
+D IEETAP Institute of Electrical and Electronics Engineers. Transactions on Acoustics, Speech, and Signal Processing
+D IEETAe Institute of Electrical and Electronics Engineers. Transactions on Aerospace
+D IEETAE Institute of Electrical and Electronics Engineers. Transactions on Aerospace and Electronic Systems
+D IEETAN Institute of Electrical and Electronics Engineers. Transactions on Aerospace and Navigational Electronics
+D IEETAP Institute of Electrical and Electronics Engineers. Transactions on Antennas and Propagation
+D IEETAI Institute of Electrical and Electronics Engineers. Transactions on Applications and Industry
+D IEETAu Institute of Electrical and Electronics Engineers. Transactions on Audio
+D IEETAd Institute of Electrical and Electronics Engineers. Transactions on Audio and Electroacoustics
+D IEETAC Institute of Electrical and Electronics Engineers. Transactions on Automatic Control
+D IEETBM Institute of Electrical and Electronics Engineers. Transactions on Bio-Medical Electronics
+D IEETBE Institute of Electrical and Electronics Engineers. Transactions on Biomedical Engineering
+D IEETBT Institute of Electrical and Electronics Engineers. Transactions on Broadcast and Television Receivers
+D IEETB Institute of Electrical and Electronics Engineers. Transactions on Broadcasting
+D IEETCA Institute of Electrical and Electronics Engineers. Transactions on Cable Television
+D IEETCi Institute of Electrical and Electronics Engineers. Transactions on Circuits and Systems
+D IEETCS Institute of Electrical and Electronics Engineers. Transactions on Communication Systems
+D IEETCT Institute of Electrical and Electronics Engineers. Transactions on Communication Technology
+D IEETCm Institute of Electrical and Electronics Engineers. Transactions on Communication and Electronics
+D IEETCo Institute of Electrical and Electronics Engineers. Transactions on Communications
+D IEETCP Institute of Electrical and Electronics Engineers. Transactions on Component Parts
+D IEETCH Institute of Electrical and Electronics Engineers. Transactions on Components, Hybrids, and Manufacturing Technology
+D IEETCo Institute of Electrical and Electronics Engineers. Transactions on Computers
+D IEETCE Institute of Electrical and Electronics Engineers. Transactions on Consumer Electronics
+D IEETEd Institute of Electrical and Electronics Engineers. Transactions on Education
+D IEETEI Institute of Electrical and Electronics Engineers. Transactions on Electrical Insulation
+D IEETEl Institute of Electrical and Electronics Engineers. Transactions on Electromagnetic Compatibility
+D IEETED Institute of Electrical and Electronics Engineers. Transactions on Electron Devices
+D IEETEC Institute of Electrical and Electronics Engineers. Transactions on Electronic Computers
+D IEETnE Institute of Electrical and Electronics Engineers. Transactions on Engineering Management
+D IEETEW Institute of Electrical and Electronics Engineers. Transactions on Engineering Writing and Speech
+D IEETGE Institute of Electrical and Electronics Engineers. Transactions on Geoscience Electronics
+D IEETGR Institute of Electrical and Electronics Engineers. Transactions on Geoscience and Remote Sensing
+D IEETHF Institute of Electrical and Electronics Engineers. Transactions on Human Factors in Electronics
+D IEETIn Institute of Electrical and Electronics Engineers. Transactions on Industrial Electronics
+D IEETIE Institute of Electrical and Electronics Engineers. Transactions on Industrial Electronics and Control Instrumentation
+D IEETIA Institute of Electrical and Electronics Engineers. Transactions on Industry Applications
+D IEETIG Institute of Electrical and Electronics Engineers. Transactions on Industry and General Applications
+D IEETIT Institute of Electrical and Electronics Engineers. Transactions on Information Theory
+D IEETIM Institute of Electrical and Electronics Engineers. Transactions on Instrumentation and Measurement
+D IEETMa Institute of Electrical and Electronics Engineers. Transactions on Magnetics
+D IEETMM Institute of Electrical and Electronics Engineers. Transactions on Man-Machine Systems
+D IEETMT Institute of Electrical and Electronics Engineers. Transactions on Manufacturing Technology
+D IEETMi Institute of Electrical and Electronics Engineers. Transactions on Microwave Theory and Techniques
+D IEETME Institute of Electrical and Electronics Engineers. Transactions on Military Electronics
+D IEETNS Institute of Electrical and Electronics Engineers. Transactions on Nuclear Science
+D IEETPH Institute of Electrical and Electronics Engineers. Transactions on Parts, Hybrids, and Packaging
+D IEETPM Institute of Electrical and Electronics Engineers. Transactions on Parts, Materials, and Packaging
+D IEETPS Institute of Electrical and Electronics Engineers. Transactions on Plasma Science
+D IEETPA Institute of Electrical and Electronics Engineers. Transactions on Power Apparatus and Systems
+D IEETPE Institute of Electrical and Electronics Engineers. Transactions on Product Engineering and Production
+D IEETPC Institute of Electrical and Electronics Engineers. Transactions on Professional Communications
+D IEETRe Institute of Electrical and Electronics Engineers. Transactions on Reliability
+D IEETSo Institute of Electrical and Electronics Engineers. Transactions on Software Engineering
+D IEETSU Institute of Electrical and Electronics Engineers. Transactions on Sonics and Ultrasonics
+D IEETSp Institute of Electrical and Electronics Engineers. Transactions on Space Electronics and Telemetry
+D IEETSM Institute of Electrical and Electronics Engineers. Transactions on Systems, Man, and Cybernetics
+D IEETSS Institute of Electrical and Electronics Engineers. Transactions on Systems, Science, and Cybernetics
+D IEETUE Institute of Electrical and Electronics Engineers. Transactions on Ultrasonics Engineering
+D IEETVC Institute of Electrical and Electronics Engineers. Transactions on Vehicular Communications
+D IEETVT Institute of Electrical and Electronics Engineers. Transactions on Vehicular Technology
+D IEETTh Institute of Electrical and Electronics Engineers. Transformation on Information Theory
+D IEEWCR Institute of Electrical and Electronics Engineers. Wescon Convention Record
+D IEEWTP Institute of Electrical and Electronics Engineers. Wescon Technical Papers
diff --git a/biblio/tib/inputs/ijrr.tib b/biblio/tib/inputs/ijrr.tib
new file mode 100644
index 0000000000..b6d3e108a2
--- /dev/null
+++ b/biblio/tib/inputs/ijrr.tib
@@ -0,0 +1,33 @@
+# International Journal of Robotics Research
+#
+# Note: multiple citations should be entered in chronological order
+#
+C3D-4 name-date citations
+AAR abbreviate and reverse authors' first names
+EA abbreviate editors first names
+SAD sort on authors and dates
+NO do not change order in multiple citations
+TF append codes to citations if necessary
+I TMACLIB amsabb.ttz
+# input list of definitions
+
+%\input\TMACLIB ijrr.ttx
+\input ijrr.ttx
+\message{*** Note: multiple citations should be entered in chronological order. ***}
+\Refstd\Rpunct%set general formats for reference list and citations
+\def\Titlefont{\Reffont}\def\Volfont{\Reffont}
+ \def\Tomefont{\sl}%redefine some fonts
+\def\Lcitemark{%mark at left of citation--also sets internal punctuation
+ \let\uchyph=1\def\Cfont{}%
+ \def\Citebreak{\egroup\ \bgroup\Cfont}%
+ \def\Citecomma{\egroup; \bgroup\Cfont }(\bgroup\Cfont}%
+\def\Rcitemark{\egroup)}%mark at right of citation
+\def\LAcitemark{%mark at left of alternate citation
+ \def\Cfont{}%
+ \let\uchyph=1\def\Citebreak{\egroup\ \bgroup\Cfont}%
+ \def\Citecomma{\egroup; \bgroup\Cfont }(\bgroup\Cfont}%
+\def\RAcitemark{\egroup)}%mark at right of alternate citation
+\def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+\def\LIcitemark{\egroup}%mark at left of insertion in citation
+\def\RIcitemark{\bgroup\Cfont}%mark at right of insertion in citation
+
diff --git a/biblio/tib/inputs/ijrr.ttx b/biblio/tib/inputs/ijrr.ttx
new file mode 100644
index 0000000000..e25673322e
--- /dev/null
+++ b/biblio/tib/inputs/ijrr.ttx
@@ -0,0 +1,146 @@
+%Inter. J. Robotics Res. format macros
+%no citation flag, author, date. title. etc., volume(no):pages, other
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\etest\present\if\Ttest\present{}\fi\hskip.16667em\bgroup\estr\egroup\def\Comma{\unskip. }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{. }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{: }\fi%
+ \if\Ntest\present\bgroup\Volfont(\Nstr)\egroup\def\Comma{: }\fi%
+ \if\Ptest\present\bgroup:\Pstr\egroup\def\Comma{. }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{. }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{: }\fi%
+ \if\ntest\present\bgroup\Volfont(\nstr)\egroup\def\Comma{: }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{: }\fi%
+ \if\ptest\present\bgroup:\pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Jtest\present\Comma\bgroup\Reffont Paper delivered at \Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\etest\present\if\Ttest\present\fi\hskip.2em\bgroup\estr\egroup\def\Comma{\unskip. }\fi%
+ \if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{. }\fi%
+ \if\Etest\present\Comma\ifnum\Ecnt>1eds.\else ed.\fi\bgroup\ \Estr\egroup\def\Comma{. }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{. }\fi%
+ \if\Vtest\present\Comma Vol. \bgroup\Volfont\Vstr\egroup\def\Comma{. }\fi%
+ \if\Ntest\present\Comma No. \bgroup\Volfont\Nstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\fi\def\Comma{. }%
+ \if\Ptest\present\Comma\bgroup\if\Pcnt\present pp. \else p.\fi\Pstr\egroup\def\Comma{. }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{. }\fi%
+ \if\atest\present\Comma\if\acnt\present eds.\else ed.\fi\bgroup\ \astr\egroup\def\Comma{. }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{. }\fi%
+ \if\vtest\present\Comma Vol. \bgroup\Volfont\vstr\egroup\def\Comma{. }\fi%
+ \if\ntest\present\Comma No. \bgroup\Volfont\nstr\egroup\def\Comma{. }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\fi\def\Comma{. }%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{. }\fi%
+ \if\ptest\present\Comma\bgroup\if\pcnt\present pp. \else p. \fi\pstr\egroup\def\Comma{. }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{. }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{. }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{. }\fi%
+ \if\etest\present\hskip.2em\bgroup\estr\egroup\def\Comma{\unskip. }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{. }\fi%
+ \if\Vtest\present\Comma Vol. \bgroup\Volfont\Vstr\egroup\def\Comma{. }\fi%
+ \if\Ntest\present\Comma No. \bgroup\Volfont\Nstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip. }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip. }\fi\fi\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{. }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{. }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{. }\fi%
+ \if\vtest\present\Comma Vol. \bgroup\Volfont\vstr\egroup\def\Comma{. }\fi%
+ \if\ntest\present\Comma No. \bgroup\Volfont\nstr\egroup\def\Comma{. }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{: }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{. }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{. }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{. }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{. }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{. }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{. }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{. }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{. }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing%
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent=1em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip. }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{. }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\Dtest\present\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{. }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{. }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{: }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Mtest\present\Comma MR \#\bgroup\Mstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/intext.tib b/biblio/tib/inputs/intext.tib
new file mode 100644
index 0000000000..e5ae2416a5
--- /dev/null
+++ b/biblio/tib/inputs/intext.tib
@@ -0,0 +1,25 @@
+#
+# intext format
+#
+# Citations in running text
+#
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+C0 citation in text
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+
+\input \TMACLIB intext.ttx %macros for formatting reference list
+\Refstda\Rpunct %set general formats for reference list and citations
+\def\LIcitemark#1\RIcitemark{\gdef\Ztest{ }\gdef\Zstr{#1}}
+\def\Lcitemark{\def\ztest{ }\def\zstr{, }[\bgroup\def\Comma{}\Citefont}
+\def\Rcitemark{\unskip\egroup]}
+\def\LAcitemark{\def\ztest{ }\def\zstr{\ [}\bgroup\def\Comma{}\Citefont}
+\def\RAcitemark{\unskip\egroup]}
+\def\Citehyphen{}
+\def\Citecomma{}
+\def\Citebreak{}%mark between parts of citation (e.g. author\Citebreak date)
+\def\Titlefont{\sl}
diff --git a/biblio/tib/inputs/intext.ttx b/biblio/tib/inputs/intext.ttx
new file mode 100644
index 0000000000..337c6462dc
--- /dev/null
+++ b/biblio/tib/inputs/intext.ttx
@@ -0,0 +1,139 @@
+%intext format macros
+%[author, title, etc., volume (date) pages gov't no., other]
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\bgroup\Comma\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\bgroup\Comma\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\Comma\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
diff --git a/biblio/tib/inputs/jgr.tib b/biblio/tib/inputs/jgr.tib
new file mode 100644
index 0000000000..07b540b45c
--- /dev/null
+++ b/biblio/tib/inputs/jgr.tib
@@ -0,0 +1,17 @@
+#
+# journal of geophysical research name-date format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+TF trailing-character string (flags)
+AA abbreviate authors' first names
+AR1 reverse first author's name
+EA abbreviate editors' first names
+SAD sort on authors, dates
+C3D-4 name-date citations
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input \TMACLIB jgr.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/jgr.ttx b/biblio/tib/inputs/jgr.ttx
new file mode 100644
index 0000000000..25d27f3e4e
--- /dev/null
+++ b/biblio/tib/inputs/jgr.ttx
@@ -0,0 +1,156 @@
+%journal of geophysical research macros
+%no citation flag, author, title, etc., pages, date, gov't no., other
+
+\Refstd%set general formats for reference list and citations
+\def\Volfont{\sl}\def\Citefont{\it}\def\ACitefont{\it}
+\Rpunct%control sequences for making name-date citations
+ \def\Lcitemark{%mark at left of citation--also sets internal punctuation
+ \let\uchyph=1\def\Citebreak{\egroup, \bgroup}\def\Cfont{\Citefont}%
+ \def\Citecomma{\egroup; \bgroup\Cfont }\bgroup[\Cfont}%
+ \def\Rcitemark{\egroup]}%mark at right of citation
+ \def\LAcitemark{%mark at left of alternate citation
+ \let\uchyph=1\def\Citebreak{\egroup\ [\bgroup}%
+ \def\Cfont{\ACitefont}%
+ \def\Citecomma{\egroup], \bgroup\Cfont }\bgroup\Cfont}%
+ \def\RAcitemark{\egroup]}%mark at right of alternate citation
+ \def\Citehyphen{\egroup--\bgroup\Cfont}%separater for string of citations
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Cfont}%mark at right of insertion in citation
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\/\egroup\def\Comma{, }\fi%
+ \if\Ntest\present(\bgroup\Nstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup\Pstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup\pstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma paper presented at \bgroup\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma edited by \bgroup\Estr\egroup\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\if\Pcnt\present pp.~\else p.~\fi\Pstr\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma edited by \bgroup\astr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\if\pcnt\present pp.~\else p.~\fi\pstr\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{/unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/lala.tib b/biblio/tib/inputs/lala.tib
new file mode 100644
index 0000000000..3f17d2fbd7
--- /dev/null
+++ b/biblio/tib/inputs/lala.tib
@@ -0,0 +1,14 @@
+#
+# Linear Algebra and its Applications
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\input\TMACLIB lala.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/lala.ttx b/biblio/tib/inputs/lala.ttx
new file mode 100644
index 0000000000..bcbf597784
--- /dev/null
+++ b/biblio/tib/inputs/lala.ttx
@@ -0,0 +1,142 @@
+%Linear Algebra and its Applications
+%flag author, title, etc., volume:pages (date), gov't no., other
+
+\Refstd\Citebrackets%set general formats for reference list and citations
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}\kern1em}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.33333em(\bgroup\estr\egroup)\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\ \bgroup\Volfont\Vstr\egroup\def\Comma{:}\fi%
+ \if\Ptest\present\Comma\bgroup\Pstr\egroup\fi\def\Comma{, }%
+ \if\Dtest\present\hskip.33333em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else\fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{:}\fi%
+ \if\ptest\present\Comma\bgroup\pstr\egroup\fi\def\Comma{, }%
+ \if\dtest\present\hskip.33333em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no}\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.33333em(\bgroup\estr\egroup)\def\Comma{, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\egroup\def\Comma{, }\fi%
+ \if\otest\present\Comma\bgroup\ostr\egroupdef\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present, Vol. \bgroup\Volfont\Vstr\egroup\fi%
+ \if\Ntest\present, No. \bgroup\Volfont\Nstr\egroup\fi%
+ \if\Etest\present\hskip.33333em(\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi)\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present, Vol. \bgroup\Volfont\vstr\egroup\fi%
+ \if\ntest\present, No. \bgroup\Volfont\nstr\egroup\fi%
+ \if\atest\present\hskip.33333em(\bgroup\astr\egroup\unskip, \if\acnt\present Eds.\else Ed.\fi)\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma{\if\pcnt\present pp.~\else p.~\fi}\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present{\bgroup\Authfont\Astr\egroup}\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\egroup\def\Comma{, }\fi\fi%
+ \if\otest\present\Comma\bgroup\ostr\egroup\fi%
+ \if\etest\present\hskip.33333em(\bgroup\estr\egroup)\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup)\fi%
+ \if\Vtest\present, Vol. \bgroup\Volfont\Vstr\egroup\fi%
+ \if\Ntest\present, No. \bgroup\Volfont\Nstr\egroup\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\fi%
+ \if\vtest\present, Vol. \bgroup\Volfont\vstr\egroup\fi%
+ \if\ntest\present, No. \bgroup\Volfont\nstr\egroup\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\else\fi.%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/mscabb.ttz b/biblio/tib/inputs/mscabb.ttz
new file mode 100644
index 0000000000..b847f565ff
--- /dev/null
+++ b/biblio/tib/inputs/mscabb.ttz
@@ -0,0 +1,36 @@
+#
+# months
+#
+D JAN Jan.
+D FEB Feb.
+D MAR Mar.
+D APR Apr.
+D MAY May
+D JUN June
+D JUL July
+D AUG Aug.
+D SEP Sept.
+D OCT Oct.
+D NOV Nov.
+D DEC Dec.
+#
+# miscellaneous
+#
+D CORP Corp.
+D DEPT Dept.
+D DIV Div.
+D UNIV Univ.
+D TR Tech. Rep.
+D DISS Diss.
+D NYC New York, NY
+D NASA NASA
+D LNMath Lect. Notes in Math.\
+%I |Springer|
+D LNEcon Lect. Notes in Econ. and Math. Syst.\
+%I |Springer|
+D LNPhys Lect. Notes in Phys.\
+%I |Springer|
+D LNCS Lect. Notes in Comp. Sci.\
+%I |Springer|
+D LNBiol Lect. Notes in Bio.\
+%I |Springer|
diff --git a/biblio/tib/inputs/mscfll.ttz b/biblio/tib/inputs/mscfll.ttz
new file mode 100644
index 0000000000..aaf764a1aa
--- /dev/null
+++ b/biblio/tib/inputs/mscfll.ttz
@@ -0,0 +1,36 @@
+#
+# months
+#
+D JAN January
+D FEB February
+D MAR March
+D APR April
+D MAY May
+D JUN June
+D JUL July
+D AUG August
+D SEP September
+D OCT October
+D NOV November
+D DEC December
+#
+# miscellaneous
+#
+D CORP Corporation
+D DEPT Department
+D DIV Division
+D UNIV University
+D TR Technical Report
+D DISS Dissertation
+D NASA National Aeronautics and Space Administration
+D NYC New York, New York
+D LNMath Lecture Notes in Mathematics\
+%I |Springer|
+D LNEcon Lecture Notes in Economics and Mathematical Systems\
+%I |Springer|
+D LNPhys Lecture Notes in Physics\
+%I |Springer|
+D LNCS Lecture Notes in Computer Science\
+%I |Springer|
+D LNBiol Lecture Notes in Biology\
+%I |Springer|
diff --git a/biblio/tib/inputs/nmdt.tib b/biblio/tib/inputs/nmdt.tib
new file mode 100644
index 0000000000..0ecc1e1c88
--- /dev/null
+++ b/biblio/tib/inputs/nmdt.tib
@@ -0,0 +1,15 @@
+#
+# name-date format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+TF trailing character string (flags)
+SAD sort on authors' names and dates
+C3D-4 citation template (authors' names and last 4 characters of date)
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB stdd.ttx %TeX macros for formatting reference list
+\Refstda\Citenamedate %set general formats for reference list and citations
diff --git a/biblio/tib/inputs/nmdtb.tib b/biblio/tib/inputs/nmdtb.tib
new file mode 100644
index 0000000000..ccbf495836
--- /dev/null
+++ b/biblio/tib/inputs/nmdtb.tib
@@ -0,0 +1,9 @@
+#
+# bold name-date format
+#
+# include name-date tib format file
+I TMACLIB nmdt.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+\def\Authfont{\bf}\def\Citefont{\bf} %define some new fonts
diff --git a/biblio/tib/inputs/num.tib b/biblio/tib/inputs/num.tib
new file mode 100644
index 0000000000..50dbfad7b4
--- /dev/null
+++ b/biblio/tib/inputs/num.tib
@@ -0,0 +1,13 @@
+#
+# standard format
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input\TMACLIB stdbra.ttx %TeX macros for formatting reference list
+\Refstda\Citebrackets %set general formats for reference list and citations
diff --git a/biblio/tib/inputs/numb.tib b/biblio/tib/inputs/numb.tib
new file mode 100644
index 0000000000..5721e28b13
--- /dev/null
+++ b/biblio/tib/inputs/numb.tib
@@ -0,0 +1,10 @@
+#
+# standard bold format
+#
+# include standard tib format
+I TMACLIB num.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Citefont{\bf}\def\ACitefont{\bf}\def\Flagfont{\bf}\def\Volfont{\bf}
diff --git a/biblio/tib/inputs/numbs.tib b/biblio/tib/inputs/numbs.tib
new file mode 100644
index 0000000000..0161641047
--- /dev/null
+++ b/biblio/tib/inputs/numbs.tib
@@ -0,0 +1,10 @@
+#
+# standard bold sorted format
+#
+# include standard sorted numeric tib format file
+I TMACLIB nums.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Citefont{\bf}\def\ACitefont{\bf}\def\Flagfont{\bf}\def\Volfont{\bf}
diff --git a/biblio/tib/inputs/numo.tib b/biblio/tib/inputs/numo.tib
new file mode 100644
index 0000000000..cbc661f264
--- /dev/null
+++ b/biblio/tib/inputs/numo.tib
@@ -0,0 +1,11 @@
+#
+# oldstyleflags format
+#
+# include standard numeric tib format file
+I TMACLIB num.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts: \oldstyle redefined for LaTeX compatibility
+\font\oldstyle=ammi10
+\def\Citefont{\oldstyle}\def\ACitefont{\oldstyle}\def\Flagfont{\oldstyle}
diff --git a/biblio/tib/inputs/numos.tib b/biblio/tib/inputs/numos.tib
new file mode 100644
index 0000000000..59b7d4477b
--- /dev/null
+++ b/biblio/tib/inputs/numos.tib
@@ -0,0 +1,11 @@
+#
+# sorted oldstyle format
+#
+# include standard numeric sorted tib format file
+I TMACLIB nums.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts \oldstyle redefined for LaTeX compatibility
+\font\oldstyle=ammi10
+\def\Citefont{\oldstyle}\def\ACitefont{\oldstyle}\def\Flagfont{\oldstyle}
diff --git a/biblio/tib/inputs/nums.tib b/biblio/tib/inputs/nums.tib
new file mode 100644
index 0000000000..70034f7139
--- /dev/null
+++ b/biblio/tib/inputs/nums.tib
@@ -0,0 +1,7 @@
+#
+# standard sorted format
+#
+# include standard numeric tib format file
+I TMACLIB num.tib
+SAD sort template (authors, date)
+NH do not hypenate strings of citations
diff --git a/biblio/tib/inputs/numu.tib b/biblio/tib/inputs/numu.tib
new file mode 100644
index 0000000000..662967b3be
--- /dev/null
+++ b/biblio/tib/inputs/numu.tib
@@ -0,0 +1,13 @@
+#
+# standard superscript format
+#
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB stdper.ttx
+\Refstda\Citesuper %set general formats for reference list and citations
+\def\Citefont{\sevenrm} %override default definition (smaller superscripts)
diff --git a/biblio/tib/inputs/numub.tib b/biblio/tib/inputs/numub.tib
new file mode 100644
index 0000000000..a9b4c1703f
--- /dev/null
+++ b/biblio/tib/inputs/numub.tib
@@ -0,0 +1,10 @@
+#
+# standard bold superscript format
+#
+# include standard superscript tib format file
+I TMACLIB numu.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Flagfont{\bf}\def\Volfont{\bf}\def\Citefont{\sevenbf}
diff --git a/biblio/tib/inputs/numubl.tib b/biblio/tib/inputs/numubl.tib
new file mode 100644
index 0000000000..67649bb55b
--- /dev/null
+++ b/biblio/tib/inputs/numubl.tib
@@ -0,0 +1,10 @@
+#
+# standard bold superscript format (LaTeX)
+#
+# include standard superscript tib format file
+I TMACLIB numu.tib
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Flagfont{\bf}\def\Volfont{\bf}\def\Citefont{\scriptsize\bf}
diff --git a/biblio/tib/inputs/numubs.tib b/biblio/tib/inputs/numubs.tib
new file mode 100644
index 0000000000..6137be5236
--- /dev/null
+++ b/biblio/tib/inputs/numubs.tib
@@ -0,0 +1,11 @@
+#
+# standard sorted bold superscript format
+#
+# include standard superscript tib format file
+I TMACLIB numu.tib
+SAD-4 sort string (authors and last 4 characters of date)
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Citefont{\sevenbf}\def\Flagfont{\bf}\def\Volfont{\bf}
diff --git a/biblio/tib/inputs/numubsl.tib b/biblio/tib/inputs/numubsl.tib
new file mode 100644
index 0000000000..b8f01e4e79
--- /dev/null
+++ b/biblio/tib/inputs/numubsl.tib
@@ -0,0 +1,11 @@
+#
+# standard sorted bold superscript format (LaTeX)
+#
+# include standard superscript tib format file
+I TMACLIB numu.tib
+SAD-4 sort string (authors and last 4 characters of date)
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%
+%define some new fonts
+\def\Citefont{\scriptsize\bf}\def\Flagfont{\bf}\def\Volfont{\bf}
diff --git a/biblio/tib/inputs/numul.tib b/biblio/tib/inputs/numul.tib
new file mode 100644
index 0000000000..ff8e37dded
--- /dev/null
+++ b/biblio/tib/inputs/numul.tib
@@ -0,0 +1,13 @@
+#
+# standard superscript format (LaTeX)
+#
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+\input \TMACLIB stdper.ttx
+\Refstda\Citesuper %set general formats for reference list and citations
+\def\Citefont{\scriptsize} %override default definition (smaller superscripts)
diff --git a/biblio/tib/inputs/numus.tib b/biblio/tib/inputs/numus.tib
new file mode 100644
index 0000000000..32edd942e3
--- /dev/null
+++ b/biblio/tib/inputs/numus.tib
@@ -0,0 +1,6 @@
+#
+# standard sorted superscript format
+#
+# include standard superscript tib format file
+I TMACLIB numu.tib
+SAD sort string (authors, date)
diff --git a/biblio/tib/inputs/pub.ttz b/biblio/tib/inputs/pub.ttz
new file mode 100644
index 0000000000..96d1289d2b
--- /dev/null
+++ b/biblio/tib/inputs/pub.ttz
@@ -0,0 +1,130 @@
+#
+# pub.ttz
+#
+# publishers
+#
+D Academic |AcPress|
+D AcPress Academic Press\
+%C |NYC|
+D Addison Addison Wesley\
+%C Reading, MA
+D AdeG Aldine de Gruyter\
+%C Hawthorne, NY
+D AllUn Allen and Unwin\
+%C Winchester, MA
+D AMS American Mathematical Society\
+%C Providence, RI
+D Annual Annual Reviews\
+%C Palo Alto, CA
+D Baltzer J. C. Baltzer\
+%C Basel
+D Basic Basic\
+%C |NYC|
+D Birkh Birkh{\"a}user Boston\
+%C Cambridge, MA
+D Blackwell Blackwell Scientific\
+%C Palo Alto, CA
+D Cambridge Cambridge |UNIV| Press\
+%C |NYC|
+D ChapHu Chapman and Hull\
+%C |NYC|
+D Chelsea Chelsea\
+%C |NYC|
+D Chicago |UNIV| of Chicago Press\
+%C Chicago, IL
+D Columbia Columbia |UNIV| Press\
+%C |NYC|
+D CRC CRC Press\
+%C Boca Raton, FL
+D CSPress Computer Science Press\
+%C Rockville, MD
+D Dekker Marcel Dekker\
+%C |NYC|
+D Dover Dover\
+%C Mineola, NY
+D Duke Duke |UNIV| Press\
+%C Durham, NC
+D Elsevier Elsevier\
+%C Amsterdam--New York
+D Freeman W. H. Freeman and Company\
+%C San Francisco, CA
+D Galton Galton Foundation\
+%C Cambridge, UK
+D Gordon Gordon and Breach\
+%C |NYC|
+D GRK Goldsmith, Routledge and Kegan\
+%C |NYC|
+D Harvard Harvard |UNIV| Press\
+%C Cambridge, MA
+D Heyden Heyden \& Sons\
+%C Philadelphia, PA
+D Houghton Houghton Mifflin\
+%C Boston, MA
+D IEEEP IEEE Press\
+%C Montvale, NJ
+D Indiana Indiana |UNIV| Press\
+%C Bloomington, IN
+D Iowa |UNIV| of Iowa Press\
+%C Ames, IO
+D JHU Johns Hopkins |UNIV| Press\
+%C Baltimore, MD
+D Knopf Knopf\
+%C |NYC|
+D Lexington Lexington\
+%C Lexington, MA
+D MAA Mathematical Association of America\
+%C Washington, DC
+D Mcmill Macmillian\
+%C |NYC|
+D Methuen Methuen\
+%C |NYC|
+D MGHill McGraw-Hill\
+%C |NYC|
+D Michigan |UNIV| of Michigan Press\
+%C Ann Arbor, MI
+D MIT MIT Press\
+%C Cambridge, MA
+D NHoll North-Holland\
+%C Amsterdam
+D Norton Norton\
+%C |NYC|
+D Oxford Oxford |UNIV| Press\
+%C |NYC|
+D Pitman Pitman\
+%C Brooklyn, NY
+D PrHall Prentice-Hall\
+%C Englewood Cliffs, NJ
+D Princeton Princeton |UNIV| Press\
+%C Princeton, NJ
+D Reidel D. Reidel\
+%C Dordrecht--Boston--London
+D Rice |UNIV| Press\
+%C Houston, TX
+D SIAM Society for Industrial and Applied Mathematics\
+%C Philadelphia, PA
+D Springer Springer-Verlag\
+%C New York--Heidelberg--Berlin
+D SRA Science Research Associates\
+%C San Fransisco, CA
+D Stanford Stanford |UNIV| Press\
+%C Stanford, CA
+D Tavistock Tavistock\
+%C London, UK
+D Texas |UNIV| of Texas Press\
+%C Austin, TX
+D TexasAM Texas A \& M |UNIV| Press\
+%C College Station, TX
+D UPenn |UNIV| of Pennsylvania Press\
+%C Philadelphia, PA
+D Wadsworth Wadsworth and Brooks/Cole\
+%C Monterey, CA
+D Watts Watts\
+%C Danbury, CT
+D Westview Westview Press\
+%C Boulder, CO
+D Wiley John Wiley \& Sons\
+%C |NYC|
+D Worldwatch Worldwatch Institute\
+%C Washington, DC
+D Yale Yale |UNIV| Press\
+%C New Haven, CT
diff --git a/biblio/tib/inputs/siam1.ttx b/biblio/tib/inputs/siam1.ttx
new file mode 100644
index 0000000000..4e5476246c
--- /dev/null
+++ b/biblio/tib/inputs/siam1.ttx
@@ -0,0 +1,149 @@
+%SIAM numeric flag format
+%[flag], author, title, etc., volume, (date), pp. pages, gov't no., other
+
+\def\LAcitemark{\Lcitemark}\def\RAcitemark{\Rcitemark}
+\Refstd\Citebrackets\Smallcapsaand%set general formats for reference list and citations
+\def\Aandd{\unskip, and }%between last two of multiple author names
+\def\Eandd{\unskip, and }%between last two of multiple author names
+\def\aandd{\unskip, and }%same for authors of reviewed material
+\def\eandd{\unskip, and }%same for translators
+\def\Citecomma{\egroup], [\bgroup\Cfont}%separater for multiple citations
+\def\Tomefont{\Reffont}%redefine font
+\def\Flagstyle#1{\hangindent4em\hskip10pt\hbox to0pt{\hss[{\Flagfont#1}]\kern1em}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup{\if\pcnt\present pp.~\else p.~\fi}\pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma{\if\pcnt\present pp.~\else p.~\fi}\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present. \bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\def\Comma{\unskip, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup\def\Comma{\unskip, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
diff --git a/biblio/tib/inputs/siam2.ttx b/biblio/tib/inputs/siam2.ttx
new file mode 100644
index 0000000000..6858f7ee3b
--- /dev/null
+++ b/biblio/tib/inputs/siam2.ttx
@@ -0,0 +1,146 @@
+%SIAM name-date macros
+%author, title, etc., (date), pp. pages, gov't no., other
+
+\Refstd\Citenamedate\Smallcapsaand %set general formats for reference list and citations
+\def\Aandd{\unskip, and }%between last two of multiple author names
+\def\Eandd{\unskip, and }%between last two of multiple author names
+\def\aandd{\unskip, and }%same for authors of reviewed material
+\def\eandd{\unskip, and }%same for translators
+\def\Tomefont{\Reffont}%redefine font
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em(\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup\if\Pcnt\present pp.~\else p.~\fi\Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup\if\pcnt\present pp.~\else p.~\fi\pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\if\Pcnt\present pp.~\else p.~\fi\Pstr\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\if\pcnt\present pp.~\else p.~\fi\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present. \bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em(\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent4em\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em(\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \par}
diff --git a/biblio/tib/inputs/siamd.tib b/biblio/tib/inputs/siamd.tib
new file mode 100644
index 0000000000..91cb18d7d5
--- /dev/null
+++ b/biblio/tib/inputs/siamd.tib
@@ -0,0 +1,28 @@
+#
+# SIAM name-date format
+#
+# Note to user: A first name beginning with a small letter will
+# not be properly put in cap small caps style.
+# Before running TeX, change such letters to
+# capitals in the output from tib. If caps-small-
+# caps font is available, use siamdl. It may be
+# necessary to modify the font definitions below
+# for local use.
+#
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+TF trailing-character string (flags)
+AA abbreviate authors' first names
+AX caps small caps for authors
+EA abbreviate editors' first names
+SAD sort on authors, dates
+C3D-4 name-date citations
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\def\Reffont{\rm}\def\Titlefont{\sl}\def\Smallcapsfont{\sevenrm} %fullsize
+%\def\Reffont{\eightrm}\def\Titlefont{\eighti}\def\Smallcapsfont{\sixrm} %siam
+\input \TMACLIB siam2.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/siamdl.tib b/biblio/tib/inputs/siamdl.tib
new file mode 100644
index 0000000000..68762ee85b
--- /dev/null
+++ b/biblio/tib/inputs/siamdl.tib
@@ -0,0 +1,21 @@
+#
+# SIAM name-date format (LaTeX)
+# uses caps-small-caps font (\sc) which definition should be modified
+# for local use if necessary (siam publications specify 8 point)
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+TF trailing-character string (flags)
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+C3D-4 name-date citations
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\def\Reffont{\rm}\def\Authfont{\sc}\def\Titlefont{\sl} %fullsize
+%\def\Reffont{\footnotesize\rm}\def\Authfont{\footnotesize\sc}\def\Titlefont{\footnotesize\it} %siam
+\def\Smallcapsaand{}
+\input \TMACLIB siam2.ttx%TeX macros for formatting reference list
diff --git a/biblio/tib/inputs/siamn.tib b/biblio/tib/inputs/siamn.tib
new file mode 100644
index 0000000000..6c48c38d77
--- /dev/null
+++ b/biblio/tib/inputs/siamn.tib
@@ -0,0 +1,28 @@
+#
+# SIAM numeric flag format
+#
+# Note to user: A first name beginning with a small letter will
+# not be properly put in cap small caps style.
+# Before running TeX, change such letters to
+# capitals in the output from tib. If caps-small-
+# caps font is available, use siamnl. It may be
+# necessary to modify the font definitions below
+# for local use.
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+AX caps small caps for authors
+EA abbreviate editors' first names
+SAD sort on authors, dates
+U replace successive identical authors with underlines
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\def\Reffont{\rm}\def\Titlefont{\sl}\def\Smallcapsfont{\sevenrm} %fullsize
+%\def\Reffont{\eightrm}\def\Titlefont{\eighti}\def\Smallcapsfont{\sixrm} %siam
+\input\TMACLIB siam1.ttx%TeX macros for formatting reference list
+\def\Underlinemark{\vrule height .7pt depth 0pt width 3em}%for replacing
+% successive listings of identical author(s)
diff --git a/biblio/tib/inputs/siamnl.tib b/biblio/tib/inputs/siamnl.tib
new file mode 100644
index 0000000000..f351114cf5
--- /dev/null
+++ b/biblio/tib/inputs/siamnl.tib
@@ -0,0 +1,22 @@
+#
+# SIAM numeric flag format (LaTeX)
+# uses caps-small-caps font (\sc) which definition should be modified
+# for local use if necessary (siam publications specify 8 point)
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+SAD sort on authors, dates
+U replace successive identical authors with underlines
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+#
+\def\Reffont{\rm}\def\Authfont{\sc}\def\Titlefont{\sl} %fullsize
+%\def\Reffont{\footnotesize\rm}\def\Authfont{\footnotesize\sc}\def\Titlefont{\footnotesize\it} %siam
+\def\Smallcapsaand{}
+\input\TMACLIB siam1.ttx%TeX macros for formatting reference list
+\def\Underlinemark{\vrule height .7pt depth 0pt width 3em}%for replacing
+% successive listings of identical author(s)
diff --git a/biblio/tib/inputs/slyd.tib b/biblio/tib/inputs/slyd.tib
new file mode 100644
index 0000000000..cbf64452d9
--- /dev/null
+++ b/biblio/tib/inputs/slyd.tib
@@ -0,0 +1,15 @@
+#
+# slide format
+#
+# abbreviated version of intext style -- for making slides
+#
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+C0 no citation flags
+#
+#The lines below are copied verbatim into the output document as TeX commands.
+#First the file Macros.ttx is \input with Macros and default settings.
+#The control string \TMACLIB is just a path.
+
+\input \TMACLIB slyd.ttx
diff --git a/biblio/tib/inputs/slyd.ttx b/biblio/tib/inputs/slyd.ttx
new file mode 100644
index 0000000000..4a00e9e2ad
--- /dev/null
+++ b/biblio/tib/inputs/slyd.ttx
@@ -0,0 +1,106 @@
+%slide format macros
+%abbreviated citations in text
+%author, journal, volume (date) pages (journal)
+%author, title, date (book)
+
+\Refstda\Rpunct%set general formats for reference list and citations
+\def\Volfont{\bf}\def\Titlefont{\sl} %override default definition
+\def\LIcitemark#1\RIcitemark{\gdef\Ztest{ }\gdef\Zstr{#1}}
+\def\Lcitemark{\def\ztest{ }\def\zstr{, }[\bgroup\def\Comma{}\Citefont}
+\def\Rcitemark{\unskip\egroup]}
+\def\LAcitemark{\def\ztest{ }\def\zstr{\ [}\bgroup\def\Comma{}\Citefont}
+\def\RAcitemark{\unskip\egroup]}
+\def\Citehyphen{}\def\Citecomma{}\def\Citebreak{}
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup\fi%
+ \if\ztest\present\zstr\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\bgroup\Comma\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\bgroup\Comma\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Atest\present\Comma\bgroup\Authfont\Astr\egroup%
+ \else\if\Etest\present\Comma\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi%
+ \else\if\Itest\present\Comma\bgroup\Authfont\Istr\egroup\fi\fi\fi%
+ \if\ztest\present\zstr\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\fi%
+ \gdef\Comma{\unskip; }\gdef\zstr{}}%
diff --git a/biblio/tib/inputs/spln.tib b/biblio/tib/inputs/spln.tib
new file mode 100644
index 0000000000..de072d63c4
--- /dev/null
+++ b/biblio/tib/inputs/spln.tib
@@ -0,0 +1,74 @@
+#
+# springer-verlag lecture notes style
+# created in consultation with springer's heidelberg production department
+#
+# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+AAR abbreviate and reverse authors' names
+EAR abbreviate and reverse editors' names
+TF trailing character string (flags)
+SAD sort on authors' names and dates
+C3D-4 citation template (authors' names and last 4 characters of date)
+D Springer Springer\
+%C New York Berlin Heidelberg
+D UNIV University
+D LNMath Lecture Notes in Mathematics\
+%I |Springer|
+D LNEcon Lecture Notes in Economics and Mathematical Systems\
+%I |Springer|
+D LNPhys Lecture Notes in Physics\
+%I |Springer|
+D LNCS Lecture Notes in Computer Science\
+%I |Springer|
+D LNBiol Lecture Notes in Biology\
+%I |Springer|
+#
+# following hacking to get rid of mention of months in dates
+# probably will give trouble if abbreviations are used in other than %D field
+#
+D JAN \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D FEB \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D MAR \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D APR \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D MAY \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D JUN \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D JUL \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D AUG \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D SEP \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D OCT \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D NOV \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+D DEC \edef\SaveCommaCode{\the\catcode`,}\catcode`,=9}\Dstr\def\Dstr{\catcode`,=\SaveCommaCode\ignorespaces
+#
+
+%The lines below are copied verbatim into the output document as TeX commands.
+%First the file Macros.ttx is \input with Macros and default settings.
+%The control string \TMACLIB is just a path.
+%
+
+\input \TMACLIB springer.ttx %TeX macros for formatting reference list
+\def\Authfont{}\def\Titlefont{}\def\Tomefont{}
+\Refstd %set general formats for reference list and citations
+\Rpunct%name-date citations with changes for matherg
+ \def\Lcitemark{%mark at left of citation--also sets internal punctuation
+ \def\Citebreak{\egroup\ \bgroup\Citefont}%separater in citation
+ \def\Citecomma{\egroup; %between multiple citations
+ \bgroup\let\uchyph=1\Citefont}(\bgroup\let\uchyph=1\Citefont}%
+ \def\Rcitemark{\egroup)}%mark at right of citation
+ \def\LAcitemark{%mark at left of alternate citation
+ \def\Citebreak{\egroup\ \bgroup\Citefont}\def\Citecomma{\egroup, %
+ \bgroup\ACitefont }\bgroup\let\uchyph=1\ACitefont}%
+ \def\RAcitemark{\egroup)}%mark at right of alternate citation
+ \def\Citehyphen{\egroup--\bgroup\Citefont}%separater for string of citations
+ \def\LIcitemark{\egroup}%mark at left of insertion in citation
+ \def\RIcitemark{\bgroup\Citefont}%mark at right of insertion in citation
+ \def\Aand{\unskip, }%between two author names
+ \def\Aandd{\unskip, }%between last two of multiple author names
+ \def\Eand{\unskip, }%between two editor names
+ \def\Eandd{\unskip, }%between last two of multiple author names
+ \def\aand{\unskip, }%same for authors of reviewed material
+ \def\aandd{\unskip, }%same for authors of reviewed material
+ \def\eand{\unskip, }%same for translators
+ \def\eandd{\unskip, }%same for translators
+ \def\Initgap{}% space between authors initials
+ \def\Initper{.}%after initials
+\immediate\write16{Check references: after periods words should be capitalized.}
diff --git a/biblio/tib/inputs/spln.ttx b/biblio/tib/inputs/spln.ttx
new file mode 100644
index 0000000000..4e0f26f087
--- /dev/null
+++ b/biblio/tib/inputs/spln.ttx
@@ -0,0 +1,171 @@
+%springer lecture notes formatting macros
+%no citation flag, author, date in paren (): title, etc.,
+% volume, pages, gov't no., other
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\unskip. }\fi%
+ \if\etest\present\if\Ttest\present\fi\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\ \else\Comma\fi\bgroup\Volfont\bf\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Titlefont\tstr\egroup\def\Comma{\unskip. }%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{ }\fi%
+ \if\vtest\present\if\jtest\present\ \else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{ }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{ }\fi%
+ \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{ }\fi]%
+ \else\if\jtest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Tomefont\jstr\/\egroup\def\Comma{ }%
+ \if\vtest\present\if\jtest\present\ \else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{ }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{ }\fi%
+ \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{ }\fi]\fi\fi%
+ \if\Gtest\present{Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{ }\fi%
+ \if\Otest\present{\unskip. \bgroup\Ostr\egroup}\else\fi%
+ \par}%
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\unskip. }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{ }\fi%
+ \if\Otest\present{\unskip. \bgroup\Ostr\egroup}\else\fi%
+ \par}%
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\unskip. }\fi%
+ \if\etest\present\if\Ttest\present\fi\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma In: %
+ \if\Etest\present\bgroup\Estr\egroup\ifnum\Ecnt>1\ (eds.) \else\ (ed.) \fi\fi%
+ \bgroup\Tomefont\Bstr\/\egroup. \def\Comma{}\fi%
+ \if\otest\present\Comma\bgroup\ostr\egroup\def\Comma{ }\fi%
+ \if\Stest\present\unskip\ (\bgroup\Sstr\egroup\def\Comma{ }%
+ \if\Vtest\present\bgroup, vol.~\Volfont\Vstr\egroup\def\Comma{ }\fi%
+ \if\Ntest\present\bgroup\, no.~\Volfont\Nstr\egroup\unskip.)\def\Comma{ }\fi)\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup\if\Pcnt\present pp.~\else p.~\fi\Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Titlefont\tstr\unskip.\egroup%
+ \if\btest\present\Comma In: \bgroup\Tomefont\bstr\egroup\def\Comma{ }%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present\ (eds.)\else\ (ed.)\fi\def\Comma{ }\fi%
+ \Comma\bgroup\Tomefont\bstr\/\egroup.\def\Comma{ }\fi%
+ \if\stest\present\Comma(\bgroup\sstr\egroup\def\Comma{ }%
+ \if\vtest\present\bgroup, vol.~\Volfont\vstr\egroup\def\Comma{ }\fi%
+ \if\ntest\present\bgroup, no.~\Volfont\nstr\egroup\def\Comma{ }\fi.)\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{ }\fi]\fi%
+
+ \if\Gtest\present{Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{ }\fi%
+ \if\Otest\present{\unskip. \bgroup\Ostr\egroup}\else\fi%
+ \par}%
+
+\def\bookformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\ifnum\Ecnt>1\ (eds.)~\else\ (ed.)~\fi\def\Comma{: }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{\unskip. }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip. }\fi\fi%
+ \if\otest\present\Comma\bgroup\ostr\egroup\def\Comma{\ }\fi%
+ \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma(\bgroup\Sstr\egroup%
+ \if\Vtest\present\bgroup, vol.~\Volfont\Vstr\egroup\fi%
+ \if\Ntest\present\bgroup, no.~\Volfont\Nstr\egroup\fi) \def\Comma{}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Tomefont\tstr\egroup%
+ \if\stest\present\unskip. (\bgroup\sstr\egroup\def\Comma{ }%
+ \if\vtest\present\bgroup, vol.~\Volfont\vstr\egroup\def\Comma{ }\fi%
+ \if\ntest\present\bgroup, no.~\Volfont\nstr\egroup\def\Comma{ }\fi\unskip.) \fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi]\ %
+ \else\if\btest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Tomefont\bstr\egroup%
+ \if\stest\present\unskip. (\bgroup\sstr\egroup\def\Comma{ }%
+ \if\vtest\present\bgroup, vol.~\Volfont\vstr\egroup\def\Comma{ }\fi%
+ \if\ntest\present\bgroup, no.~\Volfont\nstr\egroup\def\Comma{ }\fi\unskip.) \fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{ }\fi] \fi\fi%
+ \if\Gtest\present{\unskip. Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\unskip. \bgroup\Ostr\egroup}\else\fi%
+ \par}%
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1\ (eds.)~\else\ (ed.)~\fi\def\Comma{: }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\unskip. }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{. }\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{ }\fi%
+ \if\ttest\present\ [%
+ \if\ltest\present\bgroup\lstr\egroup\ translation: \else Translation: %
+ {\def\egroup{}\def\bgroup{}\def\ { }\def\unskip{}\immediate\write16{Use lfield for language of translation in reference: \Fstr.}}\fi%
+ \bgroup\Tomefont\tstr\egroup%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi] \fi%
+ \if\Gtest\present{\unskip. Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{ }\fi%
+ \if\Otest\present{\unskip. \bgroup\Ostr\egroup}\else\fi%
+ \par}%
+
+\def\otherformat{\Reffont\let\uchyph=1\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\: =1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg\noindent%\filbreak
+ \hangindent=.5\parindent\hangafter=1
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{: }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1\(eds.~ (\else\ (ed.)\fi\def\Comma{: }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{: }\fi\fi\fi%
+ \if\Dtest\present\unskip\ (\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup)\def\Comma{: }\fi%
+ \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\unskip\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{. }\fi\fi\fi%
+ \if\Ctest\present, \bgroup\Cstr\egroup\def\Comma{. }\fi%
+ \if\Gtest\present\Comma{Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{. }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\else\fi%
+ \par}%
diff --git a/biblio/tib/inputs/std.ttx b/biblio/tib/inputs/std.ttx
new file mode 100644
index 0000000000..e169be8783
--- /dev/null
+++ b/biblio/tib/inputs/std.ttx
@@ -0,0 +1,139 @@
+%standard reference formatting macros, numeric flags
+%flag, author, title, etc., volume (date) pages gov't no., other
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/stdbra.ttx b/biblio/tib/inputs/stdbra.ttx
new file mode 100644
index 0000000000..a59fa89b0a
--- /dev/null
+++ b/biblio/tib/inputs/stdbra.ttx
@@ -0,0 +1,5 @@
+%standard reference formatting macros -- parentheses [] around flags
+%flag, author, title, etc., volume, pages, date, gov't no., other
+
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss[{\Flagfont#1}]\kern.5em}}%flag style
+\input\TMACLIB std.ttx
diff --git a/biblio/tib/inputs/stdd.ttx b/biblio/tib/inputs/stdd.ttx
new file mode 100644
index 0000000000..5acb344524
--- /dev/null
+++ b/biblio/tib/inputs/stdd.ttx
@@ -0,0 +1,140 @@
+%standard reference formatting macros
+%no citation flag, author, date in brackets [], title, etc.,
+% volume, pages, gov't no., other
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \hangindent3pc\hangafter1%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/inputs/stdftl.ttx b/biblio/tib/inputs/stdftl.ttx
new file mode 100644
index 0000000000..5c3a584692
--- /dev/null
+++ b/biblio/tib/inputs/stdftl.ttx
@@ -0,0 +1,167 @@
+%standard reference formatting macros (LaTeX)
+%flag, author, title, etc., volume, pages, date, gov't no., other
+%
+%note: remove characters (%%%) from lines below (6 times)
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+%if titles desired in loc. cit.
+
+\def\journalarticleformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.2em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\conferencereportformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\bookarticleformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.2em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.2em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.2em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.2em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\bookformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, %
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.2em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.2em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.2em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.2em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\technicalreportformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, %
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\otherformat{\footnotetext{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\, egroup%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
diff --git a/biblio/tib/inputs/stdftp.ttx b/biblio/tib/inputs/stdftp.ttx
new file mode 100644
index 0000000000..42a8662634
--- /dev/null
+++ b/biblio/tib/inputs/stdftp.ttx
@@ -0,0 +1,176 @@
+%standard reference formatting macros (plain TeX)
+%flag, author, title, etc., volume, pages, date, gov't no., other
+%citation flag is superscript
+%
+%note: remove characters (%%%) from lines below (6 times)
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+%if titles desired in loc. cit.
+
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss\raise1ex\hbox{\Flagfont#1}\kern.5em}}%flag style
+
+\def\journalarticleformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.2em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\conferencereportformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\bookarticleformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.2em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.2em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.2em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.2em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\bookformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, %
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.2em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.2em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.2em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.2em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\technicalreportformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, %
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
+
+\def\otherformat{\footnote{}{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\, egroup%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+%%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present\Comma\bgroup\Ostr\egroup\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip\fi.\fi}}
diff --git a/biblio/tib/inputs/stdpar.ttx b/biblio/tib/inputs/stdpar.ttx
new file mode 100644
index 0000000000..937e090d14
--- /dev/null
+++ b/biblio/tib/inputs/stdpar.ttx
@@ -0,0 +1,5 @@
+%standard reference formatting macros -- parentheses () around flags
+%flag, author, title, etc., volume, pages, date, gov't no., other
+
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss({\Flagfont#1})\kern.5em}}%flag style
+\input\TMACLIB std.ttx
diff --git a/biblio/tib/inputs/stdper.ttx b/biblio/tib/inputs/stdper.ttx
new file mode 100644
index 0000000000..d77ed3d8ae
--- /dev/null
+++ b/biblio/tib/inputs/stdper.ttx
@@ -0,0 +1,5 @@
+%standard reference formatting macros -- citation flag followed by period
+%flag. author, title, etc., volume, pages, date, gov't no., other
+
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}.\kern.5em}}%flag style
+\input\TMACLIB std.ttx
diff --git a/biblio/tib/inputs/stdu.ttx b/biblio/tib/inputs/stdu.ttx
new file mode 100644
index 0000000000..bd0727ba6e
--- /dev/null
+++ b/biblio/tib/inputs/stdu.ttx
@@ -0,0 +1,5 @@
+%standard reference formatting macros -- superscript flags
+%flag, author, title, etc., volume, pages, date, gov't no., other
+
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss\raise1ex\hbox{\Flagfont#1}}\kern.5em}}%flag style
+\input\TMACLIB std.ttx
diff --git a/biblio/tib/intro.tib b/biblio/tib/intro.tib
new file mode 100644
index 0000000000..adf6c34ffa
--- /dev/null
+++ b/biblio/tib/intro.tib
@@ -0,0 +1,56 @@
+
+
+
+ Introducing
+
+
+
+ T I B
+
+
+
+ !!!!!!!! (drum roll)
+
+
+
+
+
+Tib is a preprocessor for TeX to insert citations and make bibliography lists.
+For a demonstration:
+
+ 1. Copy the file AAAAA/test.ref into a directory.
+ This is a database of references.
+ 2. Apply the program tibdex to this file. This makes an inverted
+ index (INDEX) to the reference file.
+ 3. Copy the TeX file AAAAA/test.tex into the directory.
+ This is a TeX file with keyword citations.
+ 4. Apply the program tib to this TeX file (the .tex extension
+ need not be part of the call).
+ 5. The output file is another TeX file with complete citations
+ and reference list.
+ 6. Apply TeX as usual to this file.
+ 7. For LaTeX, see the instructions in test.tex
+
+This call calls for default options. A large variety of formatting options
+is available. Some of them are: other fonts (old English, boldface ...),
+alphabetizing and other sorts, replacing successive listings of identical
+author(s) by underlines, other citation styles (3 letter codes from authors'
+names, authors' names and date, superscripts), reversing and/or abbreviating
+authors' names, capsmallcaps for names, hyphenating strings of references
+in citations, footnotes instead of endnotes, other listing formats. Any
+combination of these (and others) can be packaged in a format file and called
+with the -s (style) option. For demonstrations of some of these, repeat steps
+4-6 with the following calls (for LaTeX, see the instructions in test.tex):
+ tib -s demo1
+ tib -s demo2
+ tib -s demo3 (demo3l for LaTeX)
+ tib -s demo4
+ tib -s demo5
+ tib -s demo6p (for plain TeX)
+ tib -s demo6l (for LaTeX)
+Demo6 calls for footnotes; see the instructions in test.tex. Note that
+occasionally, reformatting or additional editing is called for. Tib is
+not meant to cover all possibilities.
+
+For complete documentation, there is a plain TeX source file
+AAAAA/tibdoc.tex. Apply TeX as usual to this file.
diff --git a/biblio/tib/sk/Makefile b/biblio/tib/sk/Makefile
new file mode 100644
index 0000000000..36e3e9fd07
--- /dev/null
+++ b/biblio/tib/sk/Makefile
@@ -0,0 +1,26 @@
+CC = cc
+CFLAGS = -O
+
+all: swortcp ttb texbib texswlist
+
+swortcp:
+ $(CC) $(CFLAGS) -o swortcp swortcp.c
+
+ttb:
+ $(CC) $(CFLAGS) -o ttb ttb.c
+
+texbib:
+ sed -e 's|AAAAA|$(DESTDIR)|' \
+ -e 's|BBBBB|$(TEXBIN)|' \
+ -e 's|CCCCC|$(TIBDIR)/inputs|' \
+ texbib.sh > texbib
+
+texswlist:
+ sed -e 's|AAAAA|$(TIBDIR)|' \
+ -e 's|BBBBB|$(DESTDIR)|' \
+ -e 's|CCCCC|$(TIBDIR)/inputs|' \
+ -e 's|DDDDD|$(TEXBIN)|' \
+ texswlist.sh > texswlist
+
+clean:
+ rm -f swortcp ttb texbib texswlist
diff --git a/biblio/tib/sk/README b/biblio/tib/sk/README
new file mode 100644
index 0000000000..33838ff962
--- /dev/null
+++ b/biblio/tib/sk/README
@@ -0,0 +1,71 @@
+COPYING:
+
+This software is provided "as is", without warranty of any kind,
+either expressed or implied, including, but not limited to, the
+implied warranties of merchantability and fitness for a particular
+purpose.
+
+You are free to use, modify, and redistribute this software as you
+wish for non-commercial purposes.
+
+OVERVIEW:
+I suggest you first print all man pages (*.[157]) to get an overview of my
+additions. The main features are:
+
+ * usage of key words, abstracts and annotations (new %W
+ and %x, %X fields) with full support to print such
+ bibliographies as is or sorted on key words
+
+ * choice of style when punctuation and quotation marks get
+ together by parametrization of some .ttx files
+
+ * a converter from tib to bibtex format
+
+CONTENTS:
+
+tib.5 man page to document the format of tib bibliography
+ (*.ref) files
+tib.7 man page which documents my additional macro files
+
+ttb.c Program to convert tib to bib bibliography format
+ttb.1 man page
+
+texbib.sh shell script to tex an annotated tib bibliography
+texbib.1 man page
+
+texswlist.sh shell script to tex an annotated tib bibliography,
+ sorted on key words
+texswlist.tib the style used by texswlist
+texswlist.1 man page
+swortcp.c utility program used by texswlist
+
+tib-2.2-patch do 'patch < tib-2.2-patch' in the tib inputs directory
+ to create/modify the following files:
+
+ abstract.ttx
+
+ Macros that print the abstract/annotation and key words of a
+ paper (as given in the %X, %x and %W fields)
+
+ quote.ttx
+ quoteUSA.ttx
+
+ When quotation marks and punctuation get together, these two
+ files let one chose between American (``Title,'') and European
+ (``Title'',) style. The following files get modified by the
+ patch to make this work:
+
+ aps.ttx
+ ieee.ttx
+ std.ttx
+ stdd.ttx
+ stdftl.ttx
+ stdftp.ttx
+
+ stdd1.ttx
+ copied from stdd.ttx, [\Dstr] generalized to \leftofdate\Dstr\rightofdate
+
+ terse.ttx
+ redefines \journalarticleformat to ignore %T and %N fields so
+ that you can enter %T fields in your database, but optionally
+ ignore them when printing.
diff --git a/biblio/tib/sk/swortcp.c b/biblio/tib/sk/swortcp.c
new file mode 100644
index 0000000000..32c10ae69a
--- /dev/null
+++ b/biblio/tib/sk/swortcp.c
@@ -0,0 +1,170 @@
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+
+#define DEBUG
+#undef DEBUG
+
+#define MAXLINE 1024 /* max. no. of characters per line */
+#define MAXREC (20*MAXLINE) /* max. no. of characters per record */
+
+#define DELIMITER ',' /* delimiter character */
+
+char *progname;
+char *infilename;
+int linenumber;
+
+char record_buffer[MAXREC]; /* buffer for a record consisting of
+ several lines */
+char *rec_ptr;
+
+char wstring[MAXLINE]; /* holds the line of key words */
+
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ FILE *fp, *fopen();
+
+ rec_ptr = record_buffer;
+ progname = argv[0];
+ if (argc == 1) { /* without arguments: */
+ infilename = NULL;
+ filebylines(stdin); /* hack standard input */
+ }
+ else
+ while (--argc > 0)
+ if ((fp = fopen(*++argv, "r")) == NULL) {
+ fprintf(stderr,
+ "%s: can't open %s\n", progname, *argv);
+ exit(1);
+ } else {
+ infilename = *argv;
+ filebylines(fp);
+ fclose(fp);
+ }
+ exit(0);
+}
+
+filebylines(fp) /* pass each line of file fp to a function */
+ FILE *fp;
+{
+ char s[MAXLINE]; /* buffer for one line of input */
+
+ linenumber = 0;
+ while (fgets(s, MAXLINE, fp) != NULL) {
+ linenumber++;
+#ifdef DEBUG
+ printf("##filebylines: line %d: ``%s''\n", linenumber, s);
+#endif
+ linehack(s);
+ }
+ write_records(); /* to write out the last record, if the file */
+ /* does not end with an empty line */
+}
+
+linehack(s) /* accumulate line s of a record into rec_ptr */
+ char *s;
+{
+ char tibfield();
+
+#ifdef DEBUG
+ printf("##tibfield(%s) = %c\n", s, tibfield(s));
+#endif
+ switch (tibfield(s)){
+ case 'W': /* a key word line */
+#ifdef DEBUG
+ printf("Saving `%s' in wstring.\n", s);
+#endif
+ strcpy(wstring, s); /* save it for write_records */
+ break;
+ case '0': /* an empty line means end of this record */
+ write_records();
+ break;
+ case '1': /* other lines, maybe continuation lines */
+ append_to_record_buffer(s);
+ break;
+ default:
+ fprintf(stderr, "switch fall through in linehack: internal error!\n");
+ break;
+ }
+}
+
+char tibfield(s) /* return type (tib field tag) of s */
+ char *s;
+{
+ if (strcmp(s,"\n") == 0) /* empty line got by fgets contains \n only */
+ return('0');
+ if (strlen(s) >= 2 && s[0] == '%' & s[1] == 'W')
+ return('W');
+ return('1'); /* neither empty nor %W line*/
+}
+
+write_records() /* split line wstring into key words and output as
+ many copies of record_buffer as there are key
+ words. */
+{
+ char *s;
+ char *swort;
+ char c;
+
+#ifdef DEBUG
+ printf("##write_records: splitting `%s'\n", wstring);
+#endif
+ s = wstring;
+ if (*s == '\0'){ /* s is empty if there was no %W line in this
+ record */
+ reset_rec_ptr(); /* Throw away records without key word.
+ BUG FIX 89/3/9 sk
+ [left overs got into the next record] */
+ return;
+ }
+
+ if (*s != '%') {
+ fprintf(stderr,
+ "Wrong call to write_records - in line %d `%%' expected.\n",
+ linenumber);
+ }
+ s++; /* advance over `%' ... */
+ while (*s){
+ while (isspace(*++s)) /* ... over W or DELIMITER from last iteration
+ and over white space */
+ ;
+ swort = s; /* start of key word in s */
+ while ((c = *s) != DELIMITER && c != '\n' && c != '\0') {
+ s++;
+ }
+ *s = '\0'; /* put end of key where DELIMITER or \n was */
+ if (strlen(swort)!= 0) { /* the last key word is always empty */
+#ifdef DEBUG
+ printf("##write_records: outputting one copy for key `%s'\n", swort);
+#endif
+ printf("%%W %s\n", swort);
+ printf("%s\n", record_buffer);
+ }
+ *s = c; /* ready for next key word */
+ } /* all key words processed */
+ wstring[0] = '\0'; /* so that succesive empty lines are
+ suppressed */
+ reset_rec_ptr();
+}
+
+append_to_record_buffer(s)
+ char *s;
+{
+
+#ifdef DEBUG
+ printf("##append_to_record_buffer: `%s'\n", s);
+#endif
+ strcpy(rec_ptr, s); /* append this line to the record buffer */
+ rec_ptr += strlen(s); /* ready for next append */
+
+}
+
+reset_rec_ptr()
+{
+#ifdef DEBUG
+ printf("write_records: resetting rec_ptr.\n");
+#endif
+ rec_ptr = record_buffer; /* ready for next record */
+}
diff --git a/biblio/tib/sk/texbib.1 b/biblio/tib/sk/texbib.1
new file mode 100644
index 0000000000..55fe391798
--- /dev/null
+++ b/biblio/tib/sk/texbib.1
@@ -0,0 +1,55 @@
+.TH TEXBIB 1 "19-SEP-1989"
+.SH NAME
+texbib - tex an annotated tib-bibliography
+.SH SYNOPSIS
+.B texbib [-vk]
+.I [tib options] file\fB[.ref]\fR
+.SH DESCRIPTION
+.B texbib
+takes a bibliographic data base
+.I file
+in the format of
+.B tib(1)
+and produces an annotated bibliography in \fIfile\fB.dvi\fR
+which can be printed using
+.B lprdvi(1).
+
+In addition to the usual tib fields (see
+.B tib(5)),
+.B texbib
+uses
+.B %X
+for an abstract of the bibliography entry and
+.B %W
+for a comma-separated list of key words (see
+.B texswlist(1)).
+
+.SH OPTIONS
+.TP 8
+.B -v
+be verbose
+.TP
+.B -k
+keep intermediate files and do not run
+.B tex(1).
+
+.SH FILES
+.TP 16
+.I file\fB.tex\fR
+intermediate file produced by
+.B tiblist,
+for use with
+.B tex.
+.TP
+.I file\fB.dvi\fR
+output file produced by
+.B tex,
+can be printed with
+.B lprdvi(1).
+
+.SH "SEE ALSO"
+.B lprdvi(1), tex(1), texswlist(1), tib(5), tib(1),
+
+.B addbib(1), refer(1), roffbib(1)
+.SH AUTHOR
+S. Kremer
diff --git a/biblio/tib/sk/texbib.sh b/biblio/tib/sk/texbib.sh
new file mode 100755
index 0000000000..7b197c927f
--- /dev/null
+++ b/biblio/tib/sk/texbib.sh
@@ -0,0 +1,91 @@
+#!/bin/csh -f
+
+# S. Kremer, Sep 1989.
+
+# texbib - make .tex file from .ref file for annotated bibliography
+# and TeX it (like roffbib, but with tib&TeX instead of refer&nroff).
+
+# path names of commands:
+set tiblist=AAAAA/tiblist
+set tex=BBBBB
+
+set tibinputs=CCCCC
+
+# init:
+set tibopt=(-d $tibinputs -s texbib -i quote.ttx -i abstract.ttx)
+# quote.ttx uses `` and '' instead of german quotes
+# abstract.ttx prints the %X and %W fields
+
+set V=0 tib_verbose='-z' # do not be verbose as default
+set K=0 # do not keep tmp files
+
+alias announce 'if ($V == 1) echo'
+
+if ($#argv == 0) then
+ echo 'Usage:' $0 '[-vk] [tib options] file[.ref]'
+ echo '-v: be verbose'
+ echo "-k: keep intermediate files and don't run TeX"
+ exit
+endif
+
+set infile=$argv[$#argv] # last arg is filename
+set argv[$#argv]='' # delete it form arg list
+
+foreach i ($*)
+ switch("$i")
+ case '-v':
+ set V=1 tib_verbose=''
+ breaksw
+ case '-k':
+ set K=1
+ breaksw
+ case '-vk':
+ case '-kv':
+ set V=1 tib_verbose='' K=1
+ breaksw
+ default:
+ set tibopt=($tibopt $i)
+ endsw
+end
+
+set in=$infile # the original input file name
+# make a suitable tex file name
+switch ($infile:e)
+ case 'ref':
+ # strip extension .ref and give it .tex instead
+ set out=$infile:r.tex
+ breaksw
+ case '':
+ set out=$infile.tex
+ # If specified input file does not exist, user
+ # probably forgot .ref.
+ # We fix it for him:
+ if (! -f $infile && -f $infile.ref) set in=$infile.ref
+ # If we would not fix it, tib will look for $in.tex,
+ # which may very well exist from a previous run.
+ breaksw
+ default:
+ set out=$infile.tex # just add .tex for a strange file name
+ # But beware of the processing tex does with its input file
+ # name,
+ # e.g., `mkannbib bib.ref~' will call `tex bib.ref~.tex',
+ # but tex inputs file `bib.ref', which is not what you want!
+endsw
+
+$tiblist $tib_verbose $tibopt $in -x > $out || exit 1
+
+if ($K == 1) then # do no tex and do not clean up
+ announce Tiblist output is in $out
+ exit
+endif
+
+if ($V == 0) then
+ $tex $out > /dev/null || exit 1
+else
+ $tex $out || exit 1
+endif
+
+if ($K == 0) then
+ announce Removing $out $out:r.log
+ /bin/rm -f $out $out:r.log
+endif
diff --git a/biblio/tib/sk/texswlist.1 b/biblio/tib/sk/texswlist.1
new file mode 100644
index 0000000000..a98305342e
--- /dev/null
+++ b/biblio/tib/sk/texswlist.1
@@ -0,0 +1,63 @@
+.TH TEXSWLIST 1 "19-SEP-1989"
+.SH NAME
+texswlist - tex a tib-bibliography, sorted on key words
+.SH SYNOPSIS
+.B texswlist [-vk]
+.I [tib options] file\fB[.ref]\fR
+.SH DESCRIPTION
+.B texswlist
+takes a bibliographic data base
+.I file
+in the format of
+.B tib(1)
+and produces a bibliography (sorted on key words) in
+.B swlist.dvi,
+which can be printed using
+.B lprdvi(1).
+In addition to the usual tib fields (see
+.B tib(5)),
+.B texswlist
+uses
+.B %W
+for a comma-separated list of key words. Each key word generates a
+separate entry in the
+.B swlist.ref,
+which is then processed by
+.B tiblist(1)
+and
+.B tex(1),
+producing
+.B swlist.dvi.
+
+.SH OPTIONS
+.TP 8
+.B -v
+be verbose
+.TP
+.B -k
+keep intermediate files and do not run
+.B tex(1).
+
+.SH FILES
+.SS "Intermediate files:"
+.TP 16
+.B swlist.ref
+tib bibliography containing multiple entries (one for each key word)
+.TP
+.B swlist.tex
+tiblist output from swlist.ref
+.SS "Output file:"
+.TP
+.B swlist.dvi
+tex output from swlist.tex
+.SS "Auxiliary program:"
+.TP
+.B /vol/tex/lib/tib/swortcp
+Generates
+.B swlist.ref.
+.SH "SEE ALSO"
+.B lprdvi(1), tex(1), texbib(1), tib(5), tib(1)
+
+.B addbib(1), refer(1), roffbib(1)
+.SH AUTHOR
+S. Kremer
diff --git a/biblio/tib/sk/texswlist.sh b/biblio/tib/sk/texswlist.sh
new file mode 100755
index 0000000000..97cfb90fb0
--- /dev/null
+++ b/biblio/tib/sk/texswlist.sh
@@ -0,0 +1,75 @@
+#!/bin/csh -f
+
+# S. Kremer, Sep 1989.
+
+# texswlist - make a 'swlist' file from a bibliographic database
+# and TeX it.
+
+set swortcp=AAAAA/swortcp # splits the %W lines of the ref file
+set tiblist=BBBBB/tiblist
+set swlist_tibstyle=texswlist # the file has a .tib suffix
+set tibinputs=CCCCC # contains $swlist_tibstyle
+set tex=DDDDD
+set tmp=/tmp/swlist$$
+alias announce 'if ($V == 1) echo'
+
+# init
+set tibopt=(-d $tibinputs -s $swlist_tibstyle -i quote.ttx)
+ # quote.ttx uses `` and '' instead of german quotes
+
+set V=0 tib_verbose='-z' # do not be verbose as default
+set K=0 # do not keep tmp files
+
+if ($#argv == 0) then
+ echo 'Usage:' $0 '[-vk] [tib options] file[.ref]'
+ echo '-v: be verbose'
+ echo "-k: keep intermediate files and don't run TeX"
+ exit
+endif
+
+set infile=$argv[$#argv] # last arg is filename
+set argv[$#argv]='' # delete it form arg list
+
+foreach i ($*)
+ switch("$i")
+ case '-v':
+ set V=1 tib_verbose=''
+ breaksw
+ case '-k':
+ set K=1
+ breaksw
+ case '-vk':
+ case '-kv':
+ set V=1 tib_verbose='' K=1
+ breaksw
+ default:
+ set tibopt=($tibopt $i)
+ endsw
+end
+
+set in=$infile # the original input file name
+# If specified input file does not exist, user probably forgot .ref.
+# We fix it for him:
+if (! -f $in && -f $in.ref) set in=$in.ref
+set root=$in:r # root name of input file
+
+$swortcp $in > $root-s.ref || exit 1
+echo '\def\jobname{'$in:r' (swlist)}' > $tmp.1
+$tiblist $tib_verbose $tibopt $root-s.ref -x > $tmp.2 || exit 1
+/bin/cat $tmp.[1-2] > $root-s.tex
+/bin/rm -f $tmp.[1-2]
+
+if ($K == 1) then # do no tex and do not clean up
+ announce Tiblist output is in $root-s.tex
+ exit
+endif
+
+if ($V == 0) then
+ $tex $root-s.tex > /dev/null || exit 1
+else
+ $tex $root-s.tex || exit 1
+endif
+if ($K == 0) then
+ announce Removing $root-s.{ref,tex,log}
+ /bin/rm -f $root-s.{ref,tex,log}
+endif
diff --git a/biblio/tib/sk/tib-2.2-patch b/biblio/tib/sk/tib-2.2-patch
new file mode 100644
index 0000000000..0ec0567fcd
--- /dev/null
+++ b/biblio/tib/sk/tib-2.2-patch
@@ -0,0 +1,1088 @@
+*** aps.ttx.dist Sat May 26 19:34:11 1990
+--- aps.ttx Sat May 26 19:11:11 1990
+***************
+*** 120,124 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 120,124 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+*** ieee.ttx.dist Sat May 26 19:34:11 1990
+--- ieee.ttx Sat May 26 19:10:50 1990
+***************
+*** 12,16 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+--- 12,16 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\LQuote{}\bgroup\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+***************
+*** 19,23 ****
+ \if\Ptest\present\Comma\bgroup{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. ``\bgroup\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+--- 19,23 ----
+ \if\Ptest\present\Comma\bgroup{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. \LQuote{}\bgroup\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+***************
+*** 34,38 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma presented at \bgroup\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+--- 34,38 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\LQuote{}\bgroup\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Jtest\present\Comma presented at \bgroup\Jstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+***************
+*** 46,50 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\egroup\def\Comma{.\hskip1em}\fi%
+--- 46,50 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\LQuote{}\bgroup\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\egroup\def\Comma{.\hskip1em}\fi%
+***************
+*** 58,62 ****
+ \if\Ptest\present\Comma{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. ``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\stest\present\ (\bgroup\sstr\egroup)\fi%
+--- 58,62 ----
+ \if\Ptest\present\Comma{\if\Pcnt\present pp.~\else p.~\fi}\Pstr\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. \LQuote{}\bgroup\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\stest\present\ (\bgroup\sstr\egroup)\fi%
+***************
+*** 109,113 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma``\bgroup\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 109,113 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup{\unskip, }\ifnum\Ecnt>1Eds.\else Ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\LQuote{}\bgroup\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+***************
+*** 117,121 ****
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. ``\bgroup\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+--- 117,121 ----
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present. \LQuote{}\bgroup\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+*** std.ttx.dist Sat May 26 19:34:12 1990
+--- std.ttx Sat May 26 19:10:52 1990
+***************
+*** 1,5 ****
+--- 1,18 ----
+ %standard reference formatting macros, numeric flags
+ %flag, author, title, etc., volume (date) pages gov't no., other
++ % $Header$
++ % $Log$
+
++ % An opening quote:
++ \ifx\LQuote\undefined\def\LQuote{``}\fi%
++ % A closing quote:
++ \ifx\RQuote\undefined\def\RQuote{''}\fi%
++ %
++ % A closing quote followed by a comma and a space:
++ %\def\QnComma{," }% original, but " collides with the `german' macro package
++ %\def\QnComma{,''}% US American style puts the comma inside the string
++ \ifx\QnComma\undefined\def\QnComma{\RQuote, }\fi% european style
++ % \QnComma can be redefined by some other .ttx files, such as german.ttx
++
+ \def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+***************
+*** 7,11 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+--- 20,24 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+***************
+*** 13,17 ****
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+--- 26,30 ----
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+***************
+*** 27,31 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+--- 40,44 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+***************
+*** 39,43 ****
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+--- 52,56 ----
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+***************
+*** 51,55 ****
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+--- 64,68 ----
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+***************
+*** 104,108 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 117,121 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+***************
+*** 112,116 ****
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+--- 125,129 ----
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+***************
+*** 128,132 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 141,145 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+*** stdd.ttx.dist Sat May 26 19:34:12 1990
+--- stdd.ttx Sat May 26 19:10:54 1990
+***************
+*** 9,18 ****
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+--- 9,18 ----
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present{\RQuote}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+***************
+*** 29,33 ****
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+--- 29,33 ----
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+***************
+*** 41,46 ****
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+--- 41,46 ----
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present\RQuote\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+***************
+*** 52,56 ****
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+--- 52,56 ----
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+***************
+*** 106,110 ****
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 106,110 ----
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+***************
+*** 113,117 ****
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+--- 113,117 ----
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+***************
+*** 130,134 ****
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 130,134 ----
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Dtest\present\unskip\hskip.16667em[\bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup]\def\Comma{, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+*** stdftl.ttx.dist Sat May 26 19:34:13 1990
+--- stdftl.ttx Sat May 26 19:10:55 1990
+***************
+*** 3,7 ****
+ %
+ %note: remove characters (%%%) from lines below (6 times)
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ %if titles desired in loc. cit.
+
+--- 3,7 ----
+ %
+ %note: remove characters (%%%) from lines below (6 times)
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ %if titles desired in loc. cit.
+
+***************
+*** 10,19 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present{"}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+--- 10,19 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present{\RQuote}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+***************
+*** 20,24 ****
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+--- 20,24 ----
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+***************
+*** 33,41 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+--- 33,41 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+***************
+*** 48,57 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present"\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+--- 48,57 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present\RQuote\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+***************
+*** 64,68 ****
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+--- 64,68 ----
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+***************
+*** 84,88 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 84,88 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 121,125 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 121,125 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 127,131 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 127,131 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+***************
+*** 135,139 ****
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+--- 135,139 ----
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+***************
+*** 150,154 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 150,154 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 156,160 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 156,160 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+*** stdftp.ttx.dist Sat May 26 19:34:13 1990
+--- stdftp.ttx Sat May 26 19:10:56 1990
+***************
+*** 4,8 ****
+ %
+ %note: remove characters (%%%) from lines below (6 times)
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ %if titles desired in loc. cit.
+
+--- 4,8 ----
+ %
+ %note: remove characters (%%%) from lines below (6 times)
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ %if titles desired in loc. cit.
+
+***************
+*** 14,23 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present{"}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+--- 14,23 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present{\RQuote}\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+***************
+*** 24,28 ****
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+--- 24,28 ----
+ \if\Dtest\present\hskip.2em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.2em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+***************
+*** 38,46 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+--- 38,46 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+***************
+*** 54,63 ****
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+! \if\etest\present\if\Ttest\present"\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+--- 54,63 ----
+ \if\Loccittest\present\if\Ibidtest\present{\it ibid.}\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup, \fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+! \if\etest\present\if\Ttest\present\RQuote\fi\hskip.2em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+***************
+*** 70,74 ****
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+--- 70,74 ----
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+***************
+*** 91,95 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 91,95 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 129,133 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 129,133 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 135,139 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 135,139 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+***************
+*** 143,147 ****
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+--- 143,147 ----
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+! \if\ttest\present\Comma\bgroup\LQuote{}\Titlefont\tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+***************
+*** 159,163 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup``\Titlefont\Tstr\egroup," \fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+--- 159,163 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi, %
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup, \fi\fi\fi%
+! %%% \if\Ttest\present\bgroup\LQuote{}\Titlefont\Tstr\egroup\QnComma\fi%
+ {\it loc.\ cit.}\fi%
+ \if\Ztest\present\bgroup\ignorespaces\Zstr\egroup\gdef\Ztest{}\unskip.\fi\else%
+***************
+*** 165,169 ****
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+--- 165,169 ----
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+! \if\Ttest\present\Comma\bgroup\LQuote{}\Titlefont\Tstr\egroup\def\Comma{\QnComma}\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+*** /dev/null Sat May 26 18:45:51 1990
+--- abstract.ttx Sat May 26 19:40:44 1990
+***************
+*** 0 ****
+--- 1,29 ----
++ %
++ % Macros that print the abstract/annotation and key words of a paper
++ % (as given in the %X, %x and %W fields)
++ %
++ % Include this file with `tib -s style -i abstract.ttx` AFTER the style file
++ %
++ % sk 24.02.89
++ \let\AbstractOriginalRefformat=\Refformat
++ \def\Refformat{\AbstractOriginalRefformat
++ \if\Xtest\present
++ \vskip-3ptplus1ptminus1pt% undo last \smallskip
++ \noindent % sk@sun4 5-Dec-1989 11:26
++ \bgroup\Xfont\Xstr\egroup
++ \vskip3ptplus1ptminus1pt%\smallskip
++ \fi
++ \if\xtest\present
++ \vskip-3ptplus1ptminus1pt% undo last \smallskip
++ \noindent % sk@sun4 5-Dec-1989 11:26
++ \bgroup\xfont\xstr\egroup
++ \vskip3ptplus1ptminus1pt%\smallskip
++ \fi
++ \if\Wtest\present
++ \vskip-3ptplus1ptminus1pt% undo last \smallskip
++ \bgroup\Wfont[\Wstr]\egroup
++ \vskip3ptplus1ptminus1pt%\smallskip
++ \fi}%
++ \def\Xfont{\rm}% font for abstract
++ \def\xfont{\rm}% font for annotation
++ \def\Wfont{\rm}% font for key words
+*** /dev/null Sat May 26 18:45:51 1990
+--- german.ttx Sat May 26 19:40:44 1990
+***************
+*** 0 ****
+--- 1,9 ----
++ % Use this for reference lists that should be printed using german quote marks.
++ % In most cases, when citing non-german literature only,
++ % \input german in your text will suffice.
++ \def\LQuote{\glqq}%
++ \def\RQuote{\grqq}%
++ \def\QnComma{\grqq, }%
++ \input german
++ % this is needed for tiblist, when there is no master .tex file
++ % with \input german in it.
+*** /dev/null Sat May 26 18:45:51 1990
+--- local.tib Sat May 26 19:42:13 1990
+***************
+*** 0 ****
+--- 1,22 ----
++ #
++ # local tib style
++ #
++ # Institute for Theoretical Physics, Cologne
++ # S. Kremer, Sep 1989
++ #
++ # This will give numbered references in brackets.
++ # The numbers are in order of appearance: [1] is the first mentioned
++ # reference.
++ #
++ H hyphenate strings of citations
++ P print only the first page number of articles
++
++ %The lines below are copied verbatim into the output document as TeX commands.
++ %First the file Macros.ttx is \input with Macros and default settings.
++ %The control string \TMACLIB is just a path.
++ %
++ \input\TMACLIB stdbra.ttx % TeX macros for formatting reference list
++ \Refstda\Citebrackets % set general formats for reference
++ % list and citations
++ \def\Volfont{\bf} % make volume number \bf
++ \def\Authfont{\bf} % make author names \bf
+*** /dev/null Sat May 26 18:45:51 1990
+--- quote.ttx Sat May 26 19:40:45 1990
+***************
+*** 0 ****
+--- 1,3 ----
++ % get Quotes in the European style
++ \def\LQuote{``}%
++ \def\QnComma{'', }% european style
+*** /dev/null Sat May 26 18:45:51 1990
+--- quoteUSA.ttx Sat May 26 19:40:45 1990
+***************
+*** 0 ****
+--- 1,3 ----
++ % get Quotes in the USA style
++ \def\LQuote{``}%
++ \def\QnComma{,''}% US American style puts the comma inside the string
+*** /dev/null Sat May 26 18:45:51 1990
+--- terse.ttx Sat May 26 19:40:45 1990
+***************
+*** 0 ****
+--- 1,6 ----
++ % terse version: redefine \journalarticleformat to ignore %T and %N fields:
++ % use old \journalarticleformat with empty %T and %N:
++ % S. Kremer 6.9.89
++ \let\TerseOriginaljournalarticleformat=\journalarticleformat
++ \def\journalarticleformat{{\def\Ttest{}\def\Ntest{}%
++ \TerseOriginaljournalarticleformat}}
+*** /dev/null Sat May 26 18:45:51 1990
+--- texbib.tib Sat May 26 19:42:14 1990
+***************
+*** 0 ****
+--- 1,29 ----
++ # tiblist.tib sk 28.2.89
++ #
++ # Style for listing of bibliographies.
++ # By adding switch ``-i abstract.ttx'' you get an annotated bibliography.
++ #
++ SAD sort on authors, dates
++ H hyphenate string of citations
++ #
++ AA abbreviate authors' first names
++ AR reverse first and last names of authors
++ EA abbreviate editors' first names
++ ER reverse first and last names of editors
++ P print only first first page number of articles
++ %
++ \input\TMACLIB stdbra.ttx % macros for standard brackets
++ \input\TMACLIB german.ttx % macros for german umlauts
++ \Refstda\Citebrackets % set general formats for reference list
++ % and citations
++ % modify the settings in \Refstda because of AR and ER command:
++ \def\Revcomma{\unskip\ }%between last and first name of reversed name
++ \def\Initper{\ }%punctuation after initial
++ %
++ \def\Volfont{\bf} % make volume number \bf
++ \def\Authfont{\bf} % make author names \bf
++ %
++ % this is intended for plain TeX:
++ \footline={\hbox to0pt{\bf\jobname\hss}%
++ \hss{\bf-- \folio\ --}\hss
++ \hbox to0pt{\hss\bf\the\day.\the\month.\the\year}}
+*** /dev/null Sat May 26 18:45:51 1990
+--- texswlist.tib Sat May 26 19:42:13 1990
+***************
+*** 0 ****
+--- 1,50 ----
++ #
++ # swort format for making an annotated bibiography,
++ # sorted by key word (as given in comma-separated list in the %W field).
++ #
++ # %X (for abstracts) is ignored, unless you include abstract.ttx
++ # via the -i switch.
++ #
++ # S. Kremer, September 1989.
++ #
++ SWAD sort first on key words, then authors and date.
++ # sorting is in raw ASCII order: "Ol < Oel < o...
++ H hyphenate string of citations
++ #
++ AA abbreviate authors' first names
++ AR reverse first and last names of authors
++ EA abbreviate editors' first names
++ ER reverse first and last names of editors
++ P print only first first page number of articles
++ %
++ % Flag entries by key word (\Wstr) and ignore #1:
++ \def\Flagstyle#1{%
++ \mark{\Wstr}% if it's continued or not
++ \ifx\OldWstr\Wstr % the same key word again
++ % print nothing - the headline will tell
++ \else {\noindent\Flagfont\Wstr}\par % print the key word on a separate line
++ \fi
++ \global\let\OldWstr=\Wstr
++ \hangindent\Windent\indent\hbox to 0 pt {\hss--\kern.5em} % like item
++ }
++ \input\TMACLIB std.ttx
++ % german.ttx also defines the quotes used in std.ttx:
++ \input\TMACLIB german.ttx % macros for german umlauts
++ \Refstda\Citebrackets % set general formats for reference list
++ % and citations
++ % modify the settings in \Refstda because of AR and ER command:
++ \def\Revcomma{\unskip\ }%between last and first name of reversed name
++ \def\Initper{\ }%punctuation after initial
++ %
++ \def\Volfont{\bf} % make volume number \bf
++ \def\Flagfont{\bf} % make flags (key words) \bf
++ \def\Windent{2em} % indentation for entries with respect
++ % to key words.
++ %
++ % this is intended for plain TeX:
++ \headline={\hfill{\bf\firstmark\ --- \botmark}}%
++ \footline={\hbox to0pt{\bf\jobname\hss}%
++ \hss{\bf-- \folio\ --}\hss
++ % usage of \today (appropriately defined in the `german' macro package)
++ % would be even better than this:
++ \hbox to0pt{\hss\bf\the\day.\the\month.\the\year}}%
+*** /dev/null Mon May 28 15:17:52 1990
+--- quotation.tib Tue Oct 31 15:41:37 1989
+***************
+*** 0 ****
+--- 1,32 ----
++ # quotation.tib sk@sun4 10/31/89
++ #
++ # Style for using quotations (%Q field)
++ #
++ C0 citation template (insert full reference)
++ SAD sort on authors, dates (for tiblist)
++ %
++
++ \input\TMACLIB std.ttx
++
++ \input\TMACLIB german.ttx % macros for german umlauts
++ \Refstda\Citebrackets % set general formats for reference list
++ % and citations
++ \def\Flagstyle#1{}\def\Lcitemark{}\def\Rcitemark{}
++ \def\Authfont{\sl} % make author names slanted
++ \def\Qfont{\rm} % font for the quotation itself
++ \def\\{\par} % often used in verse to break lines
++ \def\Refformat{%Determines the kind of reference by the presence or
++ % absence of certain fields in the database listing, and calls the
++ % appropriate macro.
++ % Modified to handle %Q. sk@sun4, Tue Oct 31 14:26:03 1989
++ \if\Qtest\present\quotationformat
++ \else\if\Jtest\present
++ {\if\Vtest\present\journalarticleformat
++ \else\conferencereportformat\fi}
++ \else\if\Btest\present\bookarticleformat
++ \else\if\Rtest\present\technicalreportformat
++ \else\if\Itest\present\bookformat
++ \else\otherformat\fi\fi\fi\fi\fi}
++ % print a quotation with author (and optional date in parentheses) flush left
++ \def\quotationformat{{\parindent=0pt\par\Qfont\Qstr\par\hfill\if\Atest\present\Authfont\Astr\fi
++ \if\Dtest\present\Authfont\space(\Dstr )\fi\bigbreak}}
+*** /dev/null Mon May 28 15:38:30 1990
+--- stdd1.ttx Tue Sep 19 10:16:16 1989
+***************
+*** 0 ****
+--- 1,143 ----
++ %standard reference formatting macros
++ % flag, author, date, etc.,
++ % volume, pages, gov't no., other
++ % sk 1.2.89:
++ % copied from stdd.ttx, [\Dstr] generalized to the following:
++ \def\leftofdate{\ }
++ \def\rightofdate{\ }
++ \def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat\Ftrail a\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\etest\present\if\Ttest\present{"}\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
++ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
++ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
++ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
++ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
++ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
++ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
++ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
++ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
++ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
++
++ \def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
++ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
++
++ \def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\etest\present\if\Ttest\present"\fi\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
++ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
++ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
++ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
++ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
++ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
++ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
++ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
++ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
++ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
++ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
++ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
++ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
++ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
++ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
++ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
++ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
++ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
++ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
++ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
++
++ \def\bookformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
++ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
++ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\egroup\def\Comma{, }%
++ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
++ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
++ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
++ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
++ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
++ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
++ \if\Atest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
++ \else\if\Etest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
++ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
++ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
++ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
++ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
++ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
++ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
++ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
++ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
++ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
++ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
++
++ \def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
++ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
++ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\Atest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
++ \else\if\Etest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
++ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
++ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
++ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
++ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
++ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
++ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
++ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
++ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
++
++ \def\otherformat{\Reffont\let\uchyph=1\parindent=0pt\def\Comma{}%
++ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
++ \par\vfil\penalty-200\vfilneg%\filbreak
++ \hangindent3pc\hangafter1%
++ \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
++ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
++ \else\if\Itest\present\bgroup\authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
++ \if\Dtest\present\unskip\hskip.16667em\leftofdate \bgroup\Dstr\ifcat a\Ftrail\Ftrail\fi\egroup\rightofdate \def\Comma{, }\fi%
++ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
++ \if\Atest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
++ \else\if\Etest\present\if\Itest\present
++ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
++ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
++ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
++ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
++ \vskip3ptplus1ptminus1pt}%\smallskip
diff --git a/biblio/tib/sk/tib.5 b/biblio/tib/sk/tib.5
new file mode 100644
index 0000000000..a394b53a5c
--- /dev/null
+++ b/biblio/tib/sk/tib.5
@@ -0,0 +1,220 @@
+.TH TIB 5 " 7-Jun-1990"
+.SH NAME
+tib - format of tib bibliography (.ref) files
+.SH SYNOPSIS
+The tib bibliographic database is automatically used by
+.B tib(1),
+after an INDEX file has been created with
+.B tibdex(1)\fR.
+The extension
+.B .ref
+is conventional (but not automatically supplied by Tib).
+
+.SH DESCRIPTION
+
+A reference
+.I file
+is a database file containing any
+number of reference
+.I items,
+separated by one or more blank lines.
+Reference items consist of reference
+.I fields
+which in turn
+consist of data organized into field
+.I tags
+and field
+.I data.
+The meaning of field tags is an extension of that of
+.B bib
+and is
+suggested by that of
+.B refer(1).
+However there are enough differences
+that
+.B bib
+or
+.B refer
+reference files are not directly
+usable with
+.B tib.
+A field tag is a percent sign `\fB%\fR' in column 1
+followed in column 2 by a single character. The currently recognized
+tags are listed below. Field data begins in column 4; the data
+can consist of any printable characters. Field data can be as long as
+necessary and can extend into the next line. Lines that do not begin
+with a percent sign are treated as continuation lines. Every line
+(including continuation lines) must begin in column 1. The
+.B A, E, a, e
+and
+.B \e
+fields can be repeated as often
+as necessary; other fields can occur at most once (more precisely the
+last occurance of a field is the one used). Fields can occur in any
+order except that authors, editors, etc. are listed in order of
+appearance. Lines beginning `\fB%\e\fR' are inserted verbatim
+into the output; they are assumed to be TeX instructions. Lines in
+a reference item beginning `\fB%%\fR' are comments.
+
+.SH FIELD TAGS
+.TP 5
+.B %A
+Author(s) (may have multiple authors, separate
+field entry for each author in order)
+.TP
+.B %B
+Book title
+.TP
+.B %C
+City of publication
+.TP
+.B %D
+Date
+.TP
+.B %E
+Editor(s) (may have multiple editors, separate
+field entry for each editor in order)
+.TP
+.B %F
+Special citation flag, use is governed by Tib
+.B %F
+command
+.TP
+.B %G
+Government (NTIS) ordering number
+.TP
+.B %I
+Issuer (publisher)
+.TP
+.B %J
+Journal name or for unpublished conference report,
+the conference name
+.TP
+.B %K
+Keys for searching, not printed out
+.TP
+.B %M
+.I Mathematical Reviews
+number
+.TP
+.B %N
+Number of issue (journal or series)
+.TP
+.B %O
+Other information, appended to listing
+.TP
+.B %P
+Page numbers
+.TP
+.B %R
+Technical report identifier
+.TP
+.B %S
+Series title
+.TP
+.B %T
+Title of article or book
+.TP
+.B %V
+Volume number (journal or series)
+.TP
+.B %W
+key words (comma separated) - used by
+.B texswlist(1),
+by tib only when the `-i abstract.ttx' option is used.
+.TP
+.B %X
+Abstract - used by
+.B texbib(1),
+by tib only when the `-i abstract.ttx' option is used.
+.TP
+.B %Z
+Reserved by Tib for special insertions
+.TP
+.B %a
+Translator(s), also editor(s) of translated compilations
+.TP
+.B %b
+Translated book title
+.TP
+.B %c
+City of publication of translated item
+.TP
+.B %d
+Date of translated item
+.TP
+.B %e
+Author(s) of reviewed material; reviewers' names go in
+.B %A
+fields in order
+.TP
+.B %i
+Issuer of translated item
+.TP
+.B %j
+Translated journal name
+.TP
+.B %k
+Reserved for future use for secondary references
+.TP
+.B %l
+Language of translation
+.TP
+.B %n
+Number of translated item
+.TP
+.B %o
+Other information, inserted after book title
+.TP
+.B %p
+Pages of translated article
+.TP
+.B %r
+Identifier of translated technical report
+.TP
+.B %s
+Series of translated item
+.TP
+.B %t
+Title of translated article or book
+.TP
+.B %v
+Volume of translated item
+.TP
+.B %z
+Reserved by Tib for special insertions
+.TP
+.B %\e
+... \".B %\\ damn nroff!
+Beginning of line of TeX instruction(s)
+.TP
+.B %%
+Comment (passed as TeX comment)
+
+The
+.B %W
+.B %X
+and field tags are local additions, implemented in
+\fBabstract.ttx\fR.
+The \fB%X\fR tag is compatible
+with
+.B refer(1)
+and
+.B roffbib(1)\fR,
+the nroff/troff analogues of
+.B tib(1)
+and
+.B texbib(1)\fR.
+
+.SH FILES
+/vol/tex/lib/tib/inputs/abstract.ttx
+
+.SH "SEE ALSO"
+.B tib(1), tex(1), texbib(1), texswlist(1)
+
+.B addbib(1), refer(1), roffbib(1)
+.SH AUTHOR
+J. C. Alexander.
+
+Local modifications for the Institute of Theoretical Physics,
+University of Cologne, by S. Kremer.
diff --git a/biblio/tib/sk/tib.7 b/biblio/tib/sk/tib.7
new file mode 100644
index 0000000000..e80d4fb2da
--- /dev/null
+++ b/biblio/tib/sk/tib.7
@@ -0,0 +1,114 @@
+.TH TIB 7 "11-Jan-1991"
+.SH NAME
+tib - tib macro files (local additions)
+.SH SYNTAX
+.B tib -s \fIstyle\fB ...
+
+.B tib ... -i \fIfile\fB.ttx\fR ...
+
+.B tib ... -i \fIfile\fB.ttz\fR ...
+.SH DESCRIPTION
+These macros are used by
+.B tib(1)
+to format bibliographic references.
+
+.SS "Types of Tib Files:"
+There are
+.B .tib, .ttx
+and
+.B .ttz
+files:
+
+.TP 12
+.I file\fB.tib\fR
+A style file containing tib commands, usually including (tib
+.B I
+command) a
+.B .ttz
+file and \\inputting a
+.B .ttx
+file.
+It defines the overall citation style, e.g., with brackets or as
+footnotes. It is used by
+.B tib -s \fIfile\fR.
+The extension
+.B .tib
+can be omitted.
+.TP
+.I file\fB.ttx\fR
+TeX macros, \\input when TeX processes tib's output file.
+.TP
+.I file\fB.ttz\fR
+A file containing tib commands, usually defining abbreviations of
+journal names with the tib
+.B D
+command. It is included when tib runs with the
+.B I
+command.
+
+.SS "List of Macro Files:"
+
+.TP 16
+abstract.ttx
+Prints the %X abstract field and the %W key word field (see
+.B texbib(1), texswlist(1)\fR)
+
+.TP
+german.ttx
+Makes the Tex german macro package available (see
+.B german(7)\fR)
+and uses german quotes. Useful when umlauts appear in your
+bibliography and you are accustomed to using german(7).
+
+.TP
+local.tib
+A local style that uses brackets, numbers references in order of citation
+and prints the volume number of a journal in bold face.
+
+.TP
+quote.ttx
+Uses ``english quotes''. Useful with german.ttx to avoid
+,,Gaensefuesschen''.
+
+.TP
+quoteUSA.ttx
+Puts a comma after a quoted title into the string instead after it,
+where it logically belongs. This is convential at least in the USA, I
+believe (cf. D. E. Knuth,
+.I The TeXbook,
+p. 74, Exercise 12.5).
+
+.TP
+swort.tib
+Used by
+.B texswlist(1)
+to print a bibliography sorted on the key words in the %W field.
+
+.TP
+terse.ttx
+Omits title (%T) and issue number (%N) of a journal or article entry.
+
+You MUST specify a
+.B -s \fIstyle\fB
+switch BEFORE using
+.B -i terse.ttx
+because
+.B terse.ttx
+works by redefining some TeX macros originally defined in the style
+file. If you use the default style, you have to specify it explicitly with
+.B -s num\fR.
+
+.TP
+tiblist.tib
+The style used by
+.B texbib(1)
+to print an annotated bibliography.
+
+.SH FILES
+.TP 32
+/vol/tex/lib/tib/inputs/
+Directory for tib macros
+.SH "SEE ALSO"
+.B tib(1), tib(5), tex(1), texbib(1), texswlist(1), german(7)
+.SH AUTHOR
+S. Kremer
diff --git a/biblio/tib/sk/ttb.1 b/biblio/tib/sk/ttb.1
new file mode 100644
index 0000000000..4d39044782
--- /dev/null
+++ b/biblio/tib/sk/ttb.1
@@ -0,0 +1,55 @@
+.TH TTB 1 "11-Feb-1991"
+.SH NAME
+ttb - tib to bibtex bibliography converter
+
+.SH SYNOPSIS
+.B ttb
+.IB [ -c ]
+.IB file [.ref]
+
+.SH DESCRIPTION
+.B ttb
+takes as input a bibliography in tib format (see
+.BR tib(5) )
+and produces an equivalent bibliography for use with
+.BR bibtex(1)
+in
+.IB file .bib.
+.PP
+If a
+.B %K
+field is present in the
+.B .ref
+file, it is used as
+.I key
+for a LaTeX \\cite command.
+Otherwise the
+.I key
+is made up from the author, year and page of the reference like this:
+.I author year
+.B :
+.I page
+.SH OPTIONS
+.TP 16
+.B -c
+Force bibtex to use exactly the same capitalization as in the
+.B .ref
+file. This works by enclosing all upper case letters in curly braces.
+.SH FILES
+.TP 16
+~tex/local
+source directory for ttb
+.SH VERSION
+ttb.c,v 1.4
+.PP
+To find out what version you are using, type
+.IP
+.B ident `which ttb`
+.SH "SEE ALSO"
+.BR tib(1) ,
+.BR tib(5) ,
+.BR tib(7) ,
+.B bibtex(1)
+
+.SH AUTHOR
+Ulrich Fastenrath
diff --git a/biblio/tib/sk/ttb.c b/biblio/tib/sk/ttb.c
new file mode 100644
index 0000000000..c3d196f806
--- /dev/null
+++ b/biblio/tib/sk/ttb.c
@@ -0,0 +1,340 @@
+#define about "tibtobib 0.3, 1989 by uf"
+
+#include <stdio.h>
+#include <ctype.h>
+
+#define maxlines 50
+#define linelen 256
+#define ntypes 8
+#define ntags 18
+
+#define article 0
+#define conference 1
+#define inbook 2
+#define mastersthesis 3
+#define phdthesis 4
+#define techreport 5
+#define book 6
+#define misc 7
+
+#define HELP 0
+#define NOREF 10
+#define NOBIB 11
+#define BIGITEM 12
+#define NOCONT1 13
+#define NOCONT2 14
+#define BIGLINE 15
+#define BADTAG 16
+#define MEMFULL 17
+
+char RCSHeader[]="$Header: /home/tex/local/ttb.c,v 1.3 90/02/15 14:55:30 sk Rel $";
+
+static char *inputtype[]={"ARTICLE","CONFERENCE","INBOOK","MASTERSTHESIS",
+ "PHDTHESIS","TECHREPORT","BOOK","MISC"},
+ *recordtype[]={"AUTHOR","BOOKTITLE","ADDRESS","YEAR","EDITOR",
+ "PUBLISHER","JOURNAL","KEY","NUMBER","NOTE","PAGES",
+ "TYPE","SERIES","TITLE","VOLUME","COMMENT","ANNOTE",
+ "ABSTRACT"},
+ allowedtag[]={'A','B','C','D','E','I','J','K','N','O','P','R','S','T','V',
+ '%','x','X'},
+ organization[]="ORGANIZATION";
+
+
+char *item[maxlines],buffer[maxlines*linelen],
+ reffile[linelen],bibfile[linelen];
+int curline=0,type,ilines;
+
+FILE *ref,*bib,*fopen();
+
+main(argc,argv)
+int argc;
+char **argv;
+{ int notready;
+
+ if (argc != 2) {
+ fprintf(stderr,"%s, usage: ttb <filename>\n",about);
+ exit(HELP);
+ }
+
+ strcpy(reffile,argv[1]);
+ if ((ref=fopen(reffile,"r")) == NULL) {
+ sprintf(reffile,"%s.ref",argv[1]);
+ if ((ref=fopen(reffile,"r")) == NULL) {
+ fprintf(stderr,"ttb: can open neither %s nor %s\n",argv[1],reffile);
+ exit(NOREF);
+ }
+ }
+
+ if (!strcmp(argv[1]+strlen(argv[1])-4,".ref"))
+ argv[1][strlen(argv[1])-4]='\0';
+ sprintf(bibfile,"%s.bib",argv[1]);
+ if ((bib=fopen(bibfile,"w")) == NULL) {
+ fprintf(stderr,"ttb: can't open %s\n",bibfile);
+ exit(NOBIB);
+ }
+
+ /* main loop */
+
+ do {
+ notready=getitem();
+ type=classifyitem();
+ /* printitem(); */
+ putitem();
+ }
+ while(notready);
+
+ /* exit */
+
+ fclose(ref);
+ fclose(bib);
+}
+
+
+getitem()
+{ char firstchar,secondchar;
+ int i,j,k,ok,ilm1,space,used,ignored=0;
+
+ ilines = 0;
+ space = maxlines*linelen-1;
+ *item = buffer;
+
+ while(!feof(ref)) {
+
+ if (space<=0) {
+ fprintf(stderr,"ttb: %s, %d: buffer space exhausted\n",reffile,curline);
+ exit(MEMFULL);
+ }
+
+ fgets(item[ilines++],space,ref);
+ ilm1 = ilines-1;
+ for (k=strlen(item[ilm1])-1; k>-1 && isspace(item[ilm1][k]); item[ilm1][k--]=0)
+ ;
+ /* printf("%s\n",item[ilm1]); */
+ curline++;
+
+ if (ilines>maxlines) {
+ fprintf(stderr,"ttb: %s, line %d: too many lines for this item, line ignored\n",reffile,curline);
+ ilines--;
+ continue;
+ }
+
+ if (strlen(item[ilm1]) == 0) { /* blank line */
+ ilines--;
+ ignored=0;
+ break;
+ }
+
+ if ((firstchar=item[ilm1][0]) != '%') { /* continuation line */
+ if (ilines == 1) {
+ fprintf(stderr,"ttb: %s, line %d: leading continuation line ignored\n",reffile,curline);
+ ilines--;
+ continue;
+ }
+ if (ignored) {
+ fprintf(stderr,"ttb: %s, line %d: continuation line ignored\n",reffile,curline);
+ ilines--;
+ continue;
+ }
+
+ ilines--;
+ *(item[ilines]-1) = '\n';
+ used = strlen(item[ilines])+1;
+ item[ilines] += used;
+ continue;
+ }
+
+ secondchar = item[ilm1][1];
+ ok = 0;
+ for (i=0; i<ntags; i++)
+ if (secondchar == allowedtag[i]) {
+ ok = -1;
+ break;
+ }
+
+ if (!ok) {
+ fprintf(stderr,"ttb: %s, line %d: field tag %c not allowed, line ignored\n",reffile,curline,secondchar);
+ ignored = -1;
+ ilines--;
+ continue;
+ }
+
+ ignored = 0;
+ space -= (used = strlen(item[ilm1])+1);
+ item[ilines] = item[ilm1]+used;
+ }
+
+ return(!feof(ref));
+}
+
+
+int classifyitem()
+{ int p,type;
+
+ if (test('J') && test('V'))
+ type = article;
+ else
+ if (test('B'))
+ type = inbook;
+ else
+ if (p=test('R'))
+ if (index(item[p-1],"thesis"))
+ if (index(item[p-1],"master"))
+ type = mastersthesis;
+ else
+ type = phdthesis;
+ else
+ type = techreport;
+ else
+ if (test('I'))
+ type = book;
+ else
+ type = conference;
+
+ return(type);
+}
+
+
+index(s,t)
+char s[],t[];
+{ int i,j,k;
+
+ for (i=0; s[i]; i++) {
+ for (j=i,k=0; t[k] && tolower(s[j])==tolower(t[k]); j++,k++)
+ ;
+ if (t[k] == 0)
+ return(i+1);
+ }
+
+ return(0);
+}
+
+
+int test(c)
+char c;
+{ int i;
+
+ for (i=0; i<ilines; i++)
+ if (item[i][1] == c)
+ return(i+1);
+
+ return(0);
+}
+
+
+putitem()
+{ char author[linelen],year[linelen],page[linelen],record[linelen],
+ editor[linelen],secondchar;
+ int i,j,k,p,first;
+
+ if (p=test('A')) {
+ if ((i = index(item[p-1],",")) > 4) {
+ strcpy(author,item[p-1]+3);
+ author[i-4]=0;
+ }
+ else {
+ for (k=strlen(item[p-1]); k>2 && item[p-1][k] != ' ' && item[p-1][k] != '.'; k--)
+ ;
+ strcpy(author,item[p-1]+k+1);
+ }
+ }
+ else
+ strcpy(author,"Mr.X");
+
+ if (p=test('D'))
+ strcpy(year,item[p-1]+strlen(item[p-1])-2);
+ else
+ strcpy(year,"??");
+
+ if (p=test('P')) {
+ for (i=3; i<strlen(item[p-1]) && (isalpha(item[p-1][i]) && i==3 || isdigit(item[p-1][i])); page[i-3]=item[p-1][i], i++)
+ ;
+ page[i-3]=0;
+ }
+ else
+ strcpy(page,"0");
+
+ if (p=test('K')) /* user provides keyword */
+ fprintf(bib,"@%s{%s%c\n",inputtype[type],item[p-1]+3,ilines>0 ? ',' : ' ');
+ else
+ fprintf(bib,"@%s{%s%s:%s%c\n",inputtype[type],author,year,page,ilines>0 ? ',' : ' ');
+
+ /* special cases: several authors, editors */
+
+ first = !0;
+ strcpy(author,"");
+ if (test('A')) {
+ for (i=0; i<ilines; i++) {
+ if (item[i][1] == 'A') {
+ if (first)
+ first = 0;
+ else
+ strcat(author," and ");
+ strcat(author,item[i]+3);
+ }
+ }
+ fprintf(bib," %s = {%s}%c\n",recordtype[0],author,item[ilines-1][1] != 'A' ? ',' : ' ');
+ }
+
+ first = !0;
+ strcpy(editor,"");
+ if (test('E')) {
+ for (i=0; i<ilines; i++) {
+ if (item[i][1] == 'E') {
+ if (first)
+ first = 0;
+ else
+ strcat(editor," and ");
+ strcat(editor,item[i]+3);
+ }
+ }
+ fprintf(bib," %s = {%s}%c\n",recordtype[4],editor,item[ilines-1][1] != 'E' ? ',' : ' ');
+ }
+
+ /* all other fields */
+
+ for (i=0; i<ilines; i++) {
+ secondchar = item[i][1];
+ if (secondchar == 'A' || secondchar == 'E')
+ continue;
+
+ /* special case: %J in a conference */
+
+ if (secondchar == 'J' && type == conference)
+ strcpy(record,organization);
+
+ /* all other cases */
+
+ else
+ for (j=0; j<ntags; j++)
+ if (secondchar == allowedtag[j]) {
+ strcpy(record,recordtype[j]);
+ break;
+ }
+
+ fprintf(bib," %s = {%s}%c\n",record,item[i]+3,i<ilines-1 ? ',' : ' ');
+ }
+
+ fprintf(bib,"}\n\n");
+}
+
+option(argc,argv,c)
+char **argv,c;
+int argc;
+{ int i,j;
+
+ for (i=1; i<argc; i++)
+ if (argv[i][0] == '-')
+ for (j=1; j<strlen(argv[i]); j++)
+ if (argv[i][j] == c)
+ return(i);
+ return(0);
+}
+
+printitem()
+{ int i;
+
+ for (i=0; i<ilines; i++)
+ printf("%s\n",item[i]);
+ printf("\nitem consisting of %d lines, type = %d\n\n",ilines,type);
+}
+
diff --git a/biblio/tib/src/Makefile b/biblio/tib/src/Makefile
new file mode 100644
index 0000000000..a215681042
--- /dev/null
+++ b/biblio/tib/src/Makefile
@@ -0,0 +1,55 @@
+CC = cc
+CFLAGS = -O
+
+.c.o:
+ $(CC) -c $(CFLAGS) $*.c
+
+DEXo = tibdex.o streams.o makekey.o
+DEXc = tibdex.c streams.c makekey.c
+LOOKo = tiblook.o locate.o seek.o streams.o makekey.o
+LOOKc = tiblook.c locate.c seek.c streams.c makekey.c
+TIBo = tib.o tibargs.o locate.o seek.o streams.o makekey.o
+TIBc = tib.c tibargs.c locate.c seek.c streams.c makekey.c
+LISTo = tiblist.o tibargs.o streams.o makekey.o
+LISTc = tiblist.c tibargs.c streams.c makekey.c
+
+SRCS = \
+ tib.c \
+ tibargs.c \
+ seek.c \
+ tib.h \
+ tibdex.c \
+ tiblist.c \
+ locate.c \
+ tiblook.c \
+ makekey.c \
+ streams.c
+
+all: tibdex tiblook tiblist tib
+
+tibdex: $(DEXo)
+ $(CC) $(CFLAGS) $(DEXo) -o tibdex
+
+tiblook: $(LOOKo)
+ $(CC) $(CFLAGS) $(LOOKo) -o tiblook
+
+tib: $(TIBo)
+ $(CC) $(CFLAGS) $(TIBo) -o tib
+
+tiblist: $(LISTo)
+ $(CC) $(CFLAGS) $(LISTo) -o tiblist
+
+tib.o: tib.h
+tibargs.o: tib.h
+tiblist.o: tib.h
+tibdex.o: tib.h
+locate.o: tib.h
+makekey.o: tib.h
+
+clean:
+ rm -f tib.o tibargs.o tiblist.o tibdex.o tiblook.o
+ rm -f locate.o makekey.o streams.o seek.o
+ rm -f tib.h
+
+veryclean: clean
+ rm -f tib tibdex tiblist tiblook
diff --git a/biblio/tib/src/locate.c b/biblio/tib/src/locate.c
new file mode 100644
index 0000000000..fdd117d9e3
--- /dev/null
+++ b/biblio/tib/src/locate.c
@@ -0,0 +1,217 @@
+#include "stdio.h"
+#include "ctype.h"
+#include "tib.h"
+
+static struct reftype{
+ char reffile[MAXSTR];
+ long int start, length;
+ };
+
+char *malloc();
+char *rindex();
+char *stripkeys();
+int fetchref();
+
+/* locate(keys, name, max_klen, common):
+ Returns a string containing all references pointed to by name
+ that contain all keys in keys. Common is name of common word file.
+ Pointer returned comes from malloc. Use free to return storage.
+ NB A zero length string returned if nothing is found.
+ A NULL pointer indicates an error accessing the file "name".
+*/
+char *locate(keys,name,max_klen,common)
+char *keys, *name, *common;
+int max_klen; /* max key length */
+{ static char oldname[MAXSTR] = ""; /* oldname is name of stream index */
+ static FILE *index = NULL;
+ static long int i_size; /* size of index */
+ static char oldtext[MAXSTR]; /* oldtext is the path to stream */
+ static FILE *text = NULL; /* text. if it is a relative */
+ static int pathlen; /* path, it is relative to index */
+ /* directory. */
+ /* oldname[0..pathlen-1] is index */
+ /* directory */
+ int len;
+ char key[MAXSTR]; /* refs[i] is a line of index for */
+ struct reftype refs[MAXREFS]; /* all keys up to key */
+
+ int refcnt, copied, comp; /* refcnt = # of refs */
+ /* copied = # of refs copied */
+ /* comp = # of refs compared */
+ struct reftype ref;
+ char str[MAXSTR];
+ int more;
+
+ long int ans;
+ int i,j;
+ unsigned total;
+ char *allrefs, *next; /* all refs (separated by null line)*/
+ char *p;
+
+ /* open index */
+ if (strcmp(oldname,name)!=0)
+ { if (index) fclose(index);
+ if (text) fclose(text);
+ strcpy(oldname,name);
+ strcpy(oldtext,"");
+ /* determine pathlen */
+ p= rindex(oldname, '/');
+ if (p!=NULL) pathlen= p-oldname+1;
+ else pathlen= 0;
+
+ index= fopen(oldname,"r");
+ if (index==NULL)
+ { fprintf(stderr, "locate: cannot open %s\n", oldname);
+ strcpy(oldname, "");
+ return(NULL);
+ }
+ else
+ { fseek(index,0L,2); /* seeks last newline */
+ i_size= ftell(index);
+ }
+
+ }
+
+ /* load references to first key */
+ keys= stripkeys(keys,key, max_klen, common);
+ if (*key==NULL)
+ { fprintf(stderr,"locate: no keys for citation\n");
+ allrefs = malloc(1);
+ if (allrefs==NULL)
+ { fprintf(stderr,
+ "locate: insufficient space for references\n");
+ clnup();
+ exit(1);
+ }
+ *allrefs= NULL;
+ return(allrefs);
+ }
+ len= strlen(key);
+ strcat(key," ");
+ alpha_seek(index, key, i_size, 0);
+ key[len]= NULL; /* strip blank off */
+
+ refcnt= 0;
+ fscanf(index,"%s ", str);
+ if (strcmp(str,key) == 0)
+ { str[0]= NULL;
+ while (refcnt < MAXREFS && fetchref(index, str, &ref) )
+ { refs[refcnt]= ref;
+ refcnt++;
+ }
+ }
+
+ if (refcnt==MAXREFS)
+ fprintf(stderr,
+ "locate: first key (%s) matched too many refs\n", key);
+
+ /* intersect the reference sets for remaining keys with first set */
+ while (*keys!=NULL)
+ { keys= stripkeys(keys, key, max_klen, common);
+ if (*key==NULL) continue;
+
+ len= strlen(key);
+ strcat(key," ");
+ alpha_seek(index, key, i_size, 0);
+ key[len]= NULL;
+
+ fscanf(index,"%s ", str);
+ if (strcmp(str,key) != 0) refcnt= 0; /* no matching refs */
+
+ copied= 0; comp= 0; more= fetchref(index, str, &ref);
+ while (comp < refcnt && more)
+ { /* ans= ref-refs[comp] */
+ ans= strcmp(ref.reffile, refs[comp].reffile);
+ if (ans==0) ans= ref.start-refs[comp].start;
+ if (ans==0) ans= ref.length-refs[comp].length;
+ if (ans<0) more= fetchref(index, str, &ref);
+ if (ans==0) { refs[copied]= refs[comp]; comp++; copied++;
+ more= fetchref(index, str, &ref);}
+ if (ans>0) comp++;
+ }
+
+ refcnt= copied;
+ }
+
+ total= 0;
+ for (i=0; i<refcnt; i++) total += refs[i].length+1;
+
+ allrefs= malloc(total+1);
+ if (allrefs==NULL)
+ { fprintf(stderr, "locate: insufficient space for references\n");
+ clnup();
+ exit(1);
+ }
+
+ /* copy refs into allrefs */
+ next= allrefs;
+ for (i=0; i<refcnt; i++)
+ { /* open text */
+ if (strcmp(oldtext,refs[i].reffile) != 0)
+ { strcpy(oldtext,refs[i].reffile);
+ if (oldtext[0]=='/')
+ { /* absolute path */
+ strcpy(str,oldtext);
+ } else
+ { /* relative name */
+ strncpy(str, oldname, pathlen); str[pathlen]= NULL;
+ strcat(str, oldtext);
+ }
+ if (text) fclose(text);
+ text= fopen(str, "r");
+ if (text==NULL)
+ { fprintf(stderr, "locate: cannot open %s\n", str);
+ strcpy(oldtext, "");
+ return(NULL);
+ }
+ }
+ fseek(text, refs[i].start, 0);
+ for (j=0; j<refs[i].length; j++) *next++ = getc(text);
+ *next++ = '\n';
+ }
+ *next = NULL;
+ return(allrefs);
+}
+
+
+
+/* stripkeys(line,key,max_klen, common):
+ assigns to key the first key in line
+ and returns a pointer to the position following the key
+*/
+char *stripkeys(line,key,max_klen,common)
+char *line, *key;
+int max_klen;
+char *common;
+{ char *p;
+
+ do
+ { while (isspace(*line)) line++;
+
+ p= key;
+ while (*line!=NULL && !isspace(*line))
+ { *p++ = *line++;
+ }
+ *p= NULL;
+
+ makekey(key, max_klen, common);
+ } while (*key==NULL && *line!=NULL);
+ return(line);
+}
+
+/* read a reference pair from stream into *ref. if file not given,
+ use oldfile. return 1 if pair found, 0 ow.
+*/
+int fetchref(stream, oldfile, ref)
+FILE *stream;
+char *oldfile;
+struct reftype *ref;
+{ char cntl;
+
+ fscanf(stream, "%c", &cntl);
+ if (cntl=='\n') {return (0);}
+ if (cntl==':') fscanf(stream, "%s", oldfile);
+ strcpy(ref->reffile, oldfile);
+ fscanf(stream, "%D/%D", &ref->start, &ref->length);
+ return(1);
+}
diff --git a/biblio/tib/src/makekey.c b/biblio/tib/src/makekey.c
new file mode 100644
index 0000000000..4940fd60c3
--- /dev/null
+++ b/biblio/tib/src/makekey.c
@@ -0,0 +1,74 @@
+#include "stdio.h"
+#include "ctype.h"
+#include "tib.h"
+
+char commlist[MAXCOMM]= /* list of strings of common words */
+ "";
+int firsttime = 1;
+
+/* makekey(p,max_klen,common): compresses *p into a key
+ folds upper to lower case. ignores non-alphanumeric
+ drops keys of length <= 1.
+ drops words in common (name of file of words, one per line)
+ (first call determines common for all later calls)
+*/
+makekey(p,max_klen,common)
+char *p;
+int max_klen; /* max key length */
+char *common;
+{ register char *from, *to, *stop;
+
+ if (firsttime) {firsttime= 0; load_comm(common); }
+
+ from= p; to= p; stop= max_klen+p;
+ while (*from != NULL && to < stop)
+ { if (islower(*from)) *to++ = *from++;
+ else if (isdigit(*from)) *to++ = *from++;
+ else if (isupper(*from)) { *to++ = tolower(*from); from++; }
+ else from++;
+ }
+ *to= NULL;
+
+ if (to<=p+1 ||
+ lookup(commlist, p) ) *p= NULL;
+}
+
+/* list is a string of null terminated strings, final string is null.
+ p is a null terminated string.
+ return 1 if p is a string in list, 0 ow.
+*/
+int lookup(list,p)
+char *list, *p;
+{ int len;
+ len= strlen(list);
+ while (len!=0 && strcmp(list,p)!=0)
+ { list += (len+1);
+ len= strlen(list);
+ }
+ return(len!=0);
+}
+
+/* read file common into commlist
+*/
+load_comm(common)
+char *common;
+{ FILE *commfile; /* stream of common words */
+ char *p, *stop;
+ commfile= fopen(common,"r");
+ if (commfile==NULL) fprintf(stderr, "cannot open '%s'\n", common);
+ else
+ { /* read commfile into commlist */
+ p= commlist; stop= commlist+MAXCOMM-1;
+ while (p<stop && ((*p= getc(commfile))!=EOF))
+ { if (*p=='\n') *p= NULL;
+ p++;
+ }
+ if (*p==EOF) *p= NULL;
+ else
+ { fprintf(stderr, "invert: too many common words\n");
+ commlist[0]= NULL;
+ }
+ fclose(commfile);
+ }
+}
+
diff --git a/biblio/tib/src/seek.c b/biblio/tib/src/seek.c
new file mode 100644
index 0000000000..71479325fd
--- /dev/null
+++ b/biblio/tib/src/seek.c
@@ -0,0 +1,73 @@
+#include "stdio.h"
+#include "ctype.h"
+#include "tib.h"
+#define nexttry ((high+low)/2)
+#define pos(x) fseek(stream,x,0)
+
+long int nextrecord(), recsize(), nextline();
+
+/* alpha_seek(stream, word, s_size, fold)
+ seeks the first line in stream that is at least word.
+ assumes that stream is a sorted file of lines. (last char must be \n)
+ if fold, assumes that word is lowercase and folds stream to lowercase.
+ s_size = size of stream
+ returns 1 if word = line, 0 o.w.
+*/
+int alpha_seek(stream, word, s_size, fold)
+FILE *stream;
+char *word;
+long int s_size;
+int fold;
+{ long int high, low, mid; /* point to beginning of a line in stream */
+ int ans; /* line(low) < word <= line(high) */
+ char line[MAXSTR];
+
+
+ /* initialize low (return if first line >= word) */
+ low= 0L;
+ pos(low); getline(stream, line);
+ if (fold) foldline(line);
+ ans= strcmp(line,word);
+
+ if ( ans >= 0)
+ { pos(low); return(ans==0); }
+
+ /* initialize high to "line" after last line */
+ high= s_size;
+
+ mid= nextline(stream, nexttry );
+ while (mid < high )
+ { getline(stream,line);
+ if (fold) foldline(line);
+ if (strcmp(line,word) < 0) low= mid;
+ else high= mid;
+ mid= nextline(stream, nexttry );
+ }
+
+ /* linear search from low to high */
+ low= nextline(stream,low);
+ for(;;)
+ { if (low>=high) break;
+
+ getline(stream,line);
+ if (fold) foldline(line);
+ ans=strcmp(line,word);
+
+ if (ans>=0) break;
+ low= ftell(stream);
+ }
+
+ pos(low);
+ if (low==high) return(0);
+ else return(ans==0);
+}
+
+
+/* foldline(p): change all uppercase to lowercase in string p
+*/
+foldline(p)
+char *p;
+{ for (; *p!=NULL; p++)
+ { if (isupper(*p)) *p = tolower(*p);
+ }
+}
diff --git a/biblio/tib/src/streams.c b/biblio/tib/src/streams.c
new file mode 100644
index 0000000000..9fa362c355
--- /dev/null
+++ b/biblio/tib/src/streams.c
@@ -0,0 +1,136 @@
+#include "stdio.h"
+#include "ctype.h"
+#include "tib.h"
+#define pos(x) fseek(stream,x,0)
+
+long int nextrecord(), recsize(), nextline();
+
+/* getword(stream,p,ignore):
+ read next sequence of nonspaces on current line into *p.
+ null if no more words on current line.
+ %x (x in ignore) terminates line.
+ all words of the form %a are returned as null.
+ *p is a null terminated string (char p[MAXSTR]).
+*/
+getword(stream,p,ignore)
+FILE *stream;
+char *p, *ignore;
+{ char c;
+ char *oldp, *stop;
+
+ oldp= p;
+ stop= p+MAXSTR-1;
+ do{ c= getc(stream);
+ } while (isspace(c) && c!='\n');
+
+ while (!isspace(c))
+ { *p= c;
+ if (p < stop) p++;
+ c= getc(stream);
+ }
+ *p= NULL;
+
+ if (oldp[0]=='%')
+ { oldp[0]= NULL;
+ if (index(ignore, oldp[1]) != NULL)
+ while (c!='\n') c=getc(stream);
+ }
+}
+
+
+
+/* recsize(stream,start):
+ returns length of record beginning at start
+ (record ends at blank line or eof)
+ assumes and retains stream positioned at start
+*/
+long int recsize(stream,start)
+FILE *stream;
+long int start;
+{ char c; /* length = # of chars from start to beginning */
+ long int length; /* of current line. c in current line. */
+ int nonspaces; /* nonspaces = # of nonspaces in current line. */
+
+ nonspaces= 0;
+ c= getc(stream);
+ length= 0L;
+
+ while ( (c!='\n' || nonspaces!=0) && c!=EOF)
+ { if (c=='\n')
+ { length= ftell(stream)-start;
+ nonspaces= 0;
+ }
+ else if (!isspace(c)) nonspaces++;
+
+ c= getc(stream);
+ }
+
+ pos(start);
+ return(length);
+}
+
+
+/* nextrecord(stream,x): seeks in stream for first non-blank line
+ at or after char x in stream. seeks to eof if x is past last record.
+ x is the index of a character in the file (not eof).
+ returns position in stream. (returns EOF, if seeks to EOF)
+*/
+long int nextrecord(stream,x)
+FILE *stream;
+long int x;
+{ long int start; /* position of the beginning of the line */
+ char c; /* containing c */
+
+ pos(x);
+ start= x;
+ /* find start of first non-blank record */
+ for(;;)
+ { c= getc(stream);
+ if (c=='\n') start= ftell(stream);
+ else if (!isspace(c)) break;
+ }
+
+ if (feof(stream)) { pos(start); start= EOF; }
+ else pos(start);
+ return(start);
+}
+
+/* nextline(stream,x): seeks in stream after first newline at or after
+ char x in stream. seeks to eof if x is in last line.
+ x is the index of a character in the file (not eof).
+ returns position in stream
+*/
+long int nextline(stream,x)
+FILE *stream;
+long int x;
+{ char c;
+
+ pos(x);
+ do {
+ c = getc(stream);
+ } while ((c != '\n') && (c != EOF)) ;
+ return(ftell(stream));
+}
+
+/* printline(stream): copies stream up to a newline
+*/
+printline(stream)
+FILE *stream;
+{ char c;
+ while ((c=getc(stream)) != '\n' && c!=EOF) putchar(c);
+ putchar('\n');
+}
+
+/* getline(stream,p): store in *p next chars in stream up to \n
+ advance stream past \n.
+ limit of MAXSTR-1 chars may be stored at p.
+*/
+getline(stream,p)
+FILE *stream;
+char *p;
+{ char *stop;
+ stop= p+MAXSTR-1;
+ while ( (*p= getc(stream)) != '\n' && *p!=EOF)
+ if (p<stop) p++;
+ *p= NULL;
+}
diff --git a/biblio/tib/src/tib.c b/biblio/tib/src/tib.c
new file mode 100644
index 0000000000..fe448c10fe
--- /dev/null
+++ b/biblio/tib/src/tib.c
@@ -0,0 +1,775 @@
+/*
+ Tib - TeX bibliographic formatter
+
+ Written by J.C. Alexander, University of Maryland
+ based on "bib," a troff formatter,
+ written by Tim Budd, University of Arizona. */
+
+#include <stdio.h>
+#include <ctype.h>
+#include "tib.h"
+
+#define getch(c,fd) (c = getc(fd))
+#define echoc(c,ifd,ofd) (getch(c,ifd) == EOF ? c : putc(c,ofd))
+#define testc(c,d,ifd,ofd) (getch(c, ifd) == d ? putc(c, ofd) : 0)
+
+/* global variables */
+ FILE *rfd; /* reference temporary file */
+ char reffile[120]; /* temporary file (see tib.h) */
+ long int refspos[MAXREFS]; /* reference seek positions */
+ int unlmark[MAXREFS]; /* underline flags */
+ long int rend = 1; /* last position in rfd (first char unused)*/
+ int numrefs = -1; /* number of references generated so far */
+ FILE *tfd; /* output of pass 1 of file(s) */
+ char tmp_file[120]; /* output of pass 1 */
+ char common[] = COMFILE; /* common word file */
+ char *citestr[MAXREFS]; /* citation strings */
+ int findex = false; /* can we read the file INDEX ? */
+
+/* global variables in tibargs */
+ extern int foot, sort, personal, underline, silent, loccit, ibidflag[];
+ extern int hyphen, ordcite, biblineno, stndout, locflag[], optch2[], c0;
+ extern int inputflag;
+ extern char sortstr[], pfile[], citetemplate[], bibfname[], dirsp2[];
+ extern char suffix[];
+
+main(argc, argv)
+ int argc;
+ char **argv;
+{ int rcomp1();
+ FILE *ofd; /* output file */
+ char *outname;
+ char *outfname(), *getenv(), *pcom, *pdefst, *ptemp;
+ int undrline();
+ char headerline[240];
+ char *indx = INDXFILE;
+ char *tfgets(), argchk[3];
+ int i, strcmp(), clnup();
+
+ /* header */
+ for (i = 1; i < argc; i++) {
+ strcpy(argchk,OPTCH);
+ strcat(argchk,"z");
+ if (strcmp(argv[i],argchk) == 0)
+ silent = true;
+ strcpy(argchk,OPTCH);
+ strcat(argchk,"|");
+ if (strcmp(argv[i],argchk) == 0)
+ silent = true;
+ }
+ if (silent == false)
+ fprintf (stderr, "Tib -- version %s, released %s.\n", VERSION, RDATE);
+
+ /* the file INDEX in the current directory is the default index,
+ if it is present */
+
+ rfd = fopen( INDXFILE , "r");
+ if (rfd != NULL) {
+ findex = true;
+ tfgets(headerline,240,rfd);
+ fclose(rfd);
+ chkindex(indx, headerline, false);
+ }
+
+ /* get file names from environment */
+
+ pcom = getenv("COMFILE");
+ if (pcom != NULL)
+ strcpy(common,pcom);
+ ptemp = getenv("TMPDIR");
+ if (ptemp != NULL) {
+ strcpy(reffile,ptemp);
+ strcat(reffile,dirsp2);
+ strcat(reffile,"tibrXXXXXX");
+ strcpy(tmp_file,ptemp);
+ strcat(tmp_file,dirsp2);
+ strcat(tmp_file,"tibpXXXXXX");
+ }
+ else {
+ strcat(reffile,TMPREFFILE);
+ strcat(tmp_file,TMPTEXTFILE);
+ }
+
+ /* open temporaries, reffile will contain references collected in
+ pass 1, and tmp_file will contain text. */
+
+ mktemp(reffile);
+ rfd = fopen(reffile,"w+");
+ if (rfd == NULL)
+ error("can't open temporary reference file");
+ putc('x', rfd); /* put garbage in first position (not used) */
+ mktemp(tmp_file);
+ tfd = fopen(tmp_file,"w");
+ if (tfd == NULL)
+ error("can't open temporary output file");
+
+ /*
+ pass1 - read files, looking for citations
+ arguments are read by doargs (tibargs.c)
+ */
+
+ pdefst = getenv("DEFSTYLE");
+ if (pdefst == NULL) {
+ if (doargs(argc, argv, DEFSTYLE ) == 0) {
+ strcpy(bibfname, "<stdin>");
+ rdtext(stdin);
+ }
+ }
+ else {
+ if (doargs(argc, argv, pdefst ) == 0) {
+ strcpy(bibfname, "<stdin>");
+ rdtext(stdin);
+ }
+ }
+
+ /*
+ sort references, make citations, add disambiguating characters
+ */
+
+ if (silent == 0)
+ fprintf(stderr, "Processing citations ...\n");
+ if (sort)
+ qsort(refspos, numrefs+1, sizeof(long), rcomp1);
+ makecites(citestr);
+ if (underline)
+ undrline();
+ if (citetemplate[0] != '0')
+ disambiguate();
+
+ /*
+ reopen temporaries
+ */
+
+ fclose(tfd);
+ tfd = fopen(tmp_file,"r");
+ if (tfd == NULL)
+ error("can't open temporary output file for reading");
+
+ /*
+ pass 2 - reread files, replacing references
+ */
+
+ if (stndout == true && bibfname != "<stdin>")
+ pass2(tfd, stdout);
+ else {
+ outname = outfname (bibfname);
+ ofd = fopen (outname, "w");
+ if (ofd == NULL) {
+ fprintf(stderr,"can't open %s\n", outname);
+ clnup();
+ exit(1);
+ }
+ else {
+ if (silent == 0)
+ fprintf(stderr, "Writing output file ...\n");
+ pass2 (tfd, ofd);
+ fprintf(ofd,"\n");
+ fclose (ofd);
+ fprintf (stderr,"Output of tib in %s.\n", outname);
+ }
+
+ }
+ fclose(tfd);
+ fclose(rfd);
+ clnup();
+ exit(0);
+}
+
+ /* clean up */
+ clnup()
+{
+ unlink(tmp_file);
+ unlink(reffile);
+ return;
+}
+/* getwd - get the next 'word' (terminated by non-alpha) from a file */
+char *
+ getwd(fd,getwdflag)
+ FILE *fd;
+ int getwdflag;
+ /* The next word is terminated by non-alpha if getwdflag = 0,
+ by whitespace if getwdflag != 0 */
+ /* The result is returned in str. */
+{ char c;
+ char str[120], *pstr;
+ int bracketflag; /* 1 if file name is enclosed in brackets */
+
+ bracketflag = 0;
+ pstr = str;
+ *pstr = NULL;
+
+ getch(c,fd);
+ if (getwdflag == 0) {
+ while (isalpha(c) != 0) {
+ *pstr++ = c;
+ getch(c,fd);
+ }
+ }
+ else {
+ while (c == ' '
+ || c == '\n'
+ || c == '\t'
+ || c == '\%'
+ || c == '{'
+ || c == EOF) {
+ if (c == EOF)
+ error("end of file after \\input");
+ if (c == '{') bracketflag = 1;
+ if (c == '\n') biblineno++;
+ if (c == '\%') {
+ while (c != '\n') getch(c,fd);
+ ungetc(c,fd);
+ }
+ getch(c,fd);
+ }
+ if (bracketflag == 0) {
+ while (c != ' '
+ && c != '\n'
+ && c != '\t'
+ && c != EOF) {
+ *pstr++ = c;
+ getch(c,fd);
+ }
+ }
+ else {
+ while (c != '}') {
+ if (c == EOF
+ || c == '\n'
+ || c == '\%') error("no right brackets on \\input file name");
+ *pstr++ = c;
+ getch(c,fd);
+ while (c == ' ' || c == '\t') getch(c,fd);
+ }
+ }
+ }
+ *pstr = NULL;
+ if (bracketflag == 0)
+ ungetc(c,fd); /* put the first char after wd back */
+ return(str);
+}
+
+/* rdtext - read and process a text file, looking for [. commands */
+ rdtext(fd)
+ FILE *fd;
+{ char lastc, c, d;
+ char cmd[120], *getwd();
+ char lastlc;
+ int sortdefs();
+ int percentflag; /* is there % so far on line? */
+ int putback;
+ int fctr = 0; /* count of input/include files in stack */
+ FILE *fstack[32]; /* stack of input/include files */
+ char fnm[32][120]; /* stack of input/include files names */
+ char bibfnamet[120]; /* temporary file name */
+ int biblinenostack[32]; /* stack of line numbers */
+
+ sortdefs();
+ lastc = '\0';
+ lastlc = '\0';
+ percentflag = false;
+ biblineno = 1;
+ fprintf(tfd,"%cmessage {DOCUMENT TEXT}\n",'\\');
+ while (getch(c, fd) != EOF || fctr != 0) {
+ if (c == EOF && fctr != 0) { /* pop file from stack */
+ fprintf(tfd,"%c",lastc);
+ fclose(fd);
+ strcpy(bibfnamet, bibfname);
+ strcpy(bibfname, fnm[--fctr]);
+ biblineno = biblinenostack[fctr];
+ fd = fstack[fctr];
+ fprintf(stderr, "... processing of %s complete, returning to %s ...\n", bibfnamet, bibfname);
+ fprintf(tfd,"\\message{)}%%");
+ c = NULL;
+ }
+
+ if (c == '\\' && percentflag == false && inputflag == true) {
+ if (lastc != NULL) putc(lastc,tfd);
+ strcpy(cmd,getwd(fd,0));
+ if (strcmp(cmd,"input")==0) {
+ /* found an input file */
+ strcpy(fnm[fctr], bibfname); /* push current file */
+ biblinenostack[fctr] = biblineno;
+ biblineno = 1;
+ if (fctr == 32)
+ error("\\input files nested too deeply");
+ fstack[fctr++] = fd;
+ strcpy(bibfname,getwd(fd,1)); /* get new file name */
+ putback = false;
+ fd = fopen(bibfname,"r");
+ if (fd == NULL) { /* file not found; */
+ strcpy(bibfnamet,bibfname); /* try adding .tex */
+ strcat(bibfname,suffix);
+ fd = fopen(bibfname,"r");
+ if (fd == NULL) { /* still can't be found; */
+ strcpy(bibfname, fnm[--fctr]); /* pop file */
+ fd = fstack[fctr];
+ biblineno = biblinenostack[fctr];
+ if (stndout == false && silent == false)
+ fprintf (stderr, "'%s', line %d: unable to locate %s, assuming it has no references\n", bibfname, biblineno, bibfnamet);
+ putback = true;
+ }
+ }
+ if (putback == false) {
+ if (stndout == false && silent == false)
+ fprintf(stderr, "Reading input document file %s and looking up references ...\n", bibfname);
+ fprintf(tfd,"\\message{(%s input by Tib}%%\n", bibfname);
+ }
+ else {
+ fprintf(tfd,"%c",'\\'); /* pass chars on to */
+ fprintf(tfd,"%s",cmd); /* output file */
+ fprintf(tfd,"%c",' ');
+ fprintf(tfd,"%s",bibfnamet);
+ putback = false;
+ }
+ }
+ else { /* this is just text; */
+ fprintf(tfd,"%c",'\\'); /* pass it to the file */
+ fprintf(tfd,"%s",cmd);
+ }
+ c = NULL;
+ lastc = NULL;
+ }
+
+ if (c == '\%')
+ if (percentflag == false)
+ if (lastc != '\\') {
+ percentflag = true;
+ if (isalpha(lastc) == 0)
+ if (lastc != '\n')
+ if (lastc != '\0')
+ if (lastc != ']')
+ if (lastc != '>') {
+ lastlc = lastc;
+ lastc = '\0';
+ }
+ }
+ if ((c == '[' || c == '<') && lastc != '\\')
+ if (getch(d, fd) == '.') { /* found a reference */
+ if (c == '<') { if (lastc) fprintf(tfd,"%c",lastc);}
+ else
+ switch (lastc) {
+ case '\0':
+ case ' ': fprintf(tfd,"%cLspace ",'\\'); break;
+ case '.': fprintf(tfd,"%cLperiod ",'\\'); break;
+ case ',': fprintf(tfd,"%cLcomma ",'\\'); break;
+ case '?': fprintf(tfd,"%cLquest ",'\\'); break;
+ case ':': fprintf(tfd,"%cLcolon ",'\\'); break;
+ case ';': fprintf(tfd,"%cLscolon ",'\\'); break;
+ case '!': fprintf(tfd,"%cLbang ",'\\'); break;
+ case '\'': fprintf(tfd,"%cLquote ",'\\'); break;
+ case '"': fprintf(tfd,"%cLqquote ",'\\'); break;
+ case '`': fprintf(tfd,"%cLrquote ",'\\'); break;
+ default: fprintf(tfd,"%c",lastc); break;
+ }
+ rdcite(fd, c);
+ if (c == '[')
+ switch (lastc) {
+ case '\0': break;
+ case ' ': fprintf(tfd,"%cRspace{}",'\\'); break;
+ case '\n': fprintf(tfd,"%cRspace{}",'\\'); break;
+ case '.': fprintf(tfd,"%cRperiod{}",'\\'); break;
+ case ',': fprintf(tfd,"%cRcomma{}",'\\'); break;
+ case '?': fprintf(tfd,"%cRquest{}",'\\'); break;
+ case ':': fprintf(tfd,"%cRcolon{}",'\\'); break;
+ case ';': fprintf(tfd,"%cRscolon{}",'\\'); break;
+ case '!': fprintf(tfd,"%cRbang{}",'\\'); break;
+ case '\'': fprintf(tfd,"%cRquote{}",'\\'); break;
+ case '"': fprintf(tfd,"%cRqquote{}",'\\'); break;
+ case '`': fprintf(tfd,"%cRrquote{}",'\\'); break;
+ }
+ lastc = '\0';
+ }
+ else {
+ if (lastc != '\0') putc(lastc, tfd);
+ ungetc(d, fd);
+ lastc = c;
+ }
+ else {
+ if (lastc != '\0') putc(lastc, tfd);
+ lastc = c;
+ if (c == '\n' || c == EOF) {
+ biblineno++;
+ percentflag = false;
+ if (lastlc != '\0') {
+ putc(c,tfd);
+ getch(d, fd);
+ if (d == ' ' || d == '\n' || d == '\t' || d == '\%'
+ || d == '.') {
+ ungetc(d, fd);
+ putc(lastlc,tfd);
+ lastlc = '\0';
+ putc('\%',tfd);
+/* putc('\n',tfd); */
+ }
+ else {
+ ungetc(d, fd);
+ lastc = lastlc;
+ lastlc = '\0';
+ }
+ }
+ }
+ }
+ }
+ if (lastc != '\0') putc(lastc, tfd);
+}
+
+/* rdcite - read citation information inside a [. command */
+ rdcite(fd, ch)
+ FILE *fd;
+ char ch;
+{ long int n, getref();
+ char huntstr[HUNTSIZE], c, info[HUNTSIZE], footch[2], c0ch[2];
+
+ if (foot)
+ strcpy(footch,"\n");
+ else
+ strcpy(footch,"");
+ if (c0)
+ strcpy(c0ch,"\n");
+ else
+ strcpy(c0ch,"");
+ if (ch == '[')
+ fprintf(tfd,"%cLcitemark ", '\\');
+ else
+ fprintf(tfd,"%cLAcitemark ", '\\');
+ huntstr[0] = info[0] = 0;
+ while (getch(c, fd) != EOF)
+ switch (c) {
+ case ',':
+ n = getref(huntstr);
+ if (n > 0)
+ fprintf(tfd, "%c%ld%c%s%c", CITEMARK, n, CITEMARK, info,
+ CITEEND);
+ else
+ fprintf(tfd, "%c0%c%s%s%c", CITEMARK, CITEMARK,
+ huntstr, info, CITEEND);
+ huntstr[0] = info[0] = 0;
+ break;
+
+ case '.':
+ while (getch(c, fd) == '.') ;
+ if (c == ']') {
+ n = getref(huntstr);
+ if (n > 0) {
+ fprintf(tfd, "%c%ld%c%s%c%s%cRcitemark %s", CITEMARK, n,
+ CITEMARK, info, CITEEND, c0ch,'\\',footch);
+/* if (foot) {
+ getch(c, fd);
+ if (c == ' '|| c== '\n')
+ fprintf(tfd, "%c ", '\\');
+ else
+ putc(c, tfd);
+ fprintf(tfd, "\n");
+ }*/
+ }
+ else {
+ fprintf(tfd, "%c0%c%s%s%c%s%cRcitemark%s ", CITEMARK, CITEMARK,
+ huntstr, info, CITEEND,c0ch, '\\',footch);
+/* if (foot) {
+ getch(c, fd);
+ if (c == ' '|| c== '\n')
+ fprintf(tfd, "%c ", '\\');
+ else
+ putc(c, tfd);
+ fprintf(tfd, "\n");
+ }*/
+ }
+ return;
+ }
+ else if (c == '>') {
+ n = getref(huntstr);
+ if (n > 0) {
+ fprintf(tfd, "%c%ld%c%s%c%s%cRAcitemark{}%s", CITEMARK, n,
+ CITEMARK, info, CITEEND,c0ch,'\\',footch);
+ }
+ else {
+ fprintf(tfd, "%c0%c%s%s%c%s%cRAcitemark{}%s", CITEMARK,
+ CITEMARK,huntstr, info, CITEEND,c0ch,'\\',footch);
+ }
+ return;
+ }
+ else
+ addc(huntstr, c);
+ break;
+
+ case '<':
+ strcat(info, "\\LIcitemark{}");
+ while (getch(c, fd) != '>')
+ if (c == EOF) {
+ fprintf(stderr, "Error: ill formed reference\n");
+ clnup();
+ exit(1);
+ }
+ else
+ addc(info, c);
+ strcat(info, "\\RIcitemark ");
+ break;
+
+ case '\n':
+ biblineno++;
+ case '\t':
+ c = ' '; /* fall through */
+
+ default:
+ addc(huntstr,c);
+ }
+ error("end of file reading citation");
+}
+
+/* addc - add a character to hunt string */
+ addc(huntstr, c)
+ char huntstr[HUNTSIZE], c;
+{ int i;
+
+ i = strlen(huntstr);
+ if (i > HUNTSIZE)
+ error("citation too long");
+ huntstr[i] = c;
+ huntstr[i+1] = 0;
+}
+
+/* getref - if an item was already referenced, return its pointer in
+ the reference file, otherwise create a new entry */
+ long int getref(huntstr)
+ char huntstr[HUNTSIZE];
+{ char rf[REFSIZE], ref[REFSIZE], *r, *hunt();
+ int i, match(), getwrd();
+
+ r = hunt(huntstr);
+ if (r != NULL) {
+ /* expand defined string */
+ strcpy(rf, r);
+ free(r);
+ expnd2(rf);
+
+ /* see if reference has already been cited */
+
+ if (foot == false)
+ for (i = 0; i <= numrefs; i++) {
+ rdref(refspos[i], ref);
+ if (strcmp(ref, rf) == 0)
+ return(refspos[i]);
+ }
+
+ if (loccit) {
+ ibidflag[numrefs+1] = false;
+ locflag[numrefs+1] = false;
+ for (i = 0; i <= numrefs; i++) {
+ rdref(refspos[i], ref);
+ if (strcmp(ref, rf) == 0) {
+ locflag[numrefs+1] = true;
+ break;
+ }
+ }
+ rdref(refspos[numrefs], ref);
+ if (strcmp(ref, rf) == 0)
+ ibidflag[numrefs+1] = true;
+ }
+
+ /* didn't match any existing reference, create new one */
+
+ numrefs++;
+ refspos[numrefs] = rend;
+#ifdef READWRITE
+ fixrfd( WRITE ); /* fix access mode of rfd, if nec. */
+#else
+ fseek(rfd, rend, 0); /* go to end of rfd */
+#endif
+ i = strlen(rf) + 1;
+ fwrite(rf, 1, i, rfd);
+ rend = rend + i;
+ return(refspos[numrefs]);
+ }
+ else {
+ bibwarning("no reference matching %s\n", huntstr);
+ return( (long) -1 );
+ }
+}
+
+/* hunt - hunt for reference from either personal or system index */
+ char *hunt(huntstr)
+ char huntstr[];
+{ char *fhunt(), *r, *p, *q, fname[120];
+ char *getenv(), *pindx;
+
+ if (personal) {
+ for (p = fname, q = pfile; ; q++)
+ if (*q == ',' || *q == 0) {
+ *p = 0;
+ if ((r = fhunt(fname, huntstr)) != NULL)
+ return(r);
+ else if (*q == 0)
+ break;
+ p = fname;
+ }
+ else *p++ = *q;
+ }
+ else if (findex) {
+ if ((r = fhunt( INDXFILE , huntstr)) != NULL)
+ return(r);
+ }
+ pindx = getenv("SYSINDEX");
+ if (pindx == NULL) {
+ if ((r = fhunt(SYSINDEX , huntstr)) != NULL)
+ return(r);
+ }
+ else {
+ if ((r = fhunt(pindx , huntstr)) != NULL)
+ return(r);
+ }
+ return(NULL);
+}
+
+/* fhunt - hunt from a specific file */
+ char *fhunt(file, huntstr)
+ char file[], huntstr[];
+{ char *p, *r, *locate();
+
+ r = locate(huntstr, file, 6, common);
+
+ if (r == NULL)
+ return(NULL); /* error */
+ if (*r == 0)
+ return(NULL); /* no match */
+
+ for (p = r; *p; p++)
+ if (*p == '\n')
+ if (*(p+1) == '\n') { /* end */
+ if (*(p+2) != 0)
+ bibwarning("multiple references match %s\n",huntstr);
+ *(p+1) = 0;
+ break;
+ }
+ else if (*(p+1) != '%' && *(p+1) != '.') /* unnecessary newline */
+ *p = ' ';
+ return(r);
+}
+
+/* putrefs - gather contiguous references together, sort them if called
+ for, hyphenate if necessary, and dump them out */
+int putrefs(ifd, ofd, footrefs, fn)
+FILE *ifd, *ofd;
+int fn, footrefs[];
+{ int citenums[MAXATONCE]; /* reference numbers */
+ char *citeinfo[MAXATONCE]; /* reference information */
+ char infoword[HUNTSIZE]; /* information line */
+ int rtop, n, i, j; /* number of citations being dumped */
+ char c, *p, *walloc();
+
+/* first gather contiguous references together, and order them if
+ required */
+
+ rtop = -1;
+ do {
+ n = 0;
+ while (isdigit(getch(c, ifd)))
+ n = 10 * n + (c - '0');
+ if (c ^= CITEMARK)
+ error("inconsistant citation found in pass two");
+ if (n == 0) { /* reference not found */
+ rtop++;
+ j = rtop;
+ citenums[j] = -1;
+ citeinfo[j] = 0;
+ }
+ else {
+ for (i = 0; i <= numrefs; i++)
+ if (refspos[i] == n) { /* its the ith item in reference list */
+ rtop++;
+ j = rtop;
+ if (ordcite)
+ for ( ; j > 0 && citenums[j-1] > i; j--) {
+ citenums[j] = citenums[j-1];
+ citeinfo[j] = citeinfo[j-1];
+ }
+ citenums[j] = i;
+ citeinfo[j] = 0;
+ break;
+ }
+ if (i > numrefs)
+ error("citation not found in pass two");
+ }
+ if (getch(c, ifd) != CITEEND) {
+ for (p = infoword; c != CITEEND ; ) {
+ *p++ = c;
+ getch(c, ifd);
+ }
+ *p = 0;
+ citeinfo[j] = walloc(infoword);
+ }
+ getch(c, ifd);
+ } while (c == CITEMARK);
+ ungetc(c, ifd);
+
+ /* now dump out values */
+ for (i = 0; i <= rtop; i++) {
+ if (citenums[i] >= 0)
+ fputs(citestr[citenums[i]], ofd);
+ if (citeinfo[i]) {
+ fputs(citeinfo[i], ofd);
+ free(citeinfo[i]);
+ }
+ if (hyphen) {
+ for (j = 1; j + i <= rtop && citenums[i+j] == citenums[i] + j; j++);
+ if (j + i > rtop) j = rtop;
+ else j = j + i - 1;
+ }
+ else
+ j = i;
+ if (j > i + 1) {
+ fputs("\\Citehyphen ", ofd);
+ i = j - 1;
+ }
+ else if (i != rtop)
+ if (!c0) fputs("\\Citecomma\n", ofd);
+ if ((foot) || (c0)) {
+ fn++;
+ footrefs[fn] = citenums[i];
+ }
+ }
+ return(fn);
+}
+
+/* pass2 - read pass 1 files entering citation */
+ pass2(ifd, ofd)
+ FILE *ifd, *ofd;
+{
+ char c, d, e;
+ int i, fn, footrefs[25], dumped;
+
+ fn = -1;
+ if ((foot) || (c0)) dumped = true;
+ else dumped = false;
+ while (getch(c, ifd) != EOF) {
+ while (c == '\n') {
+ putc(c, ofd);
+ if (((foot) || (c0)) && fn >= 0) {
+ for (i = 0; i <= fn; i++)
+ dumpref(footrefs[i], ofd);
+ fn = -1;
+ }
+ if (getch(c,ifd) != '.')
+ ;
+ else if (getch(d,ifd) != '[')
+ ungetc(d,ifd);
+ else if (getch(e,ifd) != ']') {
+ ungetc(e,ifd);
+ ungetc(d,ifd);}
+ else if ((foot == false) && (c0 == false)) {
+ while (echoc(c, ifd, ofd) != '\n')
+ ;
+ dumped = true;
+ fprintf(ofd,"\\message{REFERENCE LIST}\n\n");
+ for (i = 0; i <= numrefs; i++)
+ dumpref(i, ofd);
+ getch(c, ifd);
+ }
+ }
+ if (c == CITEMARK)
+ fn = putrefs(ifd, ofd, footrefs, fn);
+ else if (c != EOF)
+ putc(c, ofd);
+ }
+ if (dumped == false)
+ bibwarning("Warning: reference list not made -- .[] not encountered\n","");
+}
diff --git a/biblio/tib/src/tibargs.c b/biblio/tib/src/tibargs.c
new file mode 100644
index 0000000000..2d367df10e
--- /dev/null
+++ b/biblio/tib/src/tibargs.c
@@ -0,0 +1,1876 @@
+/*
+ tibargs
+
+ read argument strings for tib and tiblist
+ do name formatting, printing lines, other actions common to both
+
+ */
+#include <stdio.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "tib.h"
+
+/* global variables */
+ char bibfname[120]; /* file name currently being read */
+ int biblineno; /* line number currently being referenced */
+ int abbrev = false; /* automatically abbreviate names */
+ int capsmcap = false; /* print names in caps small caps (CACM form)*/
+ int numrev = 0; /* number of authors names to reverse */
+ int edabbrev = false; /* abbreviate editors names ? */
+ int edcapsmcap = false; /* print editors in cap small caps */
+ int ednumrev = 0; /* number of editors to reverse */
+ int sort = false; /* sort references ? (default no) */
+ int foot = false; /* footnoted references ? (default endnotes) */
+ int c0 = false; /* references in text ? (default no) */
+ int hyphen = false; /* hypenate contiguous references */
+ int ordcite = true; /* order multiple citations */
+ int specflag = false; /* use special flags */
+ int loccit = false; /* use ibid and loccit in footnotes */
+ int onepage = false; /* print only first page of reference */
+ int underline = false; /* underline multiple references */
+ int silent = false; /* run silently */
+ int stndout = false; /* output on stdout */
+ int inputflag = false; /* process input/include files */
+ char sortstr[80] = "1"; /* sorting template */
+ char trailstr[80] = ""; /* trailing characters to output */
+ char pfile[120]; /* private file name */
+ char dirname[120] =""; /* private directory name */
+ int personal = false; /* personal file given ? (default no) */
+ char citetemplate[80] = "1"; /* citation template */
+ char *words[MAXDEFS]; /* defined words */
+ char *defs[MAXDEFS]; /* defined word definitions */
+ long int defpos[MAXDEFS]; /* position of defined words */
+ long int link[MAXDEFS]; /* link for linking defined words on input */
+ long int jtop = 0; /* entry for linked list */
+ long int wordtop = -1; /* top of defined words array */
+ int locflag[MAXREFS]; /* loc cit ? */
+ int ibidflag[MAXREFS]; /* ibid ? */
+ char dirsp2[]=DIRSEP; /* directory separator character */
+ char optch2[]=OPTCH; /* option character on program calls */
+ char suffix[5] = ".tex"; /* for appending to file names */
+ int startflag = 1; /* starting count of Flags */
+
+/* where output goes */
+ extern FILE *tfd;
+/* reference file information */
+ extern long int refspos[];
+ extern int unlmark[];
+ extern char reffile[];
+ extern FILE *rfd;
+ extern char *citestr[];
+ extern int numrefs;
+
+/* doargs - read command argument line for both tib and tiblist
+ set switch values
+ call rdtext on file arguments, after dumping
+ default style file if no alternative style is given
+*/
+ int doargs(argc, argv, defstyle)
+ int argc;
+ char **argv, defstyle[];
+{ int numfiles, i, style;
+ char bibfnamet[120];
+ int pipeflag = false;
+ int fileflag = false;
+ char *p, *q, *walloc();
+ FILE *fd, *np;
+ char headerline[240], fname[240];
+ char *tfgets(), *ptmac, *getenv();
+
+ if (silent == false)
+ fprintf(stderr, "Processing format commands ...\n");
+ numfiles = 0;
+ style = true;
+ ptmac = getenv("TMACLIB");
+ if (ptmac == NULL)
+ ptmac = TMACLIB;
+ words[0] = walloc("TMACLIB");
+ strcpy(headerline,ptmac);
+ strcat(headerline,dirsp2);
+ defs[0] = walloc(headerline);
+ wordtop++;
+ link[0] = -1;
+ fprintf(tfd, "%cmessage {REFERENCE FORMATTING FILES:}\n", '\\');
+ fprintf(tfd, "%cdef%cTMACLIB{%s%c}\n", '\\', '\\', ptmac, dirsp2[0]);
+ fprintf(tfd, "%cinput %cTMACLIB Macros.ttx\n", '\\', '\\');
+
+ for (i = 1; i < argc; i++)
+ if (argv[i][0] == optch2[0] && argv[i][1] == 'd') {
+ if (argv[i][2])
+ p = &argv[i][2];
+ else { /* take next arg */
+ i++;
+ if (i == argc) {
+ fprintf(stderr,"command line: illegal switch %s\n", argv[i-1]);
+ clnup();
+ exit(1);
+ }
+ p = argv[i];
+ }
+ strcpy(dirname,p);
+ break;
+ }
+
+ for (i = 1; i < argc; i++)
+ if (argv[i][0] == optch2[0]) {
+ switch(argv[i][1]) {
+
+ case 'd': if (argv[i][2])
+ p = &argv[i][2];
+ else { /* take next arg */
+ i++;
+ if (i == argc) {
+ fprintf(stderr,
+ "command line: illegal switch %s\n", argv[i-1]);
+ clnup();
+ exit(1);
+ }
+ p = argv[i];
+ }
+ strcpy(dirname,p);
+ break;
+
+ case 'j': inputflag = true;
+ break;
+
+ case 'n': if (argv[i][2])
+ startflag = atoi(&argv[i][2]);
+ else { /* take next arg */
+ i++;
+ if (i == argc) {
+ fprintf(stderr,
+ "command line: illegal switch %s\n", argv[i-1]);
+ clnup();
+ exit(1);
+ }
+ startflag = atoi(argv[i]);
+ }
+ break;
+
+ case 'p': if (argv[i][2])
+ p = &argv[i][2];
+ else { /* take next arg */
+ i++;
+ if (i == argc) {
+ fprintf(stderr,
+ "command line: illegal switch %s\n", argv[i-1]);
+ clnup();
+ exit(1);
+ }
+ p = argv[i];
+ }
+ strcpy(pfile, p);
+ personal = true;
+ for (p = fname, q = pfile; ; q++)
+ if (*q == ',' || *q == 0) {
+ *p = 0;
+ np = fopen( fname, "r");
+ if (np == NULL) {
+ fprintf(stderr, "Can't open index %s\n",fname);
+ clnup();
+ exit(1);
+ }
+ else {
+ tfgets(headerline,240,np);
+ fclose(np);
+ chkindex(fname, headerline, true);
+ }
+ if (*q == 0)
+ break;
+ p = fname;
+ }
+ else *p++ = *q;
+ break;
+
+ case 's': style = false; /*fall through*/
+ case 'i': if (argv[i][2])
+ p = &argv[i][2];
+ else { /* take next arg */
+ i++;
+ if (i == argc) {
+ fprintf(stderr,
+ "command line: illegal switch %s\n", argv[i-1]);
+ clnup();
+ exit(1);
+ }
+ p = argv[i];
+ }
+ incfile(p);
+ break;
+
+ case 'x': stndout = true;
+ break;
+
+ case 'z': silent = true;
+ break;
+
+ case '|': pipeflag = true;
+ stndout = true;
+ break;
+
+ default: fprintf(stderr, "command line: invalid switch %s\n",
+ argv[i]);
+ clnup();
+ exit(1);
+ }
+ }
+ else { /* file name */
+ numfiles++;
+ fileflag = true;
+ if (style) {
+ style = false;
+ incfile( defstyle );
+ }
+ strcpy(bibfname, argv[i]);
+ fd = fopen(argv[i], "r");
+ if (fd == NULL) {
+ strcat(bibfname,suffix);
+ fd=fopen(bibfname, "r");
+ if (fd == NULL) {
+ fprintf(stderr, "can't open %s or %s\n", argv[i], bibfname);
+ clnup();
+ exit(1);
+ }
+ }
+ if (stndout == false && silent == false) {
+ fprintf(stderr, "Reading input document file %s and looking up references ...\n", bibfname);
+ }
+ rdtext(fd);
+ fclose(fd);
+ }
+ if (style) incfile( defstyle );
+ if (fileflag == false) /* no input file on command line */
+ if (pipeflag == true) {
+ strcpy(bibfname, "<stdin>");
+ rdtext(stdin);
+ numfiles++;
+ }
+ else {
+ fprintf(stderr, "Enter input file: ");
+ scanf("%s", bibfnamet);
+ numfiles++;
+ strcpy(bibfname, bibfnamet);
+ fd = fopen(bibfnamet, "r");
+ if (fd == NULL) {
+ strcat(bibfname, ".tex");
+ fd=fopen(bibfname, "r");
+ if (fd == NULL) {
+ fprintf(stderr, "can't open %s or %s\n",
+ bibfnamet, bibfname);
+ clnup();
+ exit(1);
+ }
+ }
+ if (stndout == false && silent == false) {
+ fprintf(stderr, "Reading input document file %s and looking up references ...\n", bibfname);
+ }
+ rdtext(fd);
+ fclose(fd);
+ }
+ return(numfiles);
+}
+
+/* chkindex - check if index is up to date */
+ int chkindex(indx, header, pflag)
+ char *indx;
+ char header[240];
+ int pflag;
+{ char *c, *q, *p;
+ char indx0[240], indx00[80], *indx1, indx11[240];
+ char *rindex();
+ struct stat buf;
+ FILE *np;
+ int i, j, qflag;
+ time_t timefile, timeindx;
+
+ stat(indx, &buf);
+ timeindx = buf.st_mtime;
+ strcpy (indx0,indx);
+ c = rindex(indx0, dirsp2[0]);
+ if (c == NULL)
+ indx00[0] = '\0';
+ else {
+ *++c = '\0';
+ strcpy (indx00, indx0);
+ }
+ strcpy (indx0,indx00);
+ qflag = true;
+ for (q = header ; *q;) {
+ for (;*q == ' ';q++);
+ if (*q == '\0') break;
+ for (indx1 = q; *q && *q != ' '; q++);
+ if (*q)
+ *q = '\0';
+ else
+ qflag = false;
+ if (*indx1 != dirsp2[0]) {
+ strcat (indx0,indx1);
+ strcpy (indx11,indx0);
+ }
+ np = fopen(indx11,"r");
+ if (np == NULL) {
+ fprintf(stderr,"Cannot locate reference file %s\n", indx11);
+ clnup();
+ exit(1);
+ }
+ strcpy (indx0, indx00);
+ stat(indx11, &buf);
+ timefile = buf.st_mtime;
+ if (qflag == true)
+ *q = ' ';
+ if (timeindx < timefile) {
+ fprintf(stderr,"Index %s not up to date\n", indx);
+ if (pflag)
+ fprintf(stderr,"Use tibdex (in appropriate directory) with reference file(s)%s\n",header);
+ else
+ fprintf(stderr," Use: tibdex%s\n",header);
+ clnup();
+ exit(1);
+ }
+ }
+ }
+
+/* outfname - make output file name */
+ char *outfname(mp)
+ char *mp;
+{ char *q;
+
+ for (q=mp; *q; q++);
+ if (*--q == 'x')
+ if (*--q == 'e')
+ if (*--q == 't')
+ if (*--q == '.')
+ *q='\0';
+ strcat (mp, "-t.tex");
+ return (mp);
+}
+
+/* incfile - read in an included file */
+incfile(np)
+ char *np;
+{ char name[120];
+ FILE *fd;
+ char *p, line[LINELENGTH], dline[LINELENGTH], word[80], *tfgets();
+ int i, j, k, getwrd();
+ int located, j1;
+ char *ptmac, *getenv();
+
+ ptmac = getenv("TMACLIB");
+ if (ptmac == NULL)
+ ptmac = TMACLIB;
+ strcpy(bibfname, np);
+ fd = fopen(np, "r");
+ if (fd == NULL && *np != dirsp2[0]) {
+ strcpy(name, np);
+ strcat(name, ".tib");
+ strcpy(bibfname, name);
+ fd = fopen(name, "r");
+ }
+ if (fd == NULL && *np != dirsp2[0])
+ if (dirname[0] != '\0') {
+ strcpy(name, dirname);
+ strcat(name, dirsp2);
+ strcat(name, np);
+ strcpy(bibfname, name);
+ fd = fopen(name, "r");
+ }
+ if (fd == NULL && *np != dirsp2[0])
+ if (dirname[0] != '\0') {
+ strcpy(name, dirname);
+ strcat(name, dirsp2);
+ strcat(name, np);
+ strcat(name, ".tib");
+ strcpy(bibfname, name);
+ fd = fopen(name, "r");
+ }
+ if (fd == NULL && *np != dirsp2[0]) {
+ strcpy(name, ptmac);
+ strcat(name, dirsp2);
+ strcat(name, np);
+ strcpy(bibfname, name);
+ fd = fopen(name, "r");
+ }
+ if (fd == NULL && *np != dirsp2[0]) {
+ strcpy(name, ptmac);
+ strcat(name, dirsp2);
+ strcat(name, np);
+ strcat(name, ".tib");
+ strcpy(bibfname, name);
+ fd = fopen(name, "r");
+ }
+ if (fd == NULL) {
+ bibwarning("%s: can't open\n", np);
+ clnup();
+ exit(1);
+ }
+
+ /* now go off and process file */
+ fprintf(tfd, "%cmessage {(%s}\n", '\\', np);
+ biblineno = 1;
+ while (tfgets(line, LINELENGTH, fd) != NULL) {
+ biblineno++;
+ switch(line[0]) {
+
+ case '#': break;
+
+ case 'A': for (p = &line[1]; *p && *p != ' '; p++) {
+ if (*p == 'A')
+ abbrev = true;
+ else if (*p == 'X')
+ capsmcap = true;
+ else if (*p == 'R') {
+ if (isdigit(*(p+1)))
+ numrev = atoi(p+1);
+ else
+ numrev = 1000;
+ }
+ }
+ break;
+
+ case 'C': for (p = &line[1]; *p == ' '; p++) ;
+ strcpy(citetemplate, p);
+ for (p=citetemplate; *p && *p != ' '; p++);
+ *p=0;
+ if (citetemplate[0] == '0') c0 = true;
+ break;
+
+ case 'D': if ((k = getwrd(line, 1, word)) == 0)
+ error("word expected in definition");
+
+/* this creates a linked list for use in sortdefs and expnd2
+ but it is fortran style, not good c style -- fix later */
+
+ j=jtop;
+ for (located = false; located == false; ) {
+ i=strcmp(word, words[jtop]);
+ if (i == 0) {
+ located = true;
+ break;
+ }
+ if (i > 0) {
+ wordtop++;
+ if (wordtop > MAXDEFS)
+ error("too many definitions:");
+ link[wordtop] = jtop;
+ jtop = wordtop;
+ j = jtop;
+ words[wordtop] = walloc(word);
+ located = true;
+ break;
+ }
+ while (link[j] >= 0) {
+ j1 = link[j];
+ i = strcmp(word, words[j1]);
+ if (i == 0) {
+ j = j1;
+ located = true;
+ break;
+ }
+ if (i > 0) {
+ wordtop++;
+ if (wordtop > MAXDEFS)
+ error("too many definitions:");
+ link[wordtop] = j1;
+ link[j] = wordtop;
+ j = wordtop;
+ words[wordtop] = walloc(word);
+ located = true;
+ break;
+ }
+ j = j1;
+ }
+ if (located == false) {
+ wordtop++;
+ if (wordtop > MAXDEFS)
+ error("too many definitions:");
+ link[wordtop] = -1;
+ link[j] = wordtop;
+ j = wordtop;
+ words[wordtop] = walloc(word);
+ located = true;
+ break;
+ }
+ }
+ for (p = &line[k]; *p == ' '; p++) ;
+ for (strcpy(dline, p); dline[strlen(dline)-1] == '\\'; ){
+ dline[strlen(dline)-1] = '\n';
+ if (tfgets(line, LINELENGTH, fd) == NULL) break;
+ strcat(dline, line);
+ }
+ defs[j] = walloc(dline);
+ break;
+
+ case 'E': for (p = &line[1]; *p && *p != ' '; p++) {
+ if (*p == 'A')
+ edabbrev = true;
+ else if (*p == 'X')
+ edcapsmcap = true;
+ else if (*p == 'R') {
+ if (isdigit(*(p+1)))
+ ednumrev = atoi(p+1);
+ else
+ ednumrev = 1000;
+ }
+ }
+ break;
+
+ case 'f': foot = true;
+ hyphen = false;
+ break;
+
+ case 'F': specflag = true;
+ break;
+
+ case 'H': hyphen = ordcite = true;
+ break;
+
+ case 'I': for (p = &line[1]; *p == ' '; p++);
+ expnd1(p);
+ incfile(p);
+ break;
+
+ case 'L': loccit = true;
+ break;
+
+ case 'N': for (p = &line[1]; *p == ' '; p++);
+ if (*p == 'A')
+ abbrev = false;
+ else if (*p == 'F')
+ specflag = false;
+ else if (*p == 'H')
+ hyphen = false;
+ else if (*p == 'O')
+ ordcite = false;
+ else if (*p == 'R')
+ numrev = 0;
+ else if (*p == 'S')
+ sort = false;
+ else if (*p == 'X')
+ capsmcap = false;
+ break;
+ case 'O': ordcite = true;
+ break;
+
+ case 'P': onepage = true;
+ break;
+
+ case 'S': sort = true;
+ for (p = &line[1]; *p == ' '; p++) ;
+ strcpy(sortstr, p);
+ for (p=sortstr; *p && *p != ' '; p++);
+ *p=0;
+ break;
+
+ case 'T': for (p = &line[1]; *p == ' '; p++) ;
+ strcpy(trailstr, p);
+ for (p=trailstr; *p && *p != ' '; p++);
+ *p=0;
+ break;
+
+ case 'U': underline = true;
+ break;
+
+ default: fprintf(tfd, "%s\n", line);
+ while (fgets(line, LINELENGTH, fd) != NULL)
+ fputs(line, tfd);
+ fprintf(tfd, "%cmessage {)}", '\\');
+ return;
+ }
+
+ }
+ /* close up */
+ fprintf(tfd, "%cmessage{)}", '\\');
+ fclose(fd);
+}
+
+/* bibwarning - print out a warning message */
+ bibwarning(msg, arg)
+ char *msg, *arg;
+{
+ fprintf(stderr, "`%s', line %d: ", bibfname, biblineno);
+ fprintf(stderr, msg, arg);
+}
+
+/* error - report unrecoverable error message */
+ error(str)
+ char str[];
+{
+ bibwarning("%s\n", str);
+ clnup();
+ exit(1);
+}
+
+#ifdef READWRITE
+/*
+** fixrfd( mode ) -- re-opens the rfd file to be read or write,
+** depending on the mode. Uses a static int to save the current mode
+** and avoid unnecessary re-openings.
+*/
+fixrfd( mode )
+register int mode;
+{
+ static int cur_mode = WRITE; /* rfd open for writing initially */
+
+ if (mode != cur_mode)
+ {
+ rfd = freopen(reffile, ((mode == READ)? "r" : "a"), rfd);
+ cur_mode = mode;
+ if (rfd == NULL)
+ error("Hell! Couldn't re-open reference file");
+ }
+}
+#endif
+
+
+/* tfgets - fgets which trims off newline */
+ char *tfgets(line, n, ptr)
+ char line[];
+ int n;
+ FILE *ptr;
+{ char *p;
+
+ p = fgets(line, n, ptr);
+ if (p == NULL)
+ return(NULL);
+ else
+ for (p = line; *p; p++)
+ if (*p == '\n')
+ *p = 0;
+ return(line);
+}
+
+/* getwrd - place next word from in[i] into out */
+int getwrd(in, i, out)
+ char in[], out[];
+ int i;
+{ int j;
+
+ j = 0;
+ while (in[i] == ' ' || in[i] == '\n' || in[i] == '\t')
+ i++;
+ if (in[i])
+ while (in[i] && in[i] != ' ' && in[i] != '\t' && in[i] != '\n')
+ out[j++] = in[i++];
+ else
+ i = 0; /* signals end of in[i..] */
+ out[j] = 0;
+ return (i);
+}
+
+/* walloc - allocate enough space for a word */
+char *walloc(word)
+ char *word;
+{ char *i, *malloc();
+ i = malloc(1 + strlen(word));
+ if (i == NULL)
+ error("out of storage");
+ strcpy(i, word);
+ return(i);
+}
+
+/* isword - see if character is legit word char */
+int iswordc(c)
+char c;
+{
+ if (isalnum(c) || c == '&' || c == '_')
+ return(true);
+ return(false);
+}
+
+/* expnd1 - expand reference, replacing defined words, scrunching spaces */
+ expnd1(line)
+ char *line;
+{ char line2[REFSIZE], word[LINELENGTH], *p, *q, *w;
+ int replaced, i;
+
+ replaced = true;
+ while (replaced) {
+ replaced = false;
+ p = line;
+ q = line2;
+ while (*p) {
+ if (isalnum(*p)) {
+ for (w = word; *p && iswordc(*p); )
+ *w++ = *p++;
+ *w = 0;
+ for (i = 0; i <= wordtop; i++)
+ if (strcmp(word, words[i]) == 0) {
+ strcpy(word, defs[i]);
+ replaced = true;
+ break;
+ }
+ for (w = word; *w; )
+ *q++ = *w++;
+ }
+ else
+ *q++ = *p++;
+ }
+ *q = 0;
+ p = line;
+ q = line2;
+ while (*q != 0) {
+ if (*q != ' ')
+ *p++ = *q++;
+ else
+ q++;
+ }
+ *p = 0;
+ }
+}
+
+/* expnd2 - expand reference, replacing defined words */
+ expnd2(line)
+ char *line;
+{ char line2[REFSIZE], word[LINELENGTH], *p, *q, *w;
+ int replaced, toolong, i;
+
+ toolong = false; /* flag to indicate reference is too long */
+ replaced = true;
+ while (replaced) {
+ replaced = false;
+ p = line;
+ q = line2;
+ while (*p) {
+ if (*p != '|')
+ if (q - line2 >= REFSIZE-1){
+ toolong = true; /* reference entry is too long */
+ *(q-1) = '\n'; /* make entry end with \n\0 */
+ break;
+ } else
+ *q++ = *p++;
+ else {
+ *p++;
+ for (w = word; *p && *p != '|'; *w++ = *p++);
+ *w = 0;
+ if (locdef(word) == false)
+ fprintf(stderr,"word %s not defined in definition list\n",
+ word);
+ else
+ replaced = true;
+ if (*p == '|')
+ p++;
+ for (w = word; *w; *q++ = *w++)
+ if (q - line2 >= REFSIZE-1){
+ toolong = true; /* reference entry is too long */
+ *(q-1) = '\n'; /* make entry end with \n\0 */
+ break;
+ }
+ }
+ }
+ *q = 0;
+ p = line;
+ q = line2;
+ while (*p++ = *q++);
+ }
+ if(toolong && silent == false) { /* print truncation warning */
+ fprintf(stderr,
+ "Truncated following reference after expanding defined words: \n");
+ fprintf(stderr,"-------------\n%s\n-------------\n",line);
+ }
+}
+
+/* locdef - locate a definition */
+ int locdef(word)
+ char *word;
+{ long int lower, upper, mid, i;
+ int strcmp();
+ char *w, *w1;
+
+ lower = 0;
+ upper = wordtop;
+ if (strcmp(word, words[defpos[lower]]) == 0) {
+ for (w = word, w1 = defs[defpos[lower]]; *w1; *w++ = *w1++);
+ *w = 0;
+ return(true);
+ }
+ if (strcmp(word, words[defpos[upper]]) == 0) {
+ for (w = word, w1 = defs[defpos[upper]]; *w1; *w++ = *w1++);
+ *w = 0;
+ return(true);
+ }
+ while (lower+1 < upper) {
+ mid = (lower + upper)/2;
+ i = strcmp(word, words[defpos[mid]]);
+ if (i == 0) {
+ for (w = word, w1 = defs[defpos[mid]]; *w1; *w++ = *w1++);
+ *w = 0;
+ return(true);
+ }
+ if (i > 0)
+ lower = mid;
+ else
+ upper = mid;
+ }
+ return (false);
+}
+
+/* rdref - read text for an already cited reference */
+ rdref(i, ref)
+ long int i;
+ char ref[REFSIZE];
+{
+ ref[0] = 0;
+#ifdef READWRITE
+ fixrfd( READ ); /* fix access mode of rfd, if nec. */
+#endif
+ fseek(rfd, i, 0);
+ fread(ref, 1, REFSIZE, rfd);
+}
+
+/* breakname - break a name into first and last name */
+ breakname(line, first, last)
+ char line[], first[], last[];
+{ char *p, *q, *r, *t, *f;
+
+ for (t = line; *t != '\n'; t++);
+ for (t--; isspace(*t); t--);
+
+ /* now strip off last name */
+ for (q = t; isspace(*q) == 0 || ((*q == ' ') & (*(q-1) == '\\')); q--) {
+ if (*q == '}') {
+ while (*q != '{') {
+ q--;
+ if (q == line) {
+ fprintf (stderr, "bad brackets in string %s in references\n",
+ line);
+ clnup();
+ exit(1);
+ }
+ }
+ }
+ if (q == line)
+ break;
+ }
+ f = q;
+ if (q != line) {
+ q++;
+ for (; isspace(*f); f--);
+ f++;
+ }
+
+ /* first name is start to f, last name is q to t */
+
+ for (r = first, p = line; p != f; )
+ *r++ = *p++;
+ *r = 0;
+ for (r = last, p = q, t++; q != t; )
+ *r++ = *q++;
+ *r = 0;
+
+}
+
+/* match - see if string1 is a substring of string2 (case independent)*/
+ int match(str1, str2)
+ char str1[], str2[];
+{ int i, j;
+ char a, b;
+
+ for (i = 0; str2[i]; i++) {
+ for (j = 0; str1[j]; j++) {
+ if (isupper(a = str2[i+j]))
+ a = (a - 'A') + 'a';
+ if (isupper(b = str1[j]))
+ b = (b - 'A') + 'a';
+ if (a != b)
+ break;
+ }
+ if (str1[j] == 0)
+ return(true);
+ }
+ return(false);
+}
+
+/* scopy - append a copy of one string to another */
+ char *scopy(p, q)
+ char *p, *q;
+{
+ while (*p++ = *q++)
+ ;
+ return(--p);
+}
+
+/* makecites - make citation strings */
+ makecites(citestr)
+ char *citestr[];
+{ char ref[REFSIZE], tempcite[100], *malloc();
+ int i;
+
+ for (i = 0; i <= numrefs; i++) {
+ rdref(refspos[i], ref);
+ bldcite(tempcite, i, ref);
+ citestr[i] = malloc(2 + strlen(tempcite)); /* leave room for disambig */
+ if (citestr[i] == NULL)
+ error("out of storage");
+ strcpy(citestr[i], tempcite);
+ }
+}
+
+/* sortdefs - make array of pointers to defined words */
+ sortdefs()
+{ long int i, j;
+
+ i = wordtop;
+ for (j = jtop; j >= 0; j = link[j]) {
+ defpos[i] = j;
+ i--;
+ }
+}
+
+/* rcomp1 - revised reference comparison routine for qsort utility */
+ int rcomp1(ap, bp)
+ long int *ap, *bp;
+{ char ref1[REFSIZE], ref2[REFSIZE], field1[MAXFIELD], field2[MAXFIELD];
+ char alpha1[REFSIZE], alpha2[REFSIZE];
+ char *p, *q, *getfield();
+ int neg, res;
+ int n, m1, m2, num;
+ int getname();
+ char last1[MAXFIELD], last2[MAXFIELD], first1[MAXFIELD], first2[MAXFIELD];
+ int alphabits();
+ char *fstcap();
+
+ rdref(*ap, ref1);
+ rdref(*bp, ref2);
+ for (p = sortstr, q=p; *p ; p=q) {
+ if (*p == '-') {
+ p++;
+ neg = true;
+ }
+ else
+ neg = false;
+ res=0;
+ if (*p == 'A') {
+ p++;
+ if (isdigit(*p))
+ for (num=0; isdigit(*p); p++)
+ num=10*num+(*p-'0');
+ else
+ num=100;
+ q=p;
+ for (n=1; n <= num; n++) {
+ m1=getname (n, last1, first1, ref1);
+ m2=getname (n, last2, first2, ref2);
+ if (m1 == 0 && m2 == 0)
+ break;
+ alphabits(alpha1, last1);
+ alphabits(alpha2, last2);
+/* res = strcmp (fstcap(alphabits(last1)), fstcap(alphabits(last2)));
+ alpha11 = fstcap(alphastring1);
+ alpha21 = fstcap(alphastring2);*/
+ res = strcmp (fstcap(alpha1), fstcap(alpha2));
+ if (res) break;
+ alphabits(alpha1, first1);
+ alphabits(alpha2, first2);
+ res = strcmp (fstcap(alpha1), fstcap(alpha2));
+ if (res != 0) break;
+ }
+ }
+ else {
+ q++;
+ getfield(p, field1, ref1);
+ getfield(p, field2, ref2);
+ res = strcmp (field1, field2);
+ }
+ if (neg)
+ res = - res;
+ if (res != 0)
+ break;
+ }
+ if (res == 0) {
+ if (ap < bp)
+ res = -1;
+ else
+ res = 1;
+ }
+ return(res);
+}
+
+/* alphabits - reduce string to alpha characters */
+ alphabits(stringout, stringin)
+ char *stringin, *stringout;
+{ char *p, *q;
+
+ q = stringout;
+ p = stringin;
+ while (*p) {
+ if (isalpha(*p) || isspace(*p))
+ *q++ = *p++;
+ else if (*p == '{') {
+ for (; *p && *p != '}'; p++);
+ if (*p == 0) {
+ fprintf(stderr, "bad brackets in string %s in references\n",
+ stringin);
+ clnup();
+ exit(1);
+ }
+ else {
+ for (p--; isalpha(*p); p--);
+ for (p++; isalpha(*p); *q++ = *p++);
+ }
+ }
+ else p++;
+ }
+ *q = 0;
+}
+
+/* fstcap - find first capital letter in string */
+ char *fstcap(string)
+ char *string;
+{ char *ptr;
+
+ for(ptr=string; *ptr && (isupper(*ptr) == 0); ptr++);
+ return (ptr);
+}
+
+/* capbrackets - find if string in brackets is capital, also capitalize it */
+ capbrackets(stringout, stringin)
+ char *stringout, *stringin;
+{ char *p, *q;
+ int cap;
+
+ cap = false;
+ q = stringout;
+ p = stringin;
+ for (; *p && *p != '}'; *q++ = *p++);
+ if (*p == 0) {
+ fprintf(stderr, "bad brackets in string %s in references\n",
+ stringin);
+ clnup();
+ exit(1);
+ }
+ *q++ = '}';
+ *q = 0;
+ q--;
+ for (q--; isalpha(*q); q--) {
+ if (isupper (*q))
+ cap = true;
+ else {
+ cap = false;
+ *q = (*q - 'a') + 'A';
+ }
+ }
+ return (cap);
+}
+
+/* undrline - underline successive identical authors */
+ undrline()
+{ char line[REFSIZE], line1[REFSIZE], last[REFSIZE], first[REFSIZE];
+ char ref[REFSIZE];
+ int m, i;
+
+ line1[0] = 0;
+ for (m=numrefs; m >= 0; m--) {
+ rdref(refspos[m], ref);
+ line[0] = 0;
+ for (i=1; getname(i, last, first, ref); i++) {
+ strcat(line, last);
+ strcat(line, first);
+ }
+ if (strcmp(line, line1) == 0)
+ unlmark[m] = true;
+ else
+ unlmark[m] = false;
+ strcpy(line1, line);
+ }
+}
+
+
+/* bldcite - build a single citation string */
+ bldcite(cp, i, ref)
+ char *cp, ref[];
+ int i;
+{ char *p, *q, c, *fp, field[REFSIZE], *getfield(), *aabet(), *nmdt();
+
+ getfield("F", field, ref);
+ if (field[0] != 0 && specflag)
+ for (p = field; *p; p++)
+ *cp++ = *p;
+ else {
+ p = citetemplate;
+ field[0] = 0;
+ while (c = *p++) {
+ if (isalpha(c)) { /* field name */
+ q = getfield(p-1, field, ref);
+ if (q != 0) {
+ p = q;
+ cp=scopy(cp, "\\Citebreak ");
+ for (fp = field; *fp; )
+ *cp++ = *fp++;
+ }
+ }
+ else if (c == '0') { /* empty citation */
+ *cp = '\0';
+ }
+ else if (c == '1') { /* numeric order */
+ sprintf(field, "%d", startflag + i);
+ for (fp = field; *fp; )
+ *cp++ = *fp++;
+ }
+ else if (c == '2') /* alternate alphabetic */
+ cp = aabet(cp, ref);
+ else if (c == '3') /* names */
+ cp = nmdt(cp, ref);
+/* else if (c == '4') here is how to add new styles */
+/* else if (c == '{') {
+ while (*p != '}')
+ if (*p == 0)
+ error("unexpected end of citation template");
+ else
+ *cp++ = *p++;
+ p++;
+ } */
+ else if (c == '<') {
+ while (*p != '>') {
+ if (*p == 0)
+ error("unexpected end of citation template");
+ else
+ *cp++ = *p++;
+ }
+ p++;
+ }
+ else if (c != '@')
+ *cp++ = c;
+ }
+ }
+ *cp++ = 0;
+}
+
+/* alternate alphabetic citation style */
+ char *aabet(cp, ref)
+ char *cp, ref[];
+{ char field[REFSIZE], temp[100], *np, *fp;
+ char string11[80], string12[80], string13[80], string2[80], string3[80];
+ char bracketstring[80];
+ int getname(), i;
+
+ if (getname(1, field, temp, ref)) {
+ fp = field;
+ for (np = string11; *fp; fp++) {
+ if (isupper(*fp)) {
+ *np++ = *fp;
+ break;
+ }
+ else if (*fp == '{') {
+ if (capbrackets(bracketstring, fp) == 0)
+ for (; *fp != '}'; fp++);
+ else {
+ for (; *fp != '}'; *np++ = *fp++);
+ *np++ = '}';
+ break;
+ }
+ }
+ }
+ if (*fp) fp++;
+ *np = 0;
+ for (np = string12; *fp && isalpha(*fp) == 0 && *fp != '{';
+ *np++ = *fp++);
+ if (*fp != '{')
+ *np++ = *fp;
+ else {
+ capbrackets(bracketstring, fp);
+ for (; *fp != '}'; *np++ = *fp++);
+ *np++ = '}';
+ }
+ if (*fp) fp++;
+ *np = 0;
+ for (np = string13; *fp && isalpha(*fp) == 0 && *fp != '{';
+ *np++ = *fp++);
+ if (*fp != '{')
+ *np++ = *fp;
+ else {
+ capbrackets(bracketstring, fp);
+ for (; *fp != '}'; *np++ = *fp++);
+ *np++ = '}';
+ }
+ *np = 0;
+ }
+ if (getname(2, field, temp, ref) == 0) {
+ strcpy (field, string11);
+ strcat (field, string12);
+ strcat (field, string13);
+ }
+ else {
+ fp = field;
+ for (np = string2; *fp; fp++) {
+ if (isupper(*fp)) {
+ *np++ = *fp;
+ break;
+ }
+ if (*fp == '{') {
+ if (capbrackets(bracketstring, fp) == 0)
+ for (; *fp != '}'; fp++);
+ else {
+ for (; *fp != '}'; *np++ = *fp++);
+ *np++ = '}';
+ break;
+ }
+ }
+ }
+ *np = 0;
+ if (getname(3, field, temp, ref) == 0) {
+ strcpy (field, string11);
+ strcat (field, string12);
+ strcat (field, string2);
+ }
+ else {
+ fp = field;
+ for (np = string3; *fp; fp++) {
+ if (isupper(*fp)) {
+ *np++ = *fp;
+ break;
+ }
+ if (*fp == '{') {
+ if (capbrackets(bracketstring, fp) == 0)
+ for (; *fp != '}'; fp++);
+ else {
+ for (; *fp != '}'; *np++ = *fp++);
+ *np++ = '}';
+ break;
+ }
+ }
+ }
+ *np = 0;
+ strcpy (field, string11);
+ strcat (field, string2);
+ strcat (field, string3);
+ }
+ }
+ for (i=0; field[i]; i++)
+ *cp++ = field[i];
+ return (cp);
+}
+
+/* names style
+ if 1 author - last name date
+ if 2 authors - last name and last name date
+ if 3 authors - last name, last name and last name date
+ if 4 or more authors - last name et al. date */
+ char *nmdt(cp, ref)
+ char *cp, ref[];
+{ char name1[100], name2[100], name3[100], temp[100], *fp;
+ int getname();
+
+ if (getname(1, name1, temp, ref)) {
+ for (fp = name1; *fp; )
+ *cp++ = *fp++;
+ if (getname(4, name3, temp, ref)) {
+ for (fp = " et al."; *fp; )
+ *cp++ = *fp++;
+ }
+ else if (getname(2, name2, temp, ref)) {
+ if (getname(3, name3, temp, ref)) {
+ for (fp = "\\Namecomma "; *fp; )
+ *cp++ = *fp++;
+ for (fp = name2; *fp; )
+ *cp++ = *fp++;
+ for (fp = "\\Nameandd "; *fp; )
+ *cp++ = *fp++;
+ for (fp = name3; *fp; )
+ *cp++ = *fp++;
+ }
+ else {
+ for (fp = "\\Nameand "; *fp; )
+ *cp++ = *fp++;
+ for (fp = name2; *fp; )
+ *cp++ = *fp++;
+ }
+ }
+ }
+return(cp);
+}
+
+/* getfield - get a single field from reference */
+ char *getfield(ptr, field, ref)
+ char *ptr, field[], ref[];
+{ char *p, *q, temp[100];
+ int n, len, i, getname();
+
+ field[0] = 0;
+ if (*ptr == 'A')
+ getname(1, field, temp, ref);
+ else
+ for (p = ref; *p; p++)
+ if (*p == '%' && *(p+1) == *ptr) {
+ for (p = p + 2; *p == ' '; p++)
+ ;
+ for (q = field; (*p != '\n') && (*p != '\0'); )
+ *q++ = *p++;
+ *q = 0;
+ break;
+ }
+ n = 0;
+ len = strlen(field);
+ if (*++ptr == '-') {
+ for (ptr++; isdigit(*ptr); ptr++)
+ n = 10 * n + (*ptr - '0');
+ if (n > len)
+ n = 0;
+ else
+ n = len - n;
+ for (i = 0; field[i] = field[i+n]; i++)
+ ;
+ }
+ else if (isdigit(*ptr)) {
+ for (; isdigit(*ptr); ptr++)
+ n = 10 * n + (*ptr - '0');
+ if (n > len)
+ n = len;
+ field[n] = 0;
+ }
+
+ if (*ptr == 'u') {
+ ptr++;
+ for (p = field; *p; p++)
+ if (islower(*p))
+ *p = (*p - 'a') + 'A';
+ }
+ else if (*ptr == 'l') {
+ ptr++;
+ for (p = field; *p; p++)
+ if (isupper(*p))
+ *p = (*p - 'A') + 'a';
+ }
+ return(ptr);
+}
+
+/* getname - get the nth name field from reference, breaking into
+ first and last names */
+ int getname(n, last, first, ref)
+ int n;
+ char last[], first[], ref[];
+{ char *p;
+ int m;
+
+ last[0]='\0';
+ first[0]='\0';
+ m = n;
+ for (p = ref; *p; p++)
+ if (*p == '%' & *(p+1) == 'A') {
+ n--;
+ if (n == 0) {
+ for (p = p + 2; *p == ' '; p++) ;
+ breakname(p, first, last) ;
+ return(true);
+ }
+ }
+
+ if (n == m) /* no authors, try editors */
+ for (p = ref; *p; p++)
+ if (*p == '%' & *(p+1) == 'E') {
+ n--;
+ if (n == 0) {
+ for (p = p + 2; *p == ' '; p++) ;
+ breakname(p, first, last) ;
+ return(true);
+ }
+ }
+
+ if (n == m && n == 1) { /* no editors, either, try institution */
+ first[0] = last[0] = '\0';
+ getfield("I", last, ref);
+ if (last[0] != '\0')
+ return(true);
+ }
+
+ return(false);
+}
+
+/* disambiguate - compare adjacent citation strings, and if equal, add
+ single character disambiguators */
+ disambiguate()
+{ int i, j;
+ char adstr[2];
+
+ for (i = 0; i < numrefs; i = j) {
+ j = i + 1;
+ if (strcmp(citestr[i], citestr[j])==0) {
+ adstr[0] = 'a'; adstr[1] = 0;
+ for (j = i+1; strcmp(citestr[i], citestr[j]) == 0; j++) {
+ adstr[0] = 'a' + (j-i);
+ strcat(citestr[j], adstr);
+ if (j == numrefs)
+ break;
+ }
+ adstr[0] = 'a';
+ strcat(citestr[i], adstr);
+ }
+ }
+}
+
+
+/* bldname - build a name field
+ doing abbreviations, reversals, and caps/small caps
+*/
+ bldnm1(first, last, name, reverse)
+ char *first, *last, name[];
+ int reverse;
+{
+ char newfirst[120], newlast[120], *p, *q, *f, *l, *scopy();
+ int flag;
+
+ if (abbrev) {
+ p = first;
+ q = newfirst;
+ flag = false;
+ while (*p) {
+ while (*p == ' ')
+ p++;
+ if (*p == 0)
+ break;
+ if (isupper(*p)) {
+ if (flag) /* between initial gap */
+ q = scopy(q, "\\Initgap ");
+ flag = true;
+ *q++ = *p;
+ q = scopy(q, "\\Initper ");
+ }
+ if (*++p == '.')
+ p++;
+ else while (*p != 0 && ! isspace(*p))
+ p++;
+ }
+ *q = 0;
+ f = newfirst;
+ }
+ else
+ f = first;
+
+ if (capsmcap) {
+ p = last;
+ q = newlast;
+ flag = 0; /* 1 - printing cap, 2 - printing small */
+ while (*p)
+ if (islower(*p)) {
+ if (flag != 2)
+ q = scopy(q, "\\bgroup\\Smallcapsfont ");
+ flag = 2;
+ *q++ = (*p++ - 'a') + 'A';
+ }
+ else {
+ if (flag == 2)
+ q = scopy(q, "\\egroup ");
+ flag = 1;
+ *q++ = *p++;
+ }
+ if (flag == 2)
+ q = scopy(q, "\\egroup ");
+ *q = 0;
+ l = newlast;
+ }
+ else
+ l = last;
+
+ if (f[0] == 0)
+ sprintf(name, "%s\n", l);
+ else if (reverse)
+ sprintf(name, "%s%cRevcomma %s\n", l, '\\', f);
+ else
+ sprintf(name, "%s %s\n", f, l);
+}
+
+/* capssmallcaps - put field in capssmallcaps */
+ capssmallcaps(stringout, stringin)
+ char *stringout, *stringin;
+{ char *p, *q, *scopy();
+ int flag, bflag;
+ char bracketfield[REFSIZE];
+
+ p = stringin;
+ q = stringout;
+ *q = 0;
+ flag = 0; /* 1 - printing cap, 2 - printing small */
+ while (*p) {
+ if (*p == '\\')
+ *p++;
+ if (*p == ' ') {
+ if (flag == 2)
+ q = scopy(q, "\\egroup{}");
+ flag = 1;
+/* *q++ = '\\';*/
+ *q++ = ' ';
+ p++;
+ }
+ if (*p == '~') {
+ if (flag == 2)
+ q = scopy(q, "\\egroup{}");
+ flag = 1;
+ *q++ = *p++;
+ }
+ if (*p == '{')
+ bflag = capbrackets(bracketfield, p);
+ else
+ bflag = 1;
+ if (islower(*p) || bflag == 0) {
+ if (flag != 2)
+ q = scopy(q, "\\bgroup\\Smallcapsfont ");
+ flag = 2;
+ if (*p == '{') {
+ q = scopy(q, bracketfield);
+ for (; *p != '}'; p++);
+ p++;
+ }
+ else
+ *q++ = (*p++ - 'a') + 'A';
+ }
+ else {
+ if (flag == 2)
+ q = scopy(q, "\\egroup{}");
+ flag = 1;
+ if (*p == '{') {
+ q = scopy(q, bracketfield);
+ for (; *p != '}'; p++);
+ p++;
+ }
+ else
+ *q++ = *p++;
+ }
+ }
+ if (flag == 2)
+ q = scopy(q, "\\egroup{}");
+ *q = 0;
+}
+
+ bldname(first, last, name, reverse, capsmcap)
+ char *first, *last, name[];
+ int reverse, capsmcap;
+{
+ char newfirst[120], newlast[120], *p, *q, *f, *f1, *l, *scopy();
+ char newnewfirst[120];
+ char bracketfield[20];
+ int flag;
+ int hflag, bflag;
+
+ if (abbrev) {
+ p = first;
+ q = newfirst;
+ flag = false;
+ hflag = false;
+ bflag = false;
+ while (*p) {
+ while (*p == ' ')
+ p++;
+ if (*p == '{')
+ bflag = capbrackets(bracketfield, p);
+ if (isupper(*p) || bflag) {
+ if (flag && hflag) /* between initial gap */
+ q = scopy(q, "\\Initgap ");
+ flag = true;
+ if (bflag) {
+ for (; *p != '}'; *q++ = *p++);
+ bflag = false;
+ }
+ *q++ = *p;
+ for (p++;; p++) {
+ if (isupper(*p)) {
+ hflag = true;
+ break;
+ }
+ else if (*p == '-' || *p == '\'') {
+ hflag = false;
+ *q++ = *p++;
+ break;
+ }
+ else if (*p == '.' ) {
+ hflag = true;
+ q = scopy(q, "\\Initper ");
+ p++;
+ break;
+ }
+ else if (*p == ' ' ) {
+ hflag = true;
+ q = scopy(q, "\\Initper ");
+ p++;
+ break;
+ }
+ else if (*p == '~') {
+ hflag = true;
+ q = scopy(q, "\\Initper ");
+ p++;
+ break;
+ }
+ else if (*p == 0) {
+ q = scopy(q, "\\Initper ");
+ break;
+ }
+ else if (*p == '{') {
+ bflag = capbrackets(bracketfield, p);
+ if (bflag) break;
+ else
+ for (; *p != '}'; p++);
+ }
+ }
+ }
+ else
+ *q++ = *p++;
+ }
+ *q = 0;
+ f1 = newfirst;
+ }
+ else
+ f1 = first;
+
+ if (capsmcap) {
+ capssmallcaps(newlast,last);
+ l = newlast;
+ if (abbrev == 0) {
+ capssmallcaps(newnewfirst,f1);
+ f = newnewfirst;
+ }
+ else
+ f = f1;
+ }
+ else {
+ f = f1;
+ l = last;
+ }
+ if (f[0] == 0)
+ sprintf(name, "%s\n", l);
+ else if (reverse)
+ sprintf(name, "%s%cRevcomma %s\n", l, '\\', f);
+ else
+ sprintf(name, "%s %s\n", f, l);
+}
+
+/* prtauth - print author or editor field */
+ prtauth(c, line, num, max, ofd, abbrev, capsmcap, numrev)
+ char c, *line;
+ int num, max, abbrev, capsmcap, numrev;
+ FILE *ofd;
+{ char first[LINELENGTH], last[LINELENGTH];
+ char *s1;
+
+ if (num <= numrev || abbrev || capsmcap) {
+ breakname(line, first, last);
+ bldname(first, last, line, num <= numrev, capsmcap);
+ }
+ for (s1=line;*s1!='\0';s1++) if (*s1=='\n') *s1='\0';
+ if (num == 1) {
+ fprintf(ofd, "}%c\n%cdef%c%ctest{ }", '\%', '\\', '\\', c);
+ if (index(trailstr, c))
+ fprintf(ofd, "%cdef%c%ctrail{%c}",
+ '\\', '\\', c, line[strlen(line)-2]);
+ fprintf(ofd, "%cdef%c%cstr{%s",
+ '\\', '\\', c, line);
+ }
+ else if (num < max)
+ fprintf(ofd, "%c\n %c%ccomma %s", '\%', '\\', c, line);
+ else if (max == 2)
+ fprintf(ofd, "%c\n %c%cand %s", '\%', '\\', c, line);
+ else
+ fprintf(ofd, "%c\n %c%candd %s", '\%', '\\', c, line);
+}
+
+/* doline - actually print out a line of reference information */
+ doline(c, line, numauths, maxauths, numeds, maxeds,
+ numrevs, maxrevs, numtrans, maxtrans, ofd)
+ char c, *line;
+ int numauths, maxauths, numeds, maxeds;
+ int numrevs, maxrevs, numtrans, maxtrans;
+ FILE *ofd;
+{
+ char *s1;
+ char *dbldash();
+ char line1[REFSIZE];
+
+ switch(c) {
+ case '\\':
+ case '\%':
+ for (s1=line;*s1!='\0';s1++)
+ if (*s1=='\n') *s1='\0';
+ fprintf(ofd, "}%c\n%c%s{", '\%', c , line);
+ break;
+
+ case 'A':
+ prtauth(c, line, numauths, maxauths, ofd, abbrev, capsmcap, numrev);
+ break;
+
+ case 'E':
+ if (maxauths)
+ prtauth(c, line, numeds, maxeds, ofd, edabbrev, edcapsmcap,
+ ednumrev);
+ else
+ prtauth(c, line, numeds, maxeds, ofd, abbrev, capsmcap, numrev);
+ break;
+
+ case 'a':
+ prtauth(c, line, numtrans, maxtrans, ofd, edabbrev, edcapsmcap,
+ ednumrev);
+ break;
+
+ case 'e':
+ prtauth(c, line, numrevs, maxrevs, ofd, edabbrev, edcapsmcap,
+ ednumrev);
+ break;
+
+ case 'P':
+ case 'p':
+ fprintf(ofd, "}%c\n%cdef%c%ctest{ }", '\%', '\\', '\\', c);
+ if (onepage) {
+ opage(line);
+ fprintf(ofd, "%cdef%c%ccnt{}", '\\', '\\', c);
+ }
+ else {
+ if (index (line, '-')) {
+ line = dbldash(line);
+ fprintf(ofd, "%cdef%c%ccnt{ }", '\\', '\\', c);
+ }
+ else
+ fprintf(ofd, "%cdef%c%ccnt{}", '\\', '\\', c);
+ }
+ if (index(trailstr, c))
+ fprintf(ofd, "%cdef%c%ctrail{%c}%c\n", '\\', '\\', c,
+ line[strlen(line)-2], '\%');
+ for (s1 = line; *s1 != '\0'; s1++)
+ if (*s1=='\n') *s1='\0';
+ fprintf(ofd, "%cdef%c%cstr{%s", '\\', '\\', c,
+ line);
+ break;
+
+ case 'F':
+ case 'K': break;
+
+ case 'I':
+ if (numauths == 0 && numeds == 0 && capsmcap) {
+ capssmallcaps(line1, line);
+ strcpy(line, line1);
+ }
+
+ default:
+ fprintf(ofd, "}%c\n%cdef%c%ctest{ }", '\%', '\\', '\\', c);
+ if (index(trailstr, c))
+ fprintf(ofd, "%cdef%c%ctrail{%c}", '\\', '\\', c,
+ line[strlen(line)-2]);
+ for (s1=line;*s1!='\0';s1++)
+ if (*s1=='\n') *s1='\0';
+ fprintf(ofd, "%cdef%c%cstr{%s",
+ '\\', '\\', c, line);
+ }
+}
+
+/* dbldash - double the hyphen in the P field (see below)*/
+ char *dbldash(line)
+ char *line;
+{ char *p;
+ char newline[120];
+
+ for (p = newline; *line && *line != '-'; *p++ = *line++);
+ if (*line == 0) return (line);
+ if (*++line != '-')
+ *p++ = '-';
+ *p++ = '-';
+ for (*p = *line; *line; *p++ = *line++);
+ *p='\0';
+ return (newline);
+}
+
+/* following works on some machines where above fails
+char *dbldash(line)
+char *line;
+{ char *p;
+ static char newline[120];
+
+ for (p = newline; *p = *line; ++p, ++line)
+ if (line[0] == '-' && line[1] != '-')
+ *++p = '-';
+ return(newline);
+} */
+
+/* opage - print only first page number */
+ int opage(line)
+ char *line;
+{ char *p;
+
+ for (p = line; *p && *p != '-'; *p++);
+ *p=0;
+}
+
+/* dumpref - dump reference number i */
+ dumpref(i, ofd)
+ int i;
+ FILE *ofd;
+{ char ref[REFSIZE], *p, line[REFSIZE];
+ int numauths, maxauths, numeds, maxeds;
+ int numrevs, maxrevs, numtrans, maxtrans;
+
+ fprintf(ofd, "%cbgroup%cResetstrings%c\n", '\\', '\\' , '\%');
+ rdref(refspos[i], ref);
+ maxauths = maxeds = maxrevs = maxtrans = 0;
+ numauths = numeds = numrevs = numtrans = 0;
+ for (p = ref; *p; p++)
+ if (*p == '%')
+ if (*(p+1) == 'A') maxauths++;
+ else if (*(p+1) == 'E') maxeds++;
+ else if (*(p+1) == 'a') maxtrans++;
+ else if (*(p+1) == 'e') maxrevs++;
+ if (loccit) {
+ if (locflag[i])
+ fprintf(ofd, "%cdef%cLoccittest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cLoccittest{}", '\\', '\\');
+ if (ibidflag[i])
+ fprintf(ofd, "%cdef%cIbidtest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cIbidtest{}", '\\', '\\');
+ }
+ else
+ fprintf(ofd, "%cdef%cLoccittest{}", '\\', '\\');
+ if (abbrev)
+ fprintf(ofd, "%cdef%cAbbtest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cAbbtest{}", '\\', '\\');
+ if (capsmcap)
+ fprintf(ofd, "%cdef%cCapssmallcapstest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cCapssmallcapstest{}", '\\', '\\');
+ if (edabbrev)
+ fprintf(ofd, "%cdef%cEdabbtest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cEdabbtest{}", '\\', '\\');
+ if (edcapsmcap)
+ fprintf(ofd, "%cdef%cEdcapsmallcapstest{ }", '\\', '\\');
+ else
+ fprintf(ofd, "%cdef%cEdcapsmallcapstest{}", '\\', '\\');
+ if (underline)
+ fprintf(ofd, "%cdef%cUnderlinetest{ }%c\n", '\\', '\\', '\%');
+ else
+ fprintf(ofd, "%cdef%cUnderlinetest{}%c\n", '\\', '\\', '\%');
+ fprintf(ofd, "%cdef%cNoArev{%d}%cdef%cNoErev{%d}%cdef%cAcnt{%d}",
+ '\\', '\\', numrev, '\\', '\\', ednumrev, '\\', '\\', maxauths);
+ fprintf(ofd, "%cdef%cEcnt{%d}%cdef%cacnt{%d}%cdef%cecnt{%d}%c\n",
+ '\\', '\\', maxeds, '\\', '\\',
+ maxtrans, '\\', '\\', maxrevs, '\%');
+ fprintf(ofd, "%cdef%cFtest{ }", '\\', '\\');
+ if (index(trailstr, 'F'))
+ fprintf(ofd, "%cdef%c%ctrail{%c}", '\\', '\\', 'F',
+ citestr[i][strlen(citestr[i])-1]);
+ fprintf(ofd, "%cdef%cFstr{%s", '\\', '\\',
+ citestr[i]);
+ fseek(rfd, (long) refspos[i], 0);
+ while (fgets(line, REFSIZE, rfd) != NULL) {
+ if (line[0] == 0) break;
+ else if (line[0] == '%') {
+ for (p = &line[2]; *p == ' '; p++);
+ if (line[1] == 'A') numauths++;
+ else if (line[1] == 'E') numeds++;
+ else if (line[1] == 'a') numtrans++;
+ else if (line[1] == 'e') numrevs++;
+
+ doline(line[1], p, numauths, maxauths, numeds, maxeds,
+ numrevs, maxrevs, numtrans, maxtrans, ofd);
+ }
+ else if (line[0] == '\\')
+ fprintf(ofd, "}%c\n%s{", '\%', line);
+ else fprintf(ofd, "%s", line);
+ }
+ if (underline && unlmark[i-1]) {
+ if (maxauths) fprintf (ofd, "}%c\n%cdef%cAstr{%cUnderlinemark", '\%',
+ '\\', '\\', '\\');
+ else if (maxeds) fprintf (ofd, "}%c\n%cdef%cEstr{%cUnderlinemark", '\%',
+ '\\', '\\', '\\');
+ else fprintf (ofd, "}%c\n%cdef%cIstr{%cUnderlinemark", '\%', '\\',
+ '\\', '\\');
+ }
+ fprintf(ofd, "}%c\n%cRefformat%cegroup%c\n", '\%', '\\', '\\', '\%');
+ if ((!foot) && (!c0)) fprintf(ofd, "\n");
+}
diff --git a/biblio/tib/src/tibdex.c b/biblio/tib/src/tibdex.c
new file mode 100644
index 0000000000..878d9eafd4
--- /dev/null
+++ b/biblio/tib/src/tibdex.c
@@ -0,0 +1,239 @@
+/*
+ Tibdex - makes an inverted index for tib
+ a slight modification of Invert of bib
+
+ input: records of lines, separated by blank lines
+ output: key:file1 start/length ... start/length:file2 start/length ...
+
+Note to non-unix users:
+ This program uses a unix command "sort" which sorts records in a file
+ "tmp_file" with the following sort key:
+ ASCII sort on the first field (fields are separated by spaces),
+ ASCII sort on the second field,
+ numeric sort on the third record,
+ numeric sort on the fourth record,
+ removing duplicates, and then writes to the same file. The use of "sort"
+ is isolated by the "#define SORT_IT" statement just below. If "sort"
+ is unavailable, replace the sort in the definition of "SORT_IT" by some
+ equivalent sort. If the format of "SORT_IT" is unacceptable, modify
+ appropriately the one place further below where "SORT_IT" is used.
+ It may not be necessary to remove duplicates.
+
+*/
+
+#define SORT_IT \
+ sprintf(sortcmd,"sort -u +0 -1 +1 -2 +2n -3 +3n %s -o %s",tmp_file,tmp_file);\
+ system(sortcmd);
+
+
+#include "stdio.h"
+#include "tib.h"
+#define isnull(x) (*(x) == NULL)
+#define makelow(c) ('A'<=(c) && (c)<='Z' ? (c)-'A'+'a' : c)
+
+char headerline[240] = " ";/* header line -- list of files */
+int max_kcnt = 100; /* max number of keys */
+int max_klen = 6; /* max length of keys */
+char *ignore = /* string of line starts to ignore */
+ "CNOPVcnopv\\\%";
+char *common = COMFILE; /* name of file of common words */
+char *INDEX = INDXFILE; /* name of output file */
+char tmp_file[120]; /* name of temporary file */
+char dirsp2[]=DIRSEP; /* directory separator character */
+char optch2[]=OPTCH; /* option character on call */
+int silent = 0; /* 0 => statistics printed */
+ /* 1 => no statisitics printed */
+
+long int nextrecord(), recsize(), nextline();
+char sortcmd[MAXSTR];
+
+int argc;
+char **argv;
+
+main(argcount,arglist)
+int argcount;
+char **arglist;
+{ char filename[MAXSTR], *pcom, *getenv(), *ptemp;
+ FILE *input, *output;
+ long int start,length;
+ char word[MAXSTR];
+ int kcnt;
+ char tag_line[MAXSTR];
+ char argchk[3];
+
+ long int records = 0; /* number of records read */
+ long int keys = 0; /* number of keys read (occurences) */
+ long int distinct; /* number of distinct keys */
+ long int shorten();
+ int i, strcmp();
+
+ /* header */
+ for (i = 1; i < argcount; i++) {
+ strcpy(argchk,OPTCH);
+ strcat(argchk,"z");
+ if (strcmp(arglist[i],argchk) == 0)
+ silent = true;
+ }
+ if (silent == false)
+ fprintf (stderr, "Tibdex -- version %s, released %s.\n", VERSION, RDATE);
+
+ /* get file names from environment */
+ pcom = getenv("COMFILE");
+ if (pcom != NULL)
+ strcpy(common,pcom);
+ ptemp = getenv("TMPDIR");
+ if (ptemp != NULL) {
+ strcpy(tmp_file,ptemp);
+ strcat(tmp_file,dirsp2);
+ strcat(tmp_file,"tibdXXXXXX");
+ }
+ else
+ strcpy(tmp_file,INVTEMPFILE);
+
+ argc= argcount-1;
+ argv= arglist+1;
+ mktemp(tmp_file);
+ output= fopen(tmp_file,"w");
+ if (output == NULL) {
+ fprintf(stderr, "tibdex: can't open temporary output file\n");
+ exit(1);
+ }
+
+ for ( flags() ; argc>0 ; argc--, argv++ ,flags() )
+ { /* open input file */
+ strcpy(filename, *argv);
+ input = fopen(filename, "r");
+ if (input == NULL) {
+ strcat(filename, ".ref");
+ input=fopen(filename, "r");
+ if (input == NULL) {
+ fprintf(stderr, "can't open %s or %s\n", *argv, filename);
+ exit(1);
+ }
+ }
+ strcat(headerline, " ");
+ strcat(headerline, filename);
+ start= 0L;
+ length= 0L;
+
+ for(;;) /* each record */
+ { /* find start of next record (exit if none) */
+ start= nextrecord(input,start+length);
+ if (start==EOF) break;
+ records++;
+ kcnt= 0;
+ length= recsize(input,start);
+ sprintf(tag_line, " %s %D %D\n", filename, start, length);
+
+ while (ftell(input) < start+length && kcnt < max_kcnt)
+ { getword(input,word,ignore);
+ makekey(word,max_klen,common);
+ if (!isnull(word))
+ { fputs(word,output); fputs(tag_line,output);
+ kcnt++; keys++;
+ }
+ }
+ }
+ fclose(input);
+ }
+ fclose(output);
+
+ SORT_IT
+
+ distinct = shorten(tmp_file,INDEX);
+ if( silent == 0 )
+ fprintf(stderr,
+ "%D documents %D distinct keys %D key occurrences\n",
+ records, distinct, keys);
+}
+
+
+
+/* Flag Meaning Default
+ -ki Keys per record 100
+ -li max Length of keys 6
+ -%str ignore lines that begin with %x CNOPVXcnopv
+ where x is in str
+ str is a seq of chars
+ -cfile file contains Common words /??????/common
+ do not use common words as keys
+ -pfile name of output file INDEX
+ -s do not print statistics statistics printed
+*/
+
+#define operand (strlen(*argv+2)==0 ? (argv++,argc--,*argv) : *argv+2)
+
+flags()
+{ for (; argc>0 && *argv[0]==optch2[0]; argc--,argv++)
+ { switch ((*argv)[1])
+ { case 'k': max_kcnt= atoi(operand);
+ break;
+ case 'l': max_klen= atoi(operand);
+ break;
+ case 'c': common= operand;
+ break;
+ case '%': ignore= *argv+2;
+ break;
+ case 'p': INDEX= operand;
+ break;
+ case 'z': silent= 1;
+ break;
+ default: fprintf(stderr, "unknown flag '%s'\n", *argv);
+ }
+ }
+}
+
+
+/* shorten(inf,outf): file "inf" consists of lines of the form:
+ key file start length
+ sorted by key and file. replace lines with the same key
+ with one line of the form:
+ key:file1 start/length ... start/length:file2 start/length ...
+ rename as file "outf"
+ returns number of lines in output
+*/
+long shorten(inf,outf)
+char *inf, *outf;
+{ FILE *in, *out;
+ char line[MAXSTR];
+ char key[MAXSTR], newkey[MAXSTR],
+ file[MAXSTR], newfile[MAXSTR];
+ long int start, length;
+ long int lines = 0;
+
+ strcpy(file,"");
+ strcpy(key,"");
+ in= fopen(inf, "r");
+ out= fopen(outf, "w");
+ if (in==NULL || out==NULL)
+ { fprintf(stderr, "tibdex: error in opening file for compression\n");
+ return(1);
+ }
+
+ fputs(headerline,out);
+ fprintf(out, "\n");
+ getline(in,line);
+ sscanf(line,"%s%s%ld%ld", key, file, &start, &length);
+ fprintf(out, "%s :%s %D/%D", key, file, start, length);
+ for ( getline(in, line) ; !feof(in); getline(in, line))
+ { sscanf(line,"%s%s%ld%ld", newkey, newfile, &start, &length);
+ if (strcmp(key,newkey)!=0)
+ { strcpy(key, newkey);
+ strcpy(file, newfile);
+ fprintf(out, "\n%s :%s %D/%D", key, file, start, length);
+ lines++;
+ }
+ else if (strcmp(file,newfile)!=0)
+ { strcpy(file,newfile);
+ fprintf(out, ":%s %D/%D", file, start, length);
+ }
+ else
+ fprintf(out, " %D/%D", start, length);
+ }
+ fprintf(out, "\n");
+ lines++;
+
+ fclose(in); fclose(out);
+ unlink(inf);
+ return (lines);
+}
diff --git a/biblio/tib/src/tiblist.c b/biblio/tib/src/tiblist.c
new file mode 100644
index 0000000000..0072f5d247
--- /dev/null
+++ b/biblio/tib/src/tiblist.c
@@ -0,0 +1,219 @@
+/*
+ Tiblist - list references for tib system
+
+ */
+#include <stdio.h>
+#include <ctype.h>
+#include "tib.h"
+#define MAXLIST 2000 /* maximum number of references that can be listed */
+#define getch(c,fd) (c = getc(fd))
+
+FILE *tfd; /* temporary file position */
+char tmp_file[120]; /* temporary file (see tib.h) */
+FILE *rfd; /* reference file position */
+char reffile[120]; /* temporary file (see tib.h) */
+long int refspos[MAXLIST]; /* references temporary file, seek positions */
+long int rend = 1; /* last used position in reference file */
+int numrefs = -1; /* number of references */
+char *citestr[MAXLIST]; /* citation strings */
+extern int sort; /* see if things are to be sorted */
+int unlmark[MAXLIST]; /* underline flags */
+extern char bibfname[], citetemplate[];
+extern int biblineno;
+extern int underline, silent, stndout;
+extern char dirsp2[], optch2[], suffix[];
+
+main(argc, argv)
+ int argc;
+ char **argv;
+{ int i, rcomp1();
+ char *outname;
+ char *outfname();
+ int undrline();
+ FILE *ofd;
+ int c;
+ int strcmp();
+ char *pdefst, *getenv(), *ptemp, argchk[3];
+
+ /* header */
+ for (i = 1; i < argc; i++) {
+ strcpy(argchk,OPTCH);
+ strcat(argchk,"z");
+ if (strcmp(argv[i],argchk) == 0)
+ silent = true;
+ strcpy(argchk,OPTCH);
+ strcat(argchk,"|");
+ if (strcmp(argv[i],argchk) == 0)
+ silent = true;
+ }
+ if (silent == false)
+ fprintf (stderr, "Tiblist -- version %s, released %s.\n",
+ VERSION, RDATE);
+
+ /* get file names from environment */
+
+ ptemp = getenv("TMPDIR");
+ if (ptemp != NULL) {
+ strcpy(reffile,ptemp);
+ strcat(reffile,dirsp2);
+ strcat(reffile,"tibrXXXXXX");
+ strcpy(tmp_file,ptemp);
+ strcat(tmp_file,dirsp2);
+ strcat(tmp_file,"tibpXXXXXX");
+ }
+ else {
+ strcat(reffile,TMPREFFILE);
+ strcat(tmp_file,TMPTEXTFILE);
+ }
+
+ mktemp(reffile);
+ rfd = fopen(reffile,"w+");
+ if (rfd == NULL)
+ error("can't open temporary reference file");
+ putc('x', rfd); /* put garbage in first position */
+ mktemp(tmp_file);
+ tfd = fopen(tmp_file,"w");
+ if (tfd == NULL)
+ error("can't open temporary output file");
+
+ strcpy(suffix,".ref");
+ pdefst = getenv("DEFSTYLE");
+ if (pdefst == NULL)
+ doargs(argc, argv, DEFSTYLE);
+ else
+ doargs(argc, argv, pdefst);
+
+ if (silent == 0)
+ fprintf(stderr, "Processing reference list ...\n");
+ if (sort)
+ qsort(refspos, numrefs+1, sizeof(long), rcomp1);
+ makecites(citestr);
+ if (underline)
+ undrline();
+ if (citetemplate[0] != '0')
+ disambiguate();
+
+
+ /*
+ reopen temporaries
+ */
+
+ fclose(tfd);
+ tfd = fopen(tmp_file,"r");
+ if (tfd == NULL)
+ error("can't open temporary output file for reading");
+
+ if (stndout == true && bibfname != "<stdin>") {
+ while (getch(c,tfd) != EOF)
+ putc(c, stdout);
+ for (i = 0; i <= numrefs; i++)
+ dumpref(i, stdout);
+ fprintf(stdout, "%cbye\n", '\\');
+ }
+ else {
+ outname = outfname (bibfname);
+ ofd = fopen (outname, "w");
+ if (ofd == NULL) {
+ fprintf(stderr,"can't open %s\n", outname);
+ clnup();
+ exit(1);
+ }
+ else {
+ if (silent == 0)
+ fprintf(stderr, "Writing output file ...\n");
+ while (getch(c,tfd) != EOF)
+ putc(c, ofd);
+ for (i = 0; i <= numrefs; i++)
+ dumpref(i, ofd);
+ fprintf(ofd, "%cbye\n", '\\');
+ fclose (ofd);
+ fprintf (stderr,"Output of tiblist in %s.\n", outname);
+ }
+ }
+ clnup();
+ exit(0);
+}
+
+ /* clean up */
+ clnup()
+{
+ unlink(tmp_file);
+ unlink(reffile);
+ return;
+}
+
+/* rdtext - process a file */
+ rdtext(ifile)
+ FILE *ifile;
+{ char c, *p, rec[REFSIZE];
+ int i, toolong;
+ int sortdefs();
+
+ sortdefs();
+ biblineno = 1;
+ for (;;) {
+ while (getch(c, ifile) == '\n')
+ biblineno++; /* skip leading newlines */
+ if (c == EOF)
+ return;
+
+ toolong = false; /* flag to indicate reference is too long */
+ p = rec; /* read a reference */
+ for(*p++ = c; getch(c,ifile) != EOF; *p++ = c){
+ if (p-rec >= REFSIZE-1) {
+ toolong = true; /* reference entry is too long */
+ break;
+ }
+ if (c != '\n') continue; /* get next character */
+ if (getch(c, ifile) == '\n' || c == EOF) { /* end of ref */
+ biblineno++;
+ c = *p++ = '\n'; /* set c = \n to indicate normal exit */
+ break;
+ }
+ if (c == '.' || c == '%')
+ *p++ = '\n';
+ else
+ *p++ = ' ';
+ if (p-rec >= REFSIZE-1) {
+ toolong = true; /* reference entry is too long */
+ break;
+ }
+ }
+ if (c == EOF) error("ill formed reference file");
+ *p = 0;
+
+ if (toolong){ /* ref. entry too long */
+ biblineno++; /* biblineno was not inc due to break exit */
+ *(p-1) = '\n'; /* set end of field to \n for consistency */
+ for (; c != EOF; getch(c,ifile)){
+ if (c != '\n') continue; /* get next character */
+ if (getch(c, ifile) == '\n') break;
+ if (c == EOF){
+ c = '\n'; /* normal exit, file ends with \n */
+ break;
+ }
+ }
+ if (c == EOF) error("ill formed reference file");
+ if (silent == false){
+ fprintf(stderr,
+ "Truncated following input reference to REFSIZE-1 (%d) characters:\n"
+ ,REFSIZE-1);
+ fprintf(stderr,"-------------\n%s\n-------------\n",rec);
+ }
+ }
+
+ expnd2(rec);
+
+ if (numrefs++ > MAXLIST)
+ error("too many references");
+ refspos[numrefs] = rend;
+#ifdef READWRITE
+ fixrfd( WRITE ); /* fix access mode of rfd, if nec. */
+#else
+ fseek(rfd, rend, 0);
+#endif
+ i = strlen(rec) + 1;
+ fwrite(rec, 1, i, rfd);
+ rend = rend + i;
+ }
+}
diff --git a/biblio/tib/src/tiblook.c b/biblio/tib/src/tiblook.c
new file mode 100644
index 0000000000..6e2c5085e1
--- /dev/null
+++ b/biblio/tib/src/tiblook.c
@@ -0,0 +1,171 @@
+/* Tiblook -- looks up references */
+/* as supplied, tiblook uses unix routine getopt;
+ if unavailable, program can be modified by removing definition
+ of GETOPT ---
+ resulting program works in interactive mode only */
+
+#define GETOPT
+#include "stdio.h"
+#include "tib.h"
+
+char *locate();
+
+int max_klen = 6; /* max length of keys */
+char *common = /* name of file of common words */
+ COMFILE;
+char INDEXF[MAXSTR] = /* name of index file */
+ INDXFILE;
+char optch2[]=OPTCH; /* option character on call */
+
+int argc;
+char **argv;
+int noref = 0; /* reference found? */
+#ifdef GETOPT
+main(argc,argv)
+int argc;
+char **argv;
+{ char *refs;
+ char keys[MAXSTR];
+ char *p,*q, *pcom, *getenv();
+ char one_index[MAXSTR];
+ char *pindx, *getenv();
+
+ int getopt();
+ int opt;
+ extern char *optarg;
+ extern int optind;
+
+ while ((opt = getopt(argc, argv, "l:c:p:")) !=EOF)
+ { switch (opt)
+ { case 'l': max_klen= atoi(optarg);
+ break;
+ case 'c': common= optarg;
+ break;
+ case 'p': strcpy(INDEXF,optarg);
+ break;
+ case '?':
+ default: fprintf(stderr, "invalid switch '%c'\n", opt);
+ }
+ }
+#endif
+#ifndef GETOPT
+
+main(argcount,arglist)
+int argcount;
+char **arglist;
+{ char *refs;
+ char keys[MAXSTR];
+ char *p,*q, *pcom, *getenv();
+ char one_index[MAXSTR];
+ char *pindx, *getenv();
+
+ argc= argcount-1;
+ argv= arglist+1;
+ flags();
+#endif
+
+ /* add SYSINDEX to search path. all names are comma terminated */
+ strcat(INDEXF, ",");
+ pindx = getenv("SYSINDEX");
+ if (pindx == NULL)
+ strcat(INDEXF, SYSINDEX);
+ else
+ strcat(INDEXF, pindx);
+ strcat(INDEXF, ",");
+
+/* set common words file name */
+
+ pcom = getenv("COMFILE");
+ if (pcom != NULL)
+ strcpy (common,pcom);
+
+#ifdef GETOPT
+
+ if (optind != argc) {
+ for ( ; optind < argc; optind++) {
+ strcat(keys, argv[optind]);
+ strcat(keys, " ");
+ }
+ for (p = one_index, q = INDEXF; *q != NULL; q++)
+ if (*q == ',' )
+ { *p = 0;
+ refs = locate(keys, one_index, max_klen, common);
+ if( refs==NULL ) {
+ strcpy(q-strlen(one_index),q+1);
+ q = q-strlen(one_index)-1;
+ }
+/* if (refs!=NULL && *refs!=NULL) break;*/
+ if (refs!=NULL && *refs!=NULL) {
+ printf("%s", refs);
+ if (refs!=NULL) free(refs);
+ }
+ p = one_index;
+ }
+ else *p++ = *q;
+
+/* if (refs==NULL || *refs==NULL) printf("No references found.\n");
+ else printf("%s", refs);
+ if (refs!=NULL) free(refs);*/
+
+ exit(0);
+ }
+#endif
+
+ /* header */
+ fprintf (stderr, "Tiblook -- version %s, released %s.\n", VERSION, RDATE);
+
+ printf("Enter keys separated by spaces for search, <return> to exit ...\n\n*");
+
+ while (fgets(keys,MAXSTR,stdin)!=NULL)
+ { if (keys[0] == '\n') exit(0);
+ for (p = one_index, q = INDEXF; *q != 0 ; q++)
+ if (*q == ',' )
+ { *p = 0;
+ refs = locate(keys, one_index, max_klen, common);
+ if( refs==NULL )
+ { fprintf(stderr,
+ "%s removed from index list.\n", one_index);
+ /* delete this file name (shift remainder on top) */
+ strcpy(q-strlen(one_index),q+1);
+ q = q-strlen(one_index)-1;
+ }
+/* if (refs!=NULL && *refs!=NULL) break;*/
+ if (refs!=NULL && *refs!=NULL) {
+ printf("%s", refs);
+ if (refs!=NULL) free(refs);
+ noref=1;
+ }
+ p = one_index;
+ }
+ else *p++ = *q;
+
+/* if (refs==NULL || *refs==NULL) printf("No references found.\n");*/
+ if (noref == 0) printf("No references found.\n");
+/* else printf("%s", refs);
+ if (refs!=NULL) free(refs);*/
+ printf("*");
+ noref = 0;
+ }
+ exit(0);
+}
+
+ clnup()
+{
+ return;
+}
+
+#define operand (strlen(*argv+2)==0 ? (argv++,argc--,*argv) : *argv+2)
+
+flags()
+{ for (; argc>0 && *argv[0]==optch2[0]; argc--,argv++)
+ { switch ((*argv)[1])
+ { case 'l': max_klen= atoi(operand);
+ break;
+ case 'c': common= operand;
+ break;
+ case 'p': strcpy(INDEXF,operand);
+ break;
+ default: fprintf(stderr, "invalid switch '%s'\n", *argv);
+ }
+ }
+}
diff --git a/biblio/tib/test/DERHAM.TST b/biblio/tib/test/DERHAM.TST
new file mode 100644
index 0000000000..d3cd956e56
--- /dev/null
+++ b/biblio/tib/test/DERHAM.TST
@@ -0,0 +1,8 @@
+%A Georges deRham
+%F deR
+%T Sur l'analysis situs de variet\'es a $n$ dimensions
+%J |JMATP7|
+%V 10
+%D 1931
+%P 115-200
+
diff --git a/biblio/tib/test/INDEX.TST b/biblio/tib/test/INDEX.TST
new file mode 100644
index 0000000000..058ea2b350
--- /dev/null
+++ b/biblio/tib/test/INDEX.TST
@@ -0,0 +1,203 @@
+ test.ref
+1814 :test.ref 220/117
+1931 :test.ref 1199/117
+1950 :test.ref 2712/361
+1960 :test.ref 2712/361
+1961 :test.ref 759/115
+1968 :test.ref 1482/130
+1970 :test.ref 1082/116
+1971 :test.ref 92/127 445/173
+1978 :test.ref 338/106 2423/288
+1979 :test.ref 875/141
+1980 :test.ref 619/139
+1981 :test.ref 2039/171
+1982 :test.ref 0/91
+1983 :test.ref 1317/164 1613/218 1832/206 2211/159
+1984 :test.ref 1017/64
+1986 :test.ref 2371/51
+1circt :test.ref 1832/206
+84986 :test.ref 2211/159
+addiso :test.ref 1017/64
+akadem :test.ref 2712/361
+alfred :test.ref 2712/361
+algori :test.ref 445/173
+anamol :test.ref 1832/206
+angula :test.ref 1317/164
+approa :test.ref 445/173
+approx :test.ref 875/141
+arnold :test.ref 1482/130 1613/218
+automa :test.ref 0/91 619/139
+axioma :test.ref 445/173
+book :test.ref 1017/64
+bordis :test.ref 1082/116
+brooks :test.ref 619/139
+brownd :test.ref 2423/288
+cambri :test.ref 759/115
+colt :test.ref 220/117
+consta :test.ref 2423/288
+crusta :test.ref 2039/171
+darcy :test.ref 759/115
+data :test.ref 619/139 1832/206 2039/171
+de :test.ref 1199/117
+debugg :test.ref 338/106
+dennie :test.ref 338/106
+dept :test.ref 1832/206
+der :test.ref 1199/117 1613/218
+derham :test.ref 1199/117
+design :test.ref 338/106
+determ :test.ref 2423/288
+develo :test.ref 1832/206
+dieck :test.ref 1082/116
+differ :test.ref 875/141 1613/218
+dimens :test.ref 1199/117
+donald :test.ref 1017/64
+dynami :test.ref 2039/171
+effici :test.ref 338/106
+egroup :test.ref 2211/159
+elba :test.ref 220/117
+engele :test.ref 445/173
+engine :test.ref 0/91
+enshaf :test.ref 1613/218
+equati :test.ref 875/141 1613/218
+errors :test.ref 619/139
+first :test.ref 2039/171
+fixed :test.ref 875/141
+form :test.ref 759/115
+freeai :test.ref 1832/206
+from :test.ref 2211/159 2423/288
+functi :test.ref 875/141
+gantma :test.ref 2712/361
+genera :test.ref 619/139
+geocen :test.ref 2423/288
+geod :test.ref 1832/206
+geomet :test.ref 1613/218
+geophy :test.ref 2423/288
+george :test.ref 1199/117
+gmanif :test.ref 1082/116
+gravit :test.ref 2039/171 2211/159 2423/288
+griswo :test.ref 92/127
+group :test.ref 2039/171
+growth :test.ref 759/115
+grundl :test.ref 1613/218
+hansot :test.ref 875/141
+harmon :test.ref 1317/164
+having :test.ref 619/139
+heinzo :test.ref 875/141
+hoare :test.ref 220/117 445/173
+improv :test.ref 2039/171
+index :test.ref 0/91
+integr :test.ref 1082/116
+intern :test.ref 1832/206
+island :test.ref 220/117
+januar :test.ref 1832/206
+jmatp4 :test.ref 1317/164
+jmatp7 :test.ref 1199/117
+kernel :test.ref 2712/361
+kleine :test.ref 2712/361
+klosko :test.ref 2039/171 2211/159 2423/288
+knuth :test.ref 1017/64
+kolenk :test.ref 2423/288
+krein :test.ref 2712/361
+lageos :test.ref 2211/159
+lanaly :test.ref 1199/117
+langua :test.ref 92/127 445/173
+laser :test.ref 2039/171 2423/288
+laubsc :test.ref 2423/288
+lerch :test.ref 2039/171 2211/159 2423/288
+lett :test.ref 2423/288
+litera :test.ref 2712/361
+lnmath :test.ref 445/173 875/141
+mappin :test.ref 1482/130
+marsh :test.ref 2423/288
+martin :test.ref 619/139
+mathem :test.ref 1613/218
+matric :test.ref 2712/361
+mean :test.ref 1832/206
+mechan :test.ref 2712/361
+meetin :test.ref 2039/171
+memo :test.ref 2211/159
+method :test.ref 1613/218
+model :test.ref 2039/171 2211/159
+moment :test.ref 1317/164
+nasa :test.ref 2211/159
+nearea :test.ref 2423/288
+odundu :test.ref 1317/164
+ohio :test.ref 1832/206
+oluwol :test.ref 1317/164
+operat :test.ref 1317/164
+ordina :test.ref 1613/218
+oscill :test.ref 1317/164 2712/361
+oszill :test.ref 2712/361
+parame :test.ref 445/173
+patel :test.ref 2211/159
+peitge :test.ref 875/141
+phd :test.ref 619/139
+poage :test.ref 92/127
+points :test.ref 875/141
+polons :test.ref 92/127
+press :test.ref 759/115 2712/361
+prhall :test.ref 92/127 338/106
+proced :test.ref 445/173
+progra :test.ref 92/127 338/106 619/139
+putney :test.ref 2423/288
+rangin :test.ref 2423/288
+rapp :test.ref 1832/206
+reagan :test.ref 2371/51
+recurs :test.ref 619/139
+refine :test.ref 2211/159
+report :test.ref 1832/206
+res :test.ref 2423/288
+ronald :test.ref 2371/51
+rusms :test.ref 1482/130
+satell :test.ref 2423/288
+schwin :test.ref 2712/361
+sci :test.ref 1832/206
+semant :test.ref 445/173
+simple :test.ref 619/139
+singul :test.ref 1482/130
+situs :test.ref 1199/117
+small :test.ref 2712/361
+smith :test.ref 2423/288
+smooth :test.ref 1482/130
+snobol :test.ref 92/127
+softwa :test.ref 0/91
+space :test.ref 1317/164
+spring :test.ref 1613/218
+sra :test.ref 0/91
+stanfo :test.ref 619/139
+state :test.ref 1832/206 2712/361
+stohr :test.ref 2712/361
+style :test.ref 338/106
+sur :test.ref 1199/117
+surv :test.ref 1832/206
+sympos :test.ref 445/173
+system :test.ref 2712/361
+tammo :test.ref 1082/116
+tape :test.ref 1832/206
+tassel :test.ref 338/106
+tech :test.ref 2211/159
+techni :test.ref 2712/361
+test :test.ref 619/139
+testin :test.ref 338/106
+tex :test.ref 1017/64
+theore :test.ref 1082/116
+theory :test.ref 1613/218
+thesis :test.ref 619/139
+thomps :test.ref 759/115
+throug :test.ref 220/117
+tm :test.ref 2211/159
+tomdie :test.ref 1082/116
+tools :test.ref 0/91
+topol :test.ref 1082/116
+tour :test.ref 220/117
+twodim :test.ref 1317/164
+und :test.ref 2712/361
+univ :test.ref 619/139 759/115 1832/206
+using :test.ref 2039/171
+uspmn1 :test.ref 1482/130
+vantas :test.ref 338/106
+variet :test.ref 1199/117
+vibrat :test.ref 2712/361
+walthe :test.ref 875/141
+wiss :test.ref 1613/218
+workin :test.ref 2039/171
diff --git a/biblio/tib/test/Makefile b/biblio/tib/test/Makefile
new file mode 100644
index 0000000000..96161a3b01
--- /dev/null
+++ b/biblio/tib/test/Makefile
@@ -0,0 +1,54 @@
+SHELL = /bin/sh
+TEXBIN = tex
+
+all: test
+
+test: first testlist testlook testtib testdex message
+
+first:
+ -rm -f TEST.LOG
+ -cp INDEX.TST INDEX
+ touch INDEX
+
+testtib:
+ ../src/tib -x test.tex | $(TEXBIN)
+ @if [ -f texput.dvi ]; then \
+ mv texput.dvi test-t.dvi; \
+ echo ""; echo "tib o.k."|tee -a TEST.LOG;echo ""; else \
+ echo ""; echo "*** Test of tib failed!"|tee -a TEST.LOG; echo "";\
+ fi
+
+testlist:
+ ../src/tiblist -x test.ref | $(TEXBIN)
+ @if [ -f texput.dvi ]; then \
+ mv texput.dvi testr-t.dvi;\
+ echo ""; echo "tiblist o.k."|tee -a TEST.LOG; echo ""; else \
+ echo "";echo "*** Test of tiblist failed!"|tee -a TEST.LOG; \
+ echo ""; fi
+
+testlook:
+ ../src/tiblook derham|tee derham
+ @if diff -bc derham DERHAM.TST; then \
+ echo ""; echo "tiblook o.k."|tee -a TEST.LOG; echo ""; else \
+ echo ""; echo '*** Test of tiblook failed!'|tee -a TEST.LOG; \
+ echo ""; fi
+
+
+testdex:
+ -../src/tibdex test.ref
+ @if diff -bc INDEX INDEX.TST; then \
+ echo ""; echo "tibdex o.k."|tee -a TEST.LOG; echo ""; else \
+ echo ""; echo '*** Test of tibdex failed!'|tee -a TEST.LOG; \
+ echo ""; fi
+
+message:
+ @echo ""
+ @cat TEST.LOG
+ @echo ""
+ @echo "*** If all went well, you might now want"
+ @echo "*** to review the two dvi-files produced, i.e."
+ @echo "*** (test/)test-t.dvi and (test/)testr-t.dvi."
+ @echo "*** Happy TiBbing..."
+
+clean:
+ -rm -f *.dvi texput.* derham TEST.LOG INDEX *~
diff --git a/biblio/tib/test/README.NoMake b/biblio/tib/test/README.NoMake
new file mode 100644
index 0000000000..73b2d19584
--- /dev/null
+++ b/biblio/tib/test/README.NoMake
@@ -0,0 +1,27 @@
+Test
+ a. Copy INDEX.TST to INDEX.
+
+ b. Run
+ tib test.tex
+ This uses INDEX and should create a TeX file.
+ (If you get a "INDEX not up to date" message when you test tib, it
+ is because tib is comparing the last modify dates of test.ref and
+ INDEX (with chkindex). Just put INDEX in and out of a text editor
+ (touch) to give it a new date.)
+ Run (plain) TeX on the output file as usual.
+
+ c. Run
+ tiblook
+ Enter derham when it asks for you to enter something.
+ This also uses INDEX.
+
+ d. Run
+ tiblist test.ref
+ Run plain TeX on the output.
+
+ e. Run
+ tibdex test.ref
+ The output of tibdex is a new INDEX which should be
+ identical to INDEX.TST.
+
+ f. If everything works, the directory can be discarded.
diff --git a/biblio/tib/test/test.ref b/biblio/tib/test/test.ref
new file mode 100644
index 0000000000..2782320a32
--- /dev/null
+++ b/biblio/tib/test/test.ref
@@ -0,0 +1,164 @@
+%T Software Engineering Automated Tools Index
+%I |SRA|
+%F SRA
+%C San Francisco, CA
+%D 1982
+
+%A R. E. Griswold
+%A J. F. Poage
+%A I. P. Polonsky
+%T The SNOBOL4 Programming Language
+%o (second edition)
+%I |PrHall|
+%D 1971
+
+%A R. Colt Hoare
+%T A Tour through the Island of Elba
+%C London
+%D 1814
+%O out of print
+%\def\Refformat{\bookformat}
+
+%A Dennie Van~Tassel
+%T Program Style, Design, Efficiency
+%I |PrHall|
+%D 1978
+%K testing debugging tassel
+
+%A C. A. R. Hoare
+%T Procedures and parameters: An axiomatic approach
+%B Symposium on Semantics of Algorithmic Languages
+%E E. Engeler
+%P 102-116
+%S |LNMath|
+%V 188
+%D 1971
+
+%A Martin Brooks
+%T Automatic Generation of Test Data for Recursive Programs Having
+Simple Errors
+%R PhD Thesis
+%I Stanford |UNIV|
+%D 1980
+
+%A d'Arcy Thompson
+%T On Growth and Form
+%o (abridged edition, J.T. Bonner, ed.)
+%I Cambridge |UNIV| Press
+%D 1961
+
+%E Heinz-Otto Peitgen
+%E Hans-Otto Walther
+%T Functional Differential Equations and Approximation of Fixed Points
+%D 1979
+%S |LNMath|
+%V 730
+
+%A Donald E. Knuth
+%T The \TeX book
+%I |Addison|
+%K tex
+%D 1984
+
+%A Tammo tom~Dieck
+%T Bordism of $G$-manifolds and integrality theorems
+%J |TOPOL|
+%P 345-358
+%V 9
+%D 1970
+%K dieck
+
+%A Georges deRham
+%F deR
+%T Sur l'analysis situs de variet\'es a $n$ dimensions
+%J |JMATP7|
+%V 10
+%D 1931
+%P 115-200
+
+%A Ol{\'u}wol{\'e} {\`O}d{\'u}nd{\'u}n
+%T Operators for the two-dimensional harmonic oscillator in an angular
+momentum space
+%J |JMATP4|
+%V 24
+%D 1983
+%P 2340-2344
+
+%A V. I. Arnol'd
+%T Singularities of smooth mappings
+%J |USPMN1|
+%V 23
+%P 3-44
+%D 1968
+%K arnold
+%j |RUSMS|
+%v 23
+%d 1968
+%p 1-43
+
+%A V. I. Arnol'd
+%T Geometrical Methods in the Theory of Ordinary Differential Equations
+%S Grund\-leh\-ren der mathematischen Wi\ss enshaften
+%V 250
+%I |Springer|
+%D 1983
+%K arnold
+%O (Russian original, Moscow, 1977)
+
+%A R. H. Rapp
+%T The development of the January 1983\/ $1^\circ\times1^\circ$ mean free-air
+anamoly data tape
+%I |DEPT| of Geod. Sci. and Surv., Ohio State |UNIV|
+%C Columbus, OH
+%D 1983
+%R internal report
+
+%A F. J. Lerch
+%A S. M. Klosko
+%T Gravity model improvement using laser data
+%J First Crustal Dynamics Working Group Meeting
+%C Goddard Space Flight Center
+%D |SEP|, 1981
+
+%A F. J. Lerch
+%A S. M. Klosko
+%A G. B. Patel
+%T A refined gravity model from LAGEOS\/ \egroup(GEM-L2)\bgroup
+%I |NASA|
+%R Tech. Memo. TM 84986
+%D |FEB|, 1983
+
+%A Ronald Reagan
+%O personal communication
+%D 1986
+
+%A F. J. Lerch
+%A R. E. Laubscher
+%A S. M. Klosko
+%A D. E. Smith
+%A R. Kolenkiewicz
+%A B. H. Putney
+%A J. G. Marsh
+%A J. E. Brownd
+%T Determination of the geocentric gravitational constant from laser
+ranging on near-earth satellites
+%J Geophys. Res. Lett.
+%V 5
+%N 12
+%P 1031-1034
+%D 1978
+
+%A F. R. Gantmacher
+%A M. G. Krein
+%I State Press for Technical Literature
+%C Moscow-Leningrad
+%T Oscillation Matrices and Kernels and Small Vibrations of Mechanical Systems
+%o (Russian)
+%D 1950
+%t Oszillationmatrizen, Oszillationskerne und Kleine Schwingungen
+Mechanischer Systeme
+%a Alfred St{\"o}hr
+%i Akademie-Verlag
+%c Berlin
+%d 1960
+%O German translation
diff --git a/biblio/tib/test/test.tex b/biblio/tib/test/test.tex
new file mode 100644
index 0000000000..cf58fdfd7c
--- /dev/null
+++ b/biblio/tib/test/test.tex
@@ -0,0 +1,42 @@
+% EXAMPLE PAGE FOR TIB -- FOR USE WITH test.refs
+%
+% For plain TeX: adjust \vglue just below if necessary.
+% For footnotes (demo.6.p) comment out (%) the line "\vsize ..."
+% just below and the line near the end beginning ".[]".
+%
+% For LaTeX, comment out (%) the line "\vsize ..." just below
+% and activate the three indicated lines. Also activate the
+% line "\end{document}" near the end. For footnotes (demo.6.l)
+% comment out the second of the three lines and the line near
+% the end beginning ".[]".
+%
+% next line for plain TeX
+\vsize10.3truein\nopagenumbers\vglue-.5truein% adjust \vglue if necessary
+%
+% next 3 lines for LaTeX
+%\documentstyle{article}\textwidth6.5truein\nofiles\oddsidemargin=0truein
+%\pagestyle{empty}\textheight10.3truein\topmargin=-.7truein
+%\begin{document}
+\centerline{\bf Example Test Page}\smallskip
+This example shows a citation for a book,[.griswold poage polonsky.]
+a journal article,[.dieck.] a conference paper,[.lerch crustal.]
+a technical report,[.lerch patel.] an article in a book,[.hoare engeler.]
+and something that fits in no category.[.reagan.] Multiple citations
+[.brooks, hoare engeler.] look like this---or this,%
+[.brooks.].[.hoare engeler.] A run of citations [.derham, sra, knuth, tassel.]
+can sometimes be hyphenated. The alternate citation style, for referring to
+reference <.knuth.> in running text, is different. Extra text can be
+inserted in citations.[.griswold poage polonsky <, chap.~2>.] Translations
+can be referenced.[.arnold equations, arnold singularities,gantmacher.]
+If necessary, letters are appended to citations to remove ambiguities.
+If desired, citations can be sorted by any of several templates.[.lerch
+crustal,lerch putney,hoare elba,hoare engeler.] If there are no authors,
+editors are used instead;[.peitgen walther.] if there are also no editors, the
+publishing institution is used.[.sra.] Sorting and citation creation is
+based on the first capital letter in the last name.[.tassel,dieck,derham.]
+Special strings can be part of references [.tex,momentum harmonic,derham,rapp.]
+and special citation strings can be used.[.sra.] Also note
+the performance of the abbreviation routine.[.thompson,peitgen.]
+.[]\smallskip\centerline{\bf References}\smallskip %comment out for footnotes
+%\end{document} %LaTeX
+\bye %plain TeX
diff --git a/biblio/tib/tib.h b/biblio/tib/tib.h
new file mode 100644
index 0000000000..2d8e2ab3e6
--- /dev/null
+++ b/biblio/tib/tib.h
@@ -0,0 +1,73 @@
+/* various arguments for tib and tiblist processors */
+
+/* file names
+ need to be set at installation */
+
+ /* common words */
+#define COMFILE "CCCCC"
+ /* default system index */
+#define SYSINDEX "FFFFF"
+ /* where macro libraries live */
+#define TMACLIB "BBBBB"
+ /* default style of references */
+#define DEFSTYLE "BBBBB/num.tib"
+ /* output of tibdex, input file for references */
+#define INDXFILE "INDEX"
+
+/* system dependent characters */
+
+#define DIRSEP "/" /* directory separator for path names */
+ /* use "/" for unix */
+ /* use ":" for TOPS-20/VMS */
+ /* use "\\" for MS-DOS */
+#define OPTCH "-" /* option character for program call */
+ /* use "-" for unix */
+ /* use "/" for VMS, MS-DOS */
+
+/* temporary work files */
+
+ /* pass1 reference collection file */
+#define TMPREFFILE "/tmp/tibrXXXXXX"
+ /* pass2 text collection file */
+#define TMPTEXTFILE "/tmp/tibpXXXXXX"
+ /* temp file used in tibdex */
+#define INVTEMPFILE "/tmp/tibdexXXXXXX"
+
+/* constants */
+
+#define VERSION "2.2" /* version number */
+#define RDATE "12/15/89" /* release date */
+#define true 1
+#define false 0
+#define err -1
+#define REFSIZE 1024 /* maximum size of reference string */
+#define MAXFIELD 512 /* maximum size of any field in reference */
+#define HUNTSIZE 512 /* maximum size of hunt string */
+#define MAXREFS 300 /* maximum number of references in document */
+#define MAXATONCE 35 /* maximum references at one location */
+#define LINELENGTH 1024
+#define MAXDEFS 2200 /* maximum number of defined words */
+#define MAXCOMM 1000 /* maximum number of characters in common file */
+#define MAXSTR 256 /* maximum length of string in streams.c */
+
+/* reference citation marker generated in pass 1 */
+
+#define CITEMARK (char) 02
+#define CITEEND (char) 03
+
+char *malloc();
+
+/* fix needed for systems where open [w]+ doesn't work */
+#ifdef READWRITE
+
+#define READ 1
+#define WRITE 0
+
+#endif
+
+ /* Modification added by J. Goldberg for porting to HP-UX */
+
+#ifdef HPUX
+# include "/usr/contrib/include/bsd.h"
+# include <string.h> /* for index --> strchr */
+#endif
diff --git a/biblio/tib/tib.man b/biblio/tib/tib.man
new file mode 100644
index 0000000000..89b43674e2
--- /dev/null
+++ b/biblio/tib/tib.man
@@ -0,0 +1,191 @@
+.\" Manual documentation for Tib reference formatting programs
+.TH TIB 1 "2/14/86"
+.fi
+.SH NAME
+tib, tibdex, tiblook, tiblist \- process reference and citation entries
+for TeX documents
+.SH SYNOPSIS
+.sp1
+.in -5
+.pp
+\fBtib\fR [-d <\fIdirectory\fR>] [-i <\fIinclude file\fR>]
+[-j] [-n <\fIinitial citation number\fR>]
+[-p <\fIprivate index file(s)\fR>] [-s <\fIstyle file\fR>]
+[-x] [-z] [-|] [<\fIinput file(s)\fR>]
+.sp1
+.pp
+\fBtibdex\fR [-c <\fIcommon-word file\fR>] [-k <\fIkey number\fR>]
+[-l <\fIlength of keys\fR>] [-p <\fIprivate output file\fR>] [-z]
+[-% <\fIstring\fR>] <\fIreference file(s)\fR>
+.sp1
+.pp
+\fBtiblist\fR [-d <\fIdirectory\fR ][-i <\fIinclude file\fR>]
+[-s <\fIstyle file\fR>] [-x] [-z] [-|] [<\fIreference file(s)\fR>]
+.sp1
+.pp
+\fBtiblook\fR [-c <\fIcommon-words file\fR>] [-l <\fIlength of keys\fR>]
+[-p <\fIprivate indices\fR>] [<\fIkeyword1 keyword2 ...\fR>]
+.sp1
+.SH DESCRIPTION
+.pp
+There are four programs in the Tib package:
+.sp 1
+.in +.5
+.ta 1in
+Tib bibliographic preprocessor for TeX documents,
+.br
+Tibdex makes inverted index from database(s),
+.br
+Tiblist lists all members of the database(s),
+.br
+Tiblook locates listings in the database(s).
+.in -.5
+.sp 1
+.in +3
+\fITib\fR is a program to construct a bibliography for a TeX file
+and to include calls to macros files so that TeX formats the citations
+and bibliography in any of a number of styles.
+The \fIinput file\fR is a TeX file augmented with incomplete or keyed
+citations surrounded by Tib escape characters.
+Multiple input files are separated by spaces on the call and amalgamated
+into one output file. If <\fIinput file\fR> is omitted, one prompt is given.
+If the input file is named \fIfile\fR or \fIfile.tex\fR,
+the output file is named \fIfile-t.tex\fR, unless the input file is
+\fIstdin\fR, in which case the output file is \fIstdout\fR.
+The following are the options:
+.sp 1
+.in +3
+\fB-d\fR <\fIdirectory\fR> Private directory of tib files.
+
+\fB-i\fR <\fIfiles\fR> Include files of macros and tib commands.
+This option is used if there are private macro/command files.
+
+\fB-j\fR Process files called by the TeX input command.
+
+\fB-n\fR <\fInumber\fR> Nonnegative integer to initialize citations.
+
+\fB-p\fR <\fIfiles\fR> Private index files, separated by commas.
+The default is the file \fIINDEX\fR in the working directory.
+
+\fB-s\fR <\fIfile\fR> Style file, which contains formatting
+instructions and also may call other files.
+
+\fB-x\fR Output to \fIstdout\fR.
+
+\fB-z\fR Silent run. Informational
+(but not warning or error) messages are suppressed.
+
+\fB-|\fR Pipe. Input is \fIstdin\fR; output is \fIstdout\fR. Silent.
+.in -3
+.sp 1
+\fITibdex\fR makes an inverted index from reference file(s).
+Multiple reference files are separated by spaces.
+The output is an inverted index for use by Tib and Tiblist. The output
+index must not be moved or the links to the reference files will be broken.
+The following are the options:
+.in+3
+.sp1
+\fB-c\fR <\fIfile\fR> Common-word list, one word per line.
+Common words are not used as keys (default CCCCC).
+
+\fB-k\fR <\fInumber\fR> Maximum number of keys kept per record
+(default 100).
+
+\fB-l\fR <\fInumber\fR> Maximum length of keys (default 6)
+
+\fB-p\fR <\fIfile\fR> Private output file (default \fIINDEX\fR in the current directory).
+
+\fB-z\fR Silent run. Informational (but not warning and error) messages are suppressed.
+
+\fB-%\fR <\fIstring\fR> Ignore lines in the reference file that
+begin with %x where x is in the string (default CNOPVcnopv\\ ).
+.in -3
+.sp 1
+\fITiblist\fR makes a formatted TeX file of all entries in the
+input reference file(s). Multiple files are separated by spaces.
+If <input file> is omitted, one prompt is given. Unlike Tib, Tib list
+does not use inverted indices, but operates directly on the reference files.
+The following are the options:
+.sp 1
+.in +3
+\fB-d <\fIdirectory\fR> Private directory of tib files.
+
+\fB-i <\fIfiles\fR> Include files of macros and tib commands. This option is used if there are private macro/command files.
+
+\fB-s\fR <\fIfile\fR> Style file, which contains formatting instructions and also may call other files.
+
+\fB-x\fR Output to \fIstdout\fR.
+
+\fB-z\fR Silent run. Informational (but not warning and error)
+messages are suppressed.
+
+\fB-|\fR Pipe. Input is \fIstdin\fR; output is \fIstdout\fR. Silent.
+.in -3
+.sp 1
+Note: the \fB-p\fR option does not cause an error, but is ignored.
+.br
+.sp 1
+\fITiblook\fR locates entries in reference files from
+keywords entered at the terminal. If keywords are entered on the command
+line, it operates noninteractively, otherwise it gives instructions for
+interactive use. Tiblook, like Tib, works through inverted indices
+to get to the reference files.
+.sp 1
+The following are the options:
+.sp 1
+.in +3
+\fB-c\fR <\fIfile\fR> Common-word list, one word per line.
+Common words are not used as keys (default CCCCC).
+
+\fB-l\fR <\fInumber\fR> Maximum length of keys (default 6).
+
+\fB-p\fR <\fIfiles\fR> Private index files, separated by commas.
+The default is the file \fIINDEX\fR in the working directory.
+.in -6
+.SH STYLES
+.sp 1
+.in +3
+There are a number of styles (called with the -s option) available. See the
+full documentation or the file AAAAA/Styles.
+.in -3
+.SH FILES AND DIRECTORIES
+.sp 1
+.ta 2in
+.in +3
+AAAAA directory for Tib documentation
+.br
+BBBBB directory for Tib macros
+.br
+CCCCC Tib file of common words
+.br
+FFFFF Tib system index
+.br
+EEEEE source directory
+.in -3
+.SH AUTHOR
+.sp 1
+.in +3
+.nf
+James C. Alexander
+.in -3
+.fi
+.SH ACKNOWLEDGEMENTS
+.sp 1
+.in +2
+Tib is based on the \fInroff/troff\fR bibliography system \fIbib\fR
+by T. A. Budd of the University of Arizona, which in turn was inspired
+by the system \fIrefer\fR. Certain files used by Tib are supplied
+by \fIMathematical Reviews\fR. The material in these files is
+copyright by \fIMathematical Reviews\fR.
+.in -2
+.SH SEE ALSO
+.sp 1
+.in +1
+AAAAA/intro.tib \- a brief introduction
+.br
+AAAAA/tibdoc.tex. \- full documentation: a plain TeX file
+.br
+AAAAA/Styles \- available styles
+.br
+.sp 1
+tex(1), latex(1), bib(1), refer(1)
diff --git a/biblio/tib/tibabb.sh b/biblio/tib/tibabb.sh
new file mode 100644
index 0000000000..df4d4b19c1
--- /dev/null
+++ b/biblio/tib/tibabb.sh
@@ -0,0 +1,24 @@
+#! /bin/csh -f
+#
+# tibabb -- look up a journal and find the tib abbreviation for it
+#
+# Usage: tibabb < keys >...
+#
+# Note: this is case sensitive if there is more than one word in the keys
+#
+if ($#argv == 1 && "$1" == -usage) then
+ echo " Usage: tibabb < keys > ..."
+ exit 0
+endif
+switch ($#argv)
+ case 0:
+ echo " Usage: tibabb < keys > ..."
+ exit 1
+ case 1:
+ grep -i -h $1 BBBBB/*{abb,fll}.ttz|more
+ breaksw
+ default:
+ set arg = `echo $* | sed 's, ,/ \&\& /,g'`
+ awk "/$arg/" BBBBB/*{abb,fll}.ttz|more
+endsw
+
diff --git a/biblio/tib/tibdoc.pdf b/biblio/tib/tibdoc.pdf
new file mode 100644
index 0000000000..23c610fdef
--- /dev/null
+++ b/biblio/tib/tibdoc.pdf
Binary files differ
diff --git a/biblio/tib/tibdoc.tex b/biblio/tib/tibdoc.tex
new file mode 100644
index 0000000000..ad3d659e17
--- /dev/null
+++ b/biblio/tib/tibdoc.tex
@@ -0,0 +1,1670 @@
+% Documentation for Tib reference formatting programs --- version 2.2
+% Plain TeX file August, 1986
+% Last revision November, 1989
+% Copyright (C) 1986, 1989 James C. Alexander
+%
+\def\TDOCDIR{AAAAA}%directory for Tib documentation
+\def\TMACDIR{BBBBB}%directory for Tib macros
+\def\TCOMMON{CCCCC}%name of Tib file of common words
+\def\DIRSEP{/}%directory separator in path names
+\def\OPTCH{-}%option character on program call
+
+\def\leftheadline{\rightheadline}% one-sided printing
+%\def\leftheadline{\bf folio\ \ --- \it\firstmark\hss\bfTib}%two-sided printing
+
+\baselineskip 1.2\normalbaselineskip
+\nopagenumbers\voffset=2\baselineskip
+\headline{\ifnum\pageno=1\hfill
+ \else{\ifodd\pageno\rightheadline\else\leftheadline\fi}\fi}
+\def\rightheadline{\bfTib\hss\it\firstmark\ ---\ \ \bf\folio}
+\outer\def\beginsection#1#2\par{\vskip0pt plus#1\vsize\penalty-250
+ \vskip0pt plus-#1\vsize\bigskip\vskip\parskip\message{#2}
+ \leftline{\kern-4pt\llap{$\bullet$\ }\bf#2\hfill}\mark{#2}
+ \nobreak\smallskip\noindent}
+\outer\def\beginsubsection#1#2\par{\vskip0pt plus#1\vsize\penalty-250
+ \vskip0pt plus-#1\vsize\medskip\vskip\parskip
+ \leftline{\bf\ \ #2}\nobreak\smallskip\noindent}
+\def\Tib{{\rm T\kern-.1667em\sevenrm I\rm b}}
+\def\bfTib{{\bf T\kern-.2em\sevenbf I\bf b}}
+\def\itTib{{\it T\kern-.2em\seveni I\it b}}
+\def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sevenrm A}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+\def\itLaTeX{{\it L\kern-.3em\raise.3ex\hbox{\seveni A}\kern-.15em
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
+\def\AmSTeX{$\cal A\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em
+ S$-\TeX}
+\def\\{\begingroup\catcode`\\=12\tt\char"5C\endgroup}
+\def\{{\begingroup\catcode`\{=12\tt\char"7B\endgroup}
+\def\}{\begingroup\catcode`\}=12\tt\char"7D\endgroup}
+\def\<#1>{\leavevmode\hbox{$\langle${\it#1\/}$\rangle$}}
+\def\[#1]{\leavevmode\hbox{\tt[#1]}}
+\def\({\/\rm(}\def\){\/\rm)}
+\newdimen\tableindent\newdimen\leftbox
+\def\tableset{\tableindent=\leftbox\advance\tableindent by 20pt
+ \leftskip\tableindent\rightskip10pt\parindent=0pt}
+\def\tableentry#1{%
+ \setbox0\hbox{{\tt\tablemark#1}\hss}\wd0=\leftbox
+ \item{\box0}}
+\def\listitem{\tt\obeylines\obeyspaces\parindent20pt}
+
+\immediate\write16{ **** Documentation for Tib ****}
+\indent\par
+\vglue-.5in
+\centerline{\bfTib\footnote{$^*$}{Version 2.2. \copyright 1986, 1989
+James C. Alexander. \Tib{} may be distributed whole, but not sold.}}
+\bigskip
+\centerline{A \TeX{} bibliographic preprocessor}
+\bigskip
+{\baselineskip10pt
+\centerline{J. C. Alexander ({\tt jca@lakisis.umd.edu})}
+\smallskip
+\centerline{Department of Mathematics}
+\centerline{University of Maryland}
+\centerline{College Park, MD 20742}}
+
+\bigskip\hfill\hbox{\vbox{\baselineskip10pt
+\hbox{\it Small have continual plodders ever won,}
+\hbox{\it Save base authority from others{\rm'} books.}
+\smallskip
+\hbox{\ \ W. Shakespeare, \it Love{\rm'}s Labour{\rm'}s Lost}}}
+
+\beginsection{.3} 0. General
+
+\Tib{} is a package of four programs for making citations and reference
+lists in \TeX{} documents. The main program, \Tib, operates on a \TeX{}
+file with incomplete or keyed citations, looks up the reference in a
+database, makes the complete citation and on command, makes a list of
+the references. The citations in the source document
+are enclosed in (non-\TeX) escape characters
+which \Tib{} recognizes. The output of \Tib{} is another \TeX{} file with
+complete citations and reference list formatted with a number of \TeX{} control
+sequences and with definitions for these control sequences, ready
+to be processed by plain \TeX, \LaTeX, or another \TeX. With appropriate
+options in \Tib{} and definitions of the control sequences, set by
+flags in the call to \Tib{} or as environment variables,
+the citations and references can be formatted in any
+of a large variety of styles, and in particular, in the styles of various
+journals. It is intended that \Tib{} be easy to use as is and yet also allow
+custom citation and reference formats to be created and implemented
+without undue effort.
+
+\Tib is a preprocessor in the style of {\it refer\/}, a similar
+preprocessor for the {\it nroff{\rm/}troff\/} textsetters. Indeed
+\Tib{} originally was to be a minor modification of the {\it
+nroff{\rm/}troff\/} preprocessor {\it bib\/} written by T. A. Budd
+(which was inspired by {\it refer\/}), but with \TeX{} output; however
+it has grown and changed considerably. The philosophy, though, is that
+of {\it refer\/} and {\it bib\/} (especially of {\it bib\/} in regard
+to modularity of the formatting files), and some of the code and
+subroutines from {\it bib\/} remain. The source code of \Tib{} is in
+the language C.
+
+The sections of this document are:
+\medskip
+\halign{\indent\indent\hfil#&\quad{\it#}\hfill\cr
+1.&Demonstration\cr
+2.&Program calls\cr
+3.&Available styles\cr
+4.&The input document\cr
+5.&Styles and files\cr
+6.&The reference file\cr
+7.&{\tt\\input} files\cr
+8.&Error and warning messages\cr
+&Disclaimer\cr
+A1.&Appendix: the example document\cr
+A2.&Appendix: local changes\/ {\rm(if any)}\cr
+}
+\medskip\noindent
+Section~1 is for first-time users. Indeed, probably the best course is
+to use the demonstration files as models and use the remainder of this
+documentation as reference when needed.
+
+The escape characters of \Tib{} do not interfere with \TeX{} processing.
+If \TeX{} is applied to the original pre-\Tib{} document, the escape
+characters and incomplete citations will appear as written.
+Thus it is suggested that a \TeX{} document be debugged before applying
+\Tib. When the \TeX{} bugs are eliminated, \Tib{} can be used
+for the final one or two runs.
+
+\beginsection{.3} 1. Demonstration
+
+{\leftskip3pc\parindent0pt\it
+\item{\rm1.} Copy the file\/ {\rm\TDOCDIR\DIRSEP test.tex}
+{\rm(}see appendix\/{\rm)} into a directory.
+This is a sample\/ \TeX{} document ready for \itTib.
+
+\item{\rm2.} Copy the file\/ {\rm\TDOCDIR\DIRSEP test.ref} into the same
+directory. This is a sample bibliographic database.
+
+\item{\rm3.} Apply the program \itTib dex to\/ {\rm test.ref\/}
+\smallskip\par\hskip40pt{\tt tibdex test} \hskip1em (the {\tt .ref} is appended
+automatically)\smallskip
+\par This creates an inverted index\/ {\rm INDEX\/} in the directory.
+
+\item{\rm4.} Apply \itTib{} to\/ {\rm test.tex\/}.
+\smallskip\par\hskip40pt{\tt tib test.tex}
+\par or
+\par\hskip40pt{\tt tib test}\smallskip
+\par {\rm(}the extension\/ {\rm .tex\/} need not be part of the call\/{\rm)}.
+The output is the file\/ {\rm test-t.tex}, which is ready for\/ \TeX.
+
+\item{\rm4.L.} For \itLaTeX, follow the instructions in\/ {\rm test.tex\/} before
+performing step 4.
+
+\item{\rm5.} Process\/ {\rm test-t.tex\/} with \TeX{} or \itLaTeX{} as usual.
+\bigskip}\noindent
+This call sets default options. A large variety of formatting options
+is available. Some of them are: other fonts (old English, boldface ...),
+alphabetizing and other sorts of sorts, replacing successive
+listings of identical
+author(s) by underlines, other citation styles (3 letter codes from authors'
+names, authors' names and date, superscripts), reversing and/or abbreviating
+authors' names, caps-small caps for names, hyphenating strings of references
+in citations, footnotes instead of endnotes, other listing formats. Any
+combination of these (and others) can be packaged in a format file and called
+with the \OPTCH s~\<style> option. For demonstrations of some of these,
+repeat steps 4-5 with the following calls on {\it test.tex} (see also
+section~3):
+\smallskip{\tt
+\par\indent\indent tib \OPTCH s demo1 test
+\par\indent\indent tib \OPTCH s demo2 test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo2l test {\rm(for \LaTeX)}
+\par\indent\indent tib \OPTCH s demo3 test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo3l test {\rm(for \LaTeX)}
+\par\indent\indent tib \OPTCH s demo4 test
+\par\indent\indent tib \OPTCH s demo5 test
+\par\indent\indent tib \OPTCH s demo6p test {\rm(for plain \TeX)}
+\par\indent\indent tib \OPTCH s demo6l test {\rm(for \LaTeX)}}.
+\smallskip
+
+\noindent The last two call for footnotes; note the instructions in
+{\it test.tex}. Note that occasionally, reformatting or additional editing is
+called for. \Tib{} is not meant to cover {\it all\/} formatting possibilities.
+
+\beginsection{.1} 2. Program calls
+
+There are four programs in the \Tib{} package:
+\medskip\halign{\indent\indent#\hfil&\qquad{\it#}\hfil\cr
+\Tib&bibliographic preprocessor for \TeX{} documents,\cr
+\Tib dex&makes inverted index from database\/{\rm(}s\/{\rm)},\cr
+\Tib list&lists all members of the database\/{\rm(}s\/{\rm)},\cr
+\Tib look&interactively locates listings in the database\/{\rm(}s\/{\rm)}.\cr}
+\medskip
+We consider the specifications for each. In the calls below angle brackets
+(\<name>) enclose names to be supplied by the user. Square
+brackets (\[\OPTCH {\it flag}]) enclose optional items. The brackets
+are not part of the call. The space indicated between a flag and a
+\<name> can be omitted. The flags need not be used in the order indicated
+below; files are processed in the order they appear, left to right.
+Note there is a distinction between {\it index\/}
+files and {\it reference\/} files. The latter is the database created by
+the user; the former is created by \Tib dex.
+
+\centerline{\vrule height0pt depth.5pt width8pc}
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\tt
+\leftline{tib \[\OPTCH d \<directory>] \[\OPTCH i \<include file>]
+ [\OPTCH j] \[\OPTCH n \<initial flag>]
+ \[\OPTCH p \<private index file\/{\rm(}s\/{\rm)}>]}
+ \rightline{\[\OPTCH s \<style file>]
+ \[\OPTCH x] \[\OPTCH z] \[\OPTCH $|$] \[\<input
+ file\/{\rm(}s\/{\rm)}>]}}
+\smallskip
+\noindent\Tib{} is a program to construct a bibliography for a \TeX{} file
+and to include calls to macros files so that \TeX{} formats the citations
+and bibliography in any of a number of styles.
+The {\it input file} is a \TeX{} file augmented with incomplete or keyed
+citations surrounded by \Tib{} escape characters, as described in section~4.
+Multiple input files are separated by spaces on the call and amalgamated
+into one output file. If \<input file> is omitted, one prompt is given.
+If the input file is named {\it file\/} or {\it file.tex},
+the output file is named {\it file-t.tex}, unless the input file is
+{\it stdin}, in which case the output file is {\it stdout}.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{d \<directory>}Private directory of \Tib{} files. Obviates
+\OPTCH i~option. See Table~6.
+
+\tableentry{i \<file>}Include file of macros and \Tib{} commands.
+See sections 3 and~5.
+This option is used if there are private macro/command file(s).
+
+\tableentry{j}Process {\tt\\input} files.
+
+\tableentry{n \<initial flag>}Number (nonnegative) used as initial
+numerical citation flag (default 1). Ignored for nonnumerical flags.
+
+\tableentry{p \<files>}Private index files, separated by commas.
+The default is the file {\it INDEX\/} in the working directory.
+
+\tableentry{s \<file>}Style file, which contains formatting instructions and
+also may call other files. Style files are described in detail in section~6.
+The available style files are described in section~3.
+
+\tableentry{x}Output to {\it stdout}.
+
+\tableentry{z}Silent run. Informational (but not warning or error)
+messages are suppressed.
+
+\tableentry{$|$}Pipe. Input is {\it stdin\/}; output is {\it stdout}. Silent.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par%\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\tt
+\leftline{tibdex \[\OPTCH c \<common-word files>] \[\OPTCH k \<key number>]
+ \[\OPTCH l \<length of keys>] \[\OPTCH n \<initial flag>]}
+ \rightline{\[\OPTCH p \<private output file>] \[\OPTCH z]
+ \[\OPTCH \%\<string>] \<reference file\/{\rm(}s\/{\rm)}>}}
+\smallskip
+\noindent\Tib dex makes an inverted index from reference file(s). The
+reference files are described in section~6. Names of multiple reference files
+are separated by spaces. The output is an inverted index for use by
+\Tib{} and \Tib look. The output index must not be moved or
+the links to the reference files will be broken.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{c \<file>}Common-word list, one word per line. Common words
+are not used as keys (default \TCOMMON).
+
+\tableentry{k \<number>}Maximum number of keys kept per record (default 100).
+
+\tableentry{l \<number>}Maximum length of keys (default 6).
+
+\tableentry{n \<initial flag>}Number (nonnegative) used as initial
+numerical citation flag (default 1). Ignored for nonnumerical flags.
+
+\tableentry{p \<file>}Private output file (default {\it INDEX\/} in the
+current directory).
+
+\tableentry{z}Silent run. Informational (but not warning and error)
+messages are suppressed.
+
+\tableentry{\%\<string>}Ignore lines in the reference file that begin
+with \%x where x is in {\it string\/} (see Table~10) (default CNOPVcnopv\\\%).
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\tt
+ tiblist \[\OPTCH d \<directory>] \[\OPTCH i \<include file>]
+ \[\OPTCH s \<style file>] \[\OPTCH x] \[\OPTCH z] \[\OPTCH $|$]
+ \[\<reference file\/{\rm(}s\/{\rm)}>]}
+\smallskip
+\noindent\Tib list makes a formatted plain \TeX{} file of all entries in the
+input reference file(s). Names of multiple files are separated by spaces.
+If \<input file> is omitted, one prompt is given. Unlike \Tib, \Tib list
+does not use inverted indices, but directly processes the reference files.
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{d \<directory>}Private directory of \Tib{} files. Obviates
+\OPTCH i~option. See Table~6.
+
+\tableentry{i \<file>}Include file of macros and \Tib{} commands.
+See sections 3 and~5.
+This option is used if there are private macro/command file(s).
+
+\tableentry{s \<file>}Style file, which contains formatting instructions and
+also may call other files. Style files are described in detail in section~5.
+The available style files are described in section~3.
+
+\tableentry{x}Output to {\it stdout}.
+
+\tableentry{z}Silent run. Informational (but not warning and error)
+messages are suppressed.
+
+\tableentry{$|$}Pipe. Input is {\it stdin\/}; output is {\it stdout}. Silent.
+\par}
+
+\noindent Note: the \OPTCH p~option does not cause an error, but is ignored.
+\par\centerline{\vrule height0pt depth.5pt width8pc}
+
+\par\vskip0pt plus.3\vsize\penalty-250\vskip0pt plus-.3\vsize
+{\noindent\raggedright\hangindent1pc\hangafter0\tt
+ tiblook \[\OPTCH c \<common-words file>]
+ \[\OPTCH l \<length of keys>] \[\OPTCH p \<private indices>]
+ \[\<keywords>]}
+\smallskip
+\noindent\Tib look locates entries in reference files from keywords.
+If keywords are not entered on the command line, \Tib look gives
+instructions and operates interactively. \Tib look, like \Tib, works
+through inverted indices to get to the reference files.
+
+The following are the options:
+\par{\leftbox5pc\def\tablemark{\OPTCH }\tableset
+
+\tableentry{c \<file>}Common-word list, one word per line. Common words
+are not used as keys (default \TCOMMON).
+
+\tableentry{l \<number>}Maximum length of keys (default 6).
+
+\tableentry{p \<files>}Private index files, separated by commas.
+The default is the file {\it INDEX\/} in the working directory.
+
+\tableentry{\<keywords>}Keywords for noninteractive search.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+\par\vskip0pt plus.1\vsize\penalty-250\vskip0pt plus-.1\vsize
+
+\bigskip
+\par\noindent The following can optionally
+be set as variables in the environment:
+\medskip\par{\leftbox5pc\def\tablemark{}\tableset
+\tableentry{\rm TMACLIB}Directory for macro files (no directory-separator
+character on the end).
+\tableentry{\rm TMPDIR}Scratch directory for temporary work files (no
+directory-separator character on the end).
+\tableentry{\rm COMFILE}File of common words.
+\tableentry{\rm SYSINDEX}System index file.
+\tableentry{\rm DEFSTYLE}Default style file.
+\par}\centerline{\vrule height0pt depth.5pt width8pc}
+
+\bigskip
+\par\noindent The options permit a variety of possibilities in file
+organization. At one extreme there can be a number of specialized
+reference files and \Tib dex can be run
+on particular ones to create an index for each particular document. At the
+other extreme, there can be one master reference file and one master
+index in a dedicated directory. This index can be accessed by \Tib{}
+with the \OPTCH p~option. In this case the \Tib{} programs could be {\it aliased\/}
+(or called from macros) so this index is automatically accessible. The same
+is true of private command files which are accessed with the \OPTCH i~option or made
+available with the \OPTCH d~option.
+
+\beginsection{.1} 3. Available styles
+
+The selection of style file for the \OPTCH s~option for the call to
+\Tib{} is the basic choice and is often the only choice necessary.
+It controls the format style of the citations and reference list. A
+number of styles are supplied; they are listed for reference (Tables 1 \&~2).
+A {\it name\/} listed is called by the option {\tt \OPTCH s~\<name>}
+(although {\it name\/} is only part of the actual name of the file). The
+effect of the choice on \Tib{} is described in section~5. There are
+a number of general styles and variations which are listed in Table~1.
+Also a number of journal styles are available. Journal styles
+currently available are listed in Table~2. One of the purposes
+of \Tib{} is generating citations and reference lists in journal styles
+so that papers can be sent to journals as \TeX{} files. As journals develop
+format specifications for \TeX{} files, more journal styles will be
+developed and refined to those specifications. Conversely, a journal
+which accepts papers in \TeX{} form and which has
+a copy of \Tib{}, or at least appropriate {\it .ttx\/} files
+(see section~5), could process a paper set in \TeX{} with \Tib{}
+control sequences and format it to its own journal style. See also the
+file {\tt\TDOCDIR\DIRSEP Styles}.
+
+\midinsert
+\centerline{\bf Table~1. General format styles}\smallskip
+{\tt\catcode`\u=12\parindent17pt
+\par num \hskip2pc{\rm(default unless reset at installation or in environment)}
+\par numo, numos, numb, numbs, numu, numub, numubs, numus, numul,
+numubl, numubsl
+\par alpha, alphab
+\par nmdt, nmdtb
+\par footp, footl
+\par intext, slyd}
+\medskip
+\centerline{Meanings:}
+{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{num}standard numerical citations
+\par\tableentry{alpha}3 letter alphabetic citations
+\par\tableentry{nmdt}citations made from names and date
+\par\tableentry{foot}footnotes
+\par\tableentry{o}old English
+\par\tableentry{b}some boldface
+\par\tableentry{s}sorted (alphabetized)
+\par\tableentry{u}superscripts (up)
+\par\tableentry{p}plain \TeX
+\par\tableentry{l}\LaTeX
+\par\tableentry{intext}references in text
+\par\tableentry{slyd}for making slides
+\par\centerline{\vrule height0pt depth.5pt width8pc}}
+\centerline{\bf Table~2. Journal format styles}\smallskip
+{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{acm}Association of Computing Machinery (all journals)
+[{\tt acml} for \LaTeX]
+\par\tableentry{}American Mathematical Society (all journals)
+\par\tableentry{amsa}\hskip1pc alphabetical citations
+\par\tableentry{amsd}\hskip1pc name-date citations
+\par\tableentry{amsn}\hskip1pc numerical citations
+\par\tableentry{aps}American Physical Society
+\par\tableentry{cmp}{\it Communications in Mathematical Physics}
+\par\tableentry{epes}{\it Electrical Power and Energy Systems}
+\par\tableentry{ijrr}{\it International Journal of Robotics Research}
+\par\tableentry{ieee}Institute of Electrical and Electronic Engineers
+(all journals)
+\par\tableentry{jgr}{\it Journal of Geophysical Research}
+\par\tableentry{lala}{\it Linear Algebra and its Applications}
+\par\tableentry{}Society for Industrial and Applied Mathematics (all journals)
+\par\tableentry{siamd}\hskip1pc name-date citations [{\tt siamdl} for \LaTeX]
+\par\tableentry{siamn}\hskip1pc numerical citations [{\tt siamnl} for \LaTeX]
+\par\tableentry{spln}Springer {\it Lecture Notes\/} and other publications
+\par\centerline{\vrule height0pt depth.5pt width8pc}}\endinsert
+
+\Tib{} is not universally successful with all styles. There are
+several features which don't work well in slyd; these are detailed in
+the master file {\tt\TMACDIR\DIRSEP slyd.tib}. Moreover, so that the
+alternate citation style (see section~4) works with footnotes, \Tib{}
+uses its own citation numbers in footnotes in plain \TeX. If numbered
+footnotes are used for purposes other than citations, conflicts will
+arise. \Tib{} works acceptably with \LaTeX, since it uses the footnote
+numbers generated by \LaTeX. Certainly the same process can be made to
+work in plain \TeX{} ({\it The \TeX book}, exercise 15.12). In
+addition, when using ``{\it loc.\ cit.}," \Tib{} refers only to the
+author(s). However, see the appropriate {\tt .ttx} files for
+modifications to include the title also in the citation. Also some
+styles call for amalgamating multiple references into one footnote or
+include comments and references in one footnote. This is presently
+beyond \Tib's capability. For example, \Tib{} has considerable trouble
+with the American Physical Society's style, which uses footnotes with
+all the above features, and in addition collects them at the end as
+endnotes.
+
+\beginsection{.2} 4. The input document
+
+\Tib{} operates on a \TeX{} file with incomplete citations. It recognizes
+its own set of escape sequences, which are summarized in Table~3. For an
+example document, see the appendix. For each
+such citation it locates the reference in a reference file, constructs the
+citation in one of several styles and on demand, creates a reference list.
+In this section we discuss the way \Tib{} reads the file.
+
+An {\it ordinary incomplete\/} citation is surrounded by the characters
+{\tt [.} {\tt .]}. For example:
+\medskip\centerline{\tt
+ \dots in Arnol'd's book,[.arnold singularities.]\ especially\dots}
+\medskip
+\noindent Words in the incomplete citation (separated by spaces)
+are matched against the inverted index created by \Tib dex
+and hence against the source reference files. The words are any words
+in the reference listing, except those in the excluded fields (see section
+6 for a discussion of the reference files; see the \OPTCH \%~option for \Tib dex
+for excluded fields). \Tib{} first searches the default index ({\it INDEX\/})
+or the indices designated with the \OPTCH p~option, in order from left to right
+and then the system index, if there is one. If an entry is found that
+matches all words, that reference is used. If no reference entry is found
+or if multiple entries are found, a warning message is sent to the console.
+The case of the letters in the citation is immaterial. The words in the
+citation are truncated (by default to 6 letters; see the \OPTCH l~option for
+\Tib dex). Thus {\tt [.arnold singularities.]} and {\tt [.ARNOLD singul.]}
+effect the same result. Embedded newlines, tabs and extra spaces are ignored.
+The format of the citation is controlled by \Tib{} format files (section~5).
+
+Note that punctuation is placed to the left of the citation. In some
+citation styles (e.g.\ brackets), punctuation comes after the citation,
+and in others (e.g.\ superscripts), it comes before. \Tib{}
+looks at the character immediately preceding the {\tt [.}\ and generates
+control sequences which are interpreted by \TeX{} via macro files appropriate
+to the citation style. Punctuation to the right of citations is passed
+through unparsed to \TeX.
+Such a citation placed in a line after a \TeX{} comment character `\%'
+(or other character of category~14)
+will cause the cited reference to appear in the listing, but not in the text.
+
+Multiple citations in one citation mark are indicated by commas:
+\medskip\centerline{\tt
+ \dots equations.[.arnold singularities, arnold equations.]}
+\medskip
+
+\noindent {\it Additional information\/} can be placed at the end of a
+citation by enclosing it in angle brackets {\tt< >}, e.g.\
+\medskip\centerline{\tt
+ \dots in.[.arnold singularities <, chap.\catcode`\~=12{~}2>.]}
+\medskip
+\noindent In citation styles which use brackets, such insertions are enclosed
+{\it verbatim\/} in the brackets. In other styles, such as footnotes, the
+information is appended to the reference listing.
+
+An {\it alternate citation} style can be used by surrounding the incomplete
+citation with {\tt<. .>}. This is mostly for citations in running text.
+Thus:
+\medskip\centerline{\tt
+ \dots discussed in reference <.arnold singularities.>.}
+\medskip
+\noindent Insertions are not permitted in this alternative style. Neither is
+punctuation handled specially; thus punctuation should be put in its
+usual place.
+
+A reference list is constructed and inserted in the document where the
+sequence {\tt .[]} is encountered at the beginning of a line. The remainder
+of that line is processed and inserted before the listing. The style and
+format of the listing is controlled by \Tib{} format files.
+
+If for some reason, one of \Tib's sequences is part of the text
+of the document, break up the sequence so \Tib{} will not recognize it
+(e.g.{} {\tt [\{\}.} or {\tt\$x< .5\$}).
+Note that the \Tib{} escape sequences are transparent to
+\TeX{} so they do not interfere with \TeX{} processing. Thus a \TeX{}
+document can be debugged without running \Tib{}. The citations
+will appear as typed in the document. After all \TeX{} bugs are eliminated,
+then \Tib{} can be used for the final one or two runs.
+
+\midinsert
+\centerline{\bf Table~3. \bfTib's escape sequences}\smallskip
+{\leftbox10pc\def\tablemark{}\tableset
+
+\tableentry{[.{\it key words}.]}Citation,
+
+\tableentry{<.{\it key words\/}.>}Alternate citation,
+
+\tableentry{[.\ $\dots$<{\it insertion\/}>.]}Insertion in citation,
+
+\tableentry{.[]}Make reference list after this line (must be at beginning
+of line).
+\par}\endinsert
+
+\beginsection{.2} 5. Styles and files
+
+\Tib{} controls the format of the citations and reference lists by means
+of files of \Tib{} and \TeX{} commands. For the most part the details of such
+controls can be ignored, with three possible exceptions.
+
+One: it is possible
+to ``define" code words for use in the reference files. For example, a file of
+1845 standard (= {\it Mathematical Reviews}) journal abbreviations is supplied
+and \Tib{} will automatically abbreviate journal names. The process is
+discussed below in the subsection on definitions. Additionally, private
+abbreviations can be defined and the standard abbreviations can be overridden.
+The method for doing such is discussed in this section.
+
+Two: \Tib{} can automatically format
+99\kern.25em\raise.5ex\hbox{\the\scriptfont0 {44}}
+\kern-.35em/\kern-.15em\lower.25ex\hbox{\the\scriptfont0 {100}}\%\ \thinspace
+of citation work. However it is only a computer
+program, and on occasion will require human assistance. There will be
+references which \Tib{} just cannot format correctly. Or an overfull
+{\tt\\hbox} may crop up. The output of \Tib{} is a \TeX{} document
+which may be edited before applying \TeX. However \Tib{} puts out
+a small jungle of control sequences and it is necessary to have some idea how
+to hack through them.
+
+Three: concerning those control strings, \Tib{}
+reserves fifty or so control strings for its use. The definitions of these
+strings can be modified for particular effects; however unintentional
+modification can result in chaos. Thus it is at least necessary to
+know what the reserved strings are.
+
+\beginsubsection{.2} Reserved control strings
+
+We take care of the last point first. Table~4 is a complete list
+of global control strings which \Tib{} may insert into a document.
+Also \Tib{} uses the plain \TeX{} strings {\tt\\bgroup}
+and {\tt\\egroup} as implicit left and right braces. For
+completeness, it explicitly defines them with their plain \TeX{} meanings.
+In addition \Tib{} sets a number of other control strings. However
+these are local and thus will not conflict with their possible other use
+in other parts of the document. For the meaning of these strings,
+see the file {\tt\TMACDIR\DIRSEP Macros.ttx}, where
+these control strings are given their default definitions.
+
+\midinsert
+\centerline{\bf Table~4. Reserved global control strings}
+\smallskip
+\centerline{(See file {\tt\TMACDIR\DIRSEP Macros.ttx} for definitions)}
+\smallskip
+{\tt\settabs4\columns
+
+\+\\TMACLIB &\\aand &\\Aand &\\aandd\cr
+\+\\Aandd &\\ACitefont &\\acomma &\\Acomma\cr
+\+\\Authfont &\\Citebrackets &\\Citebreak &\\Citecomma\cr
+\+\\Citefont &\\Citehyphen &\\Citenamedate &\\Citeparen\cr
+\+\\Citesuper &\\eand &\\Eand &\\eandd\cr
+\+\\Eandd &\\ecomma &\\Ecomma &\\Flagfont\cr
+\+\\Flagstyle &\\Initgap &\\Initper &\\LAcitemark\cr
+\+\\Lbang &\\Lcitemark &\\Lcolon &\\Lcomma\cr
+\+\\LIcitemark &\\Lperiod &\\Lpunct &\\Lqquote\cr
+\+\\Lquest &\\Lquote &\\Lrquote &\\Lscolon\cr
+\+\\Lspace &\\Nameand &\\Nameandd &\\Namecomma\cr
+\+\\RAcitemark &\\Rbang &\\Rcitemark &\\Rcolon\cr
+\+\\Rcomma &\\Reffont &\\Refformat &\\Refstd\cr
+\+\\Refstda &\\Resetstrings &\\Revcomma &\\RIcitemark\cr
+\+\\Rperiod &\\Rpunct &\\Rqquote &\\Rquest\cr
+\+\\Rquote &\\Rrquote &\\Rscolon &\\Rspace\cr
+\+\\Smallcapsaand &\\Smallcapseand&\\Smallcapsfont&\\Titlefont\cr
+\+\\Tomefont &\\Underlinemark&\\Volfont &\\zstr\cr
+\+\\Zstr &\\ztest &\\Ztest\cr
+\settabs3\columns
+\+\\journalarticleformat &\\conferencereportformat &\\bookformat\cr
+\+\\technicalreportformat &\\bookarticleformat &\\otherformat\cr
+}\endinsert
+
+\Tib{} is intended to be compatible with virtually all possible \TeX s,
+in particular plain \TeX, \LaTeX, and \AmSTeX.
+With only a few exceptions, all macros in \Tib{} are written
+in terms of primitive \TeX{} (starred commands in D. Knuth's
+{\it The \TeX book}). The exceptions are:
+\par{\leftskip2pc\parindent0pt
+\item{(1)} fonts {\tt\\rm} and {\tt\\sl} are assumed loaded; also
+{\tt\\sevenrm} if {\tt AX} or {\tt EX} is used,
+\item{(2)} footnote
+macros for plain \TeX{} and \LaTeX{} are used in the appropriate macro files,
+\item{(3)} the files of journal names are for Latin fonts and
+include plain \TeX{} diacritical marks
+(D. Knuth's {\it The \TeX book}, p.~52 or L. Lamport's \itLaTeX, p.~40);
+in particular, if a Cyrillic font is to be
+used, different journal word-definition files must be used.\par}
+\noindent On the other hand, \Tib{} requires
+that the category codes of plain \TeX{} be in force
+(see {\it The \TeX book}, p.~37). For example `\{' and `\}'
+are assumed to be grouping characters, `\%' is assumed to terminate a
+line, etc.\ \Tib{} occasionally puts out something in
+{\tt\$math mode\$}, but creates neither displayed nor tabular material.
+
+\beginsubsection{.2} \bfTib{} files
+
+\midinsert
+\centerline{\bf Table~5. A typical {\tt .tib}\ file}
+{\tt\obeylines\obeyspaces%
+\#
+\# standard format
+\#
+\# include word-definition file (journals and publishers)
+I TMACLIB amsabb.ttz
+H hyphenate strings of citations
+
+\%The lines below are copied verbatim into the output document as TeX commands.
+\%First the file \\TMACLIB Macros.tib is \\input with Macros and default settings.
+\%The control string \\TMACLIB is just a path.
+\%
+\\input\\TMACLIB\ stdbra.ttx \%TeX macros for formatting reference list
+\\Refstda\\Citebrackets \%set general formats for reference list and citations
+}\endinsert
+
+\noindent The \OPTCH s and \OPTCH i~options of the call to \Tib{} both cause \Tib{} to
+process files. The files are processed in their orders in the call to \Tib.
+These files (Table~5) contain \Tib{} format commands (Table~7) which
+control how \Tib{} processes the input file and/or \TeX{} control
+strings which are printed {\it verbatim\/} in the output document. In turn
+these files can contain a command to process further files. In general
+the \OPTCH s~option causes \Tib{} to process a master style file which in turn
+effects processing of subsidiary files. For the most part the user need
+only be concerned with the master file. The \OPTCH d and \OPTCH i~options are available
+if some private commands (such as definitions for code words) or styles
+are to be incorporated.
+Although any \Tib{} command file can contain either \Tib{} commands or \TeX{}
+control strings or both, there is a general extension-naming convention:
+\medskip
+{\leftbox3.5pc\def\tablemark{}\tableset\everypar={\hangindent1em\hangafter1}
+\smallskip\tableentry{.tib}Master command files, which are usually called by
+the \OPTCH s~option. These files contain enough commands to completely set a style.
+It is possible for one of these files to call another.
+\smallskip\tableentry{.ttz}Subsidiary files consisting of \Tib{} commands
+and possibly \TeX{} commands, which are called by {\tt .tib} files.
+\smallskip\tableentry{.ttx}Files consisting of \TeX{} macros which are
+often {\tt\\input} by commands from the master {\tt .tib} file.
+\par}\medskip
+
+\noindent Thus there are files
+\medskip
+\par{\leftbox5pc\def\tablemark{}\tableset
+\par\tableentry{\tt num.tib} setting standard numerical flags enclosed in
+brackets,
+\par\tableentry{\tt amsabb.ttz} containing definitions
+(abbreviations) of code words for journals, and
+\par\tableentry{\tt ieee.ttx} containing the \TeX{}
+macros for formatting citations and references in the style of IEEE
+journals.
+\medskip}
+
+\midinsert\centerline{\bf Table~6. Order of file search}\medskip
+\par\vskip0pt plus4\baselineskip\penalty-250\vskip0pt plus-4\baselineskip
+\par\indent\indent\indent first: look in the current directory for \<filename>,
+\par\indent\indent\indent second: append {\tt .tib} to \<filename>
+and look in the current directory,
+\par\indent\indent\indent third: if the \OPTCH d~option is used, look in that
+directory for \<filename>,
+\par\indent\indent\indent fourth: append {\tt .tib} to \<filename> and look
+in the \OPTCH d~directory,
+\par\indent\indent\indent fifth: look in the system directory for \<filename>,
+\par\indent\indent\indent sixth: append {\tt .tib} to \<filename> and look
+in the system directory,
+\par\indent\indent\indent seventh: quit with an error message.
+\par\endinsert
+\bigskip
+\midinsert
+\centerline{\bf Table~7. \bfTib{} commands}\smallskip
+\par{\leftbox10pc\def\tablemark{}\tableset
+\everypar={\hangindent1em\hangafter1}
+
+\tableentry{\#}Comment, line ignored
+
+\tableentry{A}Format authors' names depending on following characters
+as follows:
+
+{\leftbox11pc\tableset
+\tableentry{AA}Abbreviate authors' first names
+
+\tableentry{AR\<num>}Reverse first and last names of first {\it num}
+authors. If {\it num} is omitted, all authors's names are reversed.
+
+\tableentry{AX}Print authors' names in caps-small caps. If {\tt AA} and
+{\tt AX} are called for, the abbreviated first names are not put in
+caps-small caps (relevant only for first names not beginning with a capital
+letter). Defining {\tt\\Authfont} as a caps-small caps font [such as
+{\it amcsc\/} (={\tt\\sc} in \LaTeX)] if one is available,
+is an alternative to using {\tt AX}.
+\par}
+
+\tableentry{E}Equivalent to the {\tt A} command, except for editors.
+
+\tableentry{C\<template>}Citation template. See discussion in text.
+
+\tableentry{D \<word> \<definition>}Definition of word. See discussion in text.
+
+\tableentry{f}Footnotes. Print out reference immediately, instead of
+saving for list (in which case the escape sequence {\tt .[]} is not used).
+
+\tableentry{F}Use special citations flags from reference file if they exist,
+instead of constructed flags.
+
+\tableentry{I \<filename>}Include {\it filename\/} for processing;
+{\it filename\/} may contain further \Tib{} commands.
+
+\tableentry{H}Hyphenate three or more citations in one citation mark that
+refer to successive entries in the reference list. For example, the citation
+2,3,4,5 is replaced by 2--5. The {\tt H}~option implies the {\tt O}~option.
+
+\tableentry{L}Use ``{\it loc.\ cit.}" and ``{\it ibid.}"
+for duplicate references.
+
+\tableentry{N\<string>}Turn off options indicated by {\it string}, which must
+be composed of the letters A (for AA), F, H, O, R, S, X (for AX).
+
+\tableentry{O}Citations in one citation mark are sorted according to the order
+given by the reference list.
+
+\tableentry{P}Print only first page numbers of articles.
+
+\tableentry{S\<template>}Sort reference list according to {\it template}. See
+discussion in text.
+
+\tableentry{T\<string>}Generate trailing character strings for reference fields
+coded in {\it string}. See discussion in text.
+
+\tableentry{U}Replace two or more successive reference listings of identical
+authors by underlines.
+\par}\endinsert
+
+\Tib{} searches for \<filename> called with the \OPTCH s or \OPTCH i~option in the call, or
+the I~command in a file (see next subsection) in the order listed in Table~6.
+Thus system {\tt .tib} files or private {\tt .tib}
+files can be called with short names. All other files require full names.
+Private files can be kept in the working directory or a directory designated
+with the \OPTCH d~option. If the \OPTCH d~option is to be used regularly, the calls to
+\Tib{} and \Tib list could be {\it aliased\/} or put in macros.
+The code {\tt TMACLIB} (followed by one or more spaces)
+is defined as the system directory \TMACDIR{}
+for use in command files, and the \TeX{} control string {\tt\\TMACLIB}
+is defined as the system directory name, for use in {\tt\\input} commands.
+
+A \Tib{} output file starts with the \TeX{} commands
+\smallskip\hskip20pt
+{\tt\\def\\TMACLIB\{\TMACDIR\DIRSEP\}\\input\\TMACLIB\ Macros.ttx}.
+\smallskip\noindent The file {\tt TMACLIB\DIRSEP Macros.ttx\/} contains
+default definitions for the reserved control strings. Then any \TeX{}
+commands from the files called with the \OPTCH s or \OPTCH i~options (and commands
+from files called by these files) are listed. Then comes the processed
+document. There are also {\tt\\message} commands to list the files
+called (in order with nesting) on the terminal and in the {\tt .log} file
+during the subsequent \TeX{} run.
+Note that any default \TeX{} definition can be overridden by a redefinition
+either in a file called with \OPTCH i or in the document proper. Similarly
+\Tib{} commands can be added in files called with \OPTCH i. If there is a
+standard private such file (e.g.\ containing definitions), it could be kept in
+a special directory and the call to \Tib{} could
+be {\it aliased\/} or put in a macro so that this file is always included.
+
+\beginsubsection{.05} \bfTib{} commands
+
+\Tib{} commands begin in the first column of a file and are one-letter commands
+possibly followed by character sequences. Table~7 lists the commands.
+The first line in the file that does not match one of the items in Table~7
+causes that line and all subsequent lines to be copied {\it verbatim\/} to the
+output file.
+
+\beginsubsection{.1} Citations
+
+\midinsert
+\centerline{\bf Table~8. Citation styles}
+\medskip\par{\leftbox2.5pc\def\tablemark{}\tableset
+\everypar={\hangindent1em\hangafter1}
+
+\tableentry{0}No citation -- used for inserting reference in the body of the
+text.
+\smallskip
+\tableentry{1}Numerical citation, starting at 1 (default style).
+\smallskip
+\tableentry{2}Alphabetic citation constructed from last names of author(s):
+if one author then first 3 letters of name; if two authors then
+first 2 letter of name of first and first letter of name of second;
+if 3 or more authors then first letter of name of first three.
+If the last name of an author does not begin with a capital letter,
+the citation is extended until the first capital letter is encountered.
+Can be followed by further code which denotes additional fields from the
+reference file. For example the template {\tt 2D-2} means follow the
+alphabetic citation with the last two characters in the date field.
+The two fields are separated by the \TeX{} control string {\tt\\Citebreak}.
+If {\tt\\Citebreak} is defined to be empty, the template {\tt 2D-2} will
+effect citations of the form ``AuD77." If there are no authors, citations
+are made from editors' names. If there are also no editors, the issuer
+is used.
+\smallskip
+\tableentry{3}Last names of authors or first author {\it et al.}\ if more
+than three authors. Can be followed by further code which denotes additional
+fields from the reference file, as above. If {\tt\\Citebreak} is defined to
+be \{, \}, the template {\tt 3D-4} will effect citations of the form
+``Hale, 1983." If there are no authors, editors or the issuer is used as
+above.
+\medskip
+\tableentry{4--9}Available for future use or for local styles.
+\par}\endinsert
+
+\noindent The citation command {\tt C} determines the style of the citation.
+The template is one number 0 through 3, which codes the citation,
+possibly followed by further instructions. The template
+codes are listed in Table~8. The numerical citation style is the default.
+%Each field in the template can be followed by either `u' or `l' and the
+%field will be printed in upper or lower case respectively.
+If necessary,
+the character `@' can be used to separate objects in the citation template.
+If two citations are identical (e.g.\ two works by one author
+in one year), \Tib{} appends letters `a', `b', etc.
+at the end of the citation to resolve ambiguities.
+
+\beginsubsection{.1} Sorting
+
+This command causes the reference list to be sorted according to the
+order encoded in \<template>. The template consists of letters
+denoting fields of the reference file, possibly followed by numbers.
+For example, the template AD will effect a sort on authors' last
+names, with a secondary sort on the date. The template A1D will effect
+a sort on the first authors' last names, with a secondary sort on the date.
+A minus sign after a field code will cause the sort to be in the reverse
+order, e.g.\ anti-alphabetically. Two references which test equally in the
+sort will be listed in order of citation.
+
+\beginsubsection{.05} Trailing characters
+
+If the \Tib{} {\tt T} command is set, for each {\it field\/} indicated in
+{\it template}, \Tib{} prints out a control string {\tt\\{\it field\/}trail}
+which is defined as the last character in {\tt\\{\it field\/}str}. This
+sometimes is used for determining the punctuation after the {\it data\/} in
+the listing.
+
+\beginsubsection{.2} Definitions
+
+\Tib{} is able to store a list of code words and their expansions.
+Such word-definition pairs are inserted with the {\tt D} command, followed
+by a space, followed by the code {\it word}, followed by another space,
+followed by the {\it definition} (expansion), e.g.
+\smallskip\par\hskip20pt {\tt D PROC Proceedings}\smallskip
+\par\noindent or
+\smallskip\par\hskip20pt {\tt D COMMA1 Comm.\ ACM}\smallskip
+\par\noindent
+Code words are restricted to alphanumeric, ampersand and underscore characters.
+Whenever \Tib{} encounters a $|${\it word\/}$|$ (enclosed between two vertical
+bars) in a reference file, it searches its list and replaces {\it word} with
+{\it definition}. Moreover {\it definition} can itself contain
+$|${\it another\_word\/}$|$. \Tib{} will iterate the process until all
+{\it words} are expanded. Also, more than one field can be part of the
+definition. For example (with reference to Table~10) the word-definition pair
+\smallskip{\par\hskip20pt\tt
+D AcPress Academic Press\\
+\par\hskip20pt\%C $|$NYC$|$
+}\smallskip
+\noindent causes {\tt$|$AcPress$|$} to expand to the publisher
+``Academic Press" and the city ``$|$NYC$|$", which of course further
+expands to ``New York, NY." Both fields are automatically available.
+Similarly {\tt$|$LNMath$|$} expands to the series ``Lecture Notes in
+Mathematics," the publisher ``Springer-Verlag" and the cities
+``New York--Heidelberg--Berlin."
+
+Files of word-definition pairs can be collected and
+processed by \Tib{} before processing the document.
+Thus expansions which are different in different styles can
+be changed by using different definition files. For example, one style
+may require ``Proceedings" where another may require ``Proc." Furthermore
+files of standard abbreviations can be made automatically available.
+In particular, {\it Mathematical Reviews\/} has supplied its databases of full
+journal names and abbreviations. These are available as
+{\it amsfll.ttz\/} and {\it amsabb.ttz\/} respectively, and are
+automatically processed by the supplied format styles.\footnote{$^*$}{\Tib{}
+thanks {\it Mathematical Reviews\/} for its
+generosity in providing these files as a service to the
+scientific community. The data in these files are copyright \copyright\ by
+{\it Mathematical Reviews\/} and are not to be used
+in any proprietary manner.}
+The styles of most journals call for abbreviated journal names in reference
+lists, although a few (such as the
+{\it Journal of Optimization Theory and Applications\/}) require full names.
+The 6-letter codes may be obtained by perusing the files. Any definition can
+be overridden by a later word-definition pair. Moreover, since \Tib{}
+iterates the process of expanding words, private (perhaps shorter) codes
+can be created which expand to the ones in the files. These could be kept
+in another file which is accessed with the \OPTCH i or \OPTCH d~option. For example:
+\smallskip\par\hskip20pt {\tt D CACM $|$COMMA1$|$}\smallskip
+\noindent There are other word-definition files
+{\it pub.ttz\/} (publishers) and {\it misabb.ttz\/} and {\it misfll.ttz\/}
+(miscellaneous) which are automatically included with the journal files.
+For run-time efficiency, extensive word-definition files should be amalgamated
+as much as possible and sorted alphabetically on the {\it word\/}s.
+
+\beginsubsection{.2} Reference lists
+
+For each reference to be listed, \Tib{} generates a local sequence of
+control strings for \TeX. The interpretation of these control strings
+is governed by the macros in the selected {\it .ttx\/} file. The relation
+of control strings with reference file fields is discussed in section~6.
+In this section we discuss the control strings \Tib{} generates. In Table~9
+is listed a typical reference listing in a \Tib{} output file.
+
+\midinsert
+\centerline{\bf Table~9. A typical \bfTib{} reference listing}\smallskip
+{\obeylines\obeyspaces\tt
+\{\\Resetstrings\%
+\\def\\Loccittest\{\}\\def\\Abbtest\{\}\\def\\Capssmallcapstest\{\}\%
+\noindent \\def\\Edabbtest\{\}\\def\\Edcapsmallcapstest\{\}\\def\\Underlinetest\{\}\%
+\\def\\NoArev\{0\}\\def\\NoErev\{0\}\\def\\Acnt\{1\}\\def\\Ecnt\{0\}\\def\\acnt\{0\}\\def\\ecnt\{0\}\%
+\\def\\Ftest\{\ \}\\def\\Fstr\{10\}\%
+\\def\\Atest\{\ \}\\def\\Astr\{Donald E. Knuth\}\%
+\\def\\Ttest\{\ \}\\def\\Tstr\{The \\TeX book\}\%
+\\def\\Itest\{\ \}\\def\\Istr\{Addison Wesley\}\%
+\\def\\Ctest\{\ \}\\def\\Cstr\{Reading, MA\}\%
+\\def\\Dtest\{\ \}\\def\\Dstr\{1984\}\%
+\\Refformat\%
+\}
+}\endinsert
+
+The control strings {\tt\\Loccittest}, etc.\ are printed out by \Tib{}
+depending on the setting of various \Tib{} controls. They are defined
+as \{\} or \{\ \} depending on whether the control is off or on, respectively.
+The control strings {\tt\\NoArev}, {\tt\\Acnt}, etc.\ are respectively set equal
+to the numbers of authors' names to be reversed, the number of authors, etc.
+These are for use in formatting, if needed. For certain fields, \Tib{}
+also prints out formatting aides. For example, for listings with page
+numbers, \Tib{} prints out a control string {\tt\\Pcnt}, which is
+defined as \{\} or \{\ \} if there is one or more than one page, respectively,
+so that for example, a choice can be made between ``p." and ``pp." in the
+listing. For each field {\it field\/}
+of the reference file which contains {\it data}, \Tib{} prints out
+\smallskip\par\hskip20pt
+{\tt\\def\\{\it field\/}test\{\ \}\\def\\{\it field\/}str\{{\it data\/}\}\%}.
+\smallskip\noindent A new field can be inserted in the \Tib{} output file
+before running \TeX{} by inserting such a line. In particular, anything put
+in the O field is appended to the end of the reference listing.
+Also if need be, the {\it data\/} can be changed. Depending on \Tib{}
+commands set, some fields, particularly author and editor fields,
+may contain inserted \TeX{} control strings. The control string
+{\tt\\Resetstrings} resets all the {\tt\\{\it field\/}test}s and
+{\tt\\{\it field\/}str}s to \{\} (except for the Z and z fields,
+see Table~10). The control string {\tt\\Refformat} effects the printing
+of the listing. Thus any changes between these two control strings affect
+the final printed document.
+%\vfill\eject
+
+\beginsection{.3} 6. The reference file
+
+\midinsert
+\centerline{\bf Table~10. Field tags}\smallskip
+\par{\leftbox2pc\def\tablemark{\%}\tableset
+
+\par\tableentry{A}Author(s) (may have multiple authors, separate
+field entry for each author in order)
+\par\tableentry{B}Book title
+\par\tableentry{C}City of publication
+\par\tableentry{D}Date
+\par\tableentry{E}Editor(s) (may have multiple editors, separate
+field entry for each editor in order)
+\par\tableentry{F}Special citation flag, use is governed by \Tib{}
+{\tt F}~command
+\par\tableentry{G}Government (NTIS) ordering number
+\par\tableentry{I}Issuer (publisher)
+\par\tableentry{J}Journal name or for unpublished conference report,
+the conference name
+\par\tableentry{K}Keys for searching, not printed out
+\par\tableentry{M}{\it Mathematical Reviews} number
+\par\tableentry{N}Number of issue (journal or series)
+\par\tableentry{O}Other information, appended to listing
+\par\tableentry{P}Page numbers
+\par\tableentry{R}Technical report identifier
+\par\tableentry{S}Series title
+\par\tableentry{T}Title of article or book
+\par\tableentry{V}Volume number (journal or series)
+\par\tableentry{Z}Reserved by \Tib{} for special insertions
+\par\tableentry{a}Translator(s), also editor(s) of translated compilations
+\par\tableentry{b}Translated book title
+\par\tableentry{c}City of publication of translated item
+\par\tableentry{d}Date of translated item
+\par\tableentry{e}Author(s)
+of reviewed material; reviewers' names go in {\tt A} fields in order
+\par\tableentry{i}Issuer of translated item
+\par\tableentry{j}Translated journal name
+\par\tableentry{k}Reserved for future use for secondary references
+\par\tableentry{l}Language of translation
+\par\tableentry{n}Number of translated item
+\par\tableentry{o}Other information, inserted after book title
+\par\tableentry{p}Pages of translated article
+\par\tableentry{r}Identifier of translated technical report
+\par\tableentry{s}Series of translated item
+\par\tableentry{t}Title of translated article or book
+\par\tableentry{v}Volume of translated item
+\par\tableentry{z}Reserved by \Tib{} for special insertions
+\par\tableentry{\\}Beginning of line of \TeX{} instruction(s)
+\par\tableentry{\%}Comment (passed as \TeX{} comment)
+\par}\endinsert
+
+\noindent A reference {\it file\/} is a database file containing any
+number of reference {\it items}, separated by one or more blank lines.
+Reference items consist of reference {\it fields\/} which in turn
+consist of data organized into field {\it tags\/} and field {\it data}.
+The meaning of field tags is an extension of that of {\it bib\/} and is
+suggested by that of {\it refer}. However there are enough differences
+that {\it bib\/} or {\it refer\/} reference files are not directly
+usable with \Tib. A field tag is a percent sign `\%' in column~1
+followed in column~2 by a single character. The currently recognized
+tags are listed in Table~10. Field data begins in column~4; the data
+can consist of any printable characters. Field data can be as long as
+necessary and can extend into the next line. Lines that do not begin
+with a percent sign are treated as continuation lines. Every line
+(including continuation lines) must begin in column~1. The {\tt A},
+{\tt E}, {\tt a}, {\tt e} and {\tt\\} fields can be repeated as often
+as necessary; other fields can occur at most once (more precisely the
+last occurance of a field is the one used). Fields can occur in any
+order except that authors, editors, etc.\ are listed in order of
+appearance. Lines beginning `{\tt\%\\}' are inserted {\it verbatim\/}
+into the output; they are assumed to be \TeX{} instructions. Lines in
+a reference item beginning `{\tt\%\%}' are comments.
+
+\midinsert
+\centerline{\bf Table~11. The control string {\tt\\Refformat}}\smallskip
+{\tt\obeylines\obeyspaces%
+\\def\\Refformat\{\%Determines the kind of reference by the presence or
+\% absence of certain fields in the database listing, and calls the
+\% appropriate macro.
+\noindent \\if\\Jtest\\present
+\noindent \{\\if\\Vtest\\present\\journalarticleformat
+\noindent \\else\\conferencereportformat\\fi\}
+\noindent \\else\\if\\Btest\\present\\bookarticleformat
+\noindent \\else\\if\\Rtest\\present\\technicalreportformat
+\noindent \\else\\if\\Itest\\present\\bookformat
+\noindent \\else\\otherformat\\fi\\fi\\fi\\fi\}}
+\endinsert
+
+As discussed in section~5, \Tib{} turns the field data in a reference
+item into a sequence of \TeX{} control strings. In each {\it .ttx} file,
+there are six basic format macros. Which one is used depends on the presence
+or absence of certain fields in the sequence (unless the process is
+overridden). The control string {\tt\\Refformat} (Table~11),
+which \Tib{} sets up to be processed by \TeX{}
+after the sequence of field strings (Table~9),
+is contained in the file {\it Macros.ttx}, and causes \TeX{} to choose
+one of the six. The control string {\tt\\Resetstrings} defines {\tt\\present}
+to be a space, so that if {\\\it field\/}test is {\{\ \}}, then
+{\tt\\if{\\\it field\/}test\\present} tests true.
+
+\midinsert
+\centerline{\bf Table~12. A macro to print a reference item}\smallskip
+{\tt\obeylines\obeyspaces%
+\\def\\conferencereportformat\{\\Reffont\\let\\uchyph=1\\parindent=1.25pc\\def\\Comma\{\}\%
+\noindent \\sfcode`\\.=1000\\sfcode`\\?=1000\\sfcode`\\!=1000\\sfcode`\\:=1000\%
+\noindent \\sfcode`\\;=1000\\sfcode`\\,=1000\%\\frenchspacing
+\noindent \\par\\vfil\\penalty-200\\vfilneg\%\\filbreak
+\noindent \\if\\Ftest\\present\\Flagstyle\\Fstr\\fi\%
+\noindent \\if\\Atest\\present\\bgroup\\Authfont\\Astr\\egroup\\def\\Comma\{\\unskip, \}\\fi\%
+\noindent \\if\\Ttest\\present\\Comma\\bgroup\\Titlefont\\Tstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Jtest\\present\\Comma\\bgroup\\Tomefont\\Jstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Ctest\\present\\Comma\\bgroup\\Cstr\\egroup\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Dtest\\present\\kern.16667em(\\bgroup\\Dstr\\egroup)\\def\\Comma\{, \}\\fi\%
+\noindent \\if\\Otest\\present\\Comma\\bgroup\\Ostr\\egroup\\fi.\%
+\noindent \\vskip3ptplus1ptminus1pt\}\%\\smallskip}
+\endinsert
+
+The six macros {\tt\\journalarticalformat}, etc.\
+that actually effect the printing of the reference listings are rather
+straightforward (see Table~12). They check for the presence of
+relevant fields and print them out in the desired form. Thus they consist
+mostly of a series of {\tt\\if\dots\\fi} conditional commands enclosing
+printing commands.
+
+If {\tt\\Reffont}'s selection for a particular reference item is
+unsatisfactory, it can be redefined locally on a one-time basis in the
+\Tib{} output document before running \TeX, or permanently by including
+control strings in the reference file (see the example below).
+Indeed of course, {\tt\\Refformat} or any
+of the six formatting macros can be redefined in the document or in an
+included file (called with the \OPTCH i~option or the \Tib{} I~command (Table~7)).
+
+\beginsubsection{.15} The K (keyword) field
+
+The K field is searched to identify references but is not printed out.
+Thus it can be used to facilitate identification. An example:
+\medskip\vbox{\catcode`\~=12{\listitem%
+\%A Dennie Van~Tassel
+\%T Program Style, Design, Efficiency
+\%I $|$PrHall$|$
+\%D 1978
+\%K testing debugging tassel
+}}\medskip
+\noindent Note also the use of the defined word in the \%I field.
+The city of publication is included as part of the definition.
+
+\beginsubsection{.2} Formatting techniques
+
+Most reference items are uncomplicated and present no formatting problems.
+In this subsection we discuss some techniques for the other cases.
+
+\TeX{} control strings in the reference file can be used to automatically
+effect the format of the reference listing. Consider the example:
+\medskip{\listitem%
+\%A R. Colt Hoare
+\%T A Tour through the Island of Elba
+\%C London
+\%D 1814
+\%O out of print
+\%\\def\\Refformat\{\\bookformat\}
+}\medskip
+\noindent This example of a book has no listed publisher (I field). The
+I field is used by {\tt\\Refformat} in its decision
+(Table~11) and the decision would be incorrect for this example. Thus
+{\tt\\Refformat} is redefined in the reference item. The redefinition
+is local to the one reference and does not affect other references.
+
+Most data in the reference file is passed through to \TeX{} unaltered.
+Thus \TeX{} control strings are permitted in the field data:
+\medskip
+{\listitem%
+\%T The development of the January 1983\\/\$1\^\\circ\\times1\^\\circ\$
+mean free-air anomaly data tape}
+\medskip
+The italic correction spaces things correctly if the title is printed in
+italic or slant. In the six formatting macros, the control string
+printing the data is preceded by {\tt\\bgroup} and followed by
+{\tt\\egroup}. This permits certain techniques. For example, either
+\medskip
+{\tt\raggedright
+\%T A refined gravity model from LAGEOS\\/ \\egroup(GEM-L2)\\bgroup}
+\smallskip\noindent or \smallskip
+{\tt\%T A refined gravity model from LAGEOS\\/ \{\\Reffont(GEM-L2)\}}
+\medskip\noindent
+causes ``(GEM-L2)" to be printed out in ordinary type (usually Roman),
+even if the font for titles is something else.
+
+It is necessary to be more careful with author, editor, reviewer,
+translator and possibly institution fields. \Tib{} operates on
+these fields in response to commands to abbreviate names, reverse
+names, and put fields in caps-small caps. We discuss how \Tib{}
+operates on these fields. The `a' and `e' fields
+are governed by the commands for editors. If a reference item
+has no authors, the editors are used in place of the authors, both
+in the listing and for sorting. If there are also no editors, the
+publishing institution is used. The last name is the last word
+in a field. If the name is compound, it can be connected with
+an active character or a space control character. Thus
+\smallskip
+{\tt\%A Dennie Van\catcode`\~=12{~}Tassel}
+\par\noindent or
+\par{\tt\%A Dennie Van\\\ Tassel}
+\smallskip\noindent is correct. The first style prohibits a line
+break; the second permits a break.
+
+For purposes of sorting, the first capital letter of the
+last name is used. The abbreviation routine has a certain amount
+of sophistication. It will abbreviate ``Heinz-Otto" to ``H-O."
+It will abbreviate ``d'Arcy" to ``d'A." However if both abbreviation
+and caps-small caps are called for, it will not set the `d' in ``d'A."
+in small caps. That will have to be done by hand or with \TeX.
+Making special letters with control characters in these fields
+(D. Knuth's {\it The \TeX book}, p.~52 or L. Lamport's \itLaTeX, p.~40)
+must conform to the following rules: they may not be nested and
+they must be enclosed in braces. When sorting or making caps-small caps,
+\Tib{} handles material in braces in special ways. The following are
+correct:
+\medskip\vbox{{\listitem%
+\%A Ol\{\\'u\}wol\{\\'e\} \{\\'O\}d\{\\'u\}nd\{\\'u\}n
+\%A S\{\\o\}ren \{\\AA\}ngstr\{\\"o\}m
+\%A Heinz-Otto O'Grady
+\%A Serge\{\\v\\i\} \{\\t I\}ur'ev}}
+\medskip
+There is one more rule. Caps-small caps turns lowercase letters into
+uppercase; accordingly lowercase strings must have uppercase analogues
+if \Tib's caps-small caps are to be used. If necessary these
+can be set up by {\tt\\def} (which are local to the references).
+Thus: \medskip\vbox{{\listitem%
+\%\\def\\SS\{\\ss\}
+\%A K. L. Weierstra\{\\ss\}}}
+\medskip
+\noindent The last example above is better:
+\medskip{\listitem%
+\%\\def\\I\{I\}
+\%A Serge\{\\v\\i\} \{\\t I\}ur'ev}
+
+In fact, such control strings can be created and used to fool \Tib,
+at least partially, if need be. For example:
+\medskip{\listitem%
+\%\\def\\PRESIDENT\{The President's Commission on Aging\}
+\%A \{\\PRESIDENT\}
+}\medskip
+\noindent This will ensure that the reference is alphabetized by ``PRESIDENT,"
+rather than by ``The." However, \Tib's caps-small caps will not work;
+the entry will have to be set by hand.
+
+\beginsubsection{.3} Reference items
+
+In this section we consider the forms in the reference database
+of various types of reference materials. The criteria used are
+those of {\tt\\Refformat} (Table~11). Tags are indicated in
+parenthesis.
+
+\beginsubsection{.2} Journal article
+
+A journal article must have a journal name (\%J) and a volume
+number (\%V). It usually also has one or more authors (\%A),
+a title (\%T), page numbers (\%P), and a date of publication (\%D),
+and sometimes an issue number (\%N). It may have
+a publisher (\%I) or be a translation. In the last case, certain lower case
+fields are used. Two examples:
+\medskip\vbox{\catcode`\~=12{\listitem%
+\%A Tammo tom~Dieck
+\%T Bordism of \$G\$-manifolds and integrality theorems
+\%J $|$TOPOL$|$
+\%P 345-358
+\%V 9
+\%D 1970
+\%K dieck
+}}\bigskip
+\vbox{\listitem%
+\%A V. I. Arnol'd
+\%T Singularities of smooth mappings
+\%J $|$USPMN1$|$
+\%V 23
+\%P 3-44
+\%D 1968
+\%K arnold
+\%j $|$RUSMS$|$
+\%v 23
+\%d 1968
+\%p 1-43
+}\medskip
+\noindent Note the use of journal codes to effect automatic
+standard abbreviation.
+
+\beginsubsection{.2} Conference presentation
+
+A conference presentation can be either an unpublished report
+or an article in a proceedings which has no editor and is identified
+by the conference. In this case the name of the conference is put
+in the journal field (\%J). There is no volume (\%V) field. There
+are likely also one or more authors (\%A),
+a title (\%T), a date (\%D) and a city (\%C), and in a proceedings, pages (\%P).
+\medskip\vbox{\listitem%
+\%A F. J. Lerch
+\%A S. M. Klosko
+\%T Gravity model improvement using laser data
+\%J First Crustal Dynamics Working Group Meeting
+\%C Goddard Space Flight Center
+\%D $|$SEP$|$, 1981
+}
+
+\beginsubsection{.2} Technical report
+
+A technical report has a report number or identifier (\%R). It
+probably also has one or more authors (\%A), a title (\%T), a date
+(\%D), and an issuing institution (\%I) (which may alternatively be
+part of the report identifier), and possibly a city (\%C), a government
+issue number (\%G) and perhaps pages (\%P).
+\medskip\vbox{\listitem%
+\%A F. J. Lerch
+\%A S. M. Klosko
+\%A G. B. Patel
+\%T A refined gravity model from LAGEOS\\/ \\egroup(GEM-L2)\\bgroup
+\%I $|$NASA$|$
+\%R Tech.\ Memo.\ TM 84986
+\%D $|$FEB$|$, 1983
+}
+
+\beginsubsection{.2} Book
+
+A book has a publisher (\%I) but no journal name (\%J) or report number
+(\%R). Usually it also has one or more authors (\%A), a title (\%T),
+a date (\%D) and a
+city of publication (\%C). It may also belong to a series, in which case
+it has a series name (\%S), and probably a series volume (\%V) or number (\%N).
+It may also have a government number (\%G). Note the use of the F field.
+In these examples, the city of publication (\%C)
+included as part of the definition of the abbreviated \%I field.
+In the first example there is no author (\%A) or editor (\%E); the issuer (\%I)
+is used in place of the author for citation making and sorting.
+
+\medskip\vbox{\listitem%
+\%T Software Engineering Automated Tools Index
+\%I $|$SRA$|$
+\%F SRA
+\%D 1982
+}\bigskip
+\vbox{\listitem%
+\%A R. E. Griswold
+\%A J. F. Poage
+\%A I. P. Polonsky
+\%T The SNOBOL4 Programming Language
+\%o (second edition)
+\%I $|$PrHall$|$
+\%D 1971
+}
+
+\beginsubsection{.2} Article in book
+
+An article in a book has two titles, the title of the article (\%T) and
+the title of the book (\%B). It probably has one or more authors (\%A), and
+the book probably has one or more editors (\%E). It also probably has page
+numbers (\%P). As well, the fields for a book are present.
+\medskip\vbox{\listitem%
+\%A C. A. R. Hoare
+\%T Procedures and parameters:\ An axiomatic approach
+\%B Symposium on Semantics of Algorithmic Languages
+\%E E. Engeler
+\%P 102-116
+\%S $|$LNMath$|$
+\%V 188
+\%D 1971
+}
+
+\beginsubsection{.2} Compilation
+
+A compilation is the work of several authors gathered together by one or more
+editors (\%E). Thus there are no authors (\%A). Other than that,
+it is treated as a book.
+\medskip\vbox{\listitem%
+\%E Heinz-Otto Peitgen
+\%E Hans-Otto Walther
+\%T Functional Differential Equations and Approximation of Fixed Points
+\%D 1979
+\%S $|$LNMath$|$
+\%V 730
+}
+
+\beginsubsection{.2} Dissertation or thesis
+
+Many manuals of style say to treat a PhD dissertation as a book, with the
+institution granting the degree as the issuer. However most journals
+format dissertation and thesis listings as technical reports.
+\medskip\vbox{\listitem%
+\%A Martin Brooks
+\%T Automatic Generation of Test Data for Recursive Programs Having
+Simple Errors
+\%R PhD Thesis
+\%I Stanford $|$UNIV$|$
+\%D 1980
+}
+
+\beginsubsection{.05} Preprint
+
+A preprint is also best handled as a technical report with ``preprint"
+or ``to be published" or even ``unpublished" in the R field.
+Sometimes a preprint has a report
+number which can be used and ``to be published" can be put in the O field.
+
+\beginsubsection{.2} Other
+
+Most sources fit in one of the above categories. A little experimentation
+may be necessary for less-standard sources, such as newspapers, archival
+sources, or correspondence. If the reference item does not meet any of
+the criteria of {\tt\\Refformat}, it is formated by {\tt\\otherformat}
+(see Table~11).
+
+\beginsection{.1} 7. {\tt\char"5Cinput} files
+
+With the {\tt OPTCH j} option ({\tt OPTCH i} was already assigned),
+\Tib{} will recognize {\tt\\input} statements,\footnote{$^*$}{In
+\LaTeX, there is a similar command, {\tt\\include}. However,
+{\tt\\include} is more complicated than {\tt\\input}. For examples,
+{\tt\\include} interacts with the {\tt\\includeonly} command and it
+involves dealing with auxiliary files. It was decided that trying to
+get \Tib{} to process {\tt\\include}d files could lead to mishandled
+files, and that it is safest not to include this capability.} and
+process the corresponding files. The processed contents of these
+files are incorporated in the master {\tt -t} file. Messages are
+printed out during the \Tib{} run and also messages ``{\tt \<file>
+input by Tib}'' are printed out during the subsequent \TeX{} run.
+\Tib{} will process a file {\it only\/} if a complete (relative or
+absolute) path is given (it will attempt to append the {\tt.tex}
+suffix to the name). In particular, it does not look through the {\tt
+TEXINPUTS} environment. It assumes anything without a complete path
+name is not a text file and should not be processed. If \Tib{} cannot
+find a file, it prints out a message and leaves the {\tt\\input}
+statement unaltered. If {\tt\\input} is part of a definition of a
+macro in the text, \Tib{} will be confused, but not fatally; it will
+leave the definition unchanged and the message it prints can be
+ignored. However files which are input by means of the macro will not
+be processed by \Tib. Indeed, to be safe, it is probably best to
+prevent \Tib{} from processing macro files, even if they are in the
+working directory; this can be accomplished by defining something else
+as {\tt\\input} (e.g., {\tt\\INPUT}) and using that for non-text
+files.
+
+\Tib{} incorporates any final blank lines and the usual final
+`newline' in the {\tt\\input} file. This generally effects a new
+paragraph after the material from the {\tt\\input} file. The new
+paragraph can be avoided by eliminating any final blank lines and
+either: (1) eliminating the final `newline' in the {\tt\\input} file
+(not recommended), or (2) continuing the text (possibly a comment
+character preceeded by at least one space) on the same line after the
+``{\tt\\input \<file>}'' statement in the master file.
+
+\beginsection{.1} 8. Error and warning messages
+
+{{\parindent0pt\filbreak
+\medskip{\tt Can't open index {\tt <}{\it indexname\/}{\tt>}}
+{\par\leftskip1pc Index \<indexname> does not exist or not readable.\par}
+
+\filbreak\medskip{\tt command line:\ invalid switch
+{\tt <}{\it switch\/}{\tt>}}
+{\par\leftskip1pc \<switch> not a valid option on the call.\par}
+
+\filbreak\medskip{\tt Can't open {\tt <}{\it filename\/}{\tt>} or
+{\tt <}{\it filename\/}{\tt>}.tex}
+{\par\leftskip1pc Neither document file \<filename> nor \<filename>.tex is
+available for reading.\par}
+
+\filbreak\medskip{\tt Cannot locate reference file {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc File of references \<filename> not available.\par}
+
+\filbreak\medskip{\tt {\tt <}{\it index\/}{\tt>} not up to date}
+{\par\leftskip1pc One of the reference files antecedent to \<index> has been
+changed since \<index> was made.\par}
+
+\filbreak\medskip{\tt word {\tt <}{\it word}{\tt>} not defined in
+definition list}
+{\par\leftskip1pc Misspelled word in reference file?\par}
+
+\filbreak\medskip{\tt bad brackets in string {\tt <}{\it string}{\tt>} in
+references}
+{\par\leftskip1pc Unmatched, or badly placed, pair of brackets \{\} in a
+reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt word expected in definition}
+{\par\leftskip1pc A undefined word exists in word-definition file.\par}
+
+\filbreak\medskip{\tt too many definitions}
+{\par\leftskip1pc Word-definition file larger than limit set in source code.
+Reset and recompile.\par}
+
+\filbreak\medskip{\tt out of storage}
+{\par\leftskip1pc \Tib{} too big for system (either while making
+word-definition list or while processing citations). Possibly have to use
+smaller word-definition file.\par}
+
+\filbreak\medskip{\tt unexpected end of citation template}
+{\par\leftskip1pc Citation template not complete.\par}
+
+\filbreak\medskip{\tt can't open temporary reference file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt can't open temporary output file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt can't open temporary output file for reading}
+{\par\leftskip1pc Work file cannot be reopened---system or environment problem.\par}
+
+\filbreak\medskip{\tt ill formed reference}
+{\par\leftskip1pc Bad reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt end of file reading citation}
+{\par\leftskip1pc Probably {\tt.]} was omitted in document.\par}
+
+\filbreak\medskip{\tt citation too long}
+{\par\leftskip1pc Too many keys, or keys too long (truncate to 6 letters).\par}
+
+\filbreak\medskip{\tt inconsistent citation found in pass two}
+{\par\leftskip1pc \Tib{} found a reference earlier, now it can't---something
+funny's going on.\par}
+
+\filbreak\medskip{\tt citation not found in pass two}
+{\par\leftskip1pc \Tib{} found a reference earlier, now it can't---something
+funny's going on.\par}
+
+\filbreak\medskip{\tt tibdex:\ can't open temporary output file}
+{\par\leftskip1pc Work file cannot be opened---system or environment
+problem.\par}
+
+\filbreak\medskip{\tt tibdex:\ error in open of {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc \<filename> doesn't exist or can't be read.\par}
+
+\filbreak\medskip{\tt tibdex:\ error in opening file for compression}
+{\par\leftskip1pc Work file cannot be opened---system problem.\par}
+
+\filbreak\medskip{\tt ill formed reference file}
+{\par\leftskip1pc Bad reference item has caused \Tib{} to get lost.\par}
+
+\filbreak\medskip{\tt too many references}
+{\par\leftskip1pc Number of reference larger than limit set in source
+code.\par}
+
+\filbreak\medskip{\tt locate:\ cannot open {\tt <}{\it filename\/}{\tt>}}
+{\par\leftskip1pc \<filename> not available for reading in subroutine
+{\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ no keys for citation}
+{\par\leftskip1pc Empty citation discovered in subroutine {\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ insufficient space for references}
+{\par\leftskip1pc \Tib{} too big for system---discovered in subroutine
+{\it locate}.\par}
+
+\filbreak\medskip{\tt locate:\ first key ({\tt <}{\it keyname}{\tt>}) matched
+too many refs}
+{\par\leftskip1pc Put another key first in citation.\par}
+
+\filbreak\medskip{\tt tibdex:\ too many common words}
+{\par\leftskip1pc Too many words in list of words not to be used as keys.\par}
+
+\filbreak\medskip{\tt no reference matching {\tt <}{\it citation}{\tt>}}
+{\par\leftskip1pc Probably mistyped keyword.\par}
+
+\filbreak\medskip{\tt multiple references match {\tt <}{\it citation}{\tt>}}
+{\par\leftskip1pc Need more keys in citation.\par}
+
+\filbreak\medskip{\tt end of file after \\input/\\include}
+{\par\leftskip1pc Missing file name.\par}
+
+\filbreak\medskip{\tt \\input/\\include files nested too deeply}
+{\par\leftskip1pc Nesting limited to a depth of 32 files.\par}
+
+\filbreak\medskip{\tt unable to locate file, assuming it has no
+references}
+{\par\leftskip1pc Cannot locate \\input/\\include file, and leaves
+command unaltered.\par}
+
+\filbreak\medskip{\tt truncated following reference \dots}
+{\par\leftskip1pc Reference too large and must be truncated.\par}
+
+\filbreak\medskip{\tt Warning:\ reference list not made -- .[] not encountered}
+{\par\leftskip1pc A reference list is made where the symbols {\tt.[]} begin a
+line.\par}
+}
+\filbreak\bigskip}
+Finally there is the possibility the \Tib{} output file will cause a
+\TeX{} error. It may be that a reference item does not have the
+right format (e.g.\ unmatched braces). In many cases a quick fix may be
+possible in the \Tib{} output file. If something goes completely
+haywire, a reserved control string may have been inadverdently redefined.
+There is also the possibility
+that \TeX{} will run out of room (see {\it The \TeX book}, p.~300),
+most likely because there are too many macros that
+are too big. The macros that \Tib{} creates are not particularly
+space efficient. None the less, they seem to have no trouble
+coexisting with the macros of \LaTeX{} or \AmSTeX. However, these
+macros together with a collection of private macros may be too much.
+In this regard, see {\it The \TeX book}, appendix~D.4. It is also
+true that there is much room for compactification in the macros
+\Tib{} creates. In particular, for any particular input document, many of
+the macros are probably not used and can be physically eliminated
+from the appropriate {\it .ttx\/} files.
+
+It is hoped, however, that all your \TeX nical referencing is
+trouble-free and that you never have read this section.
+\filbreak
+\bigskip
+\centerline{\bf Disclaimer}
+\medskip
+{\narrower\narrower In no event will the author be liable for any
+damages, including any lost profits, or other incidental or
+consequential damages arising out the use of or inability to use this
+program, even if the author has been advised of the possibility of such
+damages, or for any claim by any other party.\par}
+\filbreak
+
+\beginsection{.3}A1. Appendix: the example document
+
+\bigskip
+{\tt\obeylines\obeyspaces\indent%
+\% EXAMPLE PAGE FOR TIB -- FOR USE WITH test.refs
+\%
+\% For plain TeX:\ adjust \\vglue just below if necessary.
+\% For footnotes (demo.6.p) comment out (\%) the line "\\vsize ..."
+\% just below and the line near the end beginning ".[]".
+\%
+\% For LaTeX, comment out (\%) the line "\\vsize ..." just below
+\% and activate the three indicated lines.\ \ Also activate the
+\% line "\\end\{document\}" near the end.\ \ For footnotes (demo.6.l)
+\% comment out the second of the three lines and the line near
+\% the end beginning ".[]".
+\%
+\% next line for plain TeX
+\\vsize10.3truein\\nopagenumbers\\vglue-.5truein\% adjust \\vglue if necessary
+\%
+\% next 3 lines for LaTeX
+\%\\documentstyle\{article\}\\textwidth6.5truein\\nofiles\\oddsidemargin=0truein
+\%\\pagestyle\{empty\}\\textheight10.3truein\\topmargin=-.7truein
+\%\\begin\{document\}
+\\centerline\{\\bf Example Test Page\}\\smallskip
+This example shows a citation for a book,[.griswold poage polonsky.]
+a journal article,[.dieck.]\ a conference paper,[.lerch crustal.]
+a technical report,[.lerch patel.]\ an article in a book,[.hoare engeler.]
+and something that fits in no category.[.reagan.]\ \ Multiple citations
+[.brooks, hoare engeler.]\ look like this---or this,\%
+[.brooks.].[.hoare engeler.]\ \ A run of citations [.derham, sra, knuth, tassel.]
+can sometimes be hyphenated.\ \ The alternate citation style, for referring to
+reference <.knuth.> in running text, is different.\ \ Extra text can be
+inserted in citations.[.griswold poage polonsky <, chap.\catcode`\~12{~}2>.]\ \ Translations
+can be referenced.[.arnold equations, arnold singularities,gantmacher.]
+If necessary, letters are appended to citations to remove ambiguities.
+If desired, citations can be sorted by any of several templates.[.lerch
+crustal,lerch putney,hoare elba,hoare engeler.]\ \ If there are no authors,
+editors are used instead;[.peitgen walther.]\ if there are also no editors, the
+publishing institution is used.[.sra.]\ \ Sorting and citation creation is
+based on the first capital letter in the last name.[.tassel,dieck,derham.]
+Special strings can be part of references [.tex,momentum harmonic,derham,rapp.]
+and special citation strings can be used.[.sra.]\ \ Also note
+the performance of the abbreviation routine.[.thompson,peitgen.]
+.[]\\smallskip\\centerline\{\\bf References\}\\smallskip \%comment out for footnotes
+\%\\end\{document\} \%LaTeX
+\\bye \%plain TeX
+\par}
+
+%Insert local changes below after removing `%' from next line.
+%beginsection{.3}A2. Appendix: local changes
+
+%Leave blank line before insertions.
+\bye%After insertions
diff --git a/biblio/tib/vitaMake b/biblio/tib/vitaMake
new file mode 100644
index 0000000000..e5e012d1ba
--- /dev/null
+++ b/biblio/tib/vitaMake
@@ -0,0 +1,337 @@
+# vitaMake (remove this line)
+# This file contains three files for constructing vitae or resumes:
+# a Makefile, vita.tib and two version of vita.ttx (which should
+# be modified to user's preferences). With an editor, break them apart.
+# BEGIN Makefile
+#
+# This make file constructs a vita (vita.dvi) from the input files
+# vita.tex and PUBLIST. The macro files vita.tib and vita.ttx
+# must also exist. All other files are created by make.
+#
+# The file vita.tex contains the body of the vita. It should include
+# a line '\input vita.pubs' where publications are to be listed.
+#
+# A simple "make" makes the vita (vita.dvi). "make clean" removes
+# garbage. "make virgin" removes all but the bare necessities.
+#
+# The comments lines below may be activated on a Sun.
+#
+# The author whose name is given in the SELF macro is not included in
+# the publication references in the vita.
+#
+# Author: Doug Arnold
+
+PUBLIST = reference list to create vita, e.g. /path/vita.ref
+VITATEX = vita text, e.g. /path/vita.tex
+SELF = author to eliminate from vita listings, e.g. 'I. M. Author'
+SHELL = /bin/csh
+
+vita: vita.dvi
+ @echo " +----------------------+"
+ @echo " | Vita is in vita.dvi. |"
+ @echo " +----------------------+"
+
+clean:
+ -rm -f *% core *.log
+
+virgin: clean
+ -rm -f vita.dvi vita.pubs vita.ref publist.dvi publist.tex
+
+vita.dvi: $(VITATEX) vita.pubs
+# @if (-f vita.dvi) chmod u+w vita.dvi;
+ @tex vita
+# @chmod a-w vita.dvi
+ @-rm vita.log
+
+vita.pubs: vita.tib vita.ttx vita.ref
+# @if (-f vita.pubs) chmod u+w vita.pubs;
+ @tiblist -s vita.tib -x vita.ref | sed '$$d' > vita.pubs
+# @chmod a-w vita.pubs
+
+vita.ref: $(PUBLIST)
+# @if (-f vita.ref) chmod u+w vita.ref;
+ @grep -v '^%A.*$(SELF)' $(PUBLIST) > vita.ref
+# @chmod a-w vita.ref
+#####################################################
+# vita.tib
+#
+I TMACLIB amsabb.ttz
+AA abbreviate authors' first names
+EA abbreviate editors' first names
+#
+\input vita.ttx
+######################################################
+%standard reference formatting vitae
+%numerical flag, title, coauthors, etc., volume (date) pages gov't no., other
+
+\global\overfullrule0pt %turn off black boxes
+\Refstd\Citebrackets
+\def\Flagstyle#1{\hangindent\parindent\indent\hbox to0pt{\hss{\Flagfont#1}.\hskip.5em}}%flag style
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\bgroup" (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\if\Jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\jtest\present\Comma\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\if\jtest\present\hskip.16667em\else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\hskip.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\bgroup" (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\hskip.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\bgroup" (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\Pstr\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\bgroup\ (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Etest\present\bgroup\Comma\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\etest\present\hskip.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\bgroup\hskip.16667em\#\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\bgroup\hskip.16667em\#\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\bgroup\hskip.16667em\#\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\bgroup\hskip.16667em\#\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\bgroup" (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Etest\present\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present\Comma\bgroup``\Titlefont\tstr\egroup\def\Comma{," }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\Comma\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1.25pc\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
+ \if\Atest\present\bgroup" (with \Authfont\Astr\/\egroup)\def\Comma{\unskip, }\fi%
+ \if\Etest\present\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+######################################################
+% Turn off black boxes
+\global\overfullrule0pt
+\Refstd\Citebrackets
+\def\Reffont{\rm}\def\Authfont{\rm}\def\Titlefont{\rm}\def\Tomefont{\it}
+\def\Flagstyle#1{\hangindent30pt\hskip10pt\hbox to0pt{\hss{\Flagfont#1}.\kern1em}}
+
+\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\Comma\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup\def\Comma{\unskip, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Reffont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\kern.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Ptest\present\Comma\bgroup{\if\Pcnt\present pp. \else p. \fi}\Pstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\jtest\present\if\ttest\present\Comma\else. \fi\bgroup\Tomefont\jstr\/\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\kern.16667em(\bgroup\dstr\egroup)\def\Comma{, }\fi%
+ \if\ptest\present\Comma\bgroup{\if\pcnt\present pp. \else p. \fi}\pstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\Comma\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\kern.16667em(\bgroup\Dstr\egroup)\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\Comma\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }\fi%
+ \if\etest\present(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\Etest\present\Comma\bgroup\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Itest\present\Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Ptest\present\Comma{\if\Pcnt\present pp. \else p. \fi}\Pstr\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\btest\present\Comma in \bgroup\Tomefont\bstr\/\egroup\def\Comma{, }\fi%
+ \if\atest\present\Comma\bgroup\astr\egroup\unskip, \if\acnt\present eds.\else ed.\fi\def\Comma{, }\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\ptest\present\Comma{\if\pcnt\present pp. \else p. \fi}\pstr\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\bookformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\/\egroup\def\Comma{\unskip, }%
+ \else\if\Btest\present\Comma\bgroup\Titlefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
+ \if\Atest\present\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Comma\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
+ \if\etest\present\kern.16667em(\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
+ \if\Stest\present\Comma\bgroup\Sstr\egroup\def\Comma{, }\fi%
+ \if\Vtest\present\Comma\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
+ \if\Ntest\present\Comma\bgroup\Volfont\Nstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{\unskip, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }%
+ \else\if\btest\present. \bgroup\Titlefont\bstr\egroup\def\Comma{, }\fi\fi%
+ \if\stest\present\Comma\bgroup\sstr\egroup\def\Comma{, }\fi%
+ \if\vtest\present\Comma\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
+ \if\ntest\present\Comma\bgroup\Volfont\nstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\Comma\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }%
+ \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\def\Comma{\unskip, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\ttest\present. \bgroup\Titlefont\tstr\egroup\def\Comma{, }\fi%
+ \if\itest\present\Comma\bgroup\istr\egroup\def\Comma{, }\fi%
+ \if\rtest\present\bgroup\rstr\egroup\def\Comma{, }\fi%
+ \if\ctest\present\Comma\bgroup\cstr\egroup\def\Comma{, }\fi%
+ \if\dtest\present\Comma\bgroup\dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip
+
+\def\otherformat{\Reffont\let\uchyph=1\parindent=1em\def\Comma{}%
+ \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
+ \par\vfil\penalty-200\vfilneg%\filbreak
+ \if\Ftest\present\Flagstyle\Fstr\fi%
+ \if\Ttest\present\bgroup\Titlefont\Tstr\egroup\def\Comma{, }\fi%
+ \if\Atest\present\Comma\bgroup\Authfont with \Astr\egroup\def\Comma{\unskip, }%
+ \if\Atest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
+ \else\if\Etest\present\if\Itest\present
+ \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
+ \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
+ \if\Gtest\present{\Comma Gov't ordering no. }\bgroup\Gstr\egroup\def\Comma{, }\fi%
+ \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
+ \else\if\Etest\present\def\Eand{\Aand}\def\Eandd{\Aandd}\bgroup\Authfont\Estr\egroup\def\Comma{\unskip, }%
+ \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
+ \vskip3ptplus1ptminus1pt}%\smallskip