#!/bin/sh # This is a shell archive (produced by GNU sharutils 4.15.2). # To extract the files from this archive, save it to some FILE, remove # everything before the '#!/bin/sh' line above, then type 'sh FILE'. # lock_dir=_sh02942 # Made on 2021-07-08 11:04 MDT by . # Source directory was '/home/1009/sy/beebe/tex/bibparse/bibparse-1.13'. # # Existing files will *not* be overwritten, unless '-c' is specified. # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 1762 -rwxr-xr-x BUILD-BIBPARSE.sh # 14452 -rw-r--r-- ChangeLog # 18011 -rw------- COPYING # 26500 -rw-r--r-- Makefile.in # 35106 -rw-r--r-- README # 76436 -rw-r--r-- README.html # 338 -rw-r--r-- args.h # 987 -rw-r--r-- bibdup.awk # 554 -rwxr-xr-x bibdup.sin # 4257 -rw-r--r-- bibdup.man # 777 -rw-r--r-- bibfiles.sok # 457 -rw-r--r-- biblex.dat # 15678 -rw-r--r-- biblex.l # 7025 -rw-r--r-- biblex.man # 1622 -rw-r--r-- biblex.ok # 15569 -rw-r--r-- bibparse.man # 17913 -rw-r--r-- bibparse.y # 12741 -rw-r--r-- bibunlex.l # 4047 -rw-r--r-- bibunlex.man # 1426 -rw-r--r-- bibyydcl.h # 195638 -rwxrwxr-x configure # 6681 -rw-r--r-- configure.ac # 1919 -rw-rw-r-- config.hin # 576 -rw-rw-r-- genutf8.hoc # 4292 -rw-r--r-- lexmain.c # 1528 -rw-r--r-- token.h # 2418 -r--r--r-- test/check.bat # 2969 -rwxr-xr-x test/docheck.sh # 457 -r--r--r-- test/lex001.in # 331 -r--r--r-- test/lex002.in # 457 -r--r--r-- test/lex003.in # 427150 -r--r--r-- test/lex004.in # 81416 -r--r--r-- test/lex005.in # 0 -r--r--r-- test/lex006.in # 7 -r--r--r-- test/lex006.opt # 0 -r--r--r-- test/lex007.in # 10 -r--r--r-- test/lex007.opt # 0 -r--r--r-- test/okay/lex001.err # 1682 -r--r--r-- test/okay/lex001.out # 0 -r--r--r-- test/okay/lex002.err # 896 -r--r--r-- test/okay/lex002.out # 0 -r--r--r-- test/okay/lex003.err # 3576 -r--r--r-- test/okay/lex003.out # 0 -r--r--r-- test/okay/lex004.err # 1369101 -r--r--r-- test/okay/lex004.out # 0 -r--r--r-- test/okay/lex005.err # 242991 -r--r--r-- test/okay/lex005.out # 0 -r--r--r-- test/okay/lex006.err # 403 -r--r--r-- test/okay/lex006.out # 0 -r--r--r-- test/okay/lex007.err # 663 -r--r--r-- test/okay/lex007.out # 0 -r--r--r-- test/okay/parse001.err # 0 -r--r--r-- test/okay/parse001.out # 0 -r--r--r-- test/okay/parse002.err # 0 -r--r--r-- test/okay/parse002.out # 0 -r--r--r-- test/okay/parse003.err # 0 -r--r--r-- test/okay/parse003.out # 2442 -r--r--r-- test/okay/parse004.err # 2332 -r--r--r-- test/okay/parse004.err.2 # 0 -r--r--r-- test/okay/parse004.out # 0 -r--r--r-- test/okay/parse005.err # 0 -r--r--r-- test/okay/parse005.out # 216 -r--r--r-- test/okay/parse006.err # 0 -r--r--r-- test/okay/parse006.out # 123 -r--r--r-- test/okay/parse007.err # 0 -r--r--r-- test/okay/parse007.out # 0 -r--r--r-- test/okay/parse008.err # 0 -r--r--r-- test/okay/parse008.out # 0 -r--r--r-- test/okay/parse009.err # 0 -r--r--r-- test/okay/parse009.out # 0 -r--r--r-- test/okay/parse010.err # 0 -r--r--r-- test/okay/parse010.out # 98 -r--r--r-- test/okay/parse011.err # 0 -r--r--r-- test/okay/parse011.out # 97 -r--r--r-- test/okay/parse012.err # 0 -r--r--r-- test/okay/parse012.out # 0 -r--r--r-- test/okay/parse013.err # 0 -r--r--r-- test/okay/parse013.out # 0 -r--r--r-- test/okay/parse014.err # 0 -r--r--r-- test/okay/parse014.out # 0 -r--r--r-- test/okay/parse015.err # 0 -r--r--r-- test/okay/parse015.out # 0 -r--r--r-- test/okay/parse016.err # 57212 -r--r--r-- test/okay/parse016.err.2 # 9358 -r--r--r-- test/okay/parse016.out # 35004 -rw-rw-r-- test/okay/parse016.out.2 # 0 -r--r--r-- test/okay/parse017.err # 936 -r--r--r-- test/okay/parse017.out # 0 -r--r--r-- test/okay/parse018.err # 662 -r--r--r-- test/okay/parse018.out # 115 -r--r--r-- test/okay/parse019.err # 0 -r--r--r-- test/okay/parse019.out # 106 -r--r--r-- test/okay/parse020.err # 0 -r--r--r-- test/okay/parse020.out # 124 -r--r--r-- test/okay/parse021.err # 128 -r--r--r-- test/okay/parse021.err.2 # 0 -r--r--r-- test/okay/parse021.out # 128 -r--r--r-- test/okay/parse022.err # 132 -r--r--r-- test/okay/parse022.err.2 # 0 -r--r--r-- test/okay/parse022.out # 0 -r--r--r-- test/okay/parse023.err # 0 -r--r--r-- test/okay/parse023.out # 0 -r--r--r-- test/okay/parse024.err # 0 -r--r--r-- test/okay/parse024.out # 0 -r--r--r-- test/okay/unlex001.err # 401 -r--r--r-- test/okay/unlex001.out # 0 -r--r--r-- test/okay/unlex002.err # 350 -r--r--r-- test/okay/unlex002.out # 0 -r--r--r-- test/okay/unlex003.err # 522 -r--r--r-- test/okay/unlex003.out # 0 -r--r--r-- test/okay/unlex004.err # 387933 -r--r--r-- test/okay/unlex004.out # 0 -r--r--r-- test/okay/unlex005.err # 74532 -r--r--r-- test/okay/unlex005.out # 0 -r--r--r-- test/okay/unlex006.err # 405 -r--r--r-- test/okay/unlex006.out # 0 -r--r--r-- test/okay/unlex007.err # 665 -r--r--r-- test/okay/unlex007.out # 1682 -r--r--r-- test/parse001.in # 896 -r--r--r-- test/parse002.in # 3576 -r--r--r-- test/parse003.in # 1369101 -r--r--r-- test/parse004.in # 242991 -r--r--r-- test/parse005.in # 275 -r--r--r-- test/parse006.in # 12 -r--r--r-- test/parse007.in # 311 -r--r--r-- test/parse008.in # 59076 -r--r--r-- test/parse009.in # 4170 -r--r--r-- test/parse010.in # 579 -r--r--r-- test/parse011.in # 126 -r--r--r-- test/parse012.in # 1287 -r--r--r-- test/parse013.in # 228690 -r--r--r-- test/parse014.in # 15060 -r--r--r-- test/parse015.in # 5897 -r--r--r-- test/parse016.in # 8 -r--r--r-- test/parse016.opt # 0 -r--r--r-- test/parse017.in # 7 -r--r--r-- test/parse017.opt # 0 -r--r--r-- test/parse018.in # 10 -r--r--r-- test/parse018.opt # 237 -r--r--r-- test/parse019.in # 237 -r--r--r-- test/parse020.in # 237 -r--r--r-- test/parse021.in # 237 -r--r--r-- test/parse022.in # 322426 -rw-rw-r-- test/parse023.in # 354 -rw-rw-r-- test/parse024.in # 1682 -r--r--r-- test/unlex001.in # 896 -r--r--r-- test/unlex002.in # 3576 -r--r--r-- test/unlex003.in # 1369101 -r--r--r-- test/unlex004.in # 242991 -r--r--r-- test/unlex005.in # 0 -r--r--r-- test/unlex006.in # 7 -r--r--r-- test/unlex006.opt # 0 -r--r--r-- test/unlex007.in # 10 -r--r--r-- test/unlex007.opt # 1388 -r-xr-xr-x test/update.sh # 6813 -rw-rw-r-- bibdup.html # 9981 -rw-rw-r-- biblex.html # 19758 -rw-rw-r-- bibparse.html # 6525 -rw-rw-r-- bibunlex.html # 5099 -rw-rw-r-- bibdup.pdf # 8501 -rw-rw-r-- biblex.pdf # 15650 -rw-rw-r-- bibparse.pdf # 4960 -rw-rw-r-- bibunlex.pdf # 9075 -rw-rw-r-- bibdup.ps # 13935 -rw-rw-r-- biblex.ps # 25134 -rw-rw-r-- bibparse.ps # 8814 -rw-rw-r-- bibunlex.ps # 2229 -rw-rw-r-- bibdup.txt # 5266 -rw-rw-r-- biblex.txt # 13931 -rw-rw-r-- bibparse.txt # 1952 -rw-rw-r-- bibunlex.txt # 26523 -r--r--r-- save/Makefile # 64412 -rw-rw-r-- save/biblex.c # 60268 -rw-rw-r-- save/bibunlex.c # 32768 -rw-rw-r-- save/bibparse.c # 2195 -r--r--r-- save/config.h # 195638 -rwxrwxr-x save/configure # 3627 -rw-rw-r-- README.WINDOWS # 82601 -rwxrwxr-x win32/biblex.exe # 100708 -rwxrwxr-x win32/bibparse.exe # 71524 -rwxrwxr-x win32/bibunlex.exe # 112674 -rwxrwxr-x win64/biblex.exe # 137142 -rwxrwxr-x win64/bibparse.exe # 103258 -rwxrwxr-x win64/bibunlex.exe # MD5SUM=${MD5SUM-md5sum} f=`${MD5SUM} --version | egrep '^md5sum .*(core|text)utils'` test -n "${f}" && md5check=true || md5check=false ${md5check} || \ echo 'Note: not verifying md5sums. Consider installing GNU coreutils.' if test "X$1" = "X-c" then keep_file='' else keep_file=true fi echo=echo save_IFS="${IFS}" IFS="${IFS}:" gettext_dir= locale_dir= set_echo=false for dir in $PATH do if test -f $dir/gettext \ && ($dir/gettext --version >/dev/null 2>&1) then case `$dir/gettext --version 2>&1 | sed 1q` in *GNU*) gettext_dir=$dir set_echo=true break ;; esac fi done if ${set_echo} then set_echo=false for dir in $PATH do if test -f $dir/shar \ && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) then locale_dir=`$dir/shar --print-text-domain-dir` set_echo=true break fi done if ${set_echo} then TEXTDOMAINDIR=$locale_dir export TEXTDOMAINDIR TEXTDOMAIN=sharutils export TEXTDOMAIN echo="$gettext_dir/gettext -s" fi fi IFS="$save_IFS" if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null then if (echo -n test; echo 1,2,3) | grep n >/dev/null then shar_n= shar_c=' ' else shar_n=-n shar_c= ; fi else shar_n= shar_c='\c' ; fi f=shar-touch.$$ st1=200112312359.59 st2=123123592001.59 st2tr=123123592001.5 # old SysV 14-char limit st3=1231235901 if touch -am -t ${st1} ${f} >/dev/null 2>&1 && \ test ! -f ${st1} && test -f ${f}; then shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"' elif touch -am ${st2} ${f} >/dev/null 2>&1 && \ test ! -f ${st2} && test ! -f ${st2tr} && test -f ${f}; then shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"' elif touch -am ${st3} ${f} >/dev/null 2>&1 && \ test ! -f ${st3} && test -f ${f}; then shar_touch='touch -am $3$4$5$6$2 "$8"' else shar_touch=: echo ${echo} 'WARNING: not restoring timestamps. Consider getting and installing GNU '\''touch'\'', distributed in GNU coreutils...' echo fi rm -f ${st1} ${st2} ${st2tr} ${st3} ${f} # if test ! -d ${lock_dir} ; then : else ${echo} "lock directory ${lock_dir} exists" exit 1 fi if mkdir ${lock_dir} then ${echo} "x - created lock directory ${lock_dir}." else ${echo} "x - failed to create lock directory ${lock_dir}." exit 1 fi # ============= BUILD-BIBPARSE.sh ============== if test -n "${keep_file}" && test -f 'BUILD-BIBPARSE.sh' then ${echo} "x - SKIPPING BUILD-BIBPARSE.sh (file already exists)" else ${echo} "x - extracting BUILD-BIBPARSE.sh (text)" sed 's/^X//' << 'SHAR_EOF' > 'BUILD-BIBPARSE.sh' && #! /bin/sh # This script configures and builds an optimized version of bibparse on # all local systems at the University of Utah Mathematics and Physics # Departments. # # Usage: # ./BUILD-BIBPARSE.sh # # [08-May-1999] X # Default C compiler CC=c89 YACC=yacc X # Adjustments for particular systems X case "`uname -s`" in X AIX) X CC=c89 X OPT='-O3 -qarch=ppc' X # Don't use -qarch=ppc: AIX doesn't emulate those extra instructions X # on older models that lack them, sigh... Sun does a much better job X OPT='-O3' X ;; X HP-UX) X CC=c89 X OPT='+O4' X ;; X IRIX) X CC='cc -cckr' X OPT='-O2' X # IRIX 5.3 yacc quits with ``Redeclaration of precedence of ASGNOP, line 75'' X # so switch to bison, sigh... X YACC='bison -y' X ;; X IRIX64) X CC=c89 X OPT='-O2' X ;; X Linux) X CC=gcc X OPT='-O3' X ;; X Mach) X CC=gcc X OPT='-O3 -m68030' X ;; X OSF1) X CC=c89 X OPT=-O4 X ;; X SunOS) X case "`uname -r`" in X 4.*) X CC='acc' X OPT='-O2 -dalign -libmil -cg89' X ;; X 5.5) X CC="gcc -ansi" X CC=c89 X OPT='-xO5 -dalign -xlibmil -fsimple=2 -fns -xsafe=mem -xtarget=ultra1/2200' X ;; X 5.*) X CC="gcc -ansi" X CC=c89 X OPT='-xO5 -dalign -xlibmil -fsimple=2 -fns -xsafe=mem -xtarget=ultra2/2300' X ;; X *) X echo "Unrecognized SunOS version...proceeding with defaults and fingers crossed :^)" X CC=c89 X OPT='-O' X ;; X esac X ;; X *) X echo "Unrecognized operating system...proceeding with defaults and fingers crossed :^)" X OPT='-O' X ;; esac X if test -f Makefile then X make distclean else X rm -f *.o config.cache config.log config.status awklex maketab \ X proctab.c ytab.c ytab.h fi X echo 'CC =' $CC echo 'OPT =' $OPT echo 'YACC =' $YACC X env CC="${CC}" ./configure && make OPT="$OPT" YACC="${YACC}" all check SHAR_EOF (set 19 99 05 08 14 58 18 'BUILD-BIBPARSE.sh' eval "${shar_touch}") && \ chmod 0755 'BUILD-BIBPARSE.sh' if test $? -ne 0 then ${echo} "restore of BUILD-BIBPARSE.sh failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'BUILD-BIBPARSE.sh': 'MD5 check failed' ) << \SHAR_EOF b1f6627a14dc50f70449c1c64392f910 BUILD-BIBPARSE.sh SHAR_EOF else test `LC_ALL=C wc -c < 'BUILD-BIBPARSE.sh'` -ne 1762 && \ ${echo} "restoration warning: size of 'BUILD-BIBPARSE.sh' is not 1762" fi fi # ============= ChangeLog ============== if test -n "${keep_file}" && test -f 'ChangeLog' then ${echo} "x - SKIPPING ChangeLog (file already exists)" else ${echo} "x - extracting ChangeLog (text)" sed 's/^X//' << 'SHAR_EOF' > 'ChangeLog' && 2021-07-01 16:40:27-0600 Nelson H. F. Beebe X X Release version 1.13. X X This is a minor update to conform to current autoconf practices. X There are no user-visible changes in the installed tools, apart X from their version number and date. X X * configure.ac: Update for autoconf-2.71 recommended changes X (via autoupdate). X X * bibdup.man biblex.man bibparse.man bibunlex.man biblex.l X bibunlex.l bibparse.y bibdup.awk lexmain.c: Update version, X date, and copyright years. X X * biblex.html bibparse.html bibunlex.html: Regenerate to get X new version, date, and copyright years. X X * Makefile.in: Add macros AUTOCONF and AUTOHEADER (their values X were previously hardcoded into one target). Update target X configure.time-stamp to patch config.status as well as X configure. X 2020-08-03 18:53:44-0600 Nelson H. F. Beebe X X Decades of use of bibparse call for improved error messages that X more clearly identify the start and end of erroneous token text. X X It seemed initially that a small tweak to the next_char() X function to add code to track line and column numbers would be X trivial to implement, but that turns out not to be the case. X The problem is that for many tokens, lex and flex recognize X them directly in the input buffer, but they do not track X column positions. Thus, a considerable portion of BibTeX and X biblex input is never seen by next_char(). X X Providing more precise input location data would require X abandoning lex and flex in favor of a hand-coded lexer, which X is a bigger job that I currently have time for, inasmuch as it X fundamentally affects both bibparse and biblex. X X * Release version 1.12. This is a minor change for autoconf X code modernization and improvement of error messages. X X * configure.ac: Rename from configure.in to conform to current X autoconf and "make install" practice. Update package X version and date. For lex, correct initialization of LFLAGS X to empty (was -l, but that is only for flex, meaning lex X compatibility). X X * biblex.l: Adjust buffer overflow message to better identify X the start of an over-long token. Add new function X token_summary() to produce a filtered and X whitespace-compressed truncated report of the current token X buffer. That should help considerably when a mismatched X brace causes 100,000+ following characters from thousands of X lines, to be collected erroneously in a token value. X X * Makefile.in: Add DESTDIR to install targets. Augment list X of test files. Align backslash line-continuation characters. X X * test/parse02[23].*, test/okay/parse02[23].*: New files for X testing correct handling of UTF-8 encoded characters in string X values. X X 2015-10-07 06:20:43-0600 Nelson H. F. Beebe X X * Release version 1.11: This version is functionally identical X with 1.10, except for configure-time tests for misbehavior X of native sed on Mac OS 10.5.x (PowerPC), OpenBSD 5.x, and X Solaris 10. X X 2015-08-16 18:10:57-0600 Nelson H F Beebe X X * Release version 1.10: This version is functionally identical X with 1.09, EXCEPT for its version number and date, and X additional sed pattern edits to catch additional variants of the X declaration of size of the array yytext[]. X X 2015-02-18 12:47:00-0700 Nelson H. F. Beebe X X * Release version 1.09. This version is functionally identical X with 1.08, EXCEPT for its version number and date, and its X inclusion of executables for 32-bit and 64-bit Microsoft Windows. X X * README.WINDOWS: New file describing how the Windows executables X are cross-compiled and validated on a GNU/Linux system with wine. X X * Makefile.in: Revise to include $(EXEEXT) on executables, and to X set WINE and VM variables. X X * test/docheck.sh: Revise to use VM prefix, and to strip carriage X returns from output files for comparison with test/okay/* files X from Unix systems. X X * bibdup.man biblex.man bibparse.man bibunlex.man: Revise version X number and date. X X * biblex.l bibparse.y bibunlex.l: Revise version number and date. X X 2015-02-16 08:43:10-0700 Nelson H. F. Beebe X X * Release version 1.08. Token collection and error reporting now X track the line number where the current token starts. X X * bibparse.y: Update copyright year range and file header version X and date.. Report line number of token start in yyerror(). X X * biblex.l: Update copyright year range and file header version X and date.. Add global start_line_number (used in this file, and X in bibparse.y). Add paragraph breaks around statement blocks to X match my coding conventions. Detect negative brace level in X out_string() and force failure exit. Revise eof_error() to X report starting line number of incomplete token, and flush X stderr and stdout streams. Revise yy_fatal_error_biblex() to X use starting line number in token error report. X X * bibunlex.l: Update copyright year range and file header version X and date. X X * configure.in: Update version number and date. X X * Makefile.in and ./test/: Add new tests parse019, parse020, X parse021, and parse022. X X 2014-07-04 16:20:16-0600 Nelson H. F. Beebe X X * Release version 1.07. This is a repackaging to update the X version number and address, use more recent autoconf, place code X under GPL version 2 or later, and improve output diagnostics to X make it easier to find and repair errors. biblex, bibparse, and X bibunlex now all support GNU-style --help and --version options. X X The changes made to the lexer and parser code (described below) X make the conventional build recipes X X ./configure && make all check install X env CC=C-or-C++-compiler-name ./configure && make all check install X X work almost everywhere, without the need to supply either X LDFLAGS or LIBS variables. X X Builds have been tested for this release in almost 600 X compilation environments with C and C++ compilers on more than X 40 flavors of Unix systems, including at least these: X X GNU Hurd Debian jessie x86 X GNU/Linux ArchLinux x86_64 X GNU/Linux Debian 6 MIPS R5000 X GNU/Linux Debian 6, 7.5 x86_64 X GNU/Linux Fedora 15 x86_64 X GNU/Linux Fedora 20 x86 X GNU/Linux Gentoo 2.2 Alpha, PowerPC-32, PowerPC-64, SPARC X GNU/Linux Red Hat 5 IA-64 X GNU/Linux Red Hat 5, 6, 7 x86, x86, 64 X GNU/Linux Scientific Linux 6.5 x86_64 X GNU/Linux Slackware 14 x86_64 X GNU/Linux Ubuntu 12 x86 X GNU/Linux openSUSE 11.4, 12.3, 13.1 x86_64 X Mac OS X 10.5.8 PowerPC X Mac OS X 10.7.5 x86-64 X Minix 3.2.1 x86 X MirBSD 10 x86 X NetBSD 5.1 x86 X NetBSD 6.1.3 x86-64 X OpenBSD 4.9, 5.1 x86 X OpenBSD 5.4, 5.5 x86-64 X kFreeBSD 7.5 x86-64 X Dragonfly BSD 3.2, 3.6 x86-64 X FreeBSD 9.1, 10.0 x86-64 X SGI IRIX 6.5 MIPS R10000 X Sun/Oracle Solaris 10 SPARC, x86, x86-64 X Sun/Oracle Solaris 11 x86-64 X X * biblex.l: X Add lex %array declaration that POSIX requires to be supported X (and flex recognizes), so that we always know that yytext[] is X a compile-time array of known size that contains the current X input token. X X Add new function yy_fatal_error_biblex() to report the current X file:line location, and a leading prefix of the token being X collected. X X Always supply default version of yywrap(), so that we do not X require a library version. X X * bibparse.y: X Add new macros MAX() and TOLOWER(). X X Recognize long options (e.g., --debug for -d). X X Add new functions show_help_and_exit() and X show_version_and_exit() to handle --help and --version options. X X Add function match_option() for case-insensitive length-limited X option matching. X X Change output format to GNU-style file:line:message for X convenience in text editors that can recognize that format and X position to the file:line location, and include a leading X prefix of the token being collected to make it easier for X humans to locate and repair the error. X X * bibunlex.l: X Add lex %array declaration that POSIX requires to be supported X (and flex recognizes), so that we always know that yytext[] is X a compile-time array of known size that contains the current X input token. X X Add new macros MAX() and TOLOWER(). X X Add new functions show_help_and_exit() and X show_version_and_exit() to handle --help and --version options. X X Add function match_option() for case-insensitive length-limited X option matching. X X Always supply default version of yywrap(), so that we do not X require a library version. X X * configure.in: Several small revisions to bring it to current X GNU autoconf conventions, set PACKAGE_AUTHOR and PACKAGE_DATE, X pick byacc over yacc or bison, simplify tests for lex and X flex, and avoid flex -lfl library dependence. X X * lexmain.c: X Add new macros MAX() and TOLOWER(). X X Add new functions show_help_and_exit() and X show_version_and_exit() to handle --help and --version options. X X Add function match_option() for case-insensitive length-limited X option matching. X X * Makefile.in: Add new test files to lists for CHECK-FILES and X CHECK-NAMES-PARSE. X X Revise install-program target to include version numbers on X installed programs, and rename the previous version with added X suffix ".old". X X Revise check-* targets to report totals of failures and X successes to make it easier to filter build logs from multiple X systems (the author's test lab now has more than 40 flavors of X Unix and Unix-like systems on which builds are routinely run). X X * test/parse01[678].{in,opt}: New test files. X X * test/lex00[67].{in,opt}: New test files. X X * test/unlex00[67].{in,opt}: New test files. X X * test/docheck.sh: Revise to record counts of failures and X successes, and recognize okay/*.err.2 files as acceptable X alternatives for successful tests. X 2004-09-23 14:55:19-0600 Nelson H. F. Beebe X X * Release version 1.06. Repackaging to update version number and X address, and use more recent autoconf. X 2001-10-06 17:30:16-0600 Nelson H. F. Beebe X X * Release version 1.05. X X * README.html: Minor tweaks. X X * TO-DO: Update with new bug items. X 1999-05-26 Nelson H. F. Beebe X X * Release version 1.04. Its major new feature for users is the X ability of bibparse to handle BibTeX files directly, as well as X the lexical token streams from biblex and bibclean that previous X versions expected. This version has been tested under more than X 460 combinations of lex (AT&T lex and GNU flex) and yacc (AT&T X yacc, Berkeley byacc, and GNU bison) implementations, and C and X C++ compilers, and the enhancements to the autoconfig process X make it likely to be successful on almost all UNIX platforms, as X well as providing for simple builds on Microsoft Windows 9x and X NT systems. Binaries are provided for IBM PC DOS and Windows X systems. X X * bibyydcl.h: add function prototype for yylex(void). X X * Makefile.in: substantial rewrite with many small changes X too numerous to document here. X X * bibdup.sin: new file from which bibdup.sh (installed as bibdup) X is derived automatically. X X * config.hin: add #undef statements for HAVE_LIBFL and HAVE_LIBL. X X * configure.in: substantial rewirte with many new checks for X programs, more complex tests for lex/flex library variations X to handle GNU/Linux and C++ variations better, and generation X of bibdup.sh from bibdup.sin. X X * biblex.l: token printing now happens only when global variable X do_lex_output is nonzero, so that biblex can be embedded in X bibparse. X X * biblex.l, bibparse.y, bibunlex.l: define YYLMAX in terms of X BIBYYLMAX, which is now set in just a single place, in X Makefile.in. X X * biblex.l: add test against EOF as well as EOFILE, so flex can be X used reliably in place of lex. X X * bibparse.y: extend docstring in file comment header. X X * bibparse.y: add support for direct internal parsing of BibTeX X files, using a renamed biblex() parser linked into bibparse, so X that either token streams or BibTeX files can be used as input; X recognition of the input type is automatic. X X * bibparse.y: add new function zzlex() to handle input of token X stream. Function xxlex() (renamed from yylex() at compile time X in biblex) handles input of BibTeX files. Simple lookahead at X file beginning distinguishes between the two input types, and X pyylex is set to either xxlex or zzlex, and yylex() is defined X to call (*pyylex)(), so that yyparse() continues to work X unmodified, without knowledge of how its token stream was X obtained. X X * *.man: update author address in file comment header and AUTHOR X section. X X * *.man: add additional cross-references to newer BibTeX tools in X SEE ALSO section. X X * bibparse.man: document new direct BibTeX-file input support. X X * bibparse.man: substantially extend DESCRIPTION section. X X * bibparse.man: add entirely new OPTIONS section. X X * bibparse.man: add entirely new BIBTEX GRAMMAR section, so that X the user does not need to refer to the original TUGboat paper, X or the bibparse source code, to find the grammar. X X * bibparse.man: add entirely new PERFORMANCE section. X 1998-06-01 Nelson H. F. Beebe X X * Update biblex/bibparse/bibunlex distribution to use GNU X autoconfigure. This work added new files Makefile.in and X configure.in, from which autoconf produces configure, and X autoheader produces config.hin. When configure is run at the X installer's site, it produces config.h and Makefile. X X * Add new file arg.h with common header code from biblex.l, X bibparse.y, bibunlex.l, and lexmain.c. X X * Add support for flex in place of lex, and bison in place of X yacc. The choice is made by configure, with lex being X preferred. However, some Linux systems lack lex and yacc. X This required a few minor changes in biblex.l to get a lex X description acceptable to both lex and flex, and additional X support in bibyydcl.h for flex. X X * Add subdirectory save/ with backup copies of generated files X Makefile, biblex.c, bibparse.c, bibunlex.c, config.h, and X configure from the author's Sun Solaris 2.6 system. X X * Add .html and .pdf files to the distribution. X X * Update Makefile.in targets to match current GNU conventions. X X * Add ChangeLog and INSTALL files to the distribution. X X * Move symbolic token names into new token.h file to avoid X duplication. SHAR_EOF (set 20 21 07 02 07 02 52 'ChangeLog' eval "${shar_touch}") && \ chmod 0644 'ChangeLog' if test $? -ne 0 then ${echo} "restore of ChangeLog failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'ChangeLog': 'MD5 check failed' ) << \SHAR_EOF 0cb97d82532abedb1571e565ab37f427 ChangeLog SHAR_EOF else test `LC_ALL=C wc -c < 'ChangeLog'` -ne 14452 && \ ${echo} "restoration warning: size of 'ChangeLog' is not 14452" fi fi # ============= COPYING ============== if test -n "${keep_file}" && test -f 'COPYING' then ${echo} "x - SKIPPING COPYING (file already exists)" else ${echo} "x - extracting COPYING (text)" sed 's/^X//' << 'SHAR_EOF' > 'COPYING' && X GNU GENERAL PUBLIC LICENSE X Version 2, June 1991 X X Copyright (C) 1989, 1991 Free Software Foundation, Inc. X 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA X Everyone is permitted to copy and distribute verbatim copies X of this license document, but changing it is not allowed. X X Preamble X X The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. X X When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. X X To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. X X For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. X X We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. X X Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. X X Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. X X The precise terms and conditions for copying, distribution and modification follow. X X GNU GENERAL PUBLIC LICENSE X TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION X X 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". X Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. X X 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. X You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. X X 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: X X a) You must cause the modified files to carry prominent notices X stating that you changed the files and the date of any change. X X b) You must cause any work that you distribute or publish, that in X whole or in part contains or is derived from the Program or any X part thereof, to be licensed as a whole at no charge to all third X parties under the terms of this License. X X c) If the modified program normally reads commands interactively X when run, you must cause it, when started running for such X interactive use in the most ordinary way, to print or display an X announcement including an appropriate copyright notice and a X notice that there is no warranty (or else, saying that you provide X a warranty) and that users may redistribute the program under X these conditions, and telling the user how to view a copy of this X License. (Exception: if the Program itself is interactive but X does not normally print such an announcement, your work based on X the Program is not required to print an announcement.) X These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. X Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. X In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. X X 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: X X a) Accompany it with the complete corresponding machine-readable X source code, which must be distributed under the terms of Sections X 1 and 2 above on a medium customarily used for software interchange; or, X X b) Accompany it with a written offer, valid for at least three X years, to give any third party, for a charge no more than your X cost of physically performing source distribution, a complete X machine-readable copy of the corresponding source code, to be X distributed under the terms of Sections 1 and 2 above on a medium X customarily used for software interchange; or, X X c) Accompany it with the information you received as to the offer X to distribute corresponding source code. (This alternative is X allowed only for noncommercial distribution and only if you X received the program in object code or executable form with such X an offer, in accord with Subsection b above.) X The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. X If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. X X 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. X X 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. X X 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. X X 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. X If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. X It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. X This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. X X 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. X X 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. X Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. X X 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. X X NO WARRANTY X X 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "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. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. X X 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. X X END OF TERMS AND CONDITIONS X X How to Apply These Terms to Your New Programs X X If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. X X To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. X X X Copyright (C) X X This program is free software; you can redistribute it and/or modify X it under the terms of the GNU General Public License as published by X the Free Software Foundation; either version 2 of the License, or X (at your option) any later version. X X This program is distributed in the hope that it will be useful, X but WITHOUT ANY WARRANTY; without even the implied warranty of X MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the X GNU General Public License for more details. X X You should have received a copy of the GNU General Public License X along with this program; if not, write to the Free Software X Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA X X Also add information on how to contact you by electronic and paper mail. X If the program is interactive, make it output a short notice like this when it starts in an interactive mode: X X Gnomovision version 69, Copyright (C) year name of author X Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. X This is free software, and you are welcome to redistribute it X under certain conditions; type `show c' for details. X The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. X You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: X X Yoyodyne, Inc., hereby disclaims all copyright interest in the program X `Gnomovision' (which makes passes at compilers) written by James Hacker. X X , 1 April 1989 X Ty Coon, President of Vice X This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. SHAR_EOF (set 20 05 05 05 14 01 35 'COPYING' eval "${shar_touch}") && \ chmod 0600 'COPYING' if test $? -ne 0 then ${echo} "restore of COPYING failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'COPYING': 'MD5 check failed' ) << \SHAR_EOF eb723b61539feef013de476e68b5c50a COPYING SHAR_EOF else test `LC_ALL=C wc -c < 'COPYING'` -ne 18011 && \ ${echo} "restoration warning: size of 'COPYING' is not 18011" fi fi # ============= Makefile.in ============== if test -n "${keep_file}" && test -f 'Makefile.in' then ${echo} "x - SKIPPING Makefile.in (file already exists)" else ${echo} "x - extracting Makefile.in (text)" sed 's/^X//' << 'SHAR_EOF' > 'Makefile.in' && # ====================================================================== # Makefile for biblex (lexically analyze BibTeX file), bibparse (parse # BibTeX file according to prototype grammar), and bibunlex # (reconstruct BibTeX file from lexical token stream). biblex and # bibunlex are lex/flex-based, and bibparse is yacc/bison-based. # # Current target list: # all (default) make biblex and test # biblex lex-based BibTeX lexer # biblex.o # bibparse.c # bibparse.o # bibparse yacc-based BibTeX parser # bibparse.jar Java Jar distribution archive # bibparse.shr shar bundle of distribution archive # bibparse.tar UNIX tar distribution archive # bibparse.txt ASCII text of formatted manual pages # bibparse.zip InfoZIP distribution archive # bibparse.zoo Zoo distribution archive # bibunlex filter to convert biblex token stream to # BibTeX format # bibunlex.c # bibunlex.o # check same as check-programs # check-docs spelling and doubled-word checks on # documentation # check-programs run validation suite # clean clean up trash and object files # clobber same as distclean # configure regenerate configure script (NB: # requires GNU autoheader and autoconf) # configure.time-stamp dummy file to record that patches # have been applied to the configure script # distclean clean up everything for a rebuild or # redistribution # docs make HTML, PostScript, PDF, and formatted # text files from man pages # dw doubled-word check on manual pages # html-files make HTML files from manual pages # install install bibdup, biblex, bibparse, and # bibunlex in system directories # install-ftp install distributions at author's ftp site # lexmain.o # maintainer-clean remove everything that can be rebuilt # with tools available at the author's # site (for maintainer only: do NOT do this # yourself!) # mostlyclean same as clean # pdf-files make PDF files from PostScript files # programs compile and link executable programs # ps-files make PostScript files from man pages # spell spell check manual pages # TAGS GNU Emacs tags file for fast editing # test-version check version number extraction for # other make targets # txt-files make ASCII text files from man pages # uninstall remove all files installed in system # directories by "make install" # # [03-Aug-2020] -- Update for bibparse version 1.12 release: (1) change # configure.in to configure.ac to conform to current # autoconf practice, (2) adjust buffer overflow message # to better identify start of over-long token, and # (3) add DESTDIR to install targets. # [07-Oct-2015] -- Update for bibparse version 1.11 release: pass SED # value to docheck.sh to deal with different behavior # of sed on OpenBSD with '\r' pattern to match a # carriage return. # [08-May-1999] -- Update for bibparse version 1.04 release. # [01-Jun-1998] -- Update for use with GNU autoconfigure. # [16-Jan-1993] # ====================================================================== X prefix = @prefix@ X libdir = $(prefix)/lib X # Change these to suit local conventions: # Set DESTDIR to allow test installation into a (usually temporary) directory tree BINDIR = $(DESTDIR)$(prefix)/bin FTPDIR = $(DESTDIR)/u/ftp/pub/bibparse SHRLIBDIR = $(DESTDIR)$(prefix)/share/lib/bibdup MANDIR = $(DESTDIR)$(prefix)/man MANEXT = 1 X # Use lcc or gcc with extra flags for extensive error checking, or use # C++ compiler (g++ or CC). DO NOT CHANGE ANY OF THESE VALUES: # instead, copy one of these to the end of the CC list to select your # compiler. You may also set the DEFINES value below too, though that # is rarely necessary. X ## # NB: On SGI IRIX 4.0.x, if you do not have C++, then you must use ## # 'CC = cc -cckr' to compile biblex.c and bibunlex.c, because the ## # lex-generated code contains a line ## # FILE *yyin = {stdin}, *yyout = {stdout}; ## # which will not compile when the c89 version of stdio.h is used. ## ## CC = c89 ## DEC Alpha OSF/1 Standard C compiler ## CC = cxx ## DEC Alpha OSF/1 C++ compiler ## CC = CC ## C++ for BSD 4.3 UNIX on HP 370 ## CC = CC +a1 -xansi +w ## C++ for SGI IRIX 4.0 (see LOADLIBES below) ## CC = cc -ansiposix -fullwarn -woff 22,24,183,205,262,269,302,303 ## ## C for SGI IRIX 4.0 ## CC = CC +a1 +p +w -D_POSIX_SOURCE -Hansi -D__STDC__ -D_BSD -D_AIX -Dps2 \ ## -DHAVE_TERMIO_H ## ## C++ on AIX 370 and PS/2: +a1 (ANSI ## ## declarations), +p (no anachronisms), +w ## ## (warnings) -D-BSD (to get toupper() and ## ## tolower() declared in ctype.h). ## ## Need -DHAVE_TERMIO_H because termios.h ## ## has wrong prototypes for C++ ## CC = CC +a1 +p +w -D_POSIX_SOURCE -Hansi -D__STDC__ -D_BSD -D_AIX -D_AIX370 ## ## C++ on AIX 370 ## CC = cc -Hansi -D_POSIX_SOURCE ## cc on AIX 370 and AIX PS/2 ## CC = /usr/CC/sun4/CC -I/usr/CC/incl -D__SUNCC__ ## C++ on SunOS 4.1.1 ## CC = acc -Xc -vc -strconst -D__ACC__ -D_POSIX_SOURCE -DHAVE_TERMIOS_H ## ## SunOS Standard C compiler (neither ## ## -DHAVE_SGTTY_H nor -DHAVE_TERMIO_H gives ## ## char-at-a-time input, sigh...; they work ## ## fine on other systems). ## CC = c89 -D_POSIX_SOURCE -D_ALL_SOURCE ## IBM RS/6000 ## CC = xlC ## IBM RS/6000 C++ ## CC = c89 -D_HPUX_SOURCE ## HP 9000/8xx HP-UX A.08 ## CC = cc ## most systems ## CC = cc ## Stardent (NB: remove -g in OPT below) ## CC = cc -systype bsd43 -D__CC__ ## MIPS RCxxxx RISCos 4.52 and 5.2: ## CC = cc $(GCCFLAGS) ## NeXT (cc is really GNU C compiler) ## CC = g++ $(GCCFLAGS) ## GNU C++ ## CC = lcc -A -A -n ## Princeton/AT&T Standard C compiler ## CC = gcc $(GCCFLAGS) ## GNU C ## ## # Compiler for this site: ## CC = g++ $(GCCFLAGS) ## GNU C++ ## CC = gcc $(GCCFLAGS) ## GNU C ## CC = cc -Xc -D__ACC__ -D__solaris ## Sun Solaris 2.x ## X # These values are set when configure is run: CC = @CC@ CXX = @CXX@ CFLAGS = @CFLAGS@ $(DEFINES) $(INCLUDES) $(OPT) CXXFLAGS = @CXXFLAGS@ $(DEFINES) $(INCLUDES) $(OPT) X # ====================================================================== # The remainder of this Makefile should not need changes X AUTOCONF = autoconf X AUTOHEADER = autoheader X X # Need new awk (nawk) or gawk here: AWK = @AWK@ X # Where the executables are during "make check": BIBLEX = biblex$(EXEEXT) X BIBPARSE = bibparse$(EXEEXT) X BIBUNLEX = bibunlex$(EXEEXT) X # Because we need to support rather long BibTeX tokens (e.g., a long # abstract string), we need a MUCH larger yytext[] token buffer than the # default, which is often just 512 or 1024. # # Unfortunately, some lex implementations (e.g., Sun Solaris 2.x) emit # use of YYLMAX before the code from the %{...%} section of the .l file, # or without allowing a command-line definition to set it, so even # though biblex.l redefines YYLMAX internally, that definition may be # too late. # # Thus, we must also define it on the compiler command line, and use it # in $(SEDFILTER) below. # # These values MUST all match, so we call them all BIBYYLMAX. This # is now the ONLY place where the magic value is set, so it can be # trivially redefined at make time if needed. # # Note: For a long time, this value was 40960 (or 32768 on IBM PC # systems). However, a few bibliographies in the TeX User Group # collection have even longer strings, and setting it to 81920 proved # to be big enough for all of them. To allow for growth, we set it # even larger, to 128K. BIBYYLMAX = 131072 X CHMOD = @CHMOD@ X # Extra flags for gcc and g++ to get maximal checking GCCFLAGS = -Wall -Wshadow -Wcast-qual -Wpointer-arith -Wwrite-strings X COMPRESS = @COMPRESS@ X CP = @CP@ X DEFINES = @DEFINES@ -DBIBYYLMAX=$(BIBYYLMAX) X DEROFF = @DEROFF@ X DIFF = @DIFF@ X DISTILL = @DISTILL@ X DITROFF = @DITROFF@ X ETAGS = @ETAGS@ X EXEEXT = @EXEEXT@ X EXPAND = @EXPAND@ X INCLUDES = -I. X JAR = @JAR@ X LDFLAGS = @LDFLAGS@ X LEXLIB = @LEXLIB@ X LFLAGS = @LFLAGS@ X LIBS = @LIBS@ $(LEXLIB) X # For flex, need to manually remove the %a and %o table size lines LEX = @LEX@ X LN = @LN@ -f -s X LS = @LS@ X # man2html is available at ftp://ftp.math.utah.edu/pub/sgml/man2html-x.yy.* MAN2HTML = @MAN2HTML@ X MKDIR = @MKDIR@ -p X MV = @MV@ X NROFF = @NROFF@ X # This variable defined to be empty, with the intent that the user can # set it on the make command line at build time to choose fancy # compiler-dependent optimization switches. OPT = X # NB: Put bibparse before biblex to avoid unnecessary recompilation # of biblex: bibparse creates a special temporary version of biblex.o PROGRAMS = bibparse$(EXEEXT) biblex$(EXEEXT) bibunlex$(EXEEXT) X RM = @RM@ -f X RMDIR = @RMDIR@ X SED = @SED@ X # See above for why we need to substitute YYLMAX by BIBYYLMAX in the # first sed pattern. # # The peculiar first sed pattern removes a line generated by HP HP-UX # 10.x lex which causes a fatal compilation error because of an # argument mismatch with the real definition of main(). # # The third sed pattern resets any definition of YYLMAX to make it # equal to BIBYYLMAX, in case it gets used before it is reset later. # # The fourth sed pattern removes an erroneous declation of getenv() by # yacc on GNU/Linux systems. # # The fifth pattern removes a similar erroneous C++ declaration from byacc. # # The sixth and seven hide erroneous flex-generated declarations from clang++. # SEDFILTER = $(SED) \ X -e '/static void __yy__unused() { main(); }/d' \ X -e 's@char *yytext *\[YYLMAX\]@char yytext[$(BIBYYLMAX)]@' \ X -e 's@char *yytext *\[ *[0-9]+ *\]@char yytext[$(BIBYYLMAX)]@' \ X -e 's@\#[ ]*define[ ]*YYLMAX.*$$@\#define YYLMAX BIBYYLMAX@' \ X -e 's@\#[ ]*define[ ]*YY_BUF_SIZE.*$$@\#define YY_BUF_SIZE BIBYYLMAX@' \ X -e 's@extern *char *[*]getenv *[(] *[)] *;@/* HIDE: extern char *getenv (); */@' \ X -e 's@extern *"C" *char *[*]getenv();@/* HIDE: extern "C" *char *getenv(); */@' \ X -e 's@extern *char *[*]getenv *( *) *;@/* HIDE: extern char *getenv(); */@' \ X -e 's@extern *int *yyparse *( *void *) *;@/* HIDE: extern int yyparse(void); */@' X SHAR = @SHAR@ X # This variable is not used directly, but some make implementations # (e.g., SGI IRIX) use it to decide what shell to invoke commands in. # We require the original Bourne shell, sh (or a syntax-compatible # variant, such as ksh or bash). SHELL = /bin/sh X SPELL = @SPELL@ +bibfiles.sok X TAR = @TAR@ X TEST = test X TOUCH = @TOUCH@ X UNZIP = @UNZIP@ X VERSION = `$(AWK) '/^[ \t]*version *= *"[0-9.]+", *$$/ \ X { gsub(/[^0-9.]/,"",$$3); print $$3 }' bibparse.y` X VERSION = @PACKAGE_VERSION@ X ## Set VM=wine for testing Windows build with CC=i686-pc-mingw32-gcc VM = @VM@ X WINE = @WINE@ X YACC = @YACC@ X YFLAGS = -v @YFLAGS@ X ZIP = @ZIP@ X ZOO = @ZOO@ X #======================================================================= # File lists: X BASEPROGS = $(PROGRAMS) bibdup X CHECK-FILES = test/check.bat test/docheck.sh test/lex001.in \ X test/lex002.in test/lex003.in test/lex004.in \ X test/lex005.in test/lex006.in test/lex006.opt \ X test/lex007.in test/lex007.opt test/okay/lex001.err \ X test/okay/lex001.out test/okay/lex002.err \ X test/okay/lex002.out test/okay/lex003.err \ X test/okay/lex003.out test/okay/lex004.err \ X test/okay/lex004.out test/okay/lex005.err \ X test/okay/lex005.out test/okay/lex006.err \ X test/okay/lex006.out test/okay/lex007.err \ X test/okay/lex007.out test/okay/parse001.err \ X test/okay/parse001.out test/okay/parse002.err \ X test/okay/parse002.out test/okay/parse003.err \ X test/okay/parse003.out test/okay/parse004.err \ X test/okay/parse004.err.2 test/okay/parse004.out \ X test/okay/parse005.err test/okay/parse005.out \ X test/okay/parse006.err test/okay/parse006.out \ X test/okay/parse007.err test/okay/parse007.out \ X test/okay/parse008.err test/okay/parse008.out \ X test/okay/parse009.err test/okay/parse009.out \ X test/okay/parse010.err test/okay/parse010.out \ X test/okay/parse011.err test/okay/parse011.out \ X test/okay/parse012.err test/okay/parse012.out \ X test/okay/parse013.err test/okay/parse013.out \ X test/okay/parse014.err test/okay/parse014.out \ X test/okay/parse015.err test/okay/parse015.out \ X test/okay/parse016.err test/okay/parse016.err.2 \ X test/okay/parse016.out test/okay/parse016.out.2 \ X test/okay/parse017.err test/okay/parse017.out \ X test/okay/parse018.err test/okay/parse018.out \ X test/okay/parse019.err test/okay/parse019.out \ X test/okay/parse020.err test/okay/parse020.out \ X test/okay/parse021.err test/okay/parse021.err.2 \ X test/okay/parse021.out test/okay/parse022.err \ X test/okay/parse022.err.2 test/okay/parse022.out \ X test/okay/parse023.err test/okay/parse023.out \ X test/okay/parse024.err test/okay/parse024.out \ X test/okay/unlex001.err test/okay/unlex001.out \ X test/okay/unlex002.err test/okay/unlex002.out \ X test/okay/unlex003.err test/okay/unlex003.out \ X test/okay/unlex004.err test/okay/unlex004.out \ X test/okay/unlex005.err test/okay/unlex005.out \ X test/okay/unlex006.err test/okay/unlex006.out \ X test/okay/unlex007.err test/okay/unlex007.out \ X test/parse001.in test/parse002.in test/parse003.in \ X test/parse004.in test/parse005.in test/parse006.in \ X test/parse007.in test/parse008.in test/parse009.in \ X test/parse010.in test/parse011.in test/parse012.in \ X test/parse013.in test/parse014.in test/parse015.in \ X test/parse016.in test/parse016.opt test/parse017.in \ X test/parse017.opt test/parse018.in test/parse018.opt \ X test/parse019.in test/parse020.in test/parse021.in \ X test/parse022.in test/parse023.in test/parse024.in \ X test/unlex001.in test/unlex002.in test/unlex003.in \ X test/unlex004.in test/unlex005.in test/unlex006.in \ X test/unlex006.opt test/unlex007.in test/unlex007.opt \ X test/update.sh X # These variables list the basenames of the test files. Those named XXX*.in # are input files for bibXXX, those named okay/XXX*.out contain correct # output on stdout from bibXXX for comparison with the .out files created by # "make check", and those named okay/XXX*.err contain correct output on # stderr from bibXXX for comparison with the XXX*.err files created by "make # check". All of these tests are done in the test subdirectory. X CHECK-NAMES-LEX = lex001 lex002 lex003 lex004 lex005 lex006 lex007 X CHECK-NAMES-PARSE = parse001 parse002 parse003 parse004 parse005 \ X parse006 parse007 parse008 parse009 parse010 \ X parse011 parse012 parse013 parse014 parse015 \ X parse016 parse017 parse018 parse019 parse020 \ X parse021 parse022 parse023 parse024 X CHECK-NAMES-UNLEX = unlex001 unlex002 unlex003 unlex004 unlex005 \ X unlex006 unlex007 X # This is the list of everything that is distributed in the various # archive formats installed in the ftp tree: X DIST-FILES = BUILD-BIBPARSE.sh ChangeLog COPYING Makefile.in \ X README README.html args.h bibdup.awk bibdup.sin \ X bibdup.man bibfiles.sok biblex.dat biblex.l \ X biblex.man biblex.ok bibparse.man bibparse.y \ X bibunlex.l bibunlex.man bibyydcl.h configure \ X configure.ac config.hin genutf8.hoc lexmain.c \ X token.h $(CHECK-FILES) $(HTML-FILES) $(PDF-FILES) \ X $(PS-FILES) $(TXT-FILES) save/Makefile save/biblex.c \ X save/bibunlex.c save/bibparse.c save/config.h \ X save/configure README.WINDOWS win32/biblex.exe \ X win32/bibparse.exe win32/bibunlex.exe \ X win64/biblex.exe win64/bibparse.exe \ X win64/bibunlex.exe X HTML-FILES = $(MAN-FILES:.man=.html) X MAN-FILES = bibdup.man biblex.man bibparse.man bibunlex.man X PDF-FILES = $(MAN-FILES:.man=.pdf) X PS-FILES = $(MAN-FILES:.man=.ps) X TAGS-FILES = biblex.l bibparse.y bibunlex.l X TXT-FILES = $(MAN-FILES:.man=.txt) X #======================================================================= X X.SUFFIXES: .html .pdf .ps .txt .man .i .c .y X X.c.i: X $(CC) -E $(CFLAGS) $< >$@ X X.l.c: X $(LEX) $(LFLAGS) -t $< | $(SEDFILTER) > $@ X X.man.html: X $(MAN2HTML) $< X X.ps.pdf: X $(DISTILL) $< X X.y.c: X $(YACC) $(YFLAGS) $< X $(SEDFILTER) < y.tab.c > $@ X -$(RM) y.tab.c X X.y.i: X $(MAKE) $*.c X $(MAKE) $*.i X -$(RM) $*.c X X.man.ps: X $(DITROFF) -Tps -man $? >$@ X X.man.txt: X $(DITROFF) -Tascii -man $? >$@ X #======================================================================= X all: programs X bibdup.sh: bibdup.sin Makefile X -$(RM) -f $@ X $(SED) -e 's=_LIBDIR_=$(SHRLIBDIR)=g' \ X -e 's=_BINDIR_=$(BINDIR)=g' \ X -e 's=_AWK_=$(AWK)=g' \ X $@ X $(CHMOD) 555 $@ X biblex$(EXEEXT): lexmain.c biblex.c args.h bibyydcl.h token.h X $(CC) $(CFLAGS) -DIS_BIBLEX -o biblex$(EXEEXT) lexmain.c biblex.c $(LDFLAGS) $(LIBS) X biblex.c: biblex.l X bibparse.c: bibparse.y X # We create a temporary empty yacc.h file to avoid a compilation # error from HP's version, and g++'s failure to find it at all. # This is harmless on other systems. bibparse.o: bibparse.c args.h bibyydcl.h X @$(TOUCH) yacc.h X $(CC) $(CFLAGS) -c bibparse.c X @-$(RM) yacc.h X # We make this dependency on biblex.c, not biblex.o, because we need # to recompile it with yylex changed to xxlex for use inside bibparse bibparse$(EXEEXT): bibparse.o biblex.c args.h bibyydcl.h token.h X $(CC) $(CFLAGS) -Dyylex=xxlex -o bibparse$(EXEEXT) bibparse.o biblex.c $(LDFLAGS) $(LIBS) X @-$(RM) biblex.o X bibparse.jar: $(DIST-FILES) X -$(RM) bibparse.jar bibparse.jar-lst X $(JAR) cf bibparse.jar $(DIST-FILES) X -$(MKDIR) bibparse-$(VERSION) X cd bibparse-$(VERSION); $(JAR) xf ../bibparse.jar X $(JAR) cf bibparse-$(VERSION).jar bibparse-$(VERSION) X -$(RM) -rf bibparse-$(VERSION) X -$(RM) bibparse.jar X $(LN) bibparse-$(VERSION).jar bibparse.jar X # The shar bundle intentionally omits the leading directory name, # bibparse-x.y.z, because shar bundles can be extracted on other systems # (e.g., IBM PC DOS) which do not permit multiple periods in file names, or # seriously limit the length of file names. bibparse.shr: $(DIST-FILES) X -$(RM) bibparse*.shr X $(SHAR) $(DIST-FILES) >bibparse-$(VERSION).shr X $(LN) bibparse-$(VERSION).shr bibparse.shr X bibparse.tar: $(DIST-FILES) X -$(RM) bibparse.tar bibparse.tar-lst X $(TAR) chf bibparse.tar $(DIST-FILES) X -$(MKDIR) bibparse-$(VERSION) X cd bibparse-$(VERSION); tar xf ../bibparse.tar X $(TAR) cf bibparse-$(VERSION).tar bibparse-$(VERSION) X -$(RM) -r bibparse-$(VERSION) X -$(RM) bibparse.tar X $(LN) bibparse-$(VERSION).tar bibparse.tar X bibparse.txt: bibparse.man X $(NROFF) -man bibparse.man | col -b | $(EXPAND) >$@ X bibparse.zip: $(DIST-FILES) X -$(RM) bibparse*.zip bibparse*.zip-lst X $(ZIP) bibparse-$(VERSION).zip $(DIST-FILES) X $(UNZIP) -v bibparse-$(VERSION).zip >bibparse-$(VERSION).zip-lst X $(LN) bibparse-$(VERSION).zip bibparse.zip X bibparse.zoo: $(DIST-FILES) X -$(RM) bibparse*.zoo bibparse*.zoo-lst X $(ZOO) a bibparse-$(VERSION).zoo $(DIST-FILES) X $(ZOO) v bibparse-$(VERSION).zoo >bibparse-$(VERSION).zoo-lst X $(LN) bibparse-$(VERSION).zoo bibparse.zoo X bibunlex$(EXEEXT): bibunlex.c X $(CC) $(CFLAGS) -o bibunlex$(EXEEXT) bibunlex.c $(LDFLAGS) $(LIBS) X bibunlex.c: bibunlex.l X check: check-begin check-programs check-end X check-begin: clean-check X check-docs: dw spell X check-end: X @e=`cat test/ERROR-COUNT` ; \ X t=`cat test/TEST-COUNT` ; \ X echo ; \ X echo ============================================================ ; \ X test "$$e" -eq 0 && echo SUCCESS: All "$$t" tests passed ; \ X test "$$e" -ne 0 && echo FAILURE: "$$e" of "$$t" tests failed ; \ X echo ============================================================ ; \ X echo X @-test -f test/parse016.err -o -f test/parse016.out && \ X echo NB: parse016 test failure may be harmless due to differing versions of bison or yacc X check-programs: check-biblex check-bibparse check-bibunlex X check-biblex: biblex$(EXEEXT) X @echo "" X @echo "The following checks should produce no output, other than their names" X @cd test; VM=${VM} SED=${SED} ./docheck.sh ../$(BIBLEX) $(CHECK-NAMES-LEX) X check-bibparse: bibparse$(EXEEXT) X @echo "" X @echo "The following checks should produce no output, other than their names" X @cd test; VM=${VM} SED=${SED} ./docheck.sh ../$(BIBPARSE) $(CHECK-NAMES-PARSE) X check-bibunlex: bibunlex$(EXEEXT) X @echo "" X @echo "The following checks should produce no output, other than their names" X @cd test; VM=${VM} SED=${SED} ./docheck.sh ../$(BIBUNLEX) $(CHECK-NAMES-UNLEX) X clean: clean-check X -$(RM) *.i X -$(RM) *.o X -$(RM) *~ X -$(RM) \#* X -$(RM) biblex.tmp X -$(RM) bibparse.output X -$(RM) core X -$(RM) lex.yy.c X -$(RM) y.output X -$(RM) yacc.h X clean-dist: X -$(RM) bibparse*.jar X -$(RM) bibparse*.jar-lst X -$(RM) bibparse*.shr X -$(RM) bibparse*.tar X -$(RM) bibparse*.tar-lst X -$(RM) bibparse.tab.c X -$(RM) bibparse*.zip X -$(RM) bibparse*.zip-lst X -$(RM) bibparse*.zoo X -$(RM) bibparse*.zoo-lst X clean-docs: X -$(RM) $(HTML-FILES) $(PDF-FILES) $(PS-FILES) $(TXT-FILES) X clean-check: X @-$(RM) test/ERROR-COUNT test/TEST-COUNT test/*.err test/*.out X clean-test: clean-check X clobber: distclean X configure: X $(AUTOCONF) X $(AUTOHEADER) X -$(RM) config.cache X $(MAKE) configure.time-stamp X # Work around a serious flaw in GNU configure: it always inserts -g # -O2 in CFLAGS and CXXFLAGS. -g cannot be used with $(OPT) on many # systems, and -O2 is not supported on many systems. # New autoconf releases set those values via # S["CFLAGS"]="-g -O2" # S["CXXFLAGS"]="-g -O2" # in config.status. configure.time-stamp: configure Makefile.in X if test -f config.status ; \ X then \ X $(MV) config.status config.status.tmp \ X $(SED) -e 's@"-g -O2"@""@' < config.status.tmp > config.status \ X fi X $(MV) configure configure.tmp X $(SED) \ X -e 's/CFLAGS=" *-g */CFLAGS="/' \ X -e 's/CFLAGS=" *-O2 */CFLAGS="/' \ X -e 's/CXXFLAGS=" *-g */CXXFLAGS="/' \ X -e 's/CXXFLAGS=" *-O2 */CXXFLAGS="/' \ X < configure.tmp > configure X $(CHMOD) 775 configure X $(TOUCH) configure.time-stamp X -$(RM) configure.tmp X dist: bibparse.jar bibparse.shr bibparse.tar bibparse.zip \ X bibparse.zoo X distclean: clean-dist mostlyclean X -$(RM) $(PROGRAMS) bibdup.sh X -$(RM) Makefile X -$(RM) TAGS X -$(RM) bibparse.output X -$(RM) config.cache X -$(RM) config.h X -$(RM) config.log X -$(RM) config.status X -$(RM) y.output X -$(RM) y.tab.c X -$(RM) -r autom4te.cache X docs: html-files ps-files pdf-files txt-files X dw: X @for f in $(MAN-FILES) ; \ X do \ X echo "==================== doubled words in $$f \ ====================" ; \ X $(DEROFF) $$f | dw ; \ X done X html-files: $(HTML-FILES) X install: install-programs install-lib install-man install-show X install-ftp: dist uninstall-ftp X $(TEST) -d $(FTPDIR) || $(MKDIR) $(FTPDIR) X $(CP) bibparse-$(VERSION).jar $(FTPDIR) X $(JAR) tvf bibparse-$(VERSION).jar 2>$(FTPDIR)/bibparse-$(VERSION).jar-lst X $(CP) bibparse-$(VERSION).shr $(FTPDIR) X $(TAR) tvf bibparse-$(VERSION).tar >$(FTPDIR)/bibparse-$(VERSION).tar-lst X $(COMPRESS) $(FTPDIR)/bibparse-$(VERSION).tar.gz X $(CP) bibparse-$(VERSION).zip $(FTPDIR) X $(CP) bibparse-$(VERSION).zip-lst $(FTPDIR) X $(CP) bibparse-$(VERSION).zoo $(FTPDIR) X $(CP) bibparse-$(VERSION).zoo-lst $(FTPDIR) X $(LS) -l $(FTPDIR)/bibparse-$(VERSION)* X install-lib: uninstall-lib X $(TEST) -d $(SHRLIBDIR) || $(MKDIR) $(SHRLIBDIR) X $(CP) bibdup.awk $(SHRLIBDIR)/bibdup.awk X $(CHMOD) 664 $(SHRLIBDIR)/bibdup.awk X install-man: uninstall-man X $(TEST) -d $(MANDIR)/man$(MANEXT) || $(MKDIR) $(MANDIR)/man$(MANEXT) X for program in $(BASEPROGS) ; \ X do \ X $(CP) $$program.man $(MANDIR)/man$(MANEXT)/$$program.1 ; \ X $(CHMOD) 664 $(MANDIR)/man$(MANEXT)/$$program.1 ; \ X done X ## Do NOT put uninstall-programs in the dependency list, because we now install ## versioned programs, and rename previous versions with suffix ".old". install-programs: $(PROGRAMS) bibdup.sh X $(TEST) -d $(BINDIR) || $(MKDIR) $(BINDIR) X for program in $(PROGRAMS) ; \ X do \ X $(TEST) -f $(BINDIR)/$$program -a ! -f $(BINDIR)/$$program.old && \ X $(MV) $(BINDIR)/$$program $(BINDIR)/$$program.old ; \ X $(RM) $(BINDIR)/$$program $(BINDIR)/$$program-$(VERSION) ; \ X $(CP) $$program $(BINDIR)/$$program-$(VERSION) ; \ X $(LN) $$program-$(VERSION) $(BINDIR)/$$program ; \ X $(CHMOD) 775 $(BINDIR)/$$program-$(VERSION) ; \ X done ; \ X $(TEST) -f $(BINDIR)/bibdup \ X -a ! -f $(BINDIR)/bibdup.old && \ X $(MV) $(BINDIR)/bibdup $(BINDIR)/bibdup.old ; \ X $(CP) bibdup.sh $(BINDIR)/bibdup-$(VERSION) ; \ X $(LN) bibdup-$(VERSION) $(BINDIR)/bibdup ; \ X $(CHMOD) 775 $(BINDIR)/bibdup-$(VERSION) X install-show: X @echo '' X @echo Installed files... X @for program in $(BASEPROGS) ; \ X do \ X $(LS) -l $(BINDIR)/$$program ; \ X done X @for program in $(BASEPROGS) ; \ X do \ X $(LS) -l $(MANDIR)/man$(MANEXT)/$$program.$(MANEXT) ; \ X done X @if test -d $(SHRLIBDIR) ; then $(LS) -lR $(SHRLIBDIR)/* ; fi X @echo '' X maintainer-clean: distclean X @echo "This command is intended for maintainers to use;" X @echo "it deletes files that may require special tools to rebuild." X -for f in $(PROGRAMS) ; \ X do \ X $(RM) $$.html ; \ X $(RM) $$.ps ; \ X $(RM) $$.pdf ; \ X $(RM) $$.txt ; \ X done X -$(RM) config.hin configure configure.time-stamp X mostlyclean: clean X -$(RM) biblex.c bibparse.c bibunlex.c bibdup.sh X pdf-files: $(PDF-FILES) X programs: $(PROGRAMS) X ps-files: $(PS-FILES) X spell: X @for f in $(MAN-FILES) ; \ X do \ X echo "==================== spelling exceptions in $$f \ ====================" ; \ X $(DEROFF) $$f | $(SPELL) ; \ X done X TAGS: $(TAGS-FILES) X $(ETAGS) $(TAGS-FILES) X test-version: Makefile X @echo "Version number is ""'"$(VERSION)"'" X txt-files: $(TXT-FILES) X uninstall: uninstall-programs uninstall-lib uninstall-man X uninstall-ftp: X -$(RM) $(FTPDIR)/bibparse-$(VERSION).jar X -$(RM) $(FTPDIR)/bibparse-$(VERSION).jar-lst X -$(RM) $(FTPDIR)/bibparse-$(VERSION).shr X -$(RM) $(FTPDIR)/bibparse-$(VERSION).tar-lst X -$(RM) $(FTPDIR)/bibparse-$(VERSION).tar.gz X -$(RM) $(FTPDIR)/bibparse-$(VERSION).zip X -$(RM) $(FTPDIR)/bibparse-$(VERSION).zip-lst X -$(RM) $(FTPDIR)/bibparse-$(VERSION).zoo X -$(RM) $(FTPDIR)/bibparse-$(VERSION).zoo-lst X uninstall-lib: X -$(RM) $(SHRLIBDIR)/bibdup.awk X -$(RMDIR) $(SHRLIBDIR) X uninstall-man: X -for program in $(BASEPROGS) ; \ X do \ X $(RM) $(MANDIR)/man$(MANEXT)/$$program.1 ; \ X $(RM) $(MANDIR)/man$(MANEXT)/../cat$(MANEXT)/$$program.1 ; \ X done X uninstall-programs: X -for program in $(BASEPROGS) ; \ X do \ X $(RM) $(BINDIR)/$$program ; \ X done SHAR_EOF (set 20 21 07 02 06 57 03 'Makefile.in' eval "${shar_touch}") && \ chmod 0644 'Makefile.in' if test $? -ne 0 then ${echo} "restore of Makefile.in failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'Makefile.in': 'MD5 check failed' ) << \SHAR_EOF 3ae2d0eb8fecf0ade9f7e9609b5ca668 Makefile.in SHAR_EOF else test `LC_ALL=C wc -c < 'Makefile.in'` -ne 26500 && \ ${echo} "restoration warning: size of 'Makefile.in' is not 26500" fi fi # ============= README ============== if test -n "${keep_file}" && test -f 'README' then ${echo} "x - SKIPPING README (file already exists)" else ${echo} "x - extracting README (text)" sed 's/^X//' << 'SHAR_EOF' > 'README' && X X README: Installation instruction for bibparse-1.06 X Table of contents X X * [1]Jump start X * [2]Introduction X * [3]Installation X * [4]Bug reports X * [5]UNIX Systems X * [6]IBM PC DOS X * [7]Test suite X * [8]Sample build output for UNIX X * [9]Implementation Notes X Jump start X X As with most GNUware, you can build, test, and install this program on X most UNIX systems by these simple steps csh et amici: X setenv CC ...your favorite C or C++ compiler... X ./configure && make all check install X sh et amici: X CC=...your favorite C or C++ compiler... X export CC X ./configure && make all check install X X Or in one line, if you have env (most modern UNIX systems do): X env CC=... ./configure && make all check install X X If you don't set the CC environment variable, then gcc (or cc, if gcc X is not available) will be assumed. X X If you wish to undo a make install, just do make uninstall; this will X remove any files in system directories put there by make install. X X See below for further details, and for instructions for non-UNIX X systems. X Introduction X X This directory contains bibparse, biblex, bibunlex, and bibdup, a X suite of programs for support of BibTeX bibliography files. They are X described in the following paper: @String{TUGboat = "TUGboat"} X @Article{Beebe:TB14-4-395, author = "Nelson Beebe", title = "{{Bibliography prettyprinting and syntax checking}}", journal = [10]TUGboat, year = "1993", volume = "14", number = "4", pages = "395--419", month = Dec, } X X The complete text of the TUGboat article is included with bibclean X 2.08 and later versions. X X You can find distributions of bibclean in a variety of formats in the X same place that you found the bibparse (et al) distribution. The X master location is ftp://ftp.math.utah.edu/pub/tex/bib. Via electronic X mail, a message with the body X help X send index from tex/bib X X to tuglib@math.utah.edu will get you started. X X Three files, biblex.c, bibparse.c, and bibunlex.c, are generated by X lex (or flex), and yacc (or bison). Copies of these files from the X author's site are preserved in the save subdirectory for manual X bootstrapping, but on UNIX systems, they should be generated X automatically as part of the installation process. X Installation X X Starting with version 1.03, bibparse has been adapted to use the GNU X autoconf automatic configuration system for UNIX installations. X X GNU autoconf is run at the author's site to produce the configure X script from configure.in. X X The configure script is run at each installer's UNIX site to produce X Makefile from Makefile.in , bibdup.sh from bibdup.sin, and config.h X from config.hin. The configure script is a large (2900+ lines) X automatically-generated Bourne shell program that investigates various X aspects of the local C implementation, and records its conclusions in X config.h. X X Should you do a make maintainer-clean [not recommended, except at the X author's site], the configure script will be deleted, and you will X need recent versions of both GNU m4 and autoconf correctly installed X to reconstruct things, which can be done this way: X autoheader # Regenerate config.hin X autoconf # Regenerate unedited configure X make configure.time-stamp # To fix configure script X X For convenience and safety, the distribution includes a subdirectory X named save that contains read-only copies of the files Makefile, X config.h, and configure created by autoconf and make configure, plus X the files biblex.c and bibunlex.c generated by lex, and the file X bibparse.c generated by yacc. This will allow recovery from a lost or X damaged configure file, and support manual bootstrapping on systems X that lack lex/flex and yacc/bison support, or have broken X implementations of those programs. X X Suitable hand-crafted config.h files are provided for non-UNIX X systems, and in the unlikely event of a failure of the configure X script on a UNIX system, config.h can be manually produced from a copy X of config.hin with a few seconds of editing work. If you do this, X remember to save a copy of your config.h under a different name, X because running configure will destroy it. If you have GNU autoconf X installed (the installation is very simple and source code is X available from X ftp://prep.ai.mit.edu/pub/gnu/autoconf/autoconf-x.y.tar.gz), (x.y = X 2.13 at the time of writing this), you might try augmenting X configure.in instead, then run autoheader, autoconf, and configure. X X Thus, on UNIX, installation normally consists of just two steps X (assuming a csh -compatible shell): X setenv CC ...your favorite C or C++ compiler... X ./configure && make all check install X X If you like, add OPT='your favorite optimization flags' to the make X command; by default, no optimization flags are set. X X The GNU standard installation directories /usr/local/bin for binaries, X and /usr/local/man/man1 for manual pages are assumed. The prefix X /usr/local can be overridden by providing an alternate definition for X the make variable, prefix, on the command line: X make prefix=/some/other/path install X X After installation, you can do X make distclean X X to restore the directories to their distribution state. You should X also do this between builds for different architectures from the same X source tree; neglecting to do so will almost certainly lead to X failure, because the config.cache file created by configure will lead X to an incorrect config.h and Makefile for the next build. X Bug reports X X Please report all problems, suggestions, and comments to the author: X X X Nelson H. F. Beebe X University of Utah X Department of Mathematics, 110 LCB X 155 S 1400 E RM 233 X Salt Lake City, UT 84112-0090 X USA X Tel: +1 801 581 5254 X FAX: +1 801 585 1640, +1 801 581 4148 X Email: [11]beebe@math.utah.edu , [12]beebe@acm.org , X [13]beebe@computer.org , [14]beebe@ieee.org (Internet) X WWW URL: [15]http://www.math.utah.edu/~beebe/ X UNIX Systems X X The code can be compiled with either C (K&R or ISO/ANSI Standard C) or X C++ compilers, although whether C++ can be used for the lex/flex- and X yacc/bison-generated code depends on how modern their versions are. X With some C++ compilers, it may be necessary to supply additional X switches for force the compiler to stay in C++ mode, rather than X reverting to C mode (e.g., on DEC Alpha OSF/1, you must do setenv CC X "cxx -x cxx"). X X On UNIX systems, the only variables that you are likely to need to X override on the make command line are the Makefile settings of CC and X OPT, and if you wish to do make install, the setting of prefix. X X If you are installing bibparse on a new system, you should definitely X run make check before installing it on your system. Sample output of X make check from a UNIX system is given below. X X These programs have been built, tested, and validated with two X independent lexers (flex and lex), and three independent parser X generators (bison, byacc, and yacc), using all available C and C++ X compilers on these 11 UNIX systems for the 1.04 release: 413 X successful builds, and 49 failures. Because some compilers are stored X in two different directories, or under two separate names, the actual X number of independent builds is somewhat less. X X While the large number of successful builds is gratifying, the X failures are potentially even more important if they can be traced to X deficiencies in my code. Close examination of the build logs shows X that they are not: they are entirely due to one of the following: X * Code from lex/flex and/or bison/byacc/yacc which is not X C++-compatible; there is no excuse for such vendor sloppiness, but X it exists. C has had an ANSI/ISO Standard since December 1989, and X the draft standard was stable at least two years before that, so X the target language has been publicly defined for about a dozen X years. All C-Standard-conforming code should compile without X problems under C++ (barring use of C++ reserved words). X * Lack of compiler support for the non-standard stack memory X allocator, alloca(), used in bison-generated code. X * Internal compiler errors (e.g., lcc on NeXT and SGI IRIX 6.x X systems). X * Broken vendor-provided yacc (SGI IRIX 5.3). X * Broken vendor-provided header file, alloca.h (pgCC). A bug report X about this to the vendor, The Portland Group X [16](http://www.pgroup.com), produced a prompt response with the X following patch: #ifdef __cplusplus extern "C" char * __builtin_alloca (int); #endif X *** /usr/pgi/linux86/include/alloca.h Thu Apr 22 18:57:51 1999 --- ./alloca.h Tue May 11 11:52:01 1999 *************** *** 36,41 **** --- 36,44 ---- X X # define __alloca(size) __builtin_alloca (size) X # define alloca(size) __alloca (size) + #ifdef __cplusplus + extern "C" char * __builtin_alloca (int); + #endif X X __END_DECLS X X Successes X X flex + bison (70 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/bin/c89 X /usr/bin/cc X /bin/cc X /bin/c89 X /bin/cxx -x cxx X /usr/ucb/cc X /usr/ccs/bin/cc X /usr/ccs/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X HP 9000/735 HP-UX 10.01 /usr/bin/c89 X /usr/ccs/bin/cc X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X /bin/cc X IBM PowerPC 43P AIX 4.2 /bin/xlC X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/c89 X /usr/bin/cc X /bin/cc X /bin/c89 X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/bin/cc X /usr/pgi/linux86/bin/pgcc X /usr/bin/gcc X /usr/bin/g++ X /usr/local/bin/gcc X /usr/local/bin/g++ X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X /usr/local/bin/lcc -A -A X /usr/local/bin/gcc X /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X SGI Challenge L IRIX 5.3 /bin/cc X /usr/bin/CC X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/CC X SGI Origin/200-4 IRIX 6.4 /bin/CC X /usr/bin/cc X /bin/cc X /bin/c89 X /usr/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/CC X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/cc X /usr/bin/gcc X /usr/bin/g++ X Sun SPARC LX Solaris 2.5 /opt/SUNWspro/bin/c89 X /usr/ucb/cc X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/local/bin/lcc -A -A X Sun Ultra Enterprise 5500 Solaris 2.6 /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/c89 X /opt/SUNWspro/bin/cc X /usr/ucb/cc X X flex + byacc (75 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/bin/c89 X /bin/c89 X /bin/cc X /usr/ccs/bin/c89 X /usr/ucb/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/cxx -x cxx X /usr/local/bin/lcc -A -A X /usr/ccs/bin/cc X /usr/bin/cc X HP 9000/735 HP-UX 10.01 /usr/bin/cc X /bin/cc X /usr/ccs/bin/cc X /usr/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X /usr/bin/CC X /bin/CC X IBM PowerPC 43P AIX 4.2 /bin/xlC X /usr/bin/c89 X /bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X /usr/bin/cc X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/bin/cc X /usr/pgi/linux86/bin/pgCC X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/pgi/linux86/bin/pgcc X /usr/bin/gcc X /usr/bin/g++ X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/local/bin/lcc -A -A X /usr/bin/gcc X /usr/bin/g++ X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/cc X NeXT Turbostation Mach 3.3 /bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X SGI Challenge L IRIX 5.3 /bin/cc X /usr/local/bin/gcc X /usr/local/bin/lcc -A -A X /usr/local/bin/g++ X /usr/bin/CC X /usr/bin/cc X /bin/CC X SGI Origin/200-4 IRIX 6.4 /bin/CC X /usr/bin/CC X /usr/bin/c89 X /bin/cc X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X Sun SPARC LX Solaris 2.5 /usr/ucb/cc X /opt/SUNWspro/bin/c89 X /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X Sun Ultra Enterprise 5500 Solaris 2.6 /usr/local/bin/lcc -A -A X /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X /opt/SUNWspro/bin/c89 X /usr/ucb/cc X X flex + yacc (66 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X /usr/ucb/cc X /bin/cxx -x cxx X /usr/ccs/bin/c89 X /usr/bin/cc X /usr/ccs/bin/cc X /usr/local/bin/lcc -A -A X /bin/cc X HP 9000/735 HP-UX 10.01 /bin/CC X /usr/ccs/bin/cc X /usr/bin/CC X /bin/cc X /usr/bin/cc X /bin/c89 X /usr/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X IBM PowerPC 43P AIX 4.2 /usr/bin/cc X /bin/cc X /bin/c89 X /bin/xlC X /usr/bin/c89 X /usr/local/bin/gcc X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/bin/gcc X /usr/bin/g++ X /usr/pgi/linux86/bin/pgCC X /usr/pgi/linux86/bin/pgcc X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/gcc X /usr/bin/g++ X /usr/local/bin/lcc -A -A X NeXT Turbostation Mach 3.3 /bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/CC X /bin/CC X /usr/bin/cc X /bin/cc X /bin/c89 X /usr/bin/c89 X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/cc X /usr/bin/gcc X /usr/bin/g++ X Sun SPARC LX Solaris 2.5 /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/cc X /usr/ucb/cc X /opt/SUNWspro/bin/c89 X /opt/SUNWspro/bin/CC X Sun Ultra Enterprise 5500 Solaris 2.6 /opt/SUNWspro/bin/c89 X /usr/ucb/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X X lex + bison (67 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/ccs/bin/cc X /usr/bin/c89 X /usr/ucb/cc X /usr/local/bin/gcc X /usr/ccs/bin/c89 X /bin/cc X /bin/c89 X /usr/bin/cc X HP 9000/735 HP-UX 10.01 /usr/bin/cc X /usr/ccs/bin/cc X /bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/cc X /usr/bin/c89 X IBM PowerPC 43P AIX 4.2 /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/c89 X /bin/c89 X /bin/xlC X /bin/cc X /usr/bin/cc X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X /usr/pgi/linux86/bin/pgcc X /usr/local/bin/gcc X /usr/local/bin/g++ X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/bin/cc X /usr/bin/gcc X /usr/bin/g++ X /usr/local/bin/gcc X /usr/local/bin/lcc -A -A X /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /usr/local/bin/gcc X /bin/cc X SGI Challenge L IRIX 5.3 /bin/CC X /usr/bin/CC X /bin/cc X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X SGI Origin/200-4 IRIX 6.4 /usr/bin/cc X /usr/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/CC X /bin/cc X /usr/bin/CC X /bin/c89 X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/cc X /usr/bin/gcc X /usr/bin/g++ X Sun SPARC LX Solaris 2.5 /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X /usr/ucb/cc X /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/c89 X Sun Ultra Enterprise 5500 Solaris 2.6 /opt/SUNWspro/bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/CC X /usr/ucb/cc X /opt/SUNWspro/bin/cc X /usr/local/bin/lcc -A -A X X lex + byacc (72 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /bin/cc X /usr/local/bin/gcc X /usr/local/bin/lcc -A -A X /usr/ccs/bin/cc X /usr/ucb/cc X /usr/bin/c89 X /usr/ccs/bin/c89 X /usr/bin/cc X /bin/c89 X HP 9000/735 HP-UX 10.01 /bin/CC X /bin/cc X /usr/ccs/bin/cc X /bin/c89 X /usr/bin/CC X /usr/local/bin/gcc X /usr/bin/cc X /usr/local/bin/g++ X /usr/bin/c89 X IBM PowerPC 43P AIX 4.2 /usr/bin/cc X /usr/bin/c89 X /bin/c89 X /bin/cc X /bin/xlC X /usr/local/bin/gcc X /usr/local/bin/g++ X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X /usr/pgi/linux86/bin/pgCC X /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/pgi/linux86/bin/pgcc X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/local/bin/lcc -A -A X /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /usr/local/bin/gcc X /bin/cc X SGI Challenge L IRIX 5.3 /usr/bin/cc X /usr/local/bin/lcc -A -A X /bin/CC X /bin/cc X /usr/local/bin/gcc X /usr/bin/CC X /usr/local/bin/g++ X SGI Origin/200-4 IRIX 6.4 /usr/bin/c89 X /usr/bin/CC X /usr/bin/cc X /bin/c89 X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/CC X /bin/cc X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X Sun SPARC LX Solaris 2.5 /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/CC X /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/cc X /usr/ucb/cc X /opt/SUNWspro/bin/c89 X Sun Ultra Enterprise 5500 Solaris 2.6 /usr/local/bin/lcc -A -A X /opt/SUNWspro/bin/c89 X /usr/ucb/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X X lex + yacc (63 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/ccs/bin/c89 X /usr/bin/c89 X /bin/c89 X /usr/ccs/bin/cc X /usr/local/bin/gcc X /usr/ucb/cc X /usr/local/bin/lcc -A -A X /bin/cc X /usr/bin/cc X HP 9000/735 HP-UX 10.01 /usr/ccs/bin/cc X /usr/bin/c89 X /usr/bin/CC X /bin/c89 X /usr/bin/cc X /bin/CC X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/cc X IBM PowerPC 43P AIX 4.2 /usr/bin/c89 X /usr/local/bin/gcc X /bin/cc X /bin/c89 X /bin/xlC X /usr/bin/cc X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/pgi/linux86/bin/pgcc X /usr/bin/gcc X /usr/local/bin/gcc X /usr/bin/g++ X /usr/local/bin/g++ X /usr/bin/cc X /usr/pgi/linux86/bin/pgCC X Intel Pentium II MMX GNU/Linux 2.0.35 /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/bin/gcc X /usr/bin/g++ X /usr/bin/cc X /usr/local/bin/lcc -A -A X NeXT Turbostation Mach 3.3 /bin/cc X /usr/local/bin/gcc X SGI Origin/200-4 IRIX 6.4 /bin/cc X /usr/bin/c89 X /usr/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/c89 X /bin/CC X /usr/bin/CC X Sun SPARC 10/412 GNU/Linux 2.0.35 /usr/bin/cc X /usr/bin/gcc X /usr/bin/g++ X Sun SPARC LX Solaris 2.5 /usr/local/bin/gcc X /usr/local/bin/g++ X /usr/ucb/cc X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/c89 X /opt/SUNWspro/bin/cc X Sun Ultra Enterprise 5500 Solaris 2.6 /usr/ucb/cc X /opt/SUNWspro/bin/CC X /opt/SUNWspro/bin/cc X /usr/local/bin/gcc X /usr/local/bin/g++ X /opt/SUNWspro/bin/c89 X /usr/local/bin/lcc -A -A X _________________________________________________________________ X X Failures X X flex + bison (7 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/local/bin/lcc -A -A X HP 9000/735 HP-UX 10.01 /usr/bin/CC X /bin/CC X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/pgi/linux86/bin/pgCC X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X SGI Challenge L IRIX 5.3 /usr/local/bin/lcc -A -A X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X X flex + byacc (2 compilers) X X Machine and model O/S Compilers X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X X flex + yacc (11 compilers) X X Machine and model O/S Compilers X IBM PowerPC 43P AIX 4.2 /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X SGI Challenge L IRIX 5.3 /usr/local/bin/lcc -A -A X /usr/local/bin/gcc X /bin/cc X /bin/CC X /usr/bin/cc X /usr/bin/CC X /usr/local/bin/g++ X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X Sun SPARC LX Solaris 2.5 /usr/local/bin/lcc -A -A X X lex + bison (10 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /usr/local/bin/g++ X /usr/local/bin/lcc -A -A X /bin/cxx -x cxx X HP 9000/735 HP-UX 10.01 /bin/CC X /usr/bin/CC X Intel Pentium II 450MHz GNU/Linux 2.1.132 /usr/pgi/linux86/bin/pgCC X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X /usr/local/bin/g++ X SGI Challenge L IRIX 5.3 /usr/local/bin/lcc -A -A X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X X lex + byacc (5 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /bin/cxx -x cxx X /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X /usr/local/bin/g++ X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X X lex + yacc (14 compilers) X X Machine and model O/S Compilers X DEC Alpha 2100-5/250 OSF/1 3.2 /bin/cxx -x cxx X /usr/local/bin/g++ X IBM PowerPC 43P AIX 4.2 /usr/local/bin/g++ X NeXT Turbostation Mach 3.3 /usr/local/bin/lcc -A -A X /usr/local/bin/g++ X SGI Challenge L IRIX 5.3 /usr/local/bin/gcc X /usr/local/bin/g++ X /bin/cc X /bin/CC X /usr/local/bin/lcc -A -A X /usr/bin/cc X /usr/bin/CC X SGI Origin/200-4 IRIX 6.4 /usr/local/bin/lcc -A -A X Sun SPARC LX Solaris 2.5 /usr/local/bin/lcc -A -A X IBM PC DOS X X Of all the compilers that I have available on the IBM PC under X Microsoft DOS and Windows (two versions of Turbo C, four of Microsoft X C, and two of Watcom C), none support 32-bit int data. This prevents X the use of the yacc version of bibparse.c, because it requires an X integer type that can hold values as large as -10000000. Had all such X data been given a type defined by a typedef, a one-line change from X int to long would permit the transfer of the code to an environment X with 32-bit long support. Sadly, such is not the case. Perhaps the X commercial Mortice-Kern MKS Tools package of UNIX tools on DOS X addresses this issue, but I do not yet have it. X X Another problem is that the parser tables are too big for the X obnoxious 64KB-segment limit of the Intel x86 architecture, and none X of the compilers, except for the Watcom 386 compiler, will compile the X code. X X Fortunately, the solution is simply to use bison instead of yacc. It X has been designed to work with integers as small as 16 bits, and its X parser tables are more compact. X X The three programs can be built standalone in this environment, X without the need for lex, flex, or yacc libraries, provided that the X symbol HAVE_IBMPC is defined in the config.h file, and the symbol X HAVE_FILENO is undefined there. This will enable a simple version of X the yywrap() function, and also reduce the memory requirements to fit X in the 64KB-segment limit. X X The ibmpc/dos/README file contains details of the builds and tests of X bibparse under several IBM PC DOS C and C++ compilers, and X instructions for building and testing bibparse with other compilers. X X Since bibparse uses no floating-point arithmetic, and PC DOS has no X shared libraries, I expect that the executables will run on any X version of DOS greater than 4.0. They may also run on earlier X versions. At the time of writing, MS-DOS 6.22 is current, and the X bibparse executables work fine on it. They also work on Caldera X OpenDOS 7.01, the version supplied by Sun under Solaris 2.6 for the X SunPC emulator, and on the Windows version of DOS under Windows 95. X Test suite X X The bibparse distribution includes a comprehensive test suite which is X run by X make check X X For use on other operating systems, the ibmpc/dos/check.bat file for X PC DOS may serve as a useful starting point for preparing a script to X run the tests. X X Please do run the validation suite at your site before installing the X program. Compilers are complex software systems that also have bugs, X so the fact that the program runs correctly somewhere else does not X mean that it will do so on a different system. X Sample build output for UNIX X X Here is a log of a successful build on Sun Solaris 2.6 using the X native C++ compiler, CC: env CC=/opt/SUNWspro/bin/CC ./configure && make creating cache ./config.cache checking for gcc... /opt/SUNWspro/bin/CC checking whether the C compiler (/opt/SUNWspro/bin/CC ) works... yes checking whether the C compiler (/opt/SUNWspro/bin/CC ) is a cross-compiler.. X. no checking whether we are using GNU C... no checking whether /opt/SUNWspro/bin/CC accepts -g... yes checking for c++... c++ checking whether the C++ compiler (c++ ) works... yes checking whether the C++ compiler (c++ ) is a cross-compiler... no checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking for compiler language... C++ checking how to run the C preprocessor... /opt/SUNWspro/bin/CC -E checking for alloca.h... yes checking for stdlib.h... yes checking for nawk... nawk checking for chmod... chmod checking for gzip... /usr/local/bin/gzip checking for scp... scp -p checking for rcp... (cached) scp -p checking for cp... (cached) scp -p checking for deroff... deroff checking for diff... diff checking for distill... /usr/local/bin/distill checking for ditroff... no checking for groff... groff checking for etags... etags checking for expand... expand checking for jar... jar checking for lex... lex checking for flex... (cached) lex checking for ln... ln checking for ls... ls checking for man2html... /usr/local/bin/man2html checking for mkdir... mkdir checking for mv... mv checking for nroff... nroff checking for rm... rm checking for rmdir... rmdir checking for sed... sed checking for shar... shar checking for spell... spell checking for tar... tar checking for touch... touch checking for unzip... unzip checking for yacc... yacc checking for zip... zip checking for zoo... zoo checking for fileno... no checking for alloca in -lPW... no checking for lex/flex library... -ll checking for yacc library... -ly checking for bison flags... checking for preprocessor symbols needed on Sun Solaris... -D__EXTERN_C__ updating cache ./config.cache creating ./config.status creating Makefile creating bibdup.sh creating config.h yacc -v bibparse.y X conflicts: 6 shift/reduce sed -e 's/char *yytext *\[YYLMAX\]/char yytext[40960]/' -e '/static void __yy__ unused() { main(); }/d' -e 's/#[ ]*define[ ]*YYLMAX.*$/#define YY LMAX BIBYYLMAX/' -e '/extern[ ]*char[ ]*[*]getenv[ ]*[(][ ]*[)] /d' < y.tab.c > bibparse.c rm -f y.tab.c /opt/SUNWspro/bin/CC -D__EXTERN_C__ -DBIBYYLMAX=40960 -I. -c bibparse.c lex -t biblex.l | sed -e 's/char *yytext *\[YYLMAX\]/char yytext[40960]/' -e '/ static void __yy__unused() { main(); }/d' -e 's/#[ ]*define[ ]*YYLM AX.*$/#define YYLMAX BIBYYLMAX/' -e '/extern[ ]*char[ ]*[*]getenv[ X ]*[(][ ]*[)]/d' > biblex.c 136/1000 nodes(%e), 311/2500 positions(%p), 50/500 (%n), 3095 transitions, 188/10000 packed char classes(%k), 230/3000 packed transitions(%a), 265/6000 output slots(%o) /opt/SUNWspro/bin/CC -D__EXTERN_C__ -DBIBYYLMAX=40960 -I. -Dyylex=xxlex -o bi bparse bibparse.o biblex.c -ll -ly /opt/SUNWspro/bin/CC -D__EXTERN_C__ -DBIBYYLMAX=40960 -I. -o biblex lexmain.c X biblex.c -ll -ly lexmain.c: biblex.c: lex -t bibunlex.l | sed -e 's/char *yytext *\[YYLMAX\]/char yytext[40960]/' -e '/static void __yy__unused() { main(); }/d' -e 's/#[ ]*define[ ]*YYLM AX.*$/#define YYLMAX BIBYYLMAX/' -e '/extern[ ]*char[ ]*[*]getenv[ X ]*[(][ ]*[)]/d' > bibunlex.c /opt/SUNWspro/bin/CC -D__EXTERN_C__ -DBIBYYLMAX=40960 -I. -o bibunlex bibunle x.c -ll -ly X The following checks should produce no output, other than their names lex001 lex002 lex003 lex004 lex005 X The following checks should produce no output, other than their names parse001 parse002 parse003 parse004 parse005 parse006 parse007 parse008 parse009 parse010 parse011 parse012 parse013 parse014 parse015 X The following checks should produce no output, other than their names unlex001 unlex002 unlex003 unlex004 unlex005 X Implementation Notes X X While the GNU autoconfigure system is a great boon for end users, it X is a painful system for developers to implement for their code. X Despite already having adapted several other programs to use this X system, I spent two long and tedious days at bibparse 1.03 X experimenting with settings in the configure.in file before the tests X succeeded on a large enough number of systems that I can have some X confidence that the installations will go smoothly at most end-user X sites. X X At version 1.04, when I ported bibparse to even more systems, and a X new parser generator, byacc, it took another four days of tuning the X configure.in file to handle system peculiarities, notably on X GNU/Linux. X X A major problem with autoconfigure is that it is not sufficiently X C++-aware. The simple test files that it creates for probing features X of the host implementation lack correct prototypes, and compilation X failures then lead to incorrect setting of values in config.h and X Makefile. X X On most of the test systems, the vendor-provided lex is not C++-aware X either, so that compilation failures from missing prototypes, or X inconsistent or old-style function declarations, are common. X X One vendor, HP, generates a reference to an non-standard external X header file, yacc.h, in yacc output, but the location of that header X file is unknown to g++. In any event, that file is wrong anyway, X because it declares yyparse() to have C linkage, but the version in X the generated C file will be compiled with C++ linkage. This was X solved by created a temporary empty yacc.h file in the rules for X bibparse.o in Makefile.in. X X The same vendor, HP, generates a call to main() in lex output which X then fails to match the prototype, and causes compilation failure. X This was solved by an edit step in Makefile.in to removed the X offending line. X X Another problem for C++ use is that, on some systems, the normal lex X functions input() and output() must be renamed to avoid conflicts with X uses of those names in C++ header files. On Sun Solaris 2.x, they X become lex_input() and lex_output(), so bibyydcl.h has to handle this X case specially. I don't see any good way to do this with configure, X since it is very awkward to produce tests in languages other than C. X X The GNU/Linux (Caldera Light 2.0.30) system on which I tested bibparse X 1.03 had yacc, but not its library, -ly, so a more complex test had to X be generated in configure.in to handle that irregularity. X X The RedHat GNU/Linux systems on Intel Pentium and Sun SPARC hardware X on which I tested bibparse 1.04 have lex, but not its library, -ll, X and worse, that lex is really flex, which does not behave compatibly, X unless it is invoked with the compatibility-mode flag, -l. However, X that flag cannot be used with ordinary lex: on HP systems, it produces X a warning; on IBM systems, it produces garbage in the output C file; X on SGI systems, it causes lex to hang in an apparent I/O wait. It took X several tries on various systems before I settled on the code finally X used in configure.in to handle these variations. X X On SGI IRIX 5.3 systems, there is a bug in yacc which results in a X bogus complaint UX:yacc: ERROR: Redeclaration of precedence of TOKEN_EQUALS, line 210 X X Thus, on that system, either bison or byacc (Berkeley yacc) must be X used, and neither are provided by the vendor. X X You can get bison at the Free Software Foundation archive (or one of X its several [17]mirrors): X [18]ftp://ftp.gnu.org/gnu/bison/bison-1.28.tar.gz X X The most recent version of Berkeley byacc that I could find is at the X Cygnus FTP site: X [19]ftp://sourceware.cygnus.com/pub/gdb/infrastructure/byacc-940324.ta X r.gz That version has been make to run with an early version of GNU X autoconfig, and has bug fixes beyond the byacc version 1.9 of X 22-Feb-1993 that I found at the Berkeley BSD development site: X [20]ftp://ftp.cs.berkeley.edu/pub/4bsd/byacc.1.9.tar.Z Even though the X Cygnus version is newer (23-Mar-1994), it produces code that did not X compile under C++ until I made this patch: =================================================================== RCS file: byacc-940324/byacc/RCS/skeleton.c,v retrieving revision 1.1 diff -r1.1 byacc-940324/byacc/skeleton.c 98a99,102 > "#ifdef __cplusplus", > "extern \"C\"", > "#endif", > " extern char *getenv();", 105,108d108 < "#ifdef __cplusplus", < "extern \"C\"", < "#endif", < " extern char *getenv();", =================================================================== X X On Sun Solaris 2.x, the symbol __EXTERN_C__ must be defined in order X to expose certain function prototypes in the code generated by lex and X yacc. configure.in has a special test for this system to generate the X needed definition. X X The linkers on some UNIX systems do not search /usr/local/lib by X default, even though this has long been a standard location for X locally-installed libraries. Consequently, the configure.in rules add X this directory to the library search path when the flex library -lfl X is required. If your site has a non-standard location for this X library, where your linker cannot find it without help, then you'll X have to override the LDFLAGS value when you run make, e.g., make LDFLAGS='-L/my/private/lib' X References X X 1. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#Jump-start X 2. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#Introduction X 3. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#Installation X 4. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#Bug-reports X 5. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#UNIX-Systems X 6. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#IBM-PC-DOS X 7. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#test-suite X 8. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#Sample-build-output-for-UNIX X 9. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#implementation-notes X 10. file://localhost/home/0077/sy/beebe/tex/bibparse/bibparse-1.06/README.html#TUGboat X 11. mailto:beebe@math.utah.edu X 12. mailto:beebe@acm.org X 13. mailto:beebe@computer.org X 14. mailto:beebe@ieee.org X 15. http://www.math.utah.edu/~beebe/ X 16. http://www.pgroup.com/ X 17. http://www.gnu.org/server/list-mirrors.html X 18. ftp://ftp.gnu.org/gnu/bison/bison-1.28.tar.gz X 19. ftp://sourceware.cygnus.com/pub/gdb/infrastructure/byacc-940324.tar.gz X 20. ftp://ftp.cs.berkeley.edu/pub/4bsd/byacc.1.9.tar.Z SHAR_EOF (set 20 04 09 23 15 10 33 'README' eval "${shar_touch}") && \ chmod 0644 'README' if test $? -ne 0 then ${echo} "restore of README failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'README': 'MD5 check failed' ) << \SHAR_EOF ae36eebf6dd3a641bb8f8fbdabb7c846 README SHAR_EOF else test `LC_ALL=C wc -c < 'README'` -ne 35106 && \ ${echo} "restoration warning: size of 'README' is not 35106" fi fi # ============= README.html ============== if test -n "${keep_file}" && test -f 'README.html' then ${echo} "x - SKIPPING README.html (file already exists)" else ${echo} "x - extracting README.html (text)" sed 's/^X//' << 'SHAR_EOF' | uudecode && begin 600 README.html M/"$M+2`M*BUH=&UL+2HM("TM/@H\(2TM(%)%041-12`M+3X*/"$M+2!07-T96US(CX*("`@("`@ M("`@("`@("`@("`@("!53DE8(%-Y6]U6]U(&AA=F4@/%14/F5N=CPO5%0^("AM;W-T"B`@ M("`@("`@("`@(&UO9&5R;B!53DE8('-Y6]U('=I7-T96US+@H@("`@("`@(#PO4#X*("`@("`@ M("`\(2TM(#T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/2`M+3X*("`@("`@("`\2#(^"B`@ M("`@("`@("`@(#Q!($Y!344](DEN=')O9'5C=&EO;B(^"B`@("`@("`@("`@ M("`@("!);G1R;V1U8W1I;VX*("`@("`@("`@("`@/"]!/@H@("`@("`@(#PO M2#(^"B`@("`@("`@/%`^"B`@("`@("`@("`@(%1H:7,@9&ER96-T;W)Y(&-O M;G1A:6YS(#Q45#YB:6)P87)S93PO5%0^+"`\5%0^8FEB;&5X/"]45#XL"B`@ M("`@("`@("`@(#Q45#YB:6)U;FQE>#PO5%0^+"!A;F0@/%14/F)I8F1U<#PO M5%0^+"!A('-U:71E(&]F('!R;V=R86US"B`@("`@("`@("`@(&9OT)I8FQI;V=R87!H>2!P0H@("`@("`@ M("`@("!O9B!F;W)M871S(&EN('1H92!S86UE('!L86-E('1H870@>6]U(&9O M=6YD('1H92`\5%0^8FEB<&%R"]B M:6(\+U14/BX@(%9I82!E;&5C=')O;FEC"B`@("`@("`@("`@(&UA:6PL(&$@ M;65S"!F"]B:6(*/"]04D4^"B`@("`@("`@/%`^ M"B`@("`@("`@("`@('1O(#Q45#YT=6=L:6)`;6%T:"YU=&%H+F5D=3PO5%0^ M('=I;&P@9V5T('EO=2!S=&%R=&5D+@H@("`@("`@(#PO4#X*("`@("`@("`\ M4#X*("`@("`@("`@("`@5&AR964@9FEL97,L(#Q45#YB:6)L97@N8SPO5%0^ M+"`\5%0^8FEB<&%R2`\5%0^;&5X/"]45#X@ M*&]R(#Q45#X*("`@("`@("`@("`@9FQE>#PO5%0^*2P@86YD(#Q45#YY86-C M/"]45#X@*&]R(#Q45#YB:7-O;CPO5%0^*2X@($-O<&EE2!F;W(@;6%N=6%L(&)O;W1S=')A<'!I;F2UG96YE6]U(&1O(&$@/$5- M/FUA:V4@;6%I;G1A:6YE"!C;VYF:6=U2P@=&AE(&1I2!N86UE9"`\5%0^"YC/"]45#X@86YD"B`@("`@("`@("`@(#Q45#YB:6)U;FQE>"YC/"]4 M5#X@9V5N97)A=&5D(&)Y(#Q45#YL97@\+U14/BP@86YD('1H92!F:6QE"B`@ M("`@("`@("`@(#Q45#YB:6)P87)S92YC/"]45#X@9V5N97)A=&5D(&)Y(#Q4 M5#YY86-C/"]45#XN("!4:&ES('=I;&P*("`@("`@("`@("`@86QL;W<@2!E=F5N="!O9B!A(&9A:6QU2!P2!O9B`\5%0^"B`@("`@ M("`@("`@(&-O;F9I9RYH:6X\+U14/B!W:71H(&$@9F5W('-E8V]N9',@;V8@ M961I=&EN9R!W;W)K+B`@268@>6]U"B`@("`@("`@("`@(&1O('1H:7,L(')E M;65M8F5R('1O('-A=F4@82!C;W!Y(&]F('EO=7(@/%14/F-O;F9I9RYH/"]4 M5#X*("`@("`@("`@("`@=6YD97(@82!D:69F97)E;G0@;F%M92P@8F5C875S M92!R=6YN:6YG(#Q45#YC;VYF:6=U"YY M/"]%33X\5%0^+G1ACPO5%0^*2P*("`@("`@("`@("`@*#Q45#YX+GD\ M+U14/B`](#(N,3,@870@=&AE('1I;64@;V8@=W)I=&EN9R!T:&ES*2P@>6]U M"B`@("`@("`@("`@(&UI9VAT('1R>2!A=6=M96YT:6YG(#Q45#YC;VYF:6=U M2!C;VYS:7-T6]U M2!P M2!L96%D('1O(&9A:6QU2`\ M5%0^8V]N9FEG=7)E/"]45#X*("`@("`@("`@("`@=VEL;"!L96%D('1O(&%N M(&EN8V]R2!O9B!5=&%H/$)2/@H@("`@ M("`@("`@("!$97!A2P@550@.#0Q,3(M,#`Y,#Q"4CX*("`@("`@ M("`@("`@55-!/$)2/@H@("`@("`@("`@("!496PZ("`K,2`X,#$@-3@Q(#4R M-30\0E(^"B`@("`@("`@("`@($9!6#H@("LQ(#@P,2`U.#4@,38T,"P@*S$@ M.#`Q(#4X,2`T,30X/$)2/@H@("`@("`@("`@("!%;6%I;#H*("`@("`@("`@ M("`@/$$@2%)%1CTB;6%I;'1O.F)E96)E0&UA=&@N=71A:"YE9'4B/@H@("`@ M("`@("`@("`@("`@8F5E8F5`;6%T:"YU=&%H+F5D=0H@("`@("`@("`@("`\ M+T$^+`H@("`@("`@("`@("`\02!(4D5&/2)M86EL=&\Z8F5E8F5`86-M+F]R M9R(^"B`@("`@("`@("`@("`@("!B965B94!A8VTN;W)G"B`@("`@("`@("`@ M(#PO03XL"B`@("`@("`@("`@(#Q!($A2148](FUA:6QT;SIB965B94!C;VUP M=71E7-T96US"B`@("`@("`@("`@(#PO03X*("`@("`@("`\+T@R/@H@("`@ M("`@(#Q0/@H@("`@("`@("`@("!4:&4@8V]D92!C86X@8F4@8V]M<&EL960@ M=VET:"!E:71H97(@0R`H2R9A;7`[4B!O#PO5%0^+2!A;F0*("`@("`@("`@("`@/%14/GEA M8V,\+U14/B\\5%0^8FES;VX\+U14/BUG96YE0H@("`@("`@("`@ M("!B92!N96-E'@@+7@@8WAX M)B,S-#L\+U14/BDN"B`@("`@("`@/"]0/@H@("`@("`@(#Q0/@H@("`@("`@ M("`@("!/;B!53DE8('-Y#PO5%0^+@H@("`@("`@ M(#PO4#X*("`@("`@("`\4#X*("`@("`@("`@("`@268@>6]U(&%R92!I;G-T M86QL:6YG(#Q45#YB:6)P87)S93PO5%0^(&]N(&$@;F5W('-Y6]U M"B`@("`@("`@("`@('-H;W5L9"!D969I;FET96QY(')U;B`\14T^;6%K92!C M:&5C:SPO14T^(&)E9F]R92!I;G-T86QL:6YG"B`@("`@("`@("`@(&ET(&]N M('EO=7(@&5R#PO5%0^*2P@86YD"B`@ M("`@("`@("`@('1H6%C8SPO5%0^*2P@=7-I;F<@86QL(&%V86EL86)L92!#"B`@ M("`@("`@("`@(&%N9"!#*RL@8V]M<&EL97)S(&]N('1H97-E(#$Q(%5.25@@ M6EN9RP*("`@("`@("`@("`@=&AE(&9A:6QU2!E=F5N(&UO2!A2!D=64@=&\@;VYE(&]F('1H92!F;VQL;W=I;F#PO5%0^(&%N9"]O<@H@("`@("`@("`@ M("`\5%0^8FES;VXO8GEA8V,O>6%C8SPO5%0^('=H:6-H(&ES(&YO="!#*RLM M8V]M<&%T:6)L93L*("`@("`@("`@("`@=&AE65A"!S>7-T96US*2X*("`@("`@("`@(#PO3$D^"B`@ M("`@("`@("`\3$D^"B`@("`@("`@("`@($)R;VME;B!V96YD;W(M<')O=FED M960@/%14/GEA8V,\+U14/B`H4T=)($E225@@-2XS*2X*("`@("`@("`@(#PO M3$D^"B`@("`@("`@("`\3$D^"B`@("`@("`@("`@($)R;VME;B!V96YD;W(M M<')O=FED960@:&5A9&5R(&9I;&4L(#Q45#YA;&QO8V$N:#PO5%0^("AP9T-# M*2X*("`@("`@("`@("`@02!B=6<@F4I("`@ M("`@(%]?8G5I;'1I;E]A;&QO8V$@*'-I>F4I"B`@(R!D969I;F4@86QL;V-A M*'-I>F4I(%]?86QL;V-A("AS:7IE*0HK("-I9F1E9B!?7V-P;'5S<&QU2!B>2`@+2T^"@D\(2TM("XO8G5I;&0M2YS:"`O=&UP+V)I8G!A"`K(&)I'@@+7@@8WAX/$)2/@H@("`@("`@("`@("`@("`@("`@("]U&Q#/$)2/@H@("`@("`@("`@("`@("`@("`@("]U M@H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@("`@("`@(#Q4 M1#X*("`@("`@("`@("`@("`@("`@("!'3E4O3&EN=7@@,BXQ+C$S,@H@("`@ M("`@("`@("`@("`@/"]41#X*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@ M("`@("`@("`@("`@("`O=7-R+V)I;B]C8SQ"4CX*("`@("`@("`@("`@("`@ M("`@("`O=7-R+W!G:2]L:6YU>#@V+V)I;B]P9V-C/$)2/@H@("`@("`@("`@ M("`@("`@("`@("]U"`R+C`N,S4*("`@("`@("`@("`@("`@ M(#PO5$0^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@ M("`@+W5S6%C8R`H-S4@8V]M<&EL M97)S*0H@("`@("`@(#PO2#0^"B`@("`@("`@/%1!0DQ%($)/4D1%4CTB,2(^ M"B`@("`@("`@("`@(#Q44CX*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@ M("`@("`@("`@("`@("`\0CY-86-H:6YE(&%N9"!M;V1E;#PO0CX*("`@("`@ M("`@("`@("`@(#PO5$0^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@ M("`@("`@("`@("`@/$(^3R]3/"]"/@H@("`@("`@("`@("`@("`@/"]41#X* M("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`\0CY# M;VUP:6QE"`M>"!C>'@\0E(^"B`@("`@("`@("`@("`@("`@("`@+W5S"`R+C`N,S4*("`@("`@("`@("`@("`@(#PO5$0^"B`@("`@ M("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@+W5S6%C8R`H-C8@8V]M<&EL97)S*0H@("`@ M("`@(#PO2#0^"B`@("`@("`@/%1!0DQ%($)/4D1%4CTB,2(^"B`@("`@("`@ M("`@(#Q44CX*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@ M("`@("`\0CY-86-H:6YE(&%N9"!M;V1E;#PO0CX*("`@("`@("`@("`@("`@ M(#PO5$0^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@ M("`@/$(^3R]3/"]"/@H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@ M("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`\0CY#;VUP:6QE#Q"4CX*("`@("`@("`@("`@("`@("`@("`O=7-R M+V-C&Q#/$)2/@H@("`@("`@("`@("`@("`@("`@("]U@H@("`@("`@("`@("`@("`@/"]4 M1#X*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("!' M3E4O3&EN=7@@,BXQ+C$S,@H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@ M("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`O=7-R+V)I;B]G M8V,\0E(^"B`@("`@("`@("`@("`@("`@("`@+W5S"`R+C`N M,S4*("`@("`@("`@("`@("`@(#PO5$0^"B`@("`@("`@("`@("`@("`\5$0^ M"B`@("`@("`@("`@("`@("`@("`@+W5S"`R+C$N,3,R"B`@("`@("`@("`@("`@("`\ M+U1$/@H@("`@("`@("`@("`@("`@/%1$/@H@("`@("`@("`@("`@("`@("`@ M("]U6%C8R`H-S(@8V]M<&EL97)S*0H@("`@("`@ M(#PO2#0^"B`@("`@("`@/%1!0DQ%($)/4D1%4CTB,2(^"B`@("`@("`@("`@ M(#Q44CX*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@ M("`\0CY-86-H:6YE(&%N9"!M;V1E;#PO0CX*("`@("`@("`@("`@("`@(#PO M5$0^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@ M/$(^3R]3/"]"/@H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@("`@ M("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`\0CY#;VUP:6QE"`R+C$N,3,R"B`@("`@("`@("`@("`@("`\+U1$/@H@("`@ M("`@("`@("`@("`@/%1$/@H@("`@("`@("`@("`@("`@("`@("]U@H@("`@("`@("`@("`@("`@ M/"]41#X*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@ M("!'3E4O3&EN=7@@,BXQ+C$S,@H@("`@("`@("`@("`@("`@/"]41#X*("`@ M("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`O=7-R+W!G M:2]L:6YU>#@V+V)I;B]P9V-C/$)2/@H@("`@("`@("`@("`@("`@("`@("]U M#@V+V)I;B]P9T-#"B`@("`@ M("`@("`@("`@("`\+U1$/@H@("`@("`@("`@("`\+U12/@H@("`@("`@("`@ M("`\5%(^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@ M("`@26YT96P@4&5N=&EU;2!)22!-35@*("`@("`@("`@("`@("`@(#PO5$0^ M"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@1TY5 M+TQI;G5X(#(N,"XS-0H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@ M("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`O=7-R+VQO8V%L+V)I M;B]G8V,\0E(^"B`@("`@("`@("`@("`@("`@("`@+W5S"`K(&)I"`K(&)Y86-C("@R(&-O;7!I;&5R6%C8R`H,3$@8V]M<&EL97)S*0H@("`@("`@(#PO2#0^"B`@ M("`@("`@/%1!0DQ%($)/4D1%4CTB,2(^"B`@("`@("`@("`@(#Q44CX*("`@ M("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("`\0CY-86-H M:6YE(&%N9"!M;V1E;#PO0CX*("`@("`@("`@("`@("`@(#PO5$0^"B`@("`@ M("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@/$(^3R]3/"]" M/@H@("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@("`@("`@(#Q41#X* M("`@("`@("`@("`@("`@("`@("`\0CY#;VUP:6QE`H@("`@("`@("`@ M("`@("`@/"]41#X*("`@("`@("`@("`@/"]44CX*("`@("`@("`@("`@/%12 M/@H@("`@("`@("`@("`@("`@/%1$/@H@("`@("`@("`@("`@("`@("`@($A0 M(#DP,#`O-S,U"B`@("`@("`@("`@("`@("`\+U1$/@H@("`@("`@("`@("`@ M("`@/%1$/@H@("`@("`@("`@("`@("`@("`@($A0+558(#$P+C`Q"B`@("`@ M("`@("`@("`@("`\+U1$/@H@("`@("`@("`@("`@("`@/%1$/@H@("`@("`@ M("`@("`@("`@("`@("]B:6XO0T,\0E(^"B`@("`@("`@("`@("`@("`@("`@ M+W5S@H@ M("`@("`@("`@("`@("`@/"]41#X*("`@("`@("`@("`@("`@(#Q41#X*("`@ M("`@("`@("`@("`@("`@("!'3E4O3&EN=7@@,BXQ+C$S,@H@("`@("`@("`@ M("`@("`@/"]41#X*("`@("`@("`@("`@("`@(#Q41#X*("`@("`@("`@("`@ M("`@("`@("`O=7-R+W!G:2]L:6YU>#@V+V)I;B]P9T-#"B`@("`@("`@("`@ M("`@("`\+U1$/@H@("`@("`@("`@("`\+U12/@H@("`@("`@("`@("`\5%(^ M"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@3F58 M5"!4=7)B;W-T871I;VX*("`@("`@("`@("`@("`@(#PO5$0^"B`@("`@("`@ M("`@("`@("`\5$0^"B`@("`@("`@("`@("`@("`@("`@36%C:"`S+C,*("`@ M("`@("`@("`@("`@(#PO5$0^"B`@("`@("`@("`@("`@("`\5$0^"B`@("`@ M("`@("`@("`@("`@("`@+W5S#Q"4CX*("`@("`@("`@("`@ M("`@("`@("`O=7-R+VQO8V%L+V)I;B]G*RL*("`@("`@("`@("`@("`@(#PO M5$0^"B`@("`@("`@("`@(#PO5%(^"B`@("`@("`@("`@(#Q44CX*("`@("`@ M("`@("`@("`@(#Q41#X*("`@("`@("`@("`@("`@("`@("!.95A4(%1U"`K('EA8V,@*#$T(&-O M;7!I;&5R"`M>"!C>'@\0E(^"B`@("`@("`@("`@("`@("`@("`@+W5S M7!E('1H870@8V%N(&AO M;&0@=F%L=65S(&%S(&QA7!E(&1E9FEN960@ M8GD@80H@("`@("`@("`@("`\5%0^='EP961E9CPO5%0^+"!A(&]N92UL:6YE M(&-H86YG92!F#@V"B`@("`@("`@("`@(&%R8VAI=&5C='5R92P@86YD(&YO;F4@ M;V8@=&AE(&-O;7!I;&5R6UB;VP@/%14/DA!5D5?24)-4$,\+U14/B!I7=R87`H*3PO5%0^(&9U;F-T M:6]N+"!A;F0*("`@("`@("`@("`@86QS;R!R961U8V4@=&AE(&UE;6]R>2!R M97%U:7)E;65N=',@=&\@9FET(&EN('1H90H@("`@("`@("`@("`V-$M"+7-E M9VUE;G0@;&EM:70N"B`@("`@("`@/"]0/@H@("`@("`@(#Q0/@H@("`@("`@ M("`@("!4:&4@/%14/FEB;7!C+V1O&5C=71A8FQE M2!M87D@86QS;R!R=6X@;VX@96%R;&EE M2!A;'-O('=O65S"F-H96-K:6YG(&9O'!A;F0N M+BX@97AP86YD"F-H96-K:6YG(&9O`IC:&5C:VEN9R!F;W(@;&XN+BX@;&X*8VAE8VMI;F<@9F]R(&QS+BXN(&QS M"F-H96-K:6YG(&9O6%C M8PIC:&5C:VEN9R!F;W(@>FEP+BXN('II<`IC:&5C:VEN9R!F;W(@>F]O+BXN M('IO;PIC:&5C:VEN9R!F;W(@9FEL96YO+BXN(&YO"F-H96-K:6YG(&9O2XN+B`M;&P*8VAE8VMI;F<@9F]R('EA8V,@;&EB2XN+B`M;'D* M8VAE8VMI;F<@9F]R(&)I6%C8R`M=B`@8FEB M<&%R0H*8V]N9FQI8W1S.B`V('-H:69T+W)E9'5C90IS960@+64@)W,O M8VAA7ET97AT("I<6UE93$U!6%Q=+V-H87(@>7ET97AT6S0P.38P72\G M("UE("5]?=6YUR!M86EN*"D[('TO M9"<@+64@)W,O(UL@("`@("`@("!=*F1E9FEN95L@("`@("`@72I964Q-05@N M*B0O(V1E9FEN92!964Q-05@@0DE"65E,34%8+R<@+64@)R]E>'1E"YL('P@7E?7W5N=7-E M9"@I('L@;6%I;B@I.R!]+V0G("UE("=S+R-;("`@("`@(%TJ9&5F:6YE6R`@ M("`@("!=*EE93$U!6"XJ)"\C9&5F:6YE(%E93$U!6"!"24)964Q-05@O)R`M M92`G+V5X=&5R;EL@("`@(%TJ8VAA"YC"C$S-B\Q,#`P(&YO M9&5S*"5E*2P@,S$Q+S(U,#`@<&]S:71I;VYS*"5P*2P@-3`O-3`P("@E;BDL M(#,P.34@=')A;G-I=&EO;G,L"C$X."\Q,#`P,"!P86-K960@8VAA7EL M97@]>'AL97@@+6\@8FEB<&%R0HO;W!T+U-53E=S<')O+V)I;B]#0R`@+41?7T585$523E]#7U\@+41" M24)964Q-05@]-#`Y-C`@+4DN("`M;R!B:6)L97@@;&5X;6%I;BYC(&)I8FQE M>"YC("`M;&P@+6QY"FQE>&UA:6XN8SH*8FEB;&5X+F,Z"FQE>"`M="!B:6)U M;FQE>"YL('P@7E?7W5N M=7-E9"@I('L@;6%I;B@I.R!]+V0G("UE("=S+R-;("`@("!=*F1E9FEN95L@ M("`@("`@72I964Q-05@N*B0O(V1E9FEN92!964Q-05@@0DE"65E,34%8+R<@ M+64@)R]E>'1E"YC"B]O<'0O4U5. M5W-P#`P,PIL97@P M,#0*;&5X,#`U"@I4:&4@9F]L;&]W:6YG(&-H96-K#`P,0IU;FQE>#`P,@IU;FQE>#`P,PIU M;FQE>#`P-`IU;FQE>#`P-0H\+U!213X*("`@("`@("`\(2TM(#T]/3T]/3T] M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T] M/3T]/3T]/3T]/2`M+3X*("`@("`@("`\2#(^"B`@("`@("`@("`@(#Q!($Y! M344](FEM<&QE;65N=&%T:6]N+6YO=&5S(CX*("`@("`@("`@("`@("`@($EM M<&QE;65N=&%T:6]N($YO=&5S"B`@("`@("`@("`@(#PO03X*("`@("`@("`\ M+T@R/@H@("`@("`@(#Q0/@H@("`@("`@("`@("!7:&EL92!T:&4@1TY5(#Q4 M5#YA=71O8V]N9FEG=7)E/"]45#X@2!A="!M;W-T(&5N9"UU7-T96US+"!A;F0@82!N97<@<&%R7,@;V8@='5N:6YG('1H90H@("`@("`@("`@("`\5%0^ M8V]N9FEG=7)E+FEN/"]45#X@9FEL92!T;R!H86YD;&4@7!E7-T96US+"!T:&4@=F5N9&]R+7!R;W9I9&5D"B`@("`@ M("`@("`@(#Q45#YL97@\+U14/B!I7!E'1E6%C8SPO5%0^"B`@("`@("`@("`@ M(&]U='!U="P@8G5T('1H92!L;V-A=&EO;B!O9B!T:&%T(&AE861E7!A2!C7!E+`H@("`@("`@("`@ M("!A;F0@8V%U61C;"YH/"]4 M5#X@:&%S('1O(&AA;F1L90H@("`@("`@("`@("!T:&ES(&-A"!S M>7-T96US(&]N($EN=&5L(%!E;G1I=6T@86YD(%-U;@H@("`@("`@("`@("!3 M4$%20R!H87)D=V%R92!O;B!W:&EC:"!)('1E#PO5%0^+"!B=70@ M;F]T(&ET2`\5%0^;&5X/"]45#XZ(&]N($A0('-Y7-T96US+"!I="!C875S97,*("`@("`@ M("`@("`@/%14/FQE>#PO5%0^('1O(&AA;F<@:6X@86X@87!P87)E;G0@22]/ M('=A:70N("!)="!T;V]K"B`@("`@("`@("`@('-E=F5R86P@=')I97,@;VX@ M=F%R:6]U7-T96US(&)E9F]R92!)('-E='1L960@;VX@=&AE"B`@("`@ M("`@("`@(&-O9&4@9FEN86QL>2!U7-T96US+"!T:&5R92!I6%C8SPO M5%0^"B`@("`@("`@("`@('=H:6-H(')E7-T96TL(&5I=&AE6%C8RTY-#`S,C0N=&%R+F=Z(CX*("`@ M("`@("`@("`@("`@(&9T<#HO+W-O=7)C97=A2!V97)S:6]N(&]F"B`@("`@("`@ M("`@($=.52`\5%0^875T;V-O;F9I9SPO5%0^+"!A;F0@:&%S(&)U9R!F:7AE M6%C8SPO5%0^('9E2YE9'4O<'5B M+S1B2YE9'4O<'5B+S1B6%C8RTY-#`S M,C0O8GEA8V,O'1E'1E'1E'1E7!E M#PO5%0^(&%N9"`\5%0^>6%C8SPO5%0^+@H@("`@("`@("`@("`\5%0^8V]N M9FEG=7)E+FEN/"]45#X@:&%S(&$@2`\5%0^+6QF;#PO M5%0^(&ES(')E<75I6]U<@H@("`@("`@("`@("!S:71E(&AA M/dev/null 2>&1 || ${echo} 'README.html': 'MD5 check failed' ) << \SHAR_EOF 501796dde8905738b8e5c09b52b43fca README.html SHAR_EOF else test `LC_ALL=C wc -c < 'README.html'` -ne 76436 && \ ${echo} "restoration warning: size of 'README.html' is not 76436" fi fi # ============= args.h ============== if test -n "${keep_file}" && test -f 'args.h' then ${echo} "x - SKIPPING args.h (file already exists)" else ${echo} "x - extracting args.h (text)" sed 's/^X//' << 'SHAR_EOF' > 'args.h' && #if (defined(__cplusplus) || defined(__STDC__) || defined(c_plusplus)) #define NEW_STYLE 1 #define VOID void #define ARGS(parenthesized_list) parenthesized_list #else #define NEW_STYLE 0 #define VOID #define ARGS(parenthesized_list) () #define const #endif X #if !defined(EXIT_SUCCESS) #define EXIT_SUCCESS 0 #define EXIT_FAILURE 1 #endif SHAR_EOF (set 19 98 06 01 09 57 51 'args.h' eval "${shar_touch}") && \ chmod 0644 'args.h' if test $? -ne 0 then ${echo} "restore of args.h failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'args.h': 'MD5 check failed' ) << \SHAR_EOF 55c9505b974f991773b92dd0ab976a60 args.h SHAR_EOF else test `LC_ALL=C wc -c < 'args.h'` -ne 338 && \ ${echo} "restoration warning: size of 'args.h' is not 338" fi fi # ============= bibdup.awk ============== if test -n "${keep_file}" && test -f 'bibdup.awk' then ${echo} "x - SKIPPING bibdup.awk (file already exists)" else ${echo} "x - extracting bibdup.awk (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibdup.awk' && # /u/sy/beebe/tex/bibclean/lex/bibdup.awk, Thu Jan 14 07:14:47 1993 # Edit by Nelson H. F. Beebe # ======================================================================== # Find duplicate @string{...} definitions and duplicate citation keys # in a token stream from bibclean or biblex. # # Usage: # # bibclean -no-pretty bibfiles | tr A-Z a-z | nawk -f bibdup.awk # or # biblex bibfiles | tr A-Z a-z | nawk -f bibdup.awk # # [16-Jan-1993] # ======================================================================== X /^#/ { last_line = $0 } X $2 == "key" { X if ($3 in key) X printf("Duplicate key [%s]:\n\t%s\n\t%s\n", X $3, key[$3], last_line); X else X key[$3] = last_line; } X ($2 == "string") || ($2 == "entry") { last_entry = $3 } X ($2 == "abbrev") && (last_entry == "\"string\"") { X if ($3 in abbrev) X printf("Duplicate string abbreviation [%s]:\n\t%s\n\t%s\n", X $3, abbrev[$3], last_line); X else X abbrev[$3] = last_line; } SHAR_EOF (set 19 93 01 16 14 08 03 'bibdup.awk' eval "${shar_touch}") && \ chmod 0644 'bibdup.awk' if test $? -ne 0 then ${echo} "restore of bibdup.awk failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibdup.awk': 'MD5 check failed' ) << \SHAR_EOF 910d0213b7288d18516daddfbb4d0bf0 bibdup.awk SHAR_EOF else test `LC_ALL=C wc -c < 'bibdup.awk'` -ne 987 && \ ${echo} "restoration warning: size of 'bibdup.awk' is not 987" fi fi # ============= bibdup.sin ============== if test -n "${keep_file}" && test -f 'bibdup.sin' then ${echo} "x - SKIPPING bibdup.sin (file already exists)" else ${echo} "x - extracting bibdup.sin (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibdup.sin' && #!/bin/sh # Find duplicate @string{...} definitions and duplicate citation keys # in one or more BibTeX .bib files. # # Usage: # bibdup bibfiles # # or # bibdup /dev/null 2>&1 || ${echo} 'bibdup.sin': 'MD5 check failed' ) << \SHAR_EOF f62b60d0e29aefbe8a49cf12e4772807 bibdup.sin SHAR_EOF else test `LC_ALL=C wc -c < 'bibdup.sin'` -ne 554 && \ ${echo} "restoration warning: size of 'bibdup.sin' is not 554" fi fi # ============= bibdup.man ============== if test -n "${keep_file}" && test -f 'bibdup.man' then ${echo} "x - SKIPPING bibdup.man (file already exists)" else ${echo} "x - extracting bibdup.man (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibdup.man' && X.\" ==================================================================== X.\" @Troff-man-file{ X.\" author = "Nelson H. F. Beebe", X.\" version = "1.13", X.\" date = "01 July 2021", X.\" time = "16:52:38 MDT", X.\" filename = "bibdup.man", X.\" address = "University of Utah X.\" Department of Mathematics, 110 LCB X.\" 155 S 1400 E RM 233 X.\" Salt Lake City, UT 84112-0090 X.\" USA", X.\" telephone = "+1 801 581 5254", X.\" FAX = "+1 801 585 1640, +1 801 581 4148", X.\" URL = "http://www.math.utah.edu/~beebe", X.\" checksum = "16060 129 494 4257", X.\" email = "beebe@math.utah.edu, beebe@acm.org, X.\" beebe@computer.org (Internet)", X.\" codetable = "ISO/ASCII", X.\" keywords = "bibliography, BibTeX, lexical analysis", X.\" license = "public domain", X.\" supported = "yes", X.\" docstring = "This file is the UNIX nroff/troff manual X.\" page documentation for bibdup, a tool for X.\" checking for duplicate abbreviations and X.\" keys in BibTeX bibliography data base X.\" files. X.\" X.\" The checksum field above contains a CRC-16 X.\" checksum as the first value, followed by the X.\" equivalent of the standard UNIX wc (word X.\" count) utility output of lines, words, and X.\" characters. This is produced by Robert X.\" Solovay's checksum utility.", X.\" } X.\"===================================================================== X.\" X.if t .ds Bi B\s-2IB\s+2T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X X.if n .ds Bi BibTeX X.\" X.\"===================================================================== X.TH BIBDUP 1 "01 July 2021" "Version 1.13" X.\"===================================================================== X.SH NAME bibdup \- check for duplicate abbreviations and entries in BibTeX \ bibliography data base files X.\"===================================================================== X.SH SYNOPSIS X.B bibdup X.I "outfile" X.nf or X.fi X.B bibdup X.I "bibfile1 bibfile2 bibfile3 .\|.\|." X.I ">outfile" X.\"===================================================================== X.SH DESCRIPTION X.B bibdup uses X.BR biblex (1) to lexically analyze \*(Bi files and X.BR nawk (1) to check for duplicate @String{.\|.\|.} abbreviations, and duplicate citation keys. Letter case is ignored in string comparisons, by the simple expedient of using X.BR tr (1) to convert the lexical token stream output by X.BR biblex (1) to lower case. X.PP Duplicates are displayed on the standard output in the form X.RS X.nf Duplicate string abbreviation ["pub-aw"]: X # line 1 "ll.bib" X # line 141 "master.bib" Duplicate key ["lamport:ldp85"]: X # line 4 "ll.bib" X # line 4172 "master.bib" \&.\|.\|. X.fi X.RE ANSI/ISO Standard C preprocessor lines identify the line number and file name where the duplicates are detected. X.\"===================================================================== X.SH "SEE ALSO" X.BR bibcheck (1), X.BR bibclean (1), X.BR bibextract (1), X.BR bibjoin (1), X.BR biblabel (1), X.BR biblex (1), X.BR biborder (1), X.BR bibparse (1), X.BR bibsort (1), X.BR bibtex (1), X.BR bibunlex (1), X.BR citefind (1), X.BR citesub (1), X.BR citetags (1), X.BR latex (1), X.BR nawk (1), X.BR scribe (1), X.BR tex (1), X.BR tr (1). X.\"===================================================================== X.SH AUTHOR X.nf Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Email: \fCbeebe@math.utah.edu\fP, \fCbeebe@acm.org\fP, \fCbeebe@computer.org\fP (Internet) WWW URL: \fChttp://www.math.utah.edu/~beebe\fP Telephone: +1 801 581 5254 FAX: +1 801 581 4148 X.fi X.\"===================================================================== X.\" This is for GNU Emacs file-specific customization: X.\" Local Variables: X.\" fill-column: 50 X.\" End: SHAR_EOF (set 20 21 07 01 16 52 38 'bibdup.man' eval "${shar_touch}") && \ chmod 0644 'bibdup.man' if test $? -ne 0 then ${echo} "restore of bibdup.man failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibdup.man': 'MD5 check failed' ) << \SHAR_EOF 02ecc86d9744d427d802c0fba1c0ddd8 bibdup.man SHAR_EOF else test `LC_ALL=C wc -c < 'bibdup.man'` -ne 4257 && \ ${echo} "restoration warning: size of 'bibdup.man' is not 4257" fi fi # ============= bibfiles.sok ============== if test -n "${keep_file}" && test -f 'bibfiles.sok' then ${echo} "x - SKIPPING bibfiles.sok (file already exists)" else ${echo} "x - extracting bibfiles.sok (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibfiles.sok' && 1.030s 2.403s 3.313s 3.786s 336MHz 4MB ABBREV BIBDUP BIBLEX BIBPARSE BIBT BIBTEX BIBUNLEX Bi BibTeX C CRC E Emacs Email F FAX H INLINE ISBN ISSN LBRACE LCB MDT MST NUL RBRACE S Sc Solovay's TUGboat Te TeX UPPERCASE URL UltraSPARC WWW XX XXSI acm.org aw awk beebe bibcheck bibclean bibdup bibdup.man bibextract bibfile1 bibfile2 bibfile3 bibindex bibjoin biblabel biblex biblex.man biblook biborder bibparse bibparse.man bibsearch bibsort bibtex bibunlex bibunlex.man citefind citesub citetags codetable conformant desktop docstring e email file1 file2 file3 g groff http ieee.org infile lamport:ldp85 lhs ll.bib lowercase master.bib math.utah.edu mylib.bib nawk new.bib nocite nonassoc prettyprint prettyprinted prettyprinters prettyprinting s tex texbook1.bib www.math.utah.edu SHAR_EOF (set 20 04 09 23 15 07 05 'bibfiles.sok' eval "${shar_touch}") && \ chmod 0644 'bibfiles.sok' if test $? -ne 0 then ${echo} "restore of bibfiles.sok failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibfiles.sok': 'MD5 check failed' ) << \SHAR_EOF 7a7af6ef5c597ba555151e94d2a77e52 bibfiles.sok SHAR_EOF else test `LC_ALL=C wc -c < 'bibfiles.sok'` -ne 777 && \ ${echo} "restoration warning: size of 'bibfiles.sok' is not 777" fi fi # ============= biblex.dat ============== if test -n "${keep_file}" && test -f 'biblex.dat' then ${echo} "x - SKIPPING biblex.dat (file already exists)" else ${echo} "x - extracting biblex.dat (text)" sed 's/^X//' << 'SHAR_EOF' > 'biblex.dat' && @Book{Lamport:LDP85, X title = "{\LaTeX}---A Document X Preparation System---User's X Guide and Reference Manual", } X @String{pub-AW = X "Ad{\-d}i{\-s}on-Wes{\-l}ey"} X @Book{Lamport:LDP85, X author = "Leslie Lamport", X title = "{\LaTeX}---A Document X Preparation System---User's X Guide and Reference Manual", X publisher = pub-AW, X year = "1985", X ISBN = "0-201-15790-X", } SHAR_EOF (set 19 99 02 05 10 31 07 'biblex.dat' eval "${shar_touch}") && \ chmod 0644 'biblex.dat' if test $? -ne 0 then ${echo} "restore of biblex.dat failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'biblex.dat': 'MD5 check failed' ) << \SHAR_EOF 5caa60d5df2ec76301f1f66bdc825b10 biblex.dat SHAR_EOF else test `LC_ALL=C wc -c < 'biblex.dat'` -ne 457 && \ ${echo} "restoration warning: size of 'biblex.dat' is not 457" fi fi # ============= biblex.l ============== if test -n "${keep_file}" && test -f 'biblex.l' then ${echo} "x - SKIPPING biblex.l (file already exists)" else ${echo} "x - extracting biblex.l (text)" sed 's/^X//' << 'SHAR_EOF' > 'biblex.l' && /* -*-C-*- */ /* biblex - lexically-analyze BibTeX file according to prototype grammar */ %{ X /********************************************************************** X @Lex-file{ X author = "Nelson H. F. Beebe", X version = "1.13", X date = "01 July 2021", X time = "16:53:44 MDT", X filename = "biblex.l", X address = "University of Utah X Department of Mathematics, 110 LCB X 155 S 1400 E RM 233 X Salt Lake City, UT 84112-0090 X USA", X telephone = "+1 801 581 5254", X FAX = "+1 801 581 4148", X URL = "http://www.math.utah.edu/~beebe", X checksum = "41659 794 1717 15678", X email = "beebe@math.utah.edu, beebe@acm.org, X beebe@computer.org (Internet)", X codetable = "ISO/ASCII", X keywords = "BibTeX, bibliography, lexical analysis, lexer", X license = "public domain", X supported = "yes", X docstring = "This lex file defines a lexical analyzer for X a prototype BibTeX grammar. X X The resulting program reads one or more X BibTeX files specified on the command line, X or standard input, and produces on the X standard output a stream of tokens of the X form X X X X This is similar to the format produced by X bibclean with the -no-prettyprint option. X X Such token lines are interspersed with X input line identifier lines of the form X used by the ANSI/ISO Standard C preprocessor X X # line 3 X X so that the error diagnostics can identify X the location in the input file(s). X X The output stream can be filtered by other X utilities, and reconstructed into a BibTeX X file with an associated software tool, X bibunlex. X X The checksum field above contains a CRC-16 X checksum as the first value, followed by the X equivalent of the standard UNIX wc (word X count) utility output of lines, words, and X characters. This is produced by Robert X Solovay's checksum utility.", X } X **********************************************************************/ X #include X #include #include #include X #if defined(HAVE_STDLIB_H) #include #endif X #include "args.h" #include "bibyydcl.h" X #include "token.h" X #undef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error_biblex( msg ) X #define PRINTF (void)printf #define FPRINTF (void)fprintf X static void compact_space ARGS((void)); static void eof_error ARGS((void)); static int next_char ARGS((void)); static token_t out_braced_literal ARGS((void)); static token_t out_braced_string ARGS((void)); static token_t out_lbrace ARGS((void)); static token_t out_lparen ARGS((void)); static token_t out_protected_string ARGS((token_t t)); static token_t out_rbrace ARGS((void)); static token_t out_rparen ARGS((void)); static token_t out_string ARGS((void)); static token_t out_token ARGS((token_t t_)); static void overflow ARGS((void)); static char * token_summary ARGS((void)); static void yy_fatal_error_biblex ARGS((const char msg[])); X const char *the_filename = ""; /* global: used in lexmain() */ int do_lex_output = 1; /* global: set here and in bibparse main() */ long int line_number = 1L; /* global: used in lexmain() */ long int start_line_number = 0L; /* global: used for error messages */ X static long int entry_line_number = 1L; X static int brace_level = 0; static int paren_level = 0; static token_t last_object = TOKEN_UNKNOWN; static token_t last_token = TOKEN_UNKNOWN; X #define BYTE_VAL(c) ((unsigned int)((c) & 0xff)) #define EOFILE 0 /* end-of-file from lex input() */ #define ERROR_PREFIX "??" /* this prefixes all error messages */ #define ISPRINT(c) isprint(BYTE_VAL(c)) /* ensure arg in 0..255 */ #define ISDIGIT(c) isdigit(BYTE_VAL(c)) #define ISSPACE(c) isspace(BYTE_VAL(c)) #define RETURN(n) return (1000 + (n)) /* bibparse.y biases by 1000 */ X #undef YYLMAX X #if defined(HAVE_IBMPC) #define YYLMAX 32760 #else #define YYLMAX BIBYYLMAX #endif X %} X X /* increase transition and output table sizes */ %a 3000 %o 6000 X /* abbrev, entry, key, field name syntax */ N [A-Za-z][-A-Za-z0-9:.+/']* X /* BibTeX entry opening delimiter */ O [({] X /* one white space character */ X /* \013 == \v, but lex doesn't */ X /* recognize \v */ W [ \f\r\t\013] X /* optional `horizontal' space */ S {W}* X %% [@] RETURN (out_token(TOKEN_AT)); X [Cc][Oo][Mm][Mm][Ee][Nn][Tt] {RETURN ((last_token == TOKEN_AT) ? X out_token(TOKEN_COMMENT) : X out_token(TOKEN_ABBREV)); } X [Ii][Nn][Cc][Ll][Uu][Dd][Ee] {RETURN ((last_token == TOKEN_AT) ? X out_token(TOKEN_INCLUDE) : X out_token(TOKEN_ABBREV)); } X [Pp][Rr][Ee][Aa][Mm][Bb][Ll][Ee] { RETURN ((last_token == TOKEN_AT) ? X out_token(TOKEN_PREAMBLE) : X out_token(TOKEN_ABBREV)); } X [Ss][Tt][Rr][Ii][Nn][Gg] { RETURN ((last_token == TOKEN_AT) ? X out_token(TOKEN_STRING) : X out_token(TOKEN_ABBREV)); } X {N} { X if (last_object == TOKEN_STRING) X RETURN(out_token(TOKEN_ABBREV)); X X switch (last_token) X { X case TOKEN_COMMA: X RETURN(out_token(TOKEN_FIELD)); X case TOKEN_LBRACE: X RETURN(out_token(TOKEN_KEY)); X case TOKEN_AT: X RETURN(out_token(TOKEN_ENTRY)); X default: X RETURN(out_token(TOKEN_ABBREV)); X } X } X [0-9]+ RETURN (out_token(TOKEN_VALUE)); X [%].*[\n]{S} RETURN (out_token(TOKEN_INLINE)); X [#] RETURN (out_token(TOKEN_SHARP)); X ["] RETURN (out_string()); X [{] RETURN (out_lbrace()); X [}] RETURN (out_rbrace()); X [(] RETURN (out_lparen()); X [)] RETURN (out_rparen()); X [=] RETURN (out_token(TOKEN_EQUALS)); X [,] RETURN (out_token(TOKEN_COMMA)); X [\n] RETURN (out_token(TOKEN_NEWLINE)); X {W}+ RETURN (out_token(TOKEN_SPACE)); X X. RETURN (out_token(TOKEN_LITERAL)); X %% X #if NEW_STYLE static void yy_fatal_error_biblex(const char msg[]) #else /* K&R style */ static void yy_fatal_error_biblex(msg) const char msg[]; #endif /* NEW_STYLE */ { X FPRINTF(stderr, X "%s:%ld:parse error raised at token [%.35s ...]\n", X the_filename, X (start_line_number == 0L) ? line_number : start_line_number, X yytext); X X FPRINTF(stderr, "%s:%ld:%s\n", X the_filename, line_number, msg ); X X exit( EXIT_FAILURE ); } X static void compact_space(VOID) /* compact runs of space to single blank */ { X char *p; X char *q; X X for (p = q = (char*)&yytext[0]; *p ; ) X { X *q++ = ISSPACE(*p) ? ' ' : *p; X X if (ISSPACE(*p)) X { X while (ISSPACE(*p)) X ++p; X } X else X ++p; X } X *q = '\0'; } X X static void eof_error(VOID) { X (void)fflush(stdout); X X FPRINTF(stderr, X "%s:%ld:incomplete token [%.35s ...]\n", X the_filename, X (start_line_number > 0) ? start_line_number : line_number, X yytext); X FPRINTF(stderr, X "%s:%ld:end-of-file in value string\n", X the_filename, line_number); X (void)fflush(stderr); X X exit(EXIT_FAILURE); } X X static int next_char(VOID) { X int c; X X c = input(); X X if ((c == EOFILE) || (c == EOF)) /* lex uses EOFILE, flex uses EOF */ X eof_error(); /*NOTREACHED*/ X else if (c == '\n') X line_number++; X X #if defined(DEBUG) X FPRINTF(stderr, "next_char():L%ld:%c\n", line_number, c); #endif X X return (c); } X X static token_t out_braced_literal(VOID) { X int c; X int n; X int plevel = paren_level; X X start_line_number = line_number; X X for (n = 1; brace_level > 0; ) X { X c = next_char(); X X if (c == EOF) X break; X X if (n > (YYLMAX - 2)) X overflow(); X X yytext[n++] = c; X X switch (c) X { X case '(': X plevel++; X break; X X case ')': X plevel--; X break; X X case '{': X brace_level++; X break; X X case '}': X brace_level--; X break; X X default: X break; X X } X X if ((paren_level > 0) && (plevel == 0)) X break; X } X yytext[0] = '{'; X yytext[n-1] = '}'; X yytext[n] = '\0'; X return (out_token(TOKEN_LITERAL)); } X X static token_t out_braced_string(VOID) { /* convert braced to quoted string */ X int blevel; X int c; X int n; X X start_line_number = line_number; X X for (blevel = 1, n = 1; (blevel > 0); ) X { X c = next_char(); X X if (c == EOF) X break; X X if (n > (YYLMAX - 5)) X overflow(); X X yytext[n++] = c; X X switch (c) X { X case '{': X blevel++; X break; X X case '}': X blevel--; X break; X X case '"': X if (blevel == 1) X { X if (yytext[n-2] == '\\') X { X c = next_char(); X X if (c == EOF) X break; X X yytext[n-2] = '{'; X yytext[n-1] = '\\'; X yytext[n++] = '"'; X yytext[n++] = c; X yytext[n++] = '}'; X } X else X { X yytext[n-1] = '{'; X yytext[n++] = '"'; X yytext[n++] = '}'; X } X } X break; X X default: X break; X } X } X yytext[0] = '"'; X yytext[n-1] = '"'; X yytext[n] = '\0'; X return (out_token(TOKEN_VALUE)); } X X static token_t out_lbrace(VOID) { X start_line_number = line_number; X X if (brace_level == 0) X { X brace_level++; X X switch (last_object) X { X case TOKEN_COMMENT: X case TOKEN_INCLUDE: X return (out_braced_literal()); X X default: X return (out_token(TOKEN_LBRACE)); X } X } X else X return (out_braced_string()); } X X static token_t out_lparen(VOID) { X start_line_number = line_number; X X switch (last_token) X { X case TOKEN_ENTRY: X case TOKEN_PREAMBLE: X case TOKEN_STRING: X yytext[0] = '{'; X paren_level++; X brace_level++; X return (out_token(TOKEN_LBRACE)); X X case TOKEN_COMMENT: X case TOKEN_INCLUDE: X yytext[0] = '{'; X paren_level++; X brace_level++; X return (out_braced_literal()); X X default: X return (out_token(TOKEN_LITERAL)); X } } X X #if NEW_STYLE static token_t out_protected_string(token_t t) #else /* K&R style */ static token_t out_protected_string(t) token_t t; #endif /* NEW_STYLE */ { X char octal[4 + 1]; X const char *token = (const char*)&yytext[0]; X X start_line_number = line_number; X X if (*token == (char)'\0') /* ignore empty tokens */ X return (TOKEN_VALUE); X X output('"'); X X if ((yytext[0] != '"') && (t == TOKEN_VALUE)) X { /* supply missing quote delimiters */ X output('\\'); X output('\"'); X } X X for (; *token; ++token) X { X switch (*token) X { X case '"': X case '\\': X output('\\'); X output(*token); X break; X X case '\b': X output('\\'); X output('b'); X break; X X case '\f': X output('\\'); X output('f'); X break; X X case '\n': X output('\\'); X output('n'); X break; X X case '\r': X output('\\'); X output('r'); X break; X X case '\t': X output('\\'); X output('t'); X break; X X case '\v': X output('\\'); X output('v'); X break; X X default: X if (ISPRINT(*token)) X output(*token); X else X { X (void)sprintf(octal,"\\%03o",BYTE_VAL(*token)); X output(octal[0]); X output(octal[1]); X output(octal[2]); X output(octal[3]); X } X X break; X } X } X X if ((yytext[0] != '"') && (t == TOKEN_VALUE)) X { /* supply missing quote delimiters */ X output('\\'); X output('\"'); X } X X output('"'); X output('\n'); X return (TOKEN_VALUE); } X X static token_t out_rbrace(VOID) { X start_line_number = line_number; X X if (brace_level == 1) X { X brace_level--; X return (out_token(TOKEN_RBRACE)); X } X else X return (out_token(TOKEN_LITERAL)); } X X static token_t out_rparen(VOID) { X start_line_number = line_number; X X paren_level--; X X if (paren_level == 0) X { X yytext[0] = '}'; X brace_level--; X return (out_token(TOKEN_RBRACE)); X } X else X return (out_token(TOKEN_LITERAL)); } X X static token_t out_string(VOID) { X int blevel; X int c; X int n; X X start_line_number = line_number; X X for (blevel = 0, n = 1; ; ) X { X c = next_char(); X X if (c == EOF) X break; X X if (n > (YYLMAX - 2)) X overflow(); X X yytext[n++] = c; X X switch (c) X { X case '{': X blevel++; X break; X X case '}': X blevel--; X X if (blevel < 0) X { X line_number = start_line_number; X yy_fatal_error_biblex("negative brace level"); X } X X break; X X case '"': X if (blevel <= 0) X goto LOOP_EXIT; X X default: X break; X } X } X X LOOP_EXIT: X yytext[n++] = '\0'; X return (out_token(TOKEN_VALUE)); } X X #if NEW_STYLE static token_t out_token(token_t t) #else /* K&R style */ static token_t out_token(t) token_t t; #endif /* NEW_STYLE */ { /* ALL token output is directed through this function */ X int n; X X if (do_lex_output) X PRINTF("%d\t%s\t", (int)t, type_name[(int)t]); X switch (t) X { X case TOKEN_AT: X last_object = TOKEN_UNKNOWN; X entry_line_number = line_number; X X if (do_lex_output) X PRINTF("\"%s\"\n", yytext); X X break; X X case TOKEN_VALUE: X if (do_lex_output) X { X if (ISDIGIT(yytext[0])) X { /* supply surrounding quotes */ X n = strlen((const char*)&yytext[0]); X X if ((n + 3) > YYLMAX) X overflow(); X X yytext[n+2] = '\0'; X yytext[n+1] = '"'; X X for (; n > 0; --n) X yytext[n] = yytext[n-1]; X } X else X compact_space(); X out_protected_string(t); X } X X break; X X case TOKEN_COMMENT: X case TOKEN_INCLUDE: X if (do_lex_output) X out_protected_string(t); X X last_object = t; X break; X X case TOKEN_ENTRY: X case TOKEN_PREAMBLE: X case TOKEN_STRING: X if (do_lex_output) X PRINTF("\"%s\"\n", yytext); X X last_object = t; X break; X X case TOKEN_FIELD: X case TOKEN_KEY: X if (do_lex_output) X PRINTF("\"%s\"\n", yytext); X X break; X X case TOKEN_INLINE: X case TOKEN_NEWLINE: X line_number++; X X if (do_lex_output) X { X out_protected_string(t); X PRINTF("# line %ld \"%s\"\n", line_number, the_filename); X } X X break; X X case TOKEN_LITERAL: X default: X if (do_lex_output) X out_protected_string(t); X X break; X } X if (!((t == TOKEN_INLINE) || X (t == TOKEN_SPACE) || X (t == TOKEN_NEWLINE))) X last_token = t; /* remember last non-space token type */ X X return (t); } X X static void overflow(VOID) { X FPRINTF(stderr, X "%s:%ld:long token at lines %ld--%ld = [%s ...]\n", X the_filename, X entry_line_number, X start_line_number, X line_number, X token_summary()); X X FPRINTF(stderr, X "%s:%ld:string too long for %ld-character buffer\n", X the_filename, X line_number, X (long int)YYLMAX); X X exit (EXIT_FAILURE); } X X static char * (token_summary)(VOID) { #define NMAX 50 X static char s[NMAX + 1]; /* extra space for terminal NUL */ X int k, n; X X for (k = 0, n = 0; (yytext[k] != '\0') && n < NMAX; ++k, ++n) X { X if (ISSPACE(yytext[k])) X { /* common case: squeeze whitespace runs into single literal space */ X while ((yytext[k] != '\0') && ISSPACE(yytext[k])) X ++k; X X --k; /* point to last whitespace */ X s[n] = ' '; /* replacement whitespace by literal space */ X } X else X s[n] = yytext[k]; X } X X s[n] = '\0'; /* guarantee string termination */ X X return (s); } X X int (yywrap)(VOID) { X return 1; /* each input file is handled separately */ } SHAR_EOF (set 20 21 07 01 16 53 44 'biblex.l' eval "${shar_touch}") && \ chmod 0644 'biblex.l' if test $? -ne 0 then ${echo} "restore of biblex.l failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'biblex.l': 'MD5 check failed' ) << \SHAR_EOF a178003fbb8a1f2702081c061c0bdf9c biblex.l SHAR_EOF else test `LC_ALL=C wc -c < 'biblex.l'` -ne 15678 && \ ${echo} "restoration warning: size of 'biblex.l' is not 15678" fi fi # ============= biblex.man ============== if test -n "${keep_file}" && test -f 'biblex.man' then ${echo} "x - SKIPPING biblex.man (file already exists)" else ${echo} "x - extracting biblex.man (text)" sed 's/^X//' << 'SHAR_EOF' > 'biblex.man' && X.\"===================================================================== X.\" @Troff-man-file{ X.\" author = "Nelson H. F. Beebe", X.\" version = "1.13", X.\" date = "01 July 2021", X.\" time = "16:49:06 MDT", X.\" filename = "biblex.man", X.\" address = "University of Utah X.\" Department of Mathematics, 110 LCB X.\" 155 S 1400 E RM 233 X.\" Salt Lake City, UT 84112-0090 X.\" USA", X.\" telephone = "+1 801 581 5254", X.\" FAX = "+1 801 581 4148", X.\" URL = "http://www.math.utah.edu/~beebe", X.\" checksum = "27300 237 932 7025", X.\" email = "beebe@math.utah.edu, beebe@acm.org, X.\" beebe@computer.org (Internet)", X.\" codetable = "ISO/ASCII", X.\" keywords = "bibliography, BibTeX, lexical analysis", X.\" license = "public domain", X.\" supported = "yes", X.\" docstring = "This file is the UNIX nroff/troff manual X.\" page documentation for biblex, a tool for X.\" lexically analyzing BibTeX bibliography X.\" data base files into a token stream that X.\" can be conveniently processed by other X.\" tools, or reconstructed into a BibTeX file X.\" by bibunlex. X.\" X.\" The checksum field above contains a CRC-16 X.\" checksum as the first value, followed by the X.\" equivalent of the standard UNIX wc (word X.\" count) utility output of lines, words, and X.\" characters. This is produced by Robert X.\" Solovay's checksum utility.", X.\" } X.\"===================================================================== X.\" X.if t .ds Bi B\s-2IB\s+2T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X X.if n .ds Bi BibTeX X.\" X.if t .ds Sc S\s-2CRIBE\s+2 X.if n .ds Sc Scribe X.\" X.\"===================================================================== X.TH BIBLEX 1 "01 July 2021" "Version 1.13" X.\"===================================================================== X.SH NAME biblex \- lexically analyze BibTeX bibliography data base files X.\"===================================================================== X.SH SYNOPSIS X.B biblex X.I "outfile" X.nf or X.fi X.B biblex X.I "bibfile1 bibfile2 bibfile3 .\|.\|." X.I ">outfile" X.\"===================================================================== X.SH DESCRIPTION X.B biblex converts one or more bibliography data base files in \*(Bi format to a lexical token stream that is convenient for processing by other tools. X.PP The companion X.BR bibunlex (1) program can be used to recombine such a token stream back into a \*(Bi file. X.PP \*(Sc-format bibliography files can be handled as well if they are first converted to \*(Bi form by X.BR bibclean (1). X.PP Only minimal checks are made on the correctness of the input stream, and X.B biblex will happily carry out a lexical analysis of nonsensical input, without issuing warnings or errors of any kind, other than possible internal string buffer overflow. To verify that X.BR biblex 's output token stream is meaningful, the input files can be given to X.BR bibparse (1) for parsing analysis according to a proposed grammar for \*(Bi. X.\"===================================================================== X.SH "LEXICAL ANALYSIS" X.B biblex produces output in lines of the form X.PP X.RS X.nf "" X.fi X.RE X.PP Each output line contains a single complete token, identified by a small integer number for use by a computer program, a token type name for human readers, and a string value in quotes. X.PP Special characters in the token value string are represented with ANSI/ISO Standard C escape sequences, so all characters other than NUL are representable, and multi-line values can be represented in a single line. X.PP Here are the token numbers and token type names that can appear in the output: X.PP X.RS X.nf X 0 UNKNOWN X 1 ABBREV X 2 AT X 3 COMMA X 4 COMMENT X 5 ENTRY X 6 EQUALS X 7 FIELD X 8 INCLUDE X 9 INLINE 10 KEY 11 LBRACE 12 LITERAL 13 NEWLINE 14 PREAMBLE 15 RBRACE 16 SHARP 17 SPACE 18 STRING 19 VALUE X.fi X.RE X.PP Programs that parse such output should also be prepared for lines beginning with the warning prefix, %%, or the error prefix, ??, and for ANSI/ISO Standard C line number directives of the form X.RS # line 273 "texbook1.bib" X.RE which record the line number and file name of the current input file. X.PP As an example of the use of X.BR biblex , the UNIX command pipeline X.RS X.nf \fBbiblex\fP \fImylib.bib\fP | \e X \fBawk\fP '$2 == "KEY" {print $3}' | \e X \fBsed\fP -e 's/"//g' | \e X \fBsort\fP X.fi X.RE will extract a sorted list of all citation keys in the file X.IR mylib.bib . X.PP The LITERAL token type is used for arbitrary text that X.B biblex does not examine further, such as the contents of a @Preamble{.\|.\|.} or a @Comment{.\|.\|.}. X.PP The UNKNOWN token type should never appear in the output stream. It is used internally to initialize token type variables. X.\"===================================================================== X.SH BUGS Limitations of the X.BR lex (1) lexical analyzer generator used to construct X.B biblex prevent handling of files containing ASCII NUL; that character will be interpreted as an end-of-file condition. X.PP Older versions of X.BR lex (1) are not X.IR "8-bit clean" ; they will not reliably handle characters 128\(en255. This latter deficiency is being remedied by the XX/Open Consortium activities to internationalize and standard UNIX applications. X.\"===================================================================== X.SH "SEE ALSO" X.BR bibcheck (1), X.BR bibclean (1), X.BR bibdup (1), X.BR bibextract (1), X.BR bibjoin (1), X.BR biblabel (1), X.BR biborder (1), X.BR bibparse (1), X.BR bibsearch (1), X.BR bibsort (1), X.BR bibtex (1), X.BR bibunlex (1), X.BR citefind (1), X.BR citesub (1), X.BR citetags (1), X.BR latex (1), X.BR scribe (1), X.BR tex (1). X.br XX/Open Company, Ltd., X.IR "X/Open Portability Guide, XSI Commands and Utilities" , volume 1. Prentice-Hall, Englewood Cliffs, NJ 07632, USA, 1989. ISBN 0-13-685835-X. X.\"===================================================================== X.SH AUTHOR X.nf Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Email: \fCbeebe@math.utah.edu\fP, \fCbeebe@acm.org\fP, \fCbeebe@computer.org\fP (Internet) WWW URL: \fChttp://www.math.utah.edu/~beebe\fP Telephone: +1 801 581 5254 FAX: +1 801 581 4148 X.fi X.\"===================================================================== X.\" This is for GNU Emacs file-specific customization: X.\" Local Variables: X.\" fill-column: 50 X.\" End: SHAR_EOF (set 20 21 07 01 16 49 06 'biblex.man' eval "${shar_touch}") && \ chmod 0644 'biblex.man' if test $? -ne 0 then ${echo} "restore of biblex.man failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'biblex.man': 'MD5 check failed' ) << \SHAR_EOF 870dc0a90ad1fa45c1e31178bd75a639 biblex.man SHAR_EOF else test `LC_ALL=C wc -c < 'biblex.man'` -ne 7025 && \ ${echo} "restoration warning: size of 'biblex.man' is not 7025" fi fi # ============= biblex.ok ============== if test -n "${keep_file}" && test -f 'biblex.ok' then ${echo} "x - SKIPPING biblex.ok (file already exists)" else ${echo} "x - extracting biblex.ok (text)" sed 's/^X//' << 'SHAR_EOF' > 'biblex.ok' && # line 1 "stdin" 2 AT "@" 5 ENTRY "Book" 11 LBRACE "{" 10 KEY "Lamport:LDP85" 3 COMMA "," 13 NEWLINE "\n" # line 2 "stdin" 17 SPACE " " 7 FIELD "title" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 19 VALUE "\"{\\LaTeX}---A Document Preparation System---User's Guide and Reference Manual\"" 3 COMMA "," 13 NEWLINE "\n" # line 5 "stdin" 15 RBRACE "}" 13 NEWLINE "\n" # line 6 "stdin" 13 NEWLINE "\n" # line 7 "stdin" 2 AT "@" 18 STRING "String" 11 LBRACE "{" 1 ABBREV "pub-AW" 17 SPACE " " 6 EQUALS "=" 13 NEWLINE "\n" # line 8 "stdin" 17 SPACE " " 19 VALUE "\"Ad{\\-d}i{\\-s}on-Wes{\\-l}ey\"" 15 RBRACE "}" 13 NEWLINE "\n" # line 9 "stdin" 13 NEWLINE "\n" # line 10 "stdin" 2 AT "@" 5 ENTRY "Book" 11 LBRACE "{" 10 KEY "Lamport:LDP85" 3 COMMA "," 13 NEWLINE "\n" # line 11 "stdin" 17 SPACE " " 7 FIELD "author" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 19 VALUE "\"Leslie Lamport\"" 3 COMMA "," 13 NEWLINE "\n" # line 12 "stdin" 17 SPACE " " 7 FIELD "title" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 19 VALUE "\"{\\LaTeX}---A Document Preparation System---User's Guide and Reference Manual\"" 3 COMMA "," 13 NEWLINE "\n" # line 15 "stdin" 17 SPACE " " 7 FIELD "publisher" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 1 ABBREV "pub-AW" 3 COMMA "," 13 NEWLINE "\n" # line 16 "stdin" 17 SPACE " " 7 FIELD "year" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 19 VALUE "\"1985\"" 3 COMMA "," 13 NEWLINE "\n" # line 17 "stdin" 17 SPACE " " 7 FIELD "ISBN" 17 SPACE " " 6 EQUALS "=" 17 SPACE " " 19 VALUE "\"0-201-15790-X\"" 3 COMMA "," 13 NEWLINE "\n" # line 18 "stdin" 15 RBRACE "}" 13 NEWLINE "\n" # line 19 "stdin" SHAR_EOF (set 19 99 02 05 10 31 07 'biblex.ok' eval "${shar_touch}") && \ chmod 0644 'biblex.ok' if test $? -ne 0 then ${echo} "restore of biblex.ok failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'biblex.ok': 'MD5 check failed' ) << \SHAR_EOF e748ed843ff2723b088a186e17945787 biblex.ok SHAR_EOF else test `LC_ALL=C wc -c < 'biblex.ok'` -ne 1622 && \ ${echo} "restoration warning: size of 'biblex.ok' is not 1622" fi fi # ============= bibparse.man ============== if test -n "${keep_file}" && test -f 'bibparse.man' then ${echo} "x - SKIPPING bibparse.man (file already exists)" else ${echo} "x - extracting bibparse.man (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibparse.man' && X.\" ==================================================================== X.\" @Troff-man-file{ X.\" author = "Nelson H. F. Beebe", X.\" version = "1.13", X.\" date = "01 July 2021", X.\" time = "16:49:25 MDT", X.\" filename = "bibparse.man", X.\" address = "University of Utah X.\" Department of Mathematics, 110 LCB X.\" 155 S 1400 E RM 233 X.\" Salt Lake City, UT 84112-0090 X.\" USA", X.\" telephone = "+1 801 581 5254", X.\" FAX = "+1 801 581 4148", X.\" URL = "http://www.math.utah.edu/~beebe", X.\" checksum = "60791 451 1786 15569", X.\" email = "beebe@math.utah.edu, beebe@acm.org, X.\" beebe@computer.org (Internet)", X.\" codetable = "ISO/ASCII", X.\" keywords = "bibliography, BibTeX, lexical analysis", X.\" license = "public domain", X.\" supported = "yes", X.\" docstring = "This file is the UNIX nroff/troff manual X.\" page documentation for bibparse, a tool for X.\" parsing the lexical analysis output of X.\" bibclean or biblex from BibTeX and Scribe X.\" bibliography data base files, or BibTeX and X.\" Scribe files directly, to verify that they X.\" conform to a proposed grammar for BibTeX. X.\" X.\" The checksum field above contains a CRC-16 X.\" checksum as the first value, followed by the X.\" equivalent of the standard UNIX wc (word X.\" count) utility output of lines, words, and X.\" characters. This is produced by Robert X.\" Solovay's checksum utility.", X.\" } X.\"===================================================================== X.\" X.if t .ds Bi B\s-2IB\s+2T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X X.if n .ds Bi BibTeX X.\" X.if t .ds Te T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X X.if n .ds Te TeX X.\" X.\"===================================================================== X.TH BIBPARSE 1 "01 July 2021" "Version 1.13" X.\"===================================================================== X.SH NAME bibparse \- verify a bibclean or biblex lexical token stream, or BibTeX files X.\"===================================================================== X.SH SYNOPSIS X.B bibparse [ X.B \-d ] X.I "/dev/null 2>&1 || ${echo} 'bibparse.man': 'MD5 check failed' ) << \SHAR_EOF f2060efbf9fa53881ffc36796732eb07 bibparse.man SHAR_EOF else test `LC_ALL=C wc -c < 'bibparse.man'` -ne 15569 && \ ${echo} "restoration warning: size of 'bibparse.man' is not 15569" fi fi # ============= bibparse.y ============== if test -n "${keep_file}" && test -f 'bibparse.y' then ${echo} "x - SKIPPING bibparse.y (file already exists)" else ${echo} "x - extracting bibparse.y (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibparse.y' && /* -*-C-*- */ /* bibparse - check input for BibTeX grammar conformance */ %{ X /********************************************************************** X @Yacc-file{ X author = "Nelson H. F. Beebe", X version = "1.14", X date = "01 July 2021", X time = "16:47:06 MDT", X filename = "bibparse.y", X address = "University of Utah X Department of Mathematics, 110 LCB X 155 S 1400 E RM 233 X Salt Lake City, UT 84112-0090 X USA", X telephone = "+1 801 581 5254", X FAX = "+1 801 581 4148", X URL = "http://www.math.utah.edu/~beebe", X checksum = "33984 725 2199 17913", X email = "beebe@math.utah.edu, beebe@acm.org, X beebe@computer.org (Internet)", X codetable = "ISO/ASCII", X keywords = "BibTeX, bibliography, lexical analysis, lexer, X parsing, parser", X license = "public domain", X supported = "yes", X docstring = "This yacc file defines a parser for a X prototype BibTeX grammar. X X The resulting program reads BibTeX data, X and/or BibTeX lexical token streams produced X by biblex or bibclean, from one or more files X specified on the command line, or standard X input, and parses the token stream to verify X its conformance to the BibTeX grammar. X X If a command-line -d (or -D) option is X specified, debug mode is selected, and X extensive commentary on the parsing actions X will be output. It will be necessary to X have a copy of the y.output file produced X by bison or lex in order to make sense out X of the state and rule numbers in this X output. X X The checksum field above contains a CRC-16 X checksum as the first value, followed by the X equivalent of the standard UNIX wc (word X count) utility output of lines, words, and X characters. This is produced by Robert X Solovay's checksum utility.", X } X **********************************************************************/ X #include X #include #include #include X #if defined(HAVE_STDLIB_H) #include #endif X #if HAVE_ALLOCA_H X /* needed for alloca() macro definition if bison is used instead of yacc */ #include #endif X #include "args.h" #include "bibyydcl.h" X #undef MAX #define MAX(a,b) (((a) >= (b)) ? (a) : (b)) X #undef TOLOWER #define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) /* guard against broken tolower() on ancient systems */ X static void doparse ARGS((void)); int main ARGS((int argc_, char *argv_[])); static int match_option ARGS((const char *s, const char *t, int nmax)); static int nextchar ARGS((void)); static void recognize ARGS((const char *s_)); static void show_help_and_exit ARGS((void)); static void show_version_and_exit ARGS((void)); int yyparse ARGS((void)); static void yywarning ARGS((const char *s_)); X #if defined(__cplusplus) extern "C" { #endif X static int (*pyylex) ARGS((void)); int xxlex ARGS((void)); int zzlex ARGS((void)); X #if defined(__cplusplus) } #endif X int error_count; char *program_name; /* for error messages */ X /* These variables are defined in biblex.c: */ extern int do_lex_output; extern long int line_number; extern long int start_line_number; extern const char *the_filename; extern char yytext[BIBYYLMAX]; X #define ERROR_PREFIX "??" /* this prefixes all error messages */ #define WARNING_PREFIX "%%" /* this prefixes all warning messages */ X #define RECOGNIZE(s) recognize(s) X #define YYDEBUG 1 /* need for -d option support */ X #if defined(_CRAY) extern long yydebug; #else extern int yydebug; #endif X %} %token TOKEN_ABBREV 1 %token TOKEN_AT 2 %token TOKEN_COMMA 3 %token TOKEN_COMMENT 4 %token TOKEN_ENTRY 5 %token TOKEN_EQUALS 6 %token TOKEN_FIELD 7 %token TOKEN_INCLUDE 8 %token TOKEN_INLINE 9 %token TOKEN_KEY 10 %token TOKEN_LBRACE 11 %token TOKEN_LITERAL 12 %token TOKEN_NEWLINE 13 %token TOKEN_PREAMBLE 14 %token TOKEN_RBRACE 15 %token TOKEN_SHARP 16 %token TOKEN_SPACE 17 %token TOKEN_STRING 18 %token TOKEN_VALUE 19 X X /********************************************************************** X Without the following precedence specifications, the BibTeX grammar X is ambiguous, because the two productions X X bibtex_value: bibtex_value bibtex_space TOKEN_SHARP X bibtex_simple_value X X bibtex_assignment: bibtex_assignment_lhs TOKEN_EQUALS bibtex_value X X result in a shift/reduce conflict when the input stack contains X X bibtex_assignment_lhs TOKEN_EQUALS bibtex_value X X and the next token is one of the bibtex_space tokens. We could shift X that token to match the start of the bibtex_value production, or we X could reduce to bibtex_assignment using the second production. X X The way to remove the ambiguity is described in the book X X @String{pub-PH = "Pren{\-}tice-Hall"} X @String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"} X X @Book{Holub:CDC90, X author = "Allen I. Holub", X title = "Compiler Design in {C}", X publisher = pub-PH, X address = pub-PH:adr, X year = "1990", X note = pub-PH # " Software Series, Editor: Brian W. X Kernighan.", X ISBN = "0-13-155045-4", X } X X on pp. 871--875. X X The authors of the book X X @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} X @String{pub-AW:adr = "Reading, MA, USA"} X X @Book{Aho:CPT86, X author = "Alfred V. Aho and Ravi Sethi and Jeffrey D. Ullman", X title = "Compilers\emdash Prin\-ci\-ples, Techniques, and X Tools", X publisher = pub-AW, X address = pub-AW:adr, X year = "1986", X ISBN = "0-201-10088-6", X } X X on p. 201 point out that the ambiguity above is also met in the X (in)famous dangling else problem, where the productions X X stmt: IF expr THEN stmt X | IF expr THEN stmt ELSE stmt X | OTHER X X produce a shift/reduce conflict when the input stack contains X X IF expr THEN stmt X X and the next input item is ELSE, since we could reduce using the X first production, or shift using the second production. X X The grammar in this case is not LR(k) for any k, because there could X be an unending chain of "ELSE xxx" tokens following in the input X stream. X X The solution adopted by yacc and most other LALR(1) generators is to X warn of the conflict, then shift, rather than reduce, adopting a X "maximal munch" strategy that will match ELSE with the nearest X preceding THEN. X X In our case, we want the "maximal munch" operation to consume X X v # v # ... # v X X as a bibtex_value before doing an assignment. This is easily done by X declaring TOKEN_EQUALS to have LOWER precedence than space, and space X to have lower precedence than TOKEN_SHARP. X **********************************************************************/ X %nonassoc TOKEN_EQUALS %left TOKEN_SPACE TOKEN_INLINE TOKEN_NEWLINE %left TOKEN_SHARP X %% file: opt_space X {RECOGNIZE("file-1");} X | opt_space object_list opt_space X {RECOGNIZE("file-2");} X ; X object_list: object X {RECOGNIZE("object-1");} X | object_list opt_space object X {RECOGNIZE("object-2");} X ; X object: TOKEN_AT opt_space at_object X {RECOGNIZE("object");} X ; X at_object: comment X {RECOGNIZE("comment");} X | entry X {RECOGNIZE("entry");} X | include X {RECOGNIZE("include");} X | preamble X {RECOGNIZE("preamble");} X | string X {RECOGNIZE("string");} X | error TOKEN_RBRACE X {RECOGNIZE("error");} X ; X comment: TOKEN_COMMENT opt_space X TOKEN_LITERAL X {RECOGNIZE("comment");} X ; X entry: entry_head X assignment_list X TOKEN_RBRACE X {RECOGNIZE("entry-1");} X | entry_head X assignment_list X TOKEN_COMMA opt_space X TOKEN_RBRACE X {RECOGNIZE("entry-2");} X | entry_head TOKEN_RBRACE X {RECOGNIZE("entry-3");} X ; X entry_head: TOKEN_ENTRY opt_space X TOKEN_LBRACE opt_space X key_name opt_space X TOKEN_COMMA opt_space X {RECOGNIZE("entry_head");} X ; X key_name: TOKEN_KEY X {RECOGNIZE("key_name-1");} X | TOKEN_ABBREV X {RECOGNIZE("key_name-2");} X ; X include: TOKEN_INCLUDE opt_space X TOKEN_LITERAL X {RECOGNIZE("include");} X ; X preamble: TOKEN_PREAMBLE opt_space X TOKEN_LBRACE opt_space X value opt_space X TOKEN_RBRACE X {RECOGNIZE("preamble");} X ; X string: TOKEN_STRING opt_space X TOKEN_LBRACE opt_space X assignment X opt_space TOKEN_RBRACE X {RECOGNIZE("string");} X ; X value: simple_value X {RECOGNIZE("value-1");} X | value opt_space X {RECOGNIZE("value-1-1");} X TOKEN_SHARP X {RECOGNIZE("value-1-2");} X opt_space simple_value X {RECOGNIZE("value-2");} X ; X simple_value: TOKEN_VALUE X {RECOGNIZE("simple_value-1");} X | TOKEN_ABBREV X {RECOGNIZE("simple_value-2");} X ; X assignment_list: assignment X {RECOGNIZE("single assignment");} X | assignment_list X TOKEN_COMMA opt_space X assignment X {RECOGNIZE("assignment-list");} X ; X assignment: assignment_lhs opt_space X TOKEN_EQUALS opt_space X {RECOGNIZE("assignment-0");} X value opt_space X {RECOGNIZE("assignment");} X ; X assignment_lhs: TOKEN_FIELD X {RECOGNIZE("assignment_lhs-1");} X | TOKEN_ABBREV X {RECOGNIZE("assignment_lhs-2");} X ; X opt_space: /* empty */ X {RECOGNIZE("opt_space-1");} X | space X {RECOGNIZE("opt_space-2");} X ; X space: single_space X {RECOGNIZE("single space");} X | space single_space X {RECOGNIZE("multiple spaces");} X ; X single_space: TOKEN_SPACE X | TOKEN_INLINE X | TOKEN_NEWLINE X ; %% X const char *Last_Recognized = ""; X /* end of grammar */ X static void doparse(VOID) { /* parse a complete BibTeX file or BibTeX token stream */ X int c; X X line_number = 1L; X X /* A single character lookahead distinguishes between a token X stream, which starts with a line number directive, and a BibTeX X file, which does not. We then pick a suitable lexical analyzer X function. */ X X c = getchar(); X (void)ungetc(c,stdin); X pyylex = (c == '#') ? zzlex : xxlex; X X yyparse(); /* this handles the entire file */ } X X #if NEW_STYLE int main(int argc, char *argv[]) #else /* K&R style */ int main(argc, argv) int argc; char *argv[]; #endif /* NEW_STYLE */ { X int code; /* error return code */ X int k; /* index into argv[] */ X int n; /* index into argv[] */ X FILE *fp; /* pointer to current input file */ X X do_lex_output = 0; /* prevent output from xxlex() */ X error_count = 0; X program_name = argv[0]; X yydebug = 0; X X for (k = 1; k < argc; ++k) X { /* check for command-line options */ X const char *this_arg; X X this_arg = argv[k]; X X /* Accept both "-arg" and GNU-style "--arg" */ X X if ( (this_arg[0] == '-') && (this_arg[1] == '-') ) X this_arg++; /* change "--arg" to "-arg" */ X X if (match_option(this_arg, "-debug", MAX(2, strlen(this_arg)))) X { X yydebug = 1; X do_lex_output = 1; X X for (n = k; n < argc; ++n) /* shuffle remaining arguments down */ X argv[n] = argv[n+1]; X X argc--; /* and reduce argument count */ X } X else if (match_option(this_arg, "-help", MAX(2, strlen(this_arg)))) X show_help_and_exit(); X else if (match_option(this_arg, "-version", MAX(2, strlen(this_arg)))) X show_version_and_exit(); X } X X if (argc > 1) /* files to parse named on command line */ X { X for (k = 1; k < argc; ++k) X { X fp = freopen(argv[k],"r",stdin); X X if (fp == (FILE*)NULL) X { X (void)fprintf(stderr, X "\n%s Ignoring open failure on file [%s]\n", X ERROR_PREFIX, argv[k]); X (void)perror("perror() says"); X } X else X { X the_filename = argv[k]; X doparse(); X (void)fclose(fp); X } X } X } X else /* parse stdin */ X { X the_filename = "stdin"; X doparse(); X } X code = (error_count > 0) ? EXIT_FAILURE : EXIT_SUCCESS; X X exit(code); X X return (code); /*NOTREACHED*/ } X X #if NEW_STYLE static int match_option(const char *s, const char *t, int nmax) #else /* K&R style */ static int match_option(s, t, nmax) const char *s; const char *t; int nmax; #endif /* NEW_STYLE */ { X int match, n; X X match = 1; /* assume that s and t match, and then try to prove otherwise */ X X for (n = 0; n < nmax; ++n) X { X if (TOLOWER(s[n]) != TOLOWER(t[n])) X { X match = 0; X break; X } X } X X return (match); } X X static int nextchar (VOID) { X int c; X X c = getchar (); X X if (yydebug) X putchar (c); X X return (c); } X X X #if NEW_STYLE static void recognize(const char *s) #else static void recognize(s) const char *s; #endif { X Last_Recognized = s; X X if (yydebug) X printf("[%s]\n", s); } X static void show_help_and_exit(VOID) { X static const char *help[] = X { X "\n", X "Usage:\n\t", X PACKAGE_NAME, X " [ options ] [ infile(s) ]\n", X "\n", X "If there are no command-line files, then input is from stdin.\n", X "\n", X "Optional arguments:\n", X "\n", X "\t-d\tsend [voluminous] debug output to stdout\n", X "\t-h\tprint brief help on stderr and exit with success\n", X "\t-v\tprint version information on stderr and exit with success\n", X "\n", X "The GNU-style --debug, --help, and --version options are accepted,\n", X "as are any unique prefixes of those long options. Lettercase is not\n", X "significant in option names.\n", X "\n", X "There is normally NO OUTPUT PRINTED (unless debugging is requested, or\n", X "there are parse errors). Instead, the program exit code records the\n", X "parse status: zero for success, and nonzero for failure, used such as\n", X "in these equivalent POSIX (Bourne-family) shell commands:\n", X "\n", X "\t", X PACKAGE_NAME, X " myfile.bib && make dist\n", X "or\n", X "\tif ", X PACKAGE_NAME, X " myfile.bib ; then make dist ; fi\n", X "or\n", X "\t", X PACKAGE_NAME, X " myfile.bib\n", X "\tif test $? -eq 0 ; then make dist ; fi\n", X "or\n", X "\t", X PACKAGE_NAME, X " myfile.bib\n", X "\tif [ $? -eq 0 ] ; then make dist ; fi\n", X "\n", X (const char *)NULL X }; X int k; X X for (k = 0; help[k] != (const char *)NULL; ++k) X (void)printf("%s", help[k]); X X exit(EXIT_SUCCESS); } X X static void show_version_and_exit(VOID) { X const char *version[] = X { X "This is ", X PACKAGE_NAME, X " version ", X PACKAGE_VERSION, X " ", X PACKAGE_DATE, X "\n\n", X "Copyright (C) 1998--2021 by ", X PACKAGE_AUTHOR, X " and the Free Software Foundation, Inc.\n\n", X PACKAGE_NAME, X " is free software that you are free to change, redistribute, and\n", X "mirror. There is NO WARRANTY; not even for MERCHANTABILITY or FITNESS\n", X "FOR A PARTICULAR PURPOSE.\n\n", X "The software development master Web site is\n\n\t", X PACKAGE_URL, X "\n\n", X "The software is distributed under the GNU General Public License (GPL),\n", X "version 2 or later, available as the file COPYING in the program source\n", X "distribution, and also at\n\n", X "\thttp://www.gnu.org/copyleft/gpl.html\n\n", X "Send bug reports to\n\n\t", X PACKAGE_BUGREPORT, X "\n\n", X (const char *)NULL X }; X int k; X X for (k = 0; version[k] != (const char *)NULL; ++k) X (void)printf("%s", version[k]); X X exit(EXIT_SUCCESS); } X X #if NEW_STYLE void yyerror(const char *s) #else void yyerror(s) const char *s; #endif { X error_count++; X (void)fflush(stdout); X X if (start_line_number > 0L) X (void)fprintf(stderr,"%s:%ld:token start\n", X the_filename, start_line_number); X X (void)fprintf(stderr,"%s:%ld:%s\tnext token = [%s]\n", X the_filename, line_number, s, yytext); X (void)fprintf(stderr, "%s:%ld:last token type recognized = %s\n", X the_filename, line_number, Last_Recognized); X (void)fflush(stderr); } X X int yylex (VOID) { X int v; X X v = (*pyylex) (); X X /* xxlex() (== yylex() in biblex.c) biases token values by 1000, but X the token streams produced by biblex and "bibclean --no-prettyprint" X exclude that bias, for compact output. */ X X return ((pyylex == zzlex) ? v : (v - 1000)); } X X #if NEW_STYLE static void yywarning(const char *s) #else static void yywarning(s) const char *s; #endif { X (void)fflush(stdout); X (void)fprintf(stderr,"%s:%ld:%s\tNext token = \"%s\"\n", X the_filename, line_number, s, yytext); X (void)fflush(stderr); } X X int zzlex (VOID) { X char buffer[BUFSIZ]; /* only needs space for a single number token */ X char *limit; /* how far we can store into buffer[] */ X char *p; /* pointer into buffer[] */ X int c; /* current input character */ X X limit = &buffer[sizeof(buffer) - 1]; /* address of last slot in buffer[] */ X X for (;;) /* `infinite' loop for ignoring comments and empty lines */ X { X while (((c = nextchar ()) > 0) && isspace (c)) X ; /* skip leading whitespace */ X X /* Collect first non-blank token on line, truncating if too big for buffer[] */ X p = &buffer[0]; X *p++ = c; X X while (((c = nextchar ()) > 0) && !isspace (c)) X { X if (p < limit) X *p++ = c; X } X X *p = '\0'; X X while ((c != '\n') && ((c = nextchar ()) > 0)) X ; /* skip rest of line */ X X if (c == '\n') /* should always be true */ X line_number++; X X if (buffer[0] == '#') /* comment: pseudo return tail-recursively */ X continue; X else if (isdigit ((int) buffer[0])) /* token number */ X return ((int) strtol ((const char *) &buffer[0], &limit, 10)); X else if (c == '\n') /* empty line: pseudo return tail-recursively */ X continue; X else if (feof (stdin)) /* assume end of file */ X return (0); /* standard lex end-of-file signal */ X else X return (-1); /* should never happen */ X } } SHAR_EOF (set 20 21 07 08 06 57 13 'bibparse.y' eval "${shar_touch}") && \ chmod 0644 'bibparse.y' if test $? -ne 0 then ${echo} "restore of bibparse.y failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibparse.y': 'MD5 check failed' ) << \SHAR_EOF ff119df058c3b52f3199f2610edf4954 bibparse.y SHAR_EOF else test `LC_ALL=C wc -c < 'bibparse.y'` -ne 17913 && \ ${echo} "restoration warning: size of 'bibparse.y' is not 17913" fi fi # ============= bibunlex.l ============== if test -n "${keep_file}" && test -f 'bibunlex.l' then ${echo} "x - SKIPPING bibunlex.l (file already exists)" else ${echo} "x - extracting bibunlex.l (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibunlex.l' && /* bibunlex - convert a biblex/bibparse token stream to a BibTeX file */ %{ X /********************************************************************** X @Lex-file{ X author = "Nelson H. F. Beebe", X version = "1.13", X date = "01 July 2021", X time = "16:48:00 MDT", X filename = "bibunlex.l", X address = "University of Utah X Department of Mathematics, 110 LCB X 155 S 1400 E RM 233 X Salt Lake City, UT 84112-0090 X USA", X telephone = "+1 801 581 5254", X FAX = "+1 801 581 4148", X URL = "http://www.math.utah.edu/~beebe", X checksum = "36216 646 1586 12759", X email = "beebe@math.utah.edu, beebe@acm.org, X beebe@computer.org (Internet)", X codetable = "ISO/ASCII", X keywords = "BibTeX, bibliography, lexical analysis, lexer", X license = "public domain", X supported = "yes", X docstring = "Convert a lexical token stream from biblex X or bibclean back into a BibTeX file on X stdout. X X Usage: X bibunlex < infile > outfile X or X bibunlex file(s) >outfile X X This utility can be conveniently used at X the end of a biblex or bibclean pipeline X that filters BibTeX files for some purpose. X X The checksum field above contains a CRC-16 X checksum as the first value, followed by the X equivalent of the standard UNIX wc (word X count) utility output of lines, words, and X characters. This is produced by Robert X Solovay's checksum utility.", X } X **********************************************************************/ X #include X #include #include #include X #if defined(HAVE_STDLIB_H) #include #endif X #include "args.h" #include "bibyydcl.h" #include "token.h" X static const char * PROGRAM_NAME = "biblex"; X /* Token types for biblex/bibclean token stream grammar */ X #if NEW_STYLE typedef enum t_list { X T_NUMBER = 2001, X T_NAME, X T_UNKNOWN, X T_VALUE } biblex_token_t; #else /* NOT NEW_STYLE */ typedef int biblex_token_t; #define T_NUMBER 2001 #define T_NAME 2002 #define T_UNKNOWN 2003 #define T_VALUE 2004 #endif /* NEW_STYLE */ X #define digval(c) ((int)((c) - '0')) #define isoctal(c) (isdigit(c) && ((c) != '8') && ((c) != '9')) #define ishexadecimal(c) (isdigit(c) || \ X (strchr("ABCDEFabcdef",(c)) != (char*)NULL)) X static void bad_token ARGS((void)); static void dounlex ARGS((void)); static int hexval ARGS((int c_)); int main ARGS((int argc_, char *argv_[])); static int match_option ARGS((const char *s, const char *t, int nmax)); static void out_s ARGS((char *s_)); static void out_space ARGS((int n_)); static void out_string ARGS((const char *s_)); static void out_token ARGS((token_t token_)); static void show_help_and_exit ARGS((void)); static void show_version_and_exit ARGS((void)); static char *unescape ARGS((char *s_)); X static long line_number = 1L; static long line_width = 0L; static const char *the_filename = ""; X #define ERROR_PREFIX "??" /* this prefixes all error messages */ X #define FIELD_INDENTATION 2 /* how far to indent "field = value," pairs */ X #if !defined(MAX_FIELD_LENGTH) #define MAX_FIELD_LENGTH 12 /* "howpublished" */ #endif /* !defined(MAX_FIELD_LENGTH) */ X #undef MAX #define MAX(a,b) (((a) >= (b)) ? (a) : (b)) X #undef TOLOWER #define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) /* guard against broken tolower() on ancient systems */ X #define VALUE_INDENTATION (FIELD_INDENTATION + MAX_FIELD_LENGTH + 3) X #undef YYLMAX X #if defined(HAVE_IBMPC) #define YYLMAX 32760 #else #define YYLMAX BIBYYLMAX #endif X X /* here is a lex grammar for the bibclean and biblex output token stream */ X %} X W [ \b\f\r\t\v] X %% ^[%?#].*$ ; /* ignore messages and line number directives */ X ^[0-9]+ return (T_NUMBER); X [A-Z]+ return (T_NAME); X {W} ; /* ignore horizontal space */ X ["].*$ return (T_VALUE); X [\n] line_number++; X X. return (T_UNKNOWN); %% static void bad_token(VOID) { X (void)fprintf(stderr,"%s \"%s\", line %ld: %s [%s].\n", X ERROR_PREFIX, X the_filename, X line_number, X "Unrecognized token", X yytext); } X X static void dounlex(VOID) { X biblex_token_t type; X token_t token = TOKEN_UNKNOWN; X X line_number = 1L; X X while ((type = (biblex_token_t)yylex()) > 0) X { X switch (type) X { X case T_NUMBER: X token = (token_t)atoi((const char*)&yytext[0]); X break; X X case T_NAME: X break; /* discard name */ X X case T_VALUE: X out_token(token); X break; X X default: X case T_UNKNOWN: X bad_token(); X break; X } X } } X X #if NEW_STYLE static int hexval(int c) #else /* K&R style */ static int hexval(c) int c; #endif /* NEW_STYLE */ { X static const char *hexdigits = "0123456789abcdef"; X const char *p = (const char *)strchr(hexdigits, X isupper(c) ? tolower(c) : c); X X return ((p == (const char*)NULL) ? (-1) : (int)(p - hexdigits)); } X X #if NEW_STYLE int main(int argc, char *argv[]) #else /* K&R style */ int main(argc, argv) int argc; char *argv[]; #endif /* NEW_STYLE */ { X int k; X FILE *fp; X X PROGRAM_NAME = argv[0]; X X if (argc > 1) /* files to unlex named on command line */ X { X for (k = 1; k < argc; ++k) X { X const char *this_arg; X X this_arg = argv[k]; X X /* Accept both "-arg" and GNU-style "--arg" */ X X if ( (this_arg[0] == '-') && (this_arg[1] == '-') ) X this_arg++; /* change "--arg" to "-arg" */ X X if (match_option(this_arg, "-help", MAX(2, strlen(this_arg)))) X show_help_and_exit(); X else if (match_option(this_arg, "-version", MAX(2, strlen(this_arg)))) X show_version_and_exit(); X else X { X fp = freopen(argv[k],"r",stdin); X X if (fp == (FILE*)NULL) X { X (void)fprintf(stderr, X "\n%s Ignoring open failure on file [%s]\n", X ERROR_PREFIX, argv[k]); X (void)perror("perror() says"); X } X else X { X the_filename = argv[k]; X dounlex(); X (void)fclose(fp); X } X } X } X } X else /* unlex stdin */ X { X the_filename = "stdin"; X dounlex(); X } X exit (EXIT_SUCCESS); X return (0); } X X #if NEW_STYLE static int match_option(const char *s, const char *t, int nmax) #else /* K&R style */ static int match_option(s, t, nmax) const char *s; const char *t; int nmax; #endif /* NEW_STYLE */ { X int match, n; X X match = 1; /* assume that s and t match, and then try to prove otherwise */ X X for (n = 0; n < nmax; ++n) X { X if (TOLOWER(s[n]) != TOLOWER(t[n])) X { X match = 0; X break; X } X } X X return (match); } X X #if NEW_STYLE static void out_s(char *s) /* output a string, wrapping long lines */ #else /* K&R style */ static void out_s(s) /* output a string, wrapping long lines */ char *s; #endif /* NEW_STYLE */ { /* s[] is modified on return */ X s[strlen(s)-1] = '\0'; /* zap final quote */ X out_string(unescape(s+1)); /* discard initial quote */ } X X #if NEW_STYLE static void out_space(int n) #else /* K&R style */ static void out_space(n) int n; #endif /* NEW_STYLE */ { X for ( ; n > 0 ; --n) X out_string(" "); } X X #if NEW_STYLE static void out_string(const char *s) #else /* K&R style */ static void out_string(s) const char *s; #endif /* NEW_STYLE */ { X for (; *s; ++s) X { X switch (*s) X { X case '\r': X case '\n': X line_width = 0L; X break; X X case '\t': X line_width = (line_width + 7L) & ~7L; X break; X X default: X line_width++; X break; X } X putchar(*s); X } } X X #if NEW_STYLE static void out_token(token_t token) #else /* K&R style */ static void out_token(token) token_t token; #endif /* NEW_STYLE */ { /* ALL token output is directed through this function */ X static token_t last_token = TOKEN_UNKNOWN; X X switch (token) X { X case TOKEN_ABBREV: X if (last_token == TOKEN_EQUALS) X out_space((int)(VALUE_INDENTATION - line_width)); X X out_s((char*)&yytext[0]); X break; X X case TOKEN_AT: X out_s((char*)&yytext[0]); X break; X X case TOKEN_COMMA: X out_s((char*)&yytext[0]); X break; X X case TOKEN_COMMENT: X out_s((char*)&yytext[0]); X break; X X case TOKEN_ENTRY: X out_s((char*)&yytext[0]); X break; X X case TOKEN_EQUALS: X if (last_token != TOKEN_SPACE) X out_space(1); X X out_s((char*)&yytext[0]); X break; X X case TOKEN_FIELD: X if (last_token != TOKEN_SPACE) X out_space(FIELD_INDENTATION); X X out_s((char*)&yytext[0]); X break; X X case TOKEN_INCLUDE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_INLINE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_KEY: X out_s((char*)&yytext[0]); X break; X X case TOKEN_LBRACE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_LITERAL: X out_s((char*)&yytext[0]); X break; X X case TOKEN_NEWLINE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_PREAMBLE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_RBRACE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_SHARP: X if (last_token != TOKEN_SPACE) X out_space(1); X X out_s((char*)&yytext[0]); X break; X X case TOKEN_SPACE: X out_s((char*)&yytext[0]); X break; X X case TOKEN_STRING: X out_s((char*)&yytext[0]); X break; X X case TOKEN_VALUE: X if (last_token != TOKEN_SPACE) X out_space((int)(VALUE_INDENTATION - line_width)); X X out_s((char*)&yytext[0]); X break; X X case TOKEN_UNKNOWN: X default: X bad_token(); X break; X X } X last_token = token; } X X static void show_help_and_exit(VOID) { X static const char *help[] = X { X "\n", X "Usage:\n\t", X "REPLACE-ME", X " [ options ] [ infile(s) ]\n", X "\n", X "If there are no command-line files, then input is from stdin.\n", X "\n", X "Optional arguments:\n", X "\n", X "\t-h\tprint brief help on stderr and exit with success\n", X "\t-v\tprint version information on stderr and exit with success\n", X "\n", X "The GNU-style --help, and --version options are accepted, as are\n", X "any unique prefixes of those long options. Lettercase is not\n", X "significant in option names.\n", X "\n", X (const char *)NULL X }; X int k; X X help[2] = PROGRAM_NAME; X X for (k = 0; help[k] != (const char *)NULL; ++k) X (void)printf("%s", help[k]); X X exit(EXIT_SUCCESS); } X X static void show_version_and_exit(VOID) { X const char *version[] = X { X "This is ", X "REPLACE-ME", X " version ", X PACKAGE_VERSION, X " ", X PACKAGE_DATE, X "\n\n", X "Copyright (C) 1998--2021 by ", X PACKAGE_AUTHOR, X " and the Free Software Foundation, Inc.\n\n", X PACKAGE_NAME, X " is free software that you are free to change, redistribute, and\n", X "mirror. There is NO WARRANTY; not even for MERCHANTABILITY or FITNESS\n", X "FOR A PARTICULAR PURPOSE.\n\n", X "The software development master Web site is\n\n\t", X PACKAGE_URL, X "\n\n", X "The software is distributed under the GNU General Public License (GPL),\n", X "version 2 or later, available as the file COPYING in the program source\n", X "distribution, and also at\n\n", X "\thttp://www.gnu.org/copyleft/gpl.html\n\n", X "Send bug reports to\n\n\t", X PACKAGE_BUGREPORT, X "\n\n", X (const char *)NULL X }; X int k; X X version[1] = PROGRAM_NAME; X X for (k = 0; version[k] != (const char *)NULL; ++k) X (void)printf("%s", version[k]); X X exit(EXIT_SUCCESS); } X X #if NEW_STYLE static char* unescape(char *s) /* convert escape sequences to chars in place */ #else /* K&R style */ static char* unescape(s) char *s; #endif /* NEW_STYLE */ { X int c; X int n; X char *original = s; X char *t; /* target string (overwrites s[]) */ X X for (t = s ; *s; ) X { X switch (*s) X { X case '\\': X ++s; X X switch (*s) X { X case '0': X case '1': X case '2': X case '3': X case '4': X case '5': X case '6': X case '7': X for (n = 0, c = digval(*s), ++s; (n < 3) && isoctal(*s); X n++, s++) X c = 8*c + digval(*s); X break; X X case 'a': X ++s; X c = '\007'; /* '\a' */ X break; X X case 'b': X ++s; X c = '\b'; X break; X X case 'f': X ++s; X c = '\f'; X break; X X case 'n': X ++s; X c = '\n'; X break; X X case 'r': X ++s; X c = '\r'; X break; X X case 't': X ++s; X c = '\t'; X break; X X case 'v': X ++s; X c = '\v'; X break; X X case 'x': X for (++s, c = hexval(*s); ishexadecimal(*s); ++s) X c = 16*c + hexval(*s); X break; X X default: X c = *s++; X } X X *t++ = c; X break; X X default: X *t++ = *s++; X break; X } X } X X *t = '\0'; X X return (original); } X X int (yywrap)(VOID) { X return 1; /* each input file is handled separately */ } SHAR_EOF (set 20 21 07 08 06 55 33 'bibunlex.l' eval "${shar_touch}") && \ chmod 0644 'bibunlex.l' if test $? -ne 0 then ${echo} "restore of bibunlex.l failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibunlex.l': 'MD5 check failed' ) << \SHAR_EOF a173677ec50e397450c13726481eaa80 bibunlex.l SHAR_EOF else test `LC_ALL=C wc -c < 'bibunlex.l'` -ne 12741 && \ ${echo} "restoration warning: size of 'bibunlex.l' is not 12741" fi fi # ============= bibunlex.man ============== if test -n "${keep_file}" && test -f 'bibunlex.man' then ${echo} "x - SKIPPING bibunlex.man (file already exists)" else ${echo} "x - extracting bibunlex.man (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibunlex.man' && X.\" ==================================================================== X.\" @Troff-man-file{ X.\" author = "Nelson H. F. Beebe", X.\" version = "1.13", X.\" date = "01 July 2021", X.\" time = "16:48:41 MDT", X.\" filename = "bibunlex.man", X.\" address = "University of Utah X.\" Department of Mathematics, 110 LCB X.\" 155 S 1400 E RM 233 X.\" Salt Lake City, UT 84112-0090 X.\" USA", X.\" telephone = "+1 801 581 5254", X.\" FAX = "+1 801 581 4148", X.\" URL = "http://www.math.utah.edu/~beebe", X.\" checksum = "10171 119 463 4047", X.\" email = "beebe@math.utah.edu, beebe@acm.org, X.\" beebe@computer.org (Internet)", X.\" codetable = "ISO/ASCII", X.\" keywords = "bibliography, BibTeX, lexical analysis", X.\" license = "public domain", X.\" supported = "yes", X.\" docstring = "This file is the UNIX nroff/troff manual X.\" page documentation for bibunlex, a tool for X.\" reconstructing BibTeX bibliography data X.\" base files from the lexical analysis output X.\" of bibclean or biblex. X.\" X.\" The checksum field above contains a CRC-16 X.\" checksum as the first value, followed by the X.\" equivalent of the standard UNIX wc (word X.\" count) utility output of lines, words, and X.\" characters. This is produced by Robert X.\" Solovay's checksum utility.", X.\" } X.\"===================================================================== X.\" X.if t .ds Bi B\s-2IB\s+2T\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X X.if n .ds Bi BibTeX X.\" X.\"===================================================================== X.TH BIBUNLEX 1 "01 July 2021" "Version 1.13" X.\"===================================================================== X.SH NAME bibunlex \- reconstruct a BibTeX bibliography data base file from \ bibclean or biblex lexical analysis output X.\"===================================================================== X.SH SYNOPSIS X.B bibunlex X.I "outfile" X.nf or X.fi X.B bibunlex X.I "file1 file2 file3 .\|.\|." X.I ">outfile" X.\"===================================================================== X.SH DESCRIPTION X.B bibunlex takes a lexical token stream from X.BR bibclean (1) or from X.BR biblex (1), and reconstructs a \*(Bi bibliography data base file on X.IR stdout . X.PP The reconstruction is simplistic with regard to obtaining nice spacing, and best results will be obtained if the output is prettyprinted by X.BR bibclean (1). For example, X.RS X.nf X.B "bibclean -no-prettyprint \fI*.bib\fP | some-filter | bibunlex | bibclean \ >new.bib" X.B "biblex \fI*.bib\fP | some-filter | bibunlex | bibclean >new.bib" X.fi X.RE X.\"===================================================================== X.SH "SEE ALSO" X.BR bibcheck (1), X.BR bibclean (1), X.BR bibdup (1), X.BR bibextract (1), X.BR bibjoin (1), X.BR biblabel (1), X.BR biblex (1), X.BR biborder (1), X.BR bibparse (1), X.BR bibsearch (1), X.BR bibsort (1), X.BR bibtex (1), X.BR citefind (1), X.BR citesub (1), X.BR citetags (1), X.BR latex (1), X.BR scribe (1), X.BR tex (1). X.\"===================================================================== X.SH AUTHOR X.nf Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Email: \fCbeebe@math.utah.edu\fP, \fCbeebe@acm.org\fP, \fCbeebe@computer.org\fP (Internet) WWW URL: \fChttp://www.math.utah.edu/~beebe\fP Telephone: +1 801 581 5254 FAX: +1 801 581 4148 X.fi X.\"===================================================================== X.\" This is for GNU Emacs file-specific customization: X.\" Local Variables: X.\" fill-column: 50 X.\" End: SHAR_EOF (set 20 21 07 01 16 48 41 'bibunlex.man' eval "${shar_touch}") && \ chmod 0644 'bibunlex.man' if test $? -ne 0 then ${echo} "restore of bibunlex.man failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibunlex.man': 'MD5 check failed' ) << \SHAR_EOF ef39211e418bc04c6785bb2f0b85e6bd bibunlex.man SHAR_EOF else test `LC_ALL=C wc -c < 'bibunlex.man'` -ne 4047 && \ ${echo} "restoration warning: size of 'bibunlex.man' is not 4047" fi fi # ============= bibyydcl.h ============== if test -n "${keep_file}" && test -f 'bibyydcl.h' then ${echo} "x - SKIPPING bibyydcl.h (file already exists)" else ${echo} "x - extracting bibyydcl.h (text)" sed 's/^X//' << 'SHAR_EOF' > 'bibyydcl.h' && /* /u/sy/beebe/tex/biblex/bibyydcl.h, Sat Jan 16 16:24:55 1993 */ /* Edit by Nelson H. F. Beebe */ X #ifndef BIBYYDCL_H #define BIBYYDCL_H X /*********************************************************************** This file contains function prototypes of lex library functions. X We need them because most current lex implementations do not generate prototypes in the output C code, making it impossible to compile the code with C++ compilers. X flex implementations do not require most of these prototypes. X There are also variations in the types of some of these functions which we must handle by preprocessor conditionals below. ***********************************************************************/ X #if defined(__cplusplus) extern "C" { #endif X extern void (yyerror) ARGS((const char *s_)); extern int (yylex) ARGS((void)); extern int (yyparse) ARGS((void)); extern int (yywrap) ARGS((void)); X #if defined(__cplusplus) } #endif X #if defined(FLEX_SCANNER) #define input yyinput #define output putchar X #if !defined(HAVE_FILENO) #define YY_NEVER_INTERACTIVE 1 /* suppresses need for isatty() and fileno() */ #endif X #else /* NOT defined(FLEX_SCANNER) */ X #if defined(__cplusplus) && defined(__sun) /* Sun Solaris 2.x lex changed the names of these functions under C++ */ #define input lex_input #define output lex_output #endif X #endif /* defined(FLEX_SCANNER) */ X #endif /* BIBYYDCL_H */ SHAR_EOF (set 20 14 07 08 19 10 31 'bibyydcl.h' eval "${shar_touch}") && \ chmod 0644 'bibyydcl.h' if test $? -ne 0 then ${echo} "restore of bibyydcl.h failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'bibyydcl.h': 'MD5 check failed' ) << \SHAR_EOF d7c9634cbfff22354cb147fb3fd6323d bibyydcl.h SHAR_EOF else test `LC_ALL=C wc -c < 'bibyydcl.h'` -ne 1426 && \ ${echo} "restoration warning: size of 'bibyydcl.h' is not 1426" fi fi # ============= configure ============== if test -n "${keep_file}" && test -f 'configure' then ${echo} "x - SKIPPING configure (file already exists)" else ${echo} "x - extracting configure (text)" sed 's/^X//' << 'SHAR_EOF' | uudecode && begin 600 configure M(R$@+V)I;B]S:`HC($=U97-S('9A;'5E7T@)B8@*&5M=6QA=&4@S$K M(B1`(GTL('=H:6-H"B`@(R!I2!T;R!O=7(@=7-A9V4N("!$ M:7-A8FQE('1H:7,@9F5A='5R92X*("!A;&EA2!H879E(&EN:&5R:71E M9"!T'!O2!O M6YT87@*(R!I;B!O=&AER1A7T@7`H@("8F("@@*'5N&5C(#`\+V1E=B]N=6QL.R!F:0II9B`H97AE8R`S/B8Q*2`R/B]D M978O;G5L;#L@=&AE;B`Z.R!E;'-E(&5X96,@,3XO9&5V+VYU;&P[(&9I"FEF M("AE>&5C(#,^)C(I("`@("`@("`@("`@.R!T:&5N(#H[(&5LU!!5$A?4T5005)!5$]2*V9A;'-E?2`Z.R!T:&5N"B`@4$%42%]315!! M4D%43U(].@H@("A0051(/27-E;&8]"F-A"1#3TY&24=?4TA%3$PB("$]('@[ M('1H96X*("`@(%]A&5C/6YO.R!E>'!OF%T:6]N M('9A;'5E(&9O"!T;R!T M:&4@"`[.PH@("IV*B`I(&%S7V]P=',]+78@ M.SL*("`J>"H@*2!AS$K(B1`(GT*(R!!9&UI='1E9&QY+"!T:&ES(&ES('%U:71E('!A&5C)RX*<')I;G1F("(ER!?87-?8V%N7W)E97AE M8ST[('5N&5C.WT*:68@=&5S="`B>"1#3TY&24=? M4TA%3$PB(#T@>#L@=&AE;@H@(&%S7V)O=7)N95]C;VUP871I8FQE/2)AUI32%]615)324].*WE]("8F("AE;75L871E('-H M*2`^+V1E=B]N=6QL(#(^)C$*=&AE;B`Z"B`@96UU;&%T92!S:`H@($Y53$Q# M340].@H@(",@4')E+30N,B!V97)S:6]NR!E M>&ET8V]D93TQ.R!E8VAO(&%S7V9N7V9A:6QU"`](%PB7"0Q7"(@*0IT:&5N(#H*"F5L&ET8V]D M93TQ.R!E8VAO('!O&ET8V]D92`]('@P('Q\(&5X:70@,0IB;&%H/5PD M*&5C:&\@7"0H96-H;R!B;&%H*2D*=&5S="!X7")<)&)L86A<(B`]('AB;&%H M('Q\(&5X:70@,0IT97-T("UX("\@?'P@97AI="`Q(@H@(&%S7W-U9V=E%PD87-?;&EN96YO7S(G7"1A"1A'EER!T97-T("UF("(D4TA%3$PB('Q\ M('1E&4B.R!]("8F"@D@("`@("!A`IT:&5N(#H*("!E>'!OF%T:6]N('9A;'5E(&9O"!T;R!T:&4@"`[.PH@("IV*B`I(&%S7V]P M=',]+78@.SL*("`J>"H@*2!AS$K(B1`(GT*(R!!9&UI='1E9&QY+"!T:&ES(&ES('%U:71E('!A M&5C)RX*<')I;G1F("(E&5C=71E('=I=&@@)$-/3D9)1U]32$5,3"(@/B8R"F5X M:70@,C4U"F9I"@H@("`@:68@=&5S="!X)&%S7VAA=F5?7T@.R!T:&5N"B`@ M("!PG-H("1:4TA? M5D524TE/3B!H87,@8G5GT-/3D9)1U]32$5,3"TO8FEN+W-H?0IE>'!OPH@(')E='5R;B`D,0I](",@87-?9FY?&ET(%-405154PHC("TM+2TM+2TM+2TM+2TM+2TM"B,@17AI="!T M:&4@&ET("@I"GL*("!S970@*V4*("!A M2X* M87-?9FY?;6MD:7)?<"`H*0I["@H@(&-A+UU<*2\O*EM> M+UU;7B]=*B\J)"<@7'P@7`H)(%@B)&%S7V1I+UTG M(%Q\(%P*"2!8(B1A+UU<*5PO7"\J M6UXO75M>+UTJ7"\J)"]["@D@("`@ M6%PH7"]<+UPI6UXO72XJ+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@ M+UY87"A<+UPO7"DD+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@+UY8 M7"A<+UPI+BHO>PH)("`@(',O+UPQ+PH)("`@('$*"2`@?0H)("!S+RXJ+RXO M.R!Q)V`*("`@("`@=&5S="`M9"`B)&%S7V1I2`D87-?9&ER(@H*"GT@(R!A M'0@:6X@5D%,544@=&\@ M=&AE(&5N9"!O9B!T:&4@9&5F:6YI=&EO;B!C;VYT86EN960@:6X@5D%2+B!4 M86ME"B,@861V86YT86=E(&]F(&%N>2!S:&5L;"!O<'1I;6EZ871I;VYS('1H M870@86QL;W<@86UOF5D(&QI;F5APH@(')E='5R;B`D/PI]"F%S7VYO<#UA&ET("1A'!R(&$@.B`G7"AA7"DG(#XO M9&5V+VYU;&P@,CXF,2`F)@H@("!T97-T(")88&5X<'(@,#`P,#$@.B`G+BI< M*"XN+EPI)V`B(#T@6#`P,3L@=&AE;@H@(&%S7V5X<'(]97AP<@IE;'-E"B`@ M87-?97AP+UTJ7"DO*B0G(%Q\(%P*"2!8(B0P(B`Z("=8 M7"@O+UPI)"<@7'P@7`H)(%@B)#`B(#H@)UA<*"]<*2<@7'P@+B`R/B]D978O M;G5L;"!\?`IP+BI< M+UPH6UXO75M>+UTJ7"E<+RHD+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T* M"2`@+UY87"]<*%PO7"]<*20O>PH)("`@(',O+UPQ+PH)("`@('$*"2`@?0H) M("`O7EA<+UPH7"]<*2XJ+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@ M"1A6YT87@N("`Z M+2D*("!S960@+6X@)PH@("`@<`H@("`@+ULD74Q)3D5.3R\]"B`@)R`\)&%S M7VUYR!P&ET(#$[('T*"B`@(R!) M9B!W92!H860@=&\@2!D;VYE('1H870L('-O M(&5N&5C/6YO.R!E>'!O M2!T;R!E>&5C(&%S(&ET M(&-H86YG97,@)%LP72P@8V%U2!S96YS:71I=F4@=&\@=&AI2!W:71H(&5X:7-T:6YG($UA:V5F:6QE M2!W:71H(&]L9"!T:&ER9"UP87)T>2!M M86-R;W,L('=E('!R;W9I9&4*(R!T:&4@&4@?'P*("`@ M("`@87-?;&Y?&5C=71A8FQE7W`]87-?9FY?97AE8W5T86)L M95]P"@HC(%-E9"!E>'!R97-S:6]N('1O(&UA<"!A('-T'!R97-S:6]N('1O(&UA<"!A('-T7R1A7!EF5D M7W-E<#T*(R!4:&4@=F%R:6%B;&5S(&AA=F4@=&AE('-A;64@;F%M97,@87,@ M=&AE(&]P=&EO;G,L('=I=&@*(R!D87-H97,@8VAA;F=E9"!T;R!U;F1E&5C7W!R969I>#U.3TY%"FYO M7V-R96%T93T*;F]?#U.3TY%"G!R;V=R86U?"P*W!R969I>'TO M8V]M)PIL;V-A;'-T871E9&ER/2W!R969I>'TO=F%R)PIR=6YS=&%T961I MV1O8V1IV1O8V1I&5C7W!R969I>'TO;&EB)PIL;V-A M;&5D:7(])R1[9&%T87)O;W1D:7)]+VQO8V%L92<*;6%N9&ER/2V1A=&%R M;V]T9&ER?2]M86XG"@IA8U]P'!R(")8)&%C7V]P=&EO;B(@.B`G6UX]72H] M7"@N*EPI)V`@.SL*("`J/2D@("!A8U]O<'1A'!R(")X M)&%C7W5S97)O<'0B(#H@(BXJ6UXM*RY?)&%S7V-R7V%L;G5M72(@/B]D978O M;G5L;"`F)@H@("`@("!AF5D7V]P=',](B1A8U]U;G)E8V]G M;FEZ961?;W!TF5D7W-E<#TG+"`G.SL*("`@ M(&5S86,*("`@(&5V86P@96YA8FQE7R1A8U]U'!R(")X)&%C7V]P=&EO;B(@.B`G>"TJ96YA8FQE+5PH6UX]72I<*2=@ M"B`@("`C(%)E:F5C="!N86UE'!R(")X)&%C7W5S97)O<'0B(#H@(BXJ M6UXM*RY?)&%S7V-R7V%L;G5M72(@/B]D978O;G5L;"`F)@H@("`@("!AF5D7V]P=',](B1A8U]U;G)E8V]G;FEZ961?;W!T&5C7W!R969I>"!\("TM97AE8RUP&5C+7!R968@?"`M+65X96,M<')E('P@+2UE>&5C+7!R M('P@+2UE>&5C+7`@?"`M+65X96,M(%P*("!\("TM97AE8R!\("TM97AE('P@ M+2UE>"D*("`@(&%C7W!R978]97AE8U]P&5C/2H@?"`M+65X93TJ('P@+2UE>#TJ*0H@("`@97AE8U]P&5C9&ER('P@+2UL:6)E>&5C M9&ER('P@+2UL:6)E>&5C9&D@?"`M+6QI8F5X96-D('P@+2UL:6)E>&5C(%P* M("!\("TM;&EB97AE('P@+2UL:6)E>"!\("TM;&EB92D*("`@(&%C7W!R978] M;&EB97AE8V1I&5C9&ER/2H@?"`M+6QI8F5X96-D:7(] M*B!\("TM;&EB97AE8V1I/2H@?"`M+6QI8F5X96-D/2H@?"`M+6QI8F5X96,] M*B!<"B`@?"`M+6QI8F5X93TJ('P@+2UL:6)E>#TJ('P@+2UL:6)E/2HI"B`@ M("!L:6)E>&5C9&ER/21A8U]O<'1A65S(#L["@H@("UO;&1I;F-L M=61E9&ER('P@+2UO;&1I;F-L=61E9&ER('P@+2UO;&1I;F-L=61E9&D@?"`M M+6]L9&EN8VQU9&5D(%P*("!\("TM;VQD:6YC;'5D92!\("TM;VQD:6YC;'5D M('P@+2UO;&1I;F-L=2!\("TM;VQD:6YC;"!\("TM;VQD:6YC(%P*("!\("TM M;VQD:6X@?"`M+6]L9&D@?"`M+6]L9"!\("TM;VP@?"`M+6\I"B`@("!A8U]P M#TJ('P@+2UP"`[.PH@("UP#TJ('P@+2UP#TJ('P@+2UP"!\ M("TM<')O9W)A;2US=69F:2!\("TM<')O9W)A;2US=69F(%P*("!\("TM<')O M9W)A;2US=68@?"`M+7!R;V=R86TM#TD M86-?;W!T87)G(#L["@H@("UP65S(#L["@H@("UR=6YS=&%T961I7-C;VYF9&ER('P@+2US>7-C;VYF9&ER M('P@+2US>7-C;VYF9&D@?"`M+7-Y7-C;VYF(%P*("!\ M("TM7-C;R!\("TM2D* M("`@(&%C7W!R978]7-C;VYF9&ER/2H@?"`M M+7-Y7-C;STJ('P@ M+2US>7-C/2H@?"`M+7-Y3TJ*0H@("`@"1A8U]O<'1I;VXB(#H@)W@M*G=I=&@M7"A;7CU= M*EPI)V`*("`@(",@4F5J96-T(&YA;65S('1H870@87)E(&YO="!V86QI9"!S M:&5L;"!V87)I86)L92!N86UEF5D7V]P=',](B1A8U]U;G)E8V]G;FEZ961?;W!TF5D7W-E<#TG+"`G.SL*("`@(&5S86,*("`@(&5V86P@=VET M:%\D86-?=7-E'!R(")X)&%C7V]P=&EO M;B(@.B`G>"TJ=VET:&]U="U<*"XJ7"DG8`H@("`@(R!296IE8W0@;F%M97,@ M=&AA="!A"1A8U]U+2LN7R1A"D*("`@(",@3V)S;VQE=&4[('5S92`M+7=I=&@M>"X*("`@('=I=&A? M>#UY97,@.SL*"B`@+7@M:6YC;'5D97,@?"`M+7@M:6YC;'5D97,@?"`M+7@M M:6YC;'5D92!\("TM>"UI;F-L=60@?"`M+7@M:6YC;'4@7`H@('P@+2UX+6EN M8VP@?"`M+7@M:6YC('P@+2UX+6EN('P@+2UX+6DI"B`@("!A8U]P"UI;F-L=61E"UI;F,]*B!\("TM>"UI;CTJ('P@+2UX M+6D]*BD*("`@('A?:6YC;'5D97,])&%C7V]P=&%R9R`[.PH*("`M>"UL:6)R M87)I97,@?"`M+7@M;&EB"UL:6)R82!\("TM>"UL:6)R M('P@+2UX+6QI8B!\("TM>"UL:2!\("TM>"UL*0H@("`@86-?<')E=CUX7VQI M8G)A"UL M:6)R87(]*B!\("TM>"UL:6)R83TJ('P@+2UX+6QI8G(]*B!\("TM>"UL:6(] M*B!\("TM>"UL:3TJ('P@+2UX+6P]*BD*("`@('A?;&EB2!<8"0P("TM:&5L<"<@9F]R(&UO M'!O+2Y?)&%S7V-R7V%L;G5M72(@/B]D978O;G5L;"`F)@H@("`@ M("!PF5D(&]P=&EO;G,Z("1A8U]U;G)E8V]G M;FEZ961?;W!TF5D7V]P=',B(#XF,B`[.PH@(&5S86,*9FD*"B,@0VAE8VL@86QL(&1I M2!A"!B:6YD:7(@&5C M9&ER(&1A=&%R;V]T9&ER(%P*"0ED871A9&ER('-Y+UU<*2<@7'P@(E@D M86-?=F%L(B`Z("=87"@N*EPI)V`*("`@("`@979A;"`D86-?=F%R/5PD86-? M=F%L.SL*("!E2!N86UE(&9O2X*8G5I;&0])&)U:6QD7V%L:6%S"FAO2X* M:68@=&5S="`B>"1H;W-T7V%L:6%S(B`A/2!X.R!T:&5N"B`@:68@=&5S="`B M>"1B=6EL9%]A;&EA65S"B`@9FD*9FD* M"F%C7W1O;VQ?<')E9FEX/0IT97-T("UN("(D:&]S=%]A;&EA&5C(#8^+V1E=B]N=6QL"@H*86-?<'=D/6!P=V1@("8F('1EB`B M)'-R8V1I2X*("!A8U]C;VYF9&ER/6`D87-?9&ER M;F%M92`M+2`B)&%S7VUY+UU<*2\O*EM>+UU;7B]=*B\J)"<@7'P@7`H)(%@B)&%S M7VUY+UTG(%Q\(%P*"2!8(B1A7-E;&8B M(#H@)UA<*"\O7"DD)R!7-E M;&8B('P*("`@('-E9"`G+UY87"@N*EM>+UU<*5PO7"\J6UXO75M>+UTJ7"\J M)"]["@D@("`@6%PH7"]<+UPI6UXO M72XJ+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@+UY87"A<+UPO7"DD M+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@+UY87"A<+UPI+BHO>PH) M("`@(',O+UPQ+PH)("`@('$*"2`@?0H)("!S+RXJ+RXO.R!Q)V`*("!S+UU<*2<@7'P@(E@DV%C7W9A2!K:6YD7-T96US+@H*57-A9V4Z("0P(%M/4%1)3TY=+BXN(%M605(]5D%,545=+BXN M"@I4;R!A2!T:&5M(&%S"E9!4CU604Q512X@(%-E92!B M96QO=R!F;W(@9&5S8W)I<'1I;VYS(&]F('-O;64@;V8@=&AE('5S969U;"!V M87)I86)L97,N"@I$969A=6QT2!T:&ES(&AE;'`@86YD(&5X:70*("`@ M("`@+2UH96QP/7-H;W)T("`@("`@("!D:7-P;&%Y(&]P=&EO;G,@2!T:&4@2!V97)S M:6]N(&EN9F]R;6%T:6]N(&%N9"!E>&ET"B`@+7$L("TM<75I970L("TM%T* M("`M+65X96,M<')E9FEX/4504D5&25@@("!I;G-T86QL(&%R8VAI=&5C='5R M92UD97!E;F1E;G0@9FEL97,@:6X@15!2149)6`H@("`@("`@("`@("`@("`@ M("`@("`@("`@(%M04D5&25A="@I">2!D969A=6QT+"!<8&UA:V4@:6YS=&%L M;"<@=VEL;"!I;G-T86QL(&%L;"!T:&4@9FEL97,@:6X*7&`D86-?9&5F875L M=%]P"!O=&AE M7-T96T@861M:6X@97AE M8W5T86)L97,@6T504D5&25@O7-C;VYF9&ER/41)4B`@("`@("`@2!A6]U(&AA=F4@;&EB"1A8U]D:7(B(#T@>#H@ M)B8@8V]N=&EN=64*("`@('1E#T@86-?=&]P7V)U:6QD9&ER7W-U8CTN(&%C7W1O<%]B=6EL9%]P#TO8'!R:6YT9B`B)7-<;B(@(B1A8U]D M:7(B('P@2!I;B`D86-?9&ER7W-U9F9I>"X*("!A8U]T;W!?8G5I;&1D M:7)?"(@?"!S960@ M)W-\+UM>7%PO72I\+RXN?&<[`H*8V%S92`D M`H*("`@(&-D("(D M86-?9&ER(B!\?"![(&%C7W-T871U2P@9&ES=')I8G5T92!A;F0@;6]D:69Y M(&ET+@I?04-%3T8*("!E>&ET"F9I"@HC(R`M+2TM+2TM+2TM+2TM+2TM+2TM M+2TM+2T@(R,*(R,@075T;V-O;F8@:6YI=&EA;&EZ871I;VXN(",C"B,C("TM M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2`C(PH*(R!A8U]F;E]C7W1R>5]C;VUP M:6QE($Q)3D5.3PHC("TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM"B,@5')Y M('1O(&-O;7!I;&4@8V]N9G1E5]C;VUP:6QE("@I"GL* M("!AR![(&%C7W1R M>3TB)&%C7V-O;7!I;&4B"F-A2(@:6X*("`J7"(J('P@ M*EQ@*B!\("I<7"HI(&%C7W1R>5]E8VAO/5PD86-?=')Y.SL*("`J*2!A8U]T M5]E8VAO/2)<(EPD M87-?;64Z)'MA'0@/B8U"@H)86-?PH@(&%S7VQI;F5N;STD M>V%S7VQI;F5N;RTB)#$B?2!AV%S7VQI M;F5N;RTD3$E.14Y/?3H@)&%C7W1R>5]E8VAO7"(B"G!R:6YT9B`B)7-<;B(@ M(B1A8U]TPH)('1E'A?=V5R'0*=&AE;B`Z"B`@86-?R!P'0* M+RH@96YD(&-O;F9D969S+F@N("`J+PHD-`HC:6YC;'5D92`\)#(^"E]!0T5/ M1@II9B!A8U]F;E]C7W1R>5]C;VUP:6QE("(D3$E.14Y/(@IT:&5N(#H*("!E M=F%L("(D,SUY97,B"F5LR!P2!T;R!L M:6YK(&-O;F9T97-T+B1A8U]E>'0L(&%N9"!R971U'0@8V]N9G1E&5E>'0*("!I9B![ M('L@86-?=')Y/2(D86-?;&EN:R(*8V%S92`B*"@D86-?=')Y(B!I;@H@("I< M(BH@?"`J7&`J('P@*EQ<*BD@86-?=')Y7V5C:&\]7"1A8U]T5]E8VAO/21A8U]TV%S7VQI;F5N;RTD3$E.14Y/?3H@)&%C7W1R>5]E8VAO M7"(B"G!R:6YT9B`B)7-<;B(@(B1A8U]TPH)('1E&5E>'0@)B8@>PH)('1E65S('Q\"@D@=&5S="`M>"!C;VYF=&5S="1A8U]E>&5E M>'0*("`@("`@('T*=&AE;B`Z"B`@86-?F%T:6]N*2!I;F9O2!T:&4@4$=)(&-O;7!I;&5R("AC;VYF=&5S=%]I<&$X M7V-O;F9T97-T+F]O*2P@87,@:70@=V]U;&0*("`C(&EN=&5R9F5R92!W:71H M('1H92!N97AT(&QI;FL@8V]M;6%N9#L@86QS;R!D96QE=&4@82!D:7)E8W1O MV%S7VQI;F5N;U]S=&%C M:SHK.GT@=6YS970@87-?;&EN96YO"B`@87-?9FY?&ES=',L('-E M='1I;F<@=&AE(&-A8VAE('9A0IA8U]F M;E]C7V-H96-K7V9U;F,@*"D*>PH@(&%S7VQI;F5N;STD>V%S7VQI;F5N;RTB M)#$B?2!AV%S7VQI;F5N M;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("0R(B`^)C4*<')I;G1F("5S(")C M:&5C:VEN9R!F;W(@)#(N+BX@(B`^)C8[('T*:68@979A;"!T97-T(%PD>R0S M*WE]"G1H96X@.@H@('!R:6YT9B`E7!E2!' M0T,@:6YT97)N86P@<')O=&]T>7!E('1O(&%V;VED(&%N(&5R7!E('=O=6QD('-T:6QL(&%P<&QY+B`@*B\*(VEF9&5F(%]?8W!L M=7-P;'5S"F5X=&5R;B`B0R(*(V5N9&EF"F-H87(@)#(@*"D["B\J(%1H92!' M3E4@0R!L:6)R87)Y(&1E9FEN97,@=&AI)&%C7W5N M)&%C7W5N&5C(#4^/F-O;F9I9RYL M;V<*>PIC870@/#Q?05-53D%-10HC(R`M+2TM+2TM+2T@(R,*(R,@4&QA=&9O M'0]9F%L&ET)V0L(&-L96%N=7`@ M=&5M<&]R87)Y(&9I;&5S+"!A;F0@8V]M<&QE=&4*(R!C;VYF:6R!P&ET("1E>&ET7W-T871U"(@(3T@ M>$Y/3D4[('1H96X*("!A8U]S:71E7V9I;&5S/2(D<')E9FEX+W-H87)E+V-O M;F9I9RYS:71E("1P"]E=&,O8V]N9FEG+G-I=&4B"F9I"@IF M;W(@86-?R!PR!P2DL('-O('=E(&%V;VED(&1O:6YG('1H870N("!$2D=0 M4"!E;75L871ER!PV%S M7VQI;F5N;RTD3$E.14Y/?3H@8W)E871I;F<@8V%C:&4@)&-A8VAE7V9I;&4B M(#XF-0IPPH@(')E='5R;B!P6VE=.PI]"G-T871I M8R!C:&%R("IF("AC:&%R("H@*"IG*2`H8VAAPH@(&-H87(@*G,["B`@=F%?;&ES="!V.PH@('9A7W-T87)T M("AV+'`I.PH@(',@/2!G("AP+"!V85]A7!E2P@:6YS=&5A9"!AF4@870@;&5A M#`P)UPG)R`]/2`P(#\@,2`Z M("TQ73L*"B\J($E"32!#(#8@9F]R($%)6"!I2!D M969A=6QT+"!B=70@:70@&QC-E]C8U]A5M&3T\H M82D@/3T@)UPG)W@G7"PH@(&EN="!X(#T@,3(S-#L*("!I;G0@>2`] M(#4V-S@["B`@9&5B=6<@*")&;&%G(BD["B`@9&5B=6<@*")8(#T@)61<;B(L M('@I.PH@('-H;W=L:7-T("A4:&4@9FER"P@>2D["GT*"B\O($-H96-K(&QO;F<@;&]N9R!T>7!EF4["B`@9&]U8FQE(&1A M=&%;73L*?3L*"G-T7!E9&5F(&-O;G-T(&-H87(@*F-C<#L*"G-T871I8R!I;FQI;F4@:6YT"G1E M'0K:2D@(3T@)UPG)UPP)UPG)SL@ M*RMI*0H@("`@8V]N=&EN=64["B`@2`H87)GPH@("`@("!S=VET8V@@*"IF M;W)M870K*RD*"7L*"6-A2P@:6YT*3L*"2`@8G)E86L["@EC87-E("=<)R=F)UPG)SH@ M+R\@9FQO870*"2`@9FYU;6)E2!M96UB97)S+@H@('-TF5O9B`HF5O9B`H9&]U8FQE*2`J(#$P*2D["B`@:6$M M/F1A=&%S:7IE(#T@,3`["B`@9F]R("AI;G0@:2`](#`[(&D@/"!I82T^9&%T M87-I>F4[("LK:2D*("`@(&EA+3YD871A6VE=(#T@:2`J(#$N,C,T.PH*("`O M+R!#:&5C:R!N86UE9"!I;FET:6%L:7IE6YA;6EC7V%R6YA;6EC7V%R#L*("!?4W1A=&EC7V%SF5O9B`H;&]N9R!I;G0I+`H@("`@("`@("`@("`@("`@("`B7U-T871I M8U]A7!E9&5F6UO=7,@R!I;G0@:3L@ M:6YT(&H[('T["B`@("!S=')U8W0@>R!I;G0@:SL@;&]N9R!I;G0@;#L@?2!W M.PH@('T["B`@:6YT(&T["GT@=C$["B<*"B,@5&5S="!C;V1E(&9O2!O9B!M86EN M*2X*86-?8U]C;VYF=&5S=%]C,3%?;6%I;CTG"B`@7U-T871I8U]AV%C7V-?8V]N9G1EV%C7V-?8V]N9G1EV%C7V-?8V]N9G1EV%C7V-?8V]N9G1EPH@(&EN="!O:R`](#`["B`@)'MA8U]C M7V-O;F9T97-T7V,X.5]M86EN?0H@(')E='5R;B!O:SL*?0HB"@HC(%1E'A?8V]N9G1E&5D(&AE861E&-E<'1I;VX^"@HO+R`\8V%S M"@I"GL* M("!TPH@("`@=&AR;W<@(G1E'!L:6-I="!T97-T7W1E;7!L M871E*%0@="D@.B!V86PH="D@>WT*("!T96UP;&%T92`\='EP96YA;64@53X@ M5"!A9&0H52!U*2![(')E='5R;B!S=&%T:6-?8V%S=#Q4/BAU*2`K('9A;#L@ M?0I].PH*?2`O+R!A;F]N>6UO=7,@;F%M97-P86-E"B<*"B,@5&5S="!C;V1E M(&9O#DX7VUA:6X])PH@ M(&%S&-E<'1I;VY?'A?8V]N9G1E#$Q=&5S=`I["B`@8V]N'!R(&EN="!G971?=F%L*"D@>R!R971U MPH@("`@:6YT(&D["B`@ M("!D;W5B;&4@9#L*("!].PH*("!C;&%SWT*("`@('9IPH@('!U8FQI8SH*("`@(&YO8V]P>2AI;G0@:2DZ(&DH:2D@>WT* M("`@(&YO8V]P>2@I(#T@9&5F875L=#L*("`@(&YO8V]P>2AC;VYS="!N;V-O M<'DF*2`](&1E;&5T93L*("`@(&YO8V]P>2`F(&]P97)A=&]R/2AC;VYS="!N M;V-O<'DF*2`](&1E;&5T93L*("!P2!O9B!M M86EN*0IA8U]C>'A?8V]N9G1E7!E"B`@875T;R!A,2`](#8U,S@["B`@875T;R!A M,B`](#0X-3R!T;W1A;"`K/2`J:3L@?0H*("!D96-L='EP92AA,BD@830@/2`S-#@Y M-2XP,S0["GT*>PH@("\O(%1E'!R"B`@R`P('T["GT*>PH@("\O(%1E'@Q,71ER`T M,S(S+"`T,S4R,S0N,C,U-#0@?3L*?0I["B`@+R\@5&5S="!R86YG92UB87-E M9"!F;W(*("!I;G0@87)R87E;72`]('LY+"`W+"`Q,RP@,34L(#0L(#$X+"`Q M,BP@,3`L(#4L(#,L"B`@("`@("`@("`@("`@("`@,30L(#$Y+"`Q-RP@."P@ M-BP@,C`L(#$V+"`R+"`Q,2P@,7T["B`@9F]R("AA=71O("9X(#H@87)R87DI M('L@>"`K/2`R,SL@?0I]"GL*("`O+R!497-T(&QA;6)D82!E>'!R97-S:6]N M#$Q=&5S=#HZ979A;#L*("!A#L@?2P@,RXP*2`]/2`U+C`I.PH@(&%S#L@?2P@-"XP*2`]/2`Y+C`I.PH@(&%S'@Q,71E'@Q,71EPH@ M("\O(%1E#$Q7W!R;V=R86T](B1[86-?8WAX7V-O;F9T97-T M7V-X>#DX7V=L;V)A;'-]"B1[86-?8WAX7V-O;F9T97-T7V-X>#$Q7V=L;V)A M;'-]"@II;G0*;6%I;B`H:6YT(&%R9V,L(&-H87(@*BIAV%C7V-X>%]C;VYF=&5S=%]C>'@Y.%]M86EN?0H@("1[ M86-?8WAX7V-O;F9T97-T7V-X>#$Q7VUA:6Y]"B`@%]C;VYF=&5S=%]C>'@Y.%]P MV%C7V-X>%]C;VYF=&5S=%]C>'@Y.%]G;&]B86QS?0II;G0* M;6%I;B`H:6YT(&%R9V,L(&-H87(@*BIAV%C7V-X>%]C;VYF=&5S=%]C>'@Y.%]M86EN?0H@(')E='5R;B!O:SL* M?0HB"@IAV%C7W9A"1A8U]O;&1? M=F%L(B`A/2`B>"1A8U]N97=?=F%L(CL@=&AE;@H)(R!D:69F97)E;F-E"`D86-?;VQD7W9A;&`*"6%C7VYE=U]V86Q?=SU@96-H M;R!X("1A8U]N97=?=F%L8`H):68@=&5S="`B)&%C7V]L9%]V86Q?=R(@(3T@ M(B1A8U]N97=?=F%L7WV%S M7VQI;F5N;RTD3$E.14Y/?3H@("!F;W)M97(@=F%L=64Z("!<8"1A8U]O;&1? M=F%L)R(@/B8U"G!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N M;RTD3$E.14Y/?3H@97)R;W(Z(&EN(%Q@)&%C7W!W9"R!P'0@/B8U)PIA8U]L:6YK/2'0@)$Q)0E,@/B8U)PIA8U]C;VUP:6QE M'0]8PIA8U]C<'`])R1#4%`@)$-04$9,04=3)PIA8U]C;VUP:6QE/2&5E>'0@)$-&3$%'4R`D M0U!01DQ!1U,@)$Q$1DQ!1U,@8V]N9G1E'UG8V,B+"!S;R!I="!C M86X@8F4@82!P'UG8V,[(&%C7W=OR!P&5C7V5X M="!I;B`G)R`D86-?97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S M7V9N7V5X96-U=&%B;&5?<"`B)&%S7V1I'UG M8V,B"B`@("!P&5C7V5X="(@/B8U M"B`@("!BV%S7VQI M;F5N;RTD3$E.14Y/?3H@&5C7V5X="!I;B`G)R`D86-?97AE M8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B;&5? M<"`B)&%S7V1I'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D M;VYE"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@ MR!P#L@=&AE;@H@("`@0T,](B(*("!E;'-E"B`@("!C87-E("1C'UC8SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S M7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4* M<')I;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?0T,K>7T*=&AE;B`Z"B`@<')I;G1F("5S M("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A M8U]C=E]PV%C7W1O;VQ?<')E9FEX?6-C(@H@("`@<')I;G1F M("(E'0B(#XF-0H@("`@8G)E86L@,@H@ M(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@R!P'1R86-T M('1H92!F:7)S="!W;W)D(&]F(")C8R(L('-O(&ET(&-A;B!B92!A('!R;V=R M86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2!C8SL@86-?=V]R9#TD,@I[ M('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@ M8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN M9R!F;W(@)&%C7W=OV%C7V-V7W!R M;V=?0T,K>7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE M;'-E("1A&5C7V5X="!I;B`G)R`D M86-?97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U M=&%B;&5?<"`B)&%S7V1I65S M"B`@("`@("!C;VYT:6YU90H@("`@(&9I"B`@("!A8U]C=E]PV%S7VQI;F5N;RTD3$E. M14Y/?3H@9F]U;F0@)&%S7V1I65S.R!T:&5N"B`@(R!7 M92!F;W5N9"!A(&)O9V]N(&EN('1H92!P871H+"!S;R!M86ME('-U2`D86-?8W9?<')O9U]#0PH@('-H M:69T"B`@:68@=&5S="`D(R`A/2`P.R!T:&5N"B`@("`C(%=E(&-H;W-E(&$@ M9&EF9F5R96YT(&-O;7!I;&5R(&9R;VT@=&AE(&)O9W5S(&]N92X*("`@(",@ M2&]W979EV%S7VQI;F5N;RTD3$E.14Y/?3H@"1A8U]P"1A8U]P'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N M&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?0T,](B1A8U]T M;V]L7W!R969I>"1A8U]P'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE M"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@R!P&4*9&\* M("`C($5X=')A8W0@=&AE(&9I'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS M:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?86-?8W1? M0T,](B1A8U]P'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD M87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@R!P"1A8U]C=%]#0R(@/2!X.R!T:&5N"B`@("!#0STB M(@H@(&5L65S.BD*>R!P&5D('=I=&@@:&]S="!T'1R86-T('1H92!F:7)S="!W;W)D(&]F("(D M>V%C7W1O;VQ?<')E9FEX?6-L86YG(BP@R!P&5C7V5X="!I;B`G)R`D86-? M97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B M;&5?<"`B)&%S7V1I'UC;&%N9R(*("`@('!R M:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U M;F0@)&%S7V1IR!P MR!P&5C7V5X="!I;B`G)R`D86-?97AE8W5T86)L M95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B;&5?<"`B)&%S M7V1I&5C7V5X="(@/B8U"B`@("!BV%S7VQI M;F5N;RTD3$E.14Y/?3H@"1A8U]C=%]#0R(@/2!X.R!T M:&5N"B`@("!#0STB(@H@(&5L65S.BD*>R!P&5D('=I=&@@:&]S="!TB`B)$-#(B`F)B![('L@<')I;G1F("(ER!A8U]TV%S7VQI;F5N;RTD3$E.14Y/?3H@)&%C7W1R>5]E8VAO7"(B"G!R:6YT M9B`B)7-<;B(@(B1A8U]T&5C=71A8FQE('=I M=&AO=70@+6\@9FER(%TJ+R\G8`H*(R!4:&4@<&]S3L["F5S86,*979A;"!A8U]T5]E8VAO(CL@?2`^)C4*("`H979A;"`B)&%C7VQI;FM? M9&5F875L="(I(#(^)C4*("!A8U]S=&%T=7,])#\*("!P&-O9F8@?"`J+G1D&5E>'0])R<@:7,@;6]S=`H)(R!C97)T86EN;'D@V%C7V-V7V5X965X="MY?2`F)B!T97-T M("(D86-?8W9?97AE97AT(B`A/2!N;SL*"71H96X@.CL@96QS90H)("`@86-? M8W9?97AE97AT/6!E>'!R("(D86-?9FEL92(@.B`G6UXN72I<*%PN+BI<*2=@ M"@EF:0H)(R!792!S970@86-?8W9?97AE97AT(&AE2!N965D('1O(&MN;W<@:70@870@=&AA M="!P;VEN="!A;')E861Y+@H)(R!%=F5N(&EF('1H:7,@&5E>'0] M"@IE;'-E("1AV%S M7VQI;F5N;RTD3$E.14Y/?3H@R![('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N M;RTD3$E.14Y/?3H@97)R;W(Z(&EN(%Q@)&%C7W!W9"R!P65S(B`^ M)C4*<')I;G1F("(E65S(B`^)C8[('T*9FD*>R!P&5E>'0] M)&%C7V-V7V5X965X=`H*&5E>'0@8BYO=70*86-?8VQE86Y?9FEL97,] M)&%C7V-L96%N7V9I;&5S7W-A=F4*>R!PR![(&%C7W1R>3TB M)&%C7VQI;FLB"F-A2(@:6X*("`J7"(J('P@*EQ@*B!\ M("I<7"HI(&%C7W1R>5]E8VAO/5PD86-?=')Y.SL*("`J*2!A8U]T&4G(&%N9"!@8V]N9G1E6=W:6XL(&!L&4G M*2P@=VAI;&4@:70@=V]N)W0@=VET:`HC(&!R;2&-O9F8@?"`J+G1D+ETJ7"A<+BXJ7"DG8`H)("!B&5C=71A8FQE M&5E>'0B(#XF-0IP'0*15A%15A4/21A8U]C=E]E>&5E M>'0*86-?97AE97AT/21%6$5%6%0*8V%T(&-O;F9D969S+F@@+2`\/%]!0T5/ M1B`^8V]N9G1EPI&24Q%("IF(#T@ M9F]P96X@*")C;VYF=&5S="YO=70B+"`B=R(I.PH@V%S7VQI;F5N;RTD3$E.14Y/?3H@)&%C M7W1R>5]E8VAO7"(B"G!R:6YT9B`B)7-<;B(@(B1A8U]TV%S7VQI;F5N;RTD3$E.14Y/?3H@ M7"0_(#T@)&%C7W-T871UV%S7VQI M;F5N;RTD3$E.14Y/?3H@)&%C7W1R>5]E8VAO7"(B"G!R:6YT9B`B)7-<;B(@ M(B1A8U]T6)E.R!T:&5N"@EC65S"B`@("!E;'-E"@E[ M('L@<')I;G1F("(E6]U M(&UE86YT('1O(&-R;W-S(&-O;7!I;&4L('5S92!<8"TM:&]S="'0@8V]N9G1EV%S7VQI;F5N;RTD3$E.14Y/ M?3H@8VAE8VMI;F<@9F]R('-U9F9I>"!O9B!O8FIE8W0@9FEL97,B(#XF-0IP M'0K>7T*=&AE;B`Z M"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A2(@:6X*("`J7"(J('P@*EQ@*B!\("I<7"HI(&%C7W1R>5]E8VAO/5PD M86-?=')Y.SL*("`J*2!A8U]T5]E8VAO/2)<(EPD87-?;64Z)'MA'0@/B8U"@I[ M('L@<')I;G1F("(E'0@8V]N9G1EV%S7VQI;F5N;RTD3$E.14Y/?3H@V%C7V-V7V-? M8V]M<&EL97)?9VYU*WE]"G1H96X@.@H@('!R:6YT9B`EPHC:69N9&5F(%]?1TY50U]?"B`@("`@("!C:&]K M92!M90HC96YD:68*"B`@.PH@(')E='5R;B`P.PI]"E]!0T5/1@II9B!A8U]F M;E]C7W1R>5]C;VUP:6QE("(D3$E.14Y/(@IT:&5N(#H*("!A8U]C;VUP:6QE M65S"F5LV%S7VQI;F5N;RTD3$E.14Y/?3H@65S"F5LR!PPH*("`["B`@ M'0*+RH@96YD(&-O;F9D969S+F@N("`J+PH* M:6YT"FUA:6X@*'9O:60I"GL*"B`@.PH@(')E='5R;B`P.PI]"E]!0T5/1@II M9B!A8U]F;E]C7W1R>5]C;VUP:6QE("(D3$E.14Y/(@IT:&5N(#H*"F5LPH*("`["B`@'0*9FD*65S.R!T:&5N"B`@:68@=&5S="`B)$=#0R(@/2!Y97,[('1H96X*("`@($-& M3$%'4STB+6<@+4\R(@H@(&5L65S.R!T:&5N"B`@("!#1DQ!1U,](BU/ M,B(*("!E;'-E"B`@("!#1DQ!1U,]"B`@9FD*9FD*86-?<')O9U]C8U]S=&1C M/6YO"FEF('1E"1A8U]PR!PV%C M7V-V7W!R;V=?8V-?8S$Q*WE]"G1H96X@.@H@('!R:6YT9B`E5]C;VUP:6QE("(D3$E.14Y/(@IT:&5N(#H*("!A8U]C=E]P M'0@8V]N9G1ER!P`IT:&5N(#H*("![('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@R!P&YO"G1H96X@ M.@H@('L@<')I;G1F("(E'0*+RH@96YD(&-O;F9D969S+F@N("`J+PHD86-? M8U]C;VYF=&5S=%]C.3E?<')O9W)A;0I?04-%3T8*9F]R(&%C7V%R9R!I;B`G M)R`M"`M M<6QA;F=L=FP]97AT8SDY("U!0SDY("U$7U-41$-?0SDY/0ID;PH@($-#/2(D M86-?"1A8U]C=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@"1A8U]C=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@"1A M8U]PR!PV%C7V-V7W!R;V=?8V-?8S@Y M*WE]"G1H96X@.@H@('!R:6YT9B`E'1C.#D@ M+7%L86YG;'9L/6%NV%S7VQI;F5N;RTD M3$E.14Y/?3H@V%S7VQI;F5N;RTD3$E.14Y/?3H@'0]8PIA8U]C<'`])R1#4%`@ M)$-04$9,04=3)PIA8U]C;VUP:6QE/2&5E>'0@)$-&3$%'4R`D0U!01DQ!1U,@)$Q$1DQ!1U,@8V]N M9G1E'0@/B8U)PIA8U]L:6YK/2'0@)$Q)0E,@/B8U)PIA8U]C;VUP M:6QE%]C;VUP:6QEB`B M)$-86"([('1H96X*("!I9B!T97-T("UN("(D0T-#(CL@=&AE;@H@("`@0UA8 M/21#0T,*("!E;'-E"B`@("!I9B!T97-T("UN("(D86-?=&]O;%]P"!C8RLK(&-L+F5X92!&0T,@2T-#(%)#0R!X;$-?"1A8U]P"1A8U]P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H M8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A M8U]C=E]P&5C7V5X="(@/B8U"B`@("!BB`B)$-86"([('1H96X*("!A8U]C=%]#6%@])$-8 M6`H@(&9O'@@8V,K M*R!C;"YE>&4@1D-#($M#0R!20T,@>&Q#7W(@>&Q#(&-L86YG*RL*9&\*("`C M($5X=')A8W0@=&AE(&9I7T*=&AE;B`Z"B`@ M<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N M'0B.R!T:&5N"B`@("!A8U]C=E]P&5C7V5X="(@/B8U"B`@("!B5]E8VAO/5PD86-?=')Y.SL*("`J*2!A8U]T5]E8VAO/2)<(EPD87-?;64Z)'MAV%S7VQI;F5N;RTD M3$E.14Y/?3H@7"0_(#T@)&%C7W-T871UV%S M7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@=VAE=&AE'0* M+RH@96YD(&-O;F9D969S+F@N("`J+PH*:6YT"FUA:6X@*'9O:60I"GL*(VEF M;F1E9B!?7T=.54-?7PH@("`@("`@8VAO:V4@;64*(V5N9&EF"@H@(#L*("!R M971U5]C;VUP:6QE("(D M3$E.14Y/(@IT:&5N(#H*("!A8U]C;VUP:6QE65S"F5L'A?8V]M<&EL97)?9VYU/21A8U]C;VUP M:6QE'A?8V]M<&EL97)?9VYU M(B`^)C4*<')I;G1F("(E%]C;VUP:6QE%]C;VUP:6QET-86$9, M04=3*WE]"F%C7W-A=F5?0UA81DQ!1U,])$-86$9,04=3"GL@<')I;G1F("(E M%]W97)R M;W)?9FQA9STD86-?8WAX7W=E%]W97)R;W)? M9FQA9SUY97,*("`@86-?8W9?<')O9U]C>'A?9SUN;PH@("!#6%A&3$%'4STB M+6'0*+RH@96YD(&-O;F9D969S+F@N("`J+PH*:6YT"FUA:6X@*'9O:60I M"GL*"B`@.PH@(')E='5R;B`P.PI]"E]!0T5/1@II9B!A8U]F;E]C>'A?=')Y M7V-O;7!I;&4@(B1,24Y%3D\B"G1H96X@.@H@(&%C7V-V7W!R;V=?8WAX7V<] M>65S"F5L'0*+RH@96YD(&-O M;F9D969S+F@N("`J+PH*:6YT"FUA:6X@*'9O:60I"GL*"B`@.PH@(')E='5R M;B`P.PI]"E]!0T5/1@II9B!A8U]F;E]C>'A?=')Y7V-O;7!I;&4@(B1,24Y% M3D\B"G1H96X@.@H*96QS92`D87-?;F]P"B`@86-?8WAX7W=E%]W97)R;W)?9FQA9PH)($-86$9,04=3/2(M9R(*"2!C M870@8V]N9F1E9G,N:"`M(#P\7T%#14]&(#YC;VYF=&5S="XD86-?97AT"B\J M(&5N9"!C;VYF9&5F5]C;VUP:6QE M("(D3$E.14Y/(@IT:&5N(#H*("!A8U]C=E]P%]G/7EE'A?=V5R%]G(B`^)C4*<')I M;G1F("(E%]G(#T@>65S.R!T M:&5N"B`@:68@=&5S="`B)$=86"(@/2!Y97,[('1H96X*("`@($-86$9,04=3 M/2(M9R`M3S(B"B`@96QS90H@("`@0UA81DQ!1U,](BUG(@H@(&9I"F5L%]S M=&1C>'@];F\*:68@=&5S="!X)&%C7W!R;V=?8WAX7W-T9&-X>"`]('AN;PIT M:&5N(#H*("![('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD M3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1#6%@@;W!T:6]N('1O(&5N86)L92!# M*RLQ,2!F96%T=7)E'A?,3$K>7T*=&AE;B`Z"B`@<')I M;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A%\Q,3UN;PIA8U]S879E7T-86#TD0UA8"F-A="!C;VYF9&5F'0*+RH@96YD(&-O;F9D969S M+F@N("`J+PHD86-?8WAX7V-O;F9T97-T7V-X>#$Q7W!R;V=R86T*7T%#14]& M"F9O"`M M'A?=')Y7V-O;7!I;&4@(B1,24Y%3D\B"G1H96X@.@H@(&%C7V-V7W!R;V=? M8WAX7V-X>#$Q/21A8U]A"1A M8U]C=E]P%]C>'@Q,2(@(3T@(GAN;R(@)B8@8G)E86L*9&]N90IR M;2`M9B!C;VYF=&5S="XD86-?97AT"D-86#TD86-?'A?8WAX,3$B(#T@>&YO"G1H96X@.@H@ M('L@<')I;G1F("(E#$Q(B`]('@*=&AE;B`Z"B`@>R!P%]C M>'@Q,2(@/B8U"G!R:6YT9B`B)7-<;B(@(B1A8U]C=E]P%]C>'@Q M,2(@/B8V.R!]"B`@("`@0UA8/2(D0UA8("1A8U]C=E]P%]C>'@Q M,2(*9FD*("!A8U]C=E]P%]S=&1C>'@])&%C7V-V7W!R;V=?8WAX M7V-X>#$Q"B`@86-?<')O9U]C>'A?#$Q"F9I"F9I"FEF('1E M"1A8U]P%]S=&1C>'@@/2!X;F\*=&AE;B`Z"B`@>R!PV%C M7V-V7W!R;V=?8WAX7SDX*WE]"G1H96X@.@H@('!R:6YT9B`E'A?.3@];F\* M86-?%]C;VYF=&5S=%]C>'@Y.%]P'1E;F1E M9"`M04$*9&\*("!#6%@](B1A8U]S879E7T-86"`D86-?87)G(@H@(&EF(&%C M7V9N7V-X>%]T'A?8WAX.3@])&%C7V%R9PIF:0IR;2`M9B!C;W)E(&-O;F9T97-T M+F5R#DX(B`A/2`B>&YO(B`F)B!B'0*0UA8/21A8U]S879E7T-86`IF M:0H*:68@=&5S="`B>"1A8U]C=E]P%]C>'@Y."(@/2!X;F\*=&AE M;B`Z"B`@>R!P'A?8WAX.3@B(#T@>`IT:&5N(#H*("![('!R:6YT M9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@R!P#DX(B`^)C4*<')I;G1F("(E#DX(B`^)C8[('T*("`@("!#6%@](B1#6%@@)&%C7V-V7W!R;V=?8WAX M7V-X>#DX(@IF:0H@(&%C7V-V7W!R;V=?8WAX7W-T9&-X>#TD86-?8W9?<')O M9U]C>'A?8WAX.3@*("!A8U]P%]S=&1C>'@]8WAX.3@*9FD*9FD* M"F%C7V5X=#UC"F%C7V-P<#TG)$-04"`D0U!01DQ!1U,G"F%C7V-O;7!I;&4] M)R1#0R`M8R`D0T9,04=3("1#4%!&3$%'4R!C;VYF=&5S="XD86-?97AT(#XF M-2<*86-?;&EN:STG)$-#("UO(&-O;F9T97-T)&%C7V5X965X="`D0T9,04=3 M("1#4%!&3$%'4R`D3$1&3$%'4R!C;VYF=&5S="XD86-?97AT("1,24)3(#XF M-2<*86-?8V]M<&EL97)?9VYU/21A8U]C=E]C7V-O;7!I;&5R7V=N=0H*>R!P MV%S7VQI;F5N;RTD3$E.14Y/ M?3H@R!P7T*=&AE;B`Z"B`@<')I M;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T M:&5N"B`@("!A8U]C=E]P&5C7V5X="(@/B8U"B`@("!B'1R86-T('1H92!F:7)S="!W;W)D M(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@;F%M92!W M:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O9SL@86-?=V]R9#TD,@I[('!R M:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE M8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!F M;W(@)&%C7W=OV%C7V-V7W!R;V=? M0TA-3T0K>7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE M;'-E("1A&5C=71A8FQE M7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@)&%S7V1IR!PR!P&5C=71A8FQE M7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C=E]P871H M7T-/35!215-3/2(D87-?9&ER)&%C7W=O'0B"B`@("!P M&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/?3H@R!P M'1R M86-T('1H92!F:7)S="!W;W)D(&]F(")S8W`B+"!S;R!I="!C86X@8F4@82!P M'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT M96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?0U`] M(G-C<"`M<"(*("`@('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N M;RTD3$E.14Y/?3H@9F]U;F0@)&%S7V1IR!PV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R M("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=O MV%C7V-V7W!R;V=?0U`K>7T*=&AE M;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C=E]P&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/ M?3H@'0@:6X@)R<@)&%C7V5X96-U M=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@ M(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V M7W!R;V=?0U`](F-P(@H@("`@<')I;G1F("(E'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD M87-?V%S M7VQI;F5N;RTD3$E.14Y/?3H@R!P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A M&5C=71A8FQE7V5X M=&5N'0B.R!T:&5N"B`@("!A8U]C=E]P&5C7V5X="(@/B8U"B`@("!BR!P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E M("1A&5C=71A8FQE7V5X=&5N M'0B.R!T:&5N"B`@("!A8U]C=E]P'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD87-? MV%S7VQI;F5N;RTD3$E.14Y/?3H@'1R86-T('1H92!F:7)S="!W;W)D(&]F("(D86-? M<')O9R(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@;F%M92!W:71H(&%R9W,N M"G-E="!D=6UM>2`D86-?<')O9SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-< M;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R M("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=O MV%C7V-V7W!A=&A?1$E35$E,3"MY M?0IT:&5N(#H*("!P&5C7V5X="!I;B`G)R`D86-?97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@ M(&EF(&%S7V9N7V5X96-U=&%B;&5?<"`B)&%S7V1I'0B"B`@("!P&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/ M?3H@'1R86-T M('1H92!F:7)S="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B92!A M('!R;V=R86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O9SL@ M86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N M;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F M("5S(")C:&5C:VEN9R!F;W(@)&%C7W=O'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X M="([('1H96X*("`@(&%C7V-V7W!R;V=?1$E44D]&1CTB)&%C7W!R;V&5C7V5X="(@/B8U"B`@("!B MR!P'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?151!1U,](B1A8U]P M'0B(#XF M-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S M7VQI;F5N;RTD3$E.14Y/?3H@R!P'!A;F0@ M8V%T"F1O"B`@(R!%>'1R86-T('1H92!F:7)S="!W;W)D(&]F("(D86-?<')O M9R(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@;F%M92!W:71H(&%R9W,N"G-E M="!D=6UM>2`D86-?<')O9SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@ M(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A M8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?15A004Y$*WE]"G1H M96X@.@H@('!R:6YT9B`E&5C7V5X="!I;B`G)R`D86-?97AE8W5T86)L95]E>'1E;G-I M;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B;&5?<"`B)&%S7V1I'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD87-? MV%S7VQI;F5N;RTD3$E.14Y/?3H@V%S7VQI;F5N;RTD3$E.14Y/?3H@'1R86-T('1H92!F:7)S="!W;W)D(&]F M("(D86-?<')O9R(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@;F%M92!W:71H M(&%R9W,N"G-E="!D=6UM>2`D86-?<')O9SL@86-?=V]R9#TD,@I[('!R:6YT M9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI M;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!F;W(@ M)&%C7W=OV%C7V-V7W!R;V=?2D%2 M*WE]"G1H96X@.@H@('!R:6YT9B`E&5C7V5X="!I;B`G)R`D86-?97AE8W5T86)L95]E>'1E;G-I;VYS M.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B;&5?<"`B)&%S7V1I'0B(#XF M-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N M;RTD3$E.14Y/?3H@V%S7VQI;F5N;RTD3$E.14Y/?3H@`ID;PH@(",@17AT MR!P'0@:6X@)R<@)&%C M7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A M8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@ M(&%C7V-V7W!R;V=?3$58/2(D86-?<')O9R(*("`@('!R:6YT9B`B)7-<;B(@ M(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@)&%S7V1IR!PR!P M"1,15@B("$](")X.B([('1H96X* M("`@(&-A="`^8V]N9G1EPHC:69D968@7U]C<&QU M7EM;W)E("@I.R!] M"F0@>R!Y>6QER`O*B!)4DE8(#8N-2!F;&5X(#(N-2XT M('5N9&5R<75O=&5S(&ET6QE7EL97-S("@H:6YP=70@*"D@(3T@,"DI.PHC96YD:68*("!] M"F8@>R!U;G!U="`H>7ET97AT6S!=*3L@?0HN('L@0D5'24X@24Y)5$E!3#L@ M?0HE)0HC:69D968@65E415A47U!/24Y415(*97AT97)N(&-H87(@*GEY=&5X M=#L*(V5N9&EF"FEN=`IY>7=R87`@*'9O:60I"GL*("!R971UPH@(')E='5R;B`A('EY;&5X("@I.PI]"E]!0T5/ M1@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/ M?3H@8VAE8VMI;F<@9F]R(&QE>"!O=71P=70@9FEL92!R;V]T(B`^)C4*<')I M;G1F("5S(")C:&5C:VEN9R!F;W(@;&5X(&]U='!U="!F:6QE(')O;W0N+BX@ M(B`^)C8[('T*:68@=&5S="`D>V%C7V-V7W!R;V=?;&5X7W)O;W0K>7T*=&AE M;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A2(@:6X*("`J7"(J('P@*EQ@ M*B!\("I<7"HI(&%C7W1R>5]E8VAO/5PD86-?=')Y.SL*("`J*2!A8U]T%]R;V]T/6QE M>"YY>0IE;&EF('1E7DN8SL@=&AE;@H@(&%C7V-V7W!R;V=? M;&5X7W)O;W0];&5X>7D*9FD*9FD*>R!P%]R;V]T(B`]('5N M:VYO=VX*=&AE;B`Z"B`@>R!P7T*=&AE;B`Z"@IE;'-E("1AR!P M2(@/B8U"G!R:6YT9B`E"!L:6)R87)Y+BXN("(@/B8V.R!]"FEF('1E"!I;B`G;F]N M92!N965D960G("UL9FP@+6QL("=N;W0@9F]U;F0G.R!D;PH@("`@("!C87-E M("1A8U]C=E]L:6)?;&5X(&EN(",H"B`@)VYO;F4@;F5E9&5D)RD@.@H@("`@ M(#L[(",H"B`@)VYO="!F;W5N9"'0*("`@("`@:68@)&%C7V9O=6YD.R!T:&5N"B`@("`@("`@ M8G)E86L*("`@("`@9FD*("`@(&1O;F4*("`@($Q)0E,](B1A8U]S879E7TQ) M0E,B"@IF:0I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD M3$E.14Y/?3H@"(@/B8U"G!R:6YT9B`B M)7-<;B(@(B1A8U]C=E]L:6)?;&5X(B`^)C8[('T*("!I9B!T97-T("(D86-? M8W9?;&EB7VQE>"(@/2`G;F]T(&9O=6YD)PIT:&5N(#H*("![('!R:6YT9B`B M)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@5T%23DE.1SH@ MV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@=VAE=&AE71E>'0@:7,@82!P;VEN=&5R(B`^)C4*<')I;G1F("5S(")C:&5C:VEN9R!W M:&5T:&5R('EY=&5X="!I"!C86X@9&5C;&%R92!Y>71E>'0@96ET:&5R(&%S(&$@ M<&]I;G1E3L@=&AE"B,@9&5F875L="!I%]Y>71E>'1?<&]I;G1E7ET97AT7W!O:6YT97(]>65S"F9I M"G)M("UF(&-O'0@ M8V]N9G1EV%S7VQI;F5N;RTD3$E.14Y/?3H@7ET97AT7W!O:6YT97(B(#XF-0IP7ET97AT7W!O:6YT97(B(#XF-CL@?0II M9B!T97-T("1A8U]C=E]P%]Y>71E>'1?<&]I;G1EV%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@=VAE=&AE&5R(&9L86=S(&%R92!N965D960B(#XF-0IP'AF;&5X(B`["G1H96X*("`@(&EF("1,15@@+2UH96QP('P@9W)E<"`M7EWV%S7VQI;F5N;RTD3$E.14Y/?3H@V%S7VQI;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@=VAE=&AE M2!I"1,15@B(#T@(GAX9FQE>"(@)B8@3$58 M3$E"/2(B"GL@<')I;G1F("(E'1R M86-T('1H92!F:7)S="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B M92!A('!R;V=R86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O M9SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI M;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I M;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?3$XK>7T*=&AE;B`Z"B`@<')I;G1F("5S("(H M8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C M=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C M=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@)&%S7V1IR!PR!P&5C7V5X="!I;B`G)R`D86-? M97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B M;&5?<"`B)&%S7V1I&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/?3H@'1R86-T('1H92!F:7)S="!W M;W)D(&]F(")M86XR:'1M;"(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@;F%M M92!W:71H(&%R9W,N"G-E="!D=6UM>2!M86XR:'1M;#L@86-?=V]R9#TD,@I[ M('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@ M8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C:VEN M9R!F;W(@)&%C7W=OV%C7V-V7W!A M=&A?34%.,DA434PK>7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B M(#XF-@IE;'-E("1A'0@:6X@)R<@)&%C7V5X96-U=&%B;&5? M97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!A=&A? M34%.,DA434P](B1A&5C7V5X="(*("`@('!R M:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U M;F0@)&%S7V1IV%S7VQI;F5N;RTD3$E. M14Y/?3H@R!P&5C7V5X="!I;B`G)R`D M86-?97AE8W5T86)L95]E>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U M=&%B;&5?<"`B)&%S7V1I&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N M;RTD3$E.14Y/?3H@'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS M:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?358](B1A M8U]P'0B M(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N M;RTD3$E.14Y/?3H@R!P'1R M86-T('1H92!F:7)S="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B M92!A('!R;V=R86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O M9SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI M;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I M;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?3E)/1D8K>7T*=&AE;B`Z"B`@<')I;G1F("5S M("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T M:&5N"B`@("!A8U]C=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@ M)&%S7V1IR!PR!P&5C7V5X="!I;B`G)R`D86-?97AE8W5T86)L95]E M>'1E;G-I;VYS.R!D;PH@(&EF(&%S7V9N7V5X96-U=&%B;&5?<"`B)&%S7V1I M&5C M7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/?3H@'0@:6X@ M)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H M96X*("`@(&%C7V-V7W!R;V=?4DU$25(](B1A8U]P'0B(#XF-0H@("`@8G)E86L@,@H@ M(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/ M?3H@R!P7T*=&AE;B`Z"B`@<')I;G1F M("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A'0@:6X@)R<@)&%C7V5X96-U=&%B;&5? M97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!A=&A? M4T5$/2(D87-?9&ER)&%C7W=O'0B"B`@("!P&5C7V5X="(@/B8U"B`@("!BV%S7VQI;F5N;RTD3$E.14Y/ M?3H@V%S7VQI;F5N M;RTD3$E.14Y/?3H@7-N86UE/6!U;F%M92`M7-N86UE(B!I;@I$87)W M:6X@('P@3W!E;D)31"!\(%-U;D]3("D*8V%T(#P\14]&24Q%"@HA(2$A(2$A M(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A M(2$A(2$A(2$A(2$A(2$A(2$A(2$*3VX@3W!E;D)31"`U+G@L('1H92!N871I M=F4@32!H M97)E(&ES(&$@;&ET97)A;"!C87)R:6%G92!R971U'DG('P@+W5S2`@;FP*"@DC M($=.52!S960@=6YD97)S=&%N9',@7'(@375V=WAY)R!\(&=S960@+64@("=S M+UQR+UA8+V6]U6]U(&-A;B!I;G-T86QL"FET(&9R;VT@R!P7T*=&AE;B`Z"B`@<')I;G1F M("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T M:&5N"B`@("!A8U]C=E]P'0B(#XF-0H@("`@8G)E86L@,@H@ M(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@ M'1R86-T('1H92!F:7)S M="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B92!A('!R;V=R86T@ M;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O9SL@86-?=V]R9#TD M,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E.14Y/ M?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S(")C:&5C M:VEN9R!F;W(@)&%C7W=OV%C7V-V M7W!R;V=?4U!%3$PK>7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B M(#XF-@IE;'-E("1A&5C M=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C M=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@)&%S7V1IR!P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B(#XF-@IE;'-E M("1A&5C=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C=E]P&5C7V5X="(@ M/B8U"B`@("!B'0@:6X@ M)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H M96X*("`@(&%C7V-V7W!R;V=?5$]50T@](B1A8U]P'0B(#XF-0H@("`@8G)E86L@,@H@ M(&9I"F1O;F4*("!D;VYE"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/ M?3H@R!PFEP(&9A;'-E"F1O"B`@(R!%>'1R M86-T('1H92!F:7)S="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B M92!A('!R;V=R86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O M9SL@86-?=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI M;F5N;RTD3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I M;G1F("5S(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?54Y:25`K>7T*=&AE;B`Z"B`@<')I;G1F("5S M("(H8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T M:&5N"B`@("!A8U]C=E]PV%S7VQI;F5N;RTD3$E.14Y/?3H@9F]U;F0@ M)&%S7V1IR!P'1R86-T('1H M92!F:7)S="!W;W)D(&]F("(D86-?<')O9R(L('-O(&ET(&-A;B!B92!A('!R M;V=R86T@;F%M92!W:71H(&%R9W,N"G-E="!D=6UM>2`D86-?<')O9SL@86-? M=V]R9#TD,@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD M3$E.14Y/?3H@8VAE8VMI;F<@9F]R("1A8U]W;W)D(B`^)C4*<')I;G1F("5S M(")C:&5C:VEN9R!F;W(@)&%C7W=OV%C7V-V7W!R;V=?5TE.12MY?0IT:&5N(#H*("!P'0@:6X@)R<@)&%C7V5X M96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE M7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C M7V-V7W!R;V=?5TE.13TB)&%C7W!R;V&5C7V5X="(@/B8U"B`@("!BR!P6%C8R!B:7-O;@ID;PH@(",@17ATR!P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H8V%C:&5D*2`B M(#XF-@IE;'-E("1A&5C=71A M8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A8U]C=E]P M'0B(#XF-0H@("`@8G)E86L@,@H@(&9I"F1O;F4*("!D;VYE M"DE&4STD87-?V%S7VQI;F5N;RTD3$E.14Y/?3H@R!P'0@:6X@)R<@)&%C7V5X96-U=&%B;&5?97AT96YS:6]N&5C=71A8FQE7W`@(B1A&5C7V5X="([('1H96X*("`@(&%C7V-V7W!R;V=?6DE0/2(D86-?<')O M9R(*("`@('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E. M14Y/?3H@9F]U;F0@)&%S7V1IR!PR!P7T*=&AE;B`Z"B`@<')I;G1F("5S("(H M8V%C:&5D*2`B(#XF-@IE;'-E("1A&5C=71A8FQE7V5X=&5N'0B.R!T:&5N"B`@("!A M8U]C=E]P&5C7V5X="(@/B8U"B`@("!B'0*+RH@96YD(&-O;F9D969S+F@N("`J+PH*+RH@3W9E65S"F5LR!P65S"G1H96X@.@H@('!R:6YT9B`B)7-<;B(@(B-D969I;F4@ M2$%615],24)05R`Q(B`^/F-O;F9D969S+F@*"B`@3$E"4STB+6Q05R`D3$E" M4R(*"F9I"@I[('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD M3$E.14Y/?3H@8VAE8VMI;F<@9F]R('EA8V,@;&EB2(@/B8U"G!R:6YT M9B`E2XN+B`B(#XF-CL@?0I9 M04-#/2(D86-?8W9?<')O9U]904-#(@I904-#3$E"/0II9B!T97-T(")X>"19 M04-#(B`](")X>'EA8V,B"G1H96X*("`@(&%C7W-A=F5?3$E"4STB)$Q)0E,B M"B`@("!,24)3/2UL>0H@("`@8V%T(&-O;F9D969S+F@@+2`\/%]!0T5/1B`^ M8V]N9G1EPH*("`["B`@&5E>'0@8V]N M9G1ER!P2(*("`@('L@<')I;G1F("(EV%S7VQI;F5N;RTD3$E.14Y/?3H@R!P'A3=6Y/ M4R(*=&AE;@H@("`@1$5&24Y%4STB)$1%1DE.15,@+41?7T585$523E]#7U\B M"B`@("![('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N;RTD3$E. M14Y/?3H@R!P&4B("8F(%9-/27,@871T96YT:6]N('1O('1H92!C86-H92!F:6QE(&EF('EO=2!G:79E(&ET M"B,@=&AE("TM2!O9B!WR!PV%S7VYL?6%C7W-P86-E/5P@*BD*("`@("`@(R!@2!03U-)6"P@7"A;7CU=*EPI/5PH+BI;>WU=+BI<*20O=&5S="`D M>UPQ*WE]('Q\("8O"B`@("`@="!E;F0*("`@("!S+UY<*%M>/5TJ7"D]7"@N M*EPI)"]<,3TD>UPQ/5PR?2\*("`@("`Z96YD)R`^/F-O;F9C86-H90II9B!D M:69F("(D8V%C:&5?9FEL92(@8V]N9F-A8VAE(#XO9&5V+VYU;&P@,CXF,3L@ M=&AE;B`Z.R!E;'-E"B`@:68@=&5S="`M=R`B)&-A8VAE7V9I;&4B.R!T:&5N M"B`@("!I9B!T97-T(")X)&-A8VAE7V9I;&4B("$](")X+V1E=B]N=6QL(CL@ M=&AE;@H@("`@("![('!R:6YT9B`B)7-<;B(@(B1AV%S7VQI;F5N M;RTD3$E.14Y/?3H@=7!D871I;F<@8V%C:&4@)&-A8VAE7V9I;&4B(#XF-0IP MV%S7VQI M;F5N;RTD3$E.14Y/?3H@;F]T('5P9&%T:6YG('5N=W)I=&%B;&4@8V%C:&4@ M)&-A8VAE7V9I;&4B(#XF-0IP"1P$Y/ M3D4@)B8@<')E9FEX/21A8U]D969A=6QT7W!R969I>`HC($QE="!M86ME(&5X M<&%N9"!E>&5C7W!R969I>"X*=&5S="`B>"1E>&5C7W!R969I>"(@/2!X3D]. M12`F)B!E>&5C7W!R969I>#TG)'MP"1A8U]I(B`]('@Z("8F(&-O;G1I M;G5E"B`@(R`Q+B!296UO=F4@=&AE(&5X=&5N2!W:&5R92!,24)/ M0DI3(&]B:F5C=',@87)E(&)U:6QT+@H@(&%S7V9N7V%P<&5N9"!A8U]L:6)O M8FIS("(@7"1[3$E"3T)*1$E2?21A8U]I7"15+B1A8U]O8FIE>'0B"B`@87-? M9FY?87!P96YD(&%C7VQT;&EB;V)JTQ)0D]"2D1)4GTD86-?:2(G M)%4N;&\G"F1O;F4*3$E"3T)*4STD86-?;&EB;V)JV%S M7VQI;F5N;RTD3$E.14Y/?3H@8W)E871I;F<@)$-/3D9)1U]35$%455,B(#XF M-0IPT-/3D9)1U]32$5,3"TD4TA%3$Q]"F5X<&]R="!3 M2$5,3`I?05-%3T8*8V%T(#X^)$-/3D9)1U]35$%455,@/#Q<7T%314]&('Q\ M(&%S7W=R:71E7V9A:6P],0HC(R`M+2TM+2TM+2TM+2TM+2TM+2TM+2`C(PHC M(R!--'-H($EN:71I86QI>F%T:6]N+B`C(PHC(R`M+2TM+2TM+2TM+2TM+2TM M+2TM+2`C(PH*(R!"92!M;W)E($)O=7)N92!C;VUP871I8FQE"D1504Q#05-% M/3$[(&5X<&]R="!$54%,0T%312`C(&9OUI32%]615)324].*WE]("8F("AE;75L871E('-H*2`^+V1E=B]N M=6QL(#(^)C$*=&AE;B`Z"B`@96UU;&%T92!S:`H@($Y53$Q#340].@H@(",@ M4')E+30N,B!V97)S:6]N2P@=&AU'!O2!O;B`B=6YS970B('1O('=O&ET(#$I(#XO9&5V+VYU;&P@,CXF,2`F)B!U;G-E="`D M87-?=F%R('Q\(#H*9&]N90H*(R!%;G-U&5C(#,^)C`I(#(^+V1E=B]N=6QL.R!T:&5N M(#H[(&5L&5C(#$^+V1E=B]N=6QL.R!F M:0II9B`H97AE8R`S/B8R*2`@("`@("`@("`@(#L@=&AE;B`Z.R!E;'-E(&5X M96,@,CXO9&5V+VYU;&P[(&9I"@HC(%1H92!U7-E;&8])#`@.SL*("`J*2!A7-E;&8])&%S7V1I"1A7-E;&8B(#T@>#L@ M=&AE;@H@(&%S7VUY7-E M;&8B.R!T:&5N"B`@<')I;G1F("(E&ET('1H90HC M('-CV%S7VQI;F5N;RTB)#,B?2!AV%S7VQI;F5N;RTD3$E.14Y/?3H@97)R;W(Z M("0R(B`^)B0T"B`@9FD*("!PPH@(')E='5R;B`D,0I](",@ M87-?9FY?&ET(%-405154PHC("TM+2TM M+2TM+2TM+2TM+2TM"B,@17AI="!T:&4@2!U;G-E="!605(N"F%S7V9N7W5N'0@:6X@5D%,544@=&\@ M=&AE(&5N9"!O9B!T:&4@9&5F:6YI=&EO;B!C;VYT86EN960@:6X@5D%2+B!4 M86ME"B,@861V86YT86=E(&]F(&%N>2!S:&5L;"!O<'1I;6EZ871I;VYS('1H M870@86QL;W<@86UOF5D(&QI;F5A'!R"F5L'!R/69A;'-E M"F9I"@II9B`H8F%S96YA;64@+2T@+RD@/B]D978O;G5L;"`R/B8Q("8F('1E MPH)("`@(',O+UPQ+PH)("`@('$*"2`@?0H)("`O7EA<+UPH7"]< M+UPI)"]["@D@("`@6%PO7"A<+UPI M+BHO>PH)("`@(',O+UPQ+PH)("`@('$*"2`@?0H)("!S+RXJ+RXO.R!Q)V`* M"B,@079O:60@9&5P96YD:6YG('5P;VX@0VAA7HG"F%S7V-R M7TQ%5%1%4E,])T%"0T1%1D=(24I+3$U.3U!14E-455976%E:)PIA2!B M>2!!=71O8V]N9BP@8G5T(&%R92!!0U]354)35&5D"B,@9F]R(&-O;7!A=&EB M:6QI='D@=VET:"!E>&ES=&EN9R!-86ME9FEL97,N"D5#2$]?0ST@14-(3U]. M/2!%0TA/7U0]"F-A&`@:6X@(R@H*"@H"BUN*BD*("!C M87-E(&!E8VAO("=X>5QC)V`@:6X*("`J8RHI($5#2$]?5#TG"2<[.PDC($5# M2$]?5"!I2D@($5#2$]?0STG M7&,G.SL*("`J*2`@(&5C:&\@8&5C:&\@:W-H.#@@8G5G(&]N($%)6"`V+C%@ M(#X@+V1E=B]N=6QL"B`@("`@("!%0TA/7U0])PDG.SL*("!E&4@?'P*("`@("`@87-?;&Y?PH*("!C87-E("1APH@("`@87-?9&ER'!R(%@B)&%S7V1I6%PH+BI;7B]=7"E<+UPO*EM> M+UU;7B]=*EPO*B0O>PH)("`@(',O+UPQ+PH)("`@('$*"2`@?0H)("`O7EA< M*%PO7"]<*5M>+UTN*B]["@D@("`@ M6%PH7"]<+UPI)"]["@D@("`@6%PH M7"]<*2XJ+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@('T*"2`@&5C=71A8FQE7W`@1DE,10HC("TM+2TM+2TM+2TM+2TM+2TM M+2TM+2TM"B,@5&5S="!I9B!&24Q%(&ES(&%N(&5X96-U=&%B;&4@&5C=71A8FQE7W`@*"D*>PH@('1E&5C=71A M8FQE7W`*"B,@4V5D(&5X<')E24J)&%S M7V-R7VQE='1E7R1A2!B:6)P87)S92`D87-?;64@,2XQ,RP@=VAI8V@@=V%S"F=E;F5R871E M9"!B>2!'3E4@075T;V-O;F8@,BXW,2X@($EN=F]C871I;VX@8V]M;6%N9"!L M:6YE('=A&ET"B`@+7$L("TM<75I970L("TM7)I9VAT("A#*2`R,#(Q($9R964@ M4V]F='=A2P@ M9&ES=')I8G5T92!A;F0@;6]D:69Y(&ET+B(*"F%C7W!W9#TG)&%C7W!W9"<* M2!F:6QE+@IA8U]N965D7V1E9F%U M;'1S/3H*=VAI;&4@=&5S="`D(R`A/2`P"F1O"B`@8V%S92`D,2!I;@H@("TM M*CT_*BD*("`@(&%C7V]P=&EO;CU@97AP/5TJ/5PH+BI< M*2=@"B`@("!A8U]S:&EF=#TZ"B`@("`[.PH@("TM*CTI"B`@("!A8U]O<'1I M;VX]8&5X<'(@(E@D,2(@.B`G6%PH6UX]72I<*3TG8`H@("`@86-?;W!T87)G M/0H@("`@86-?2!<8"0P("TM:&5L<"<@9F]R(&UO M&5C(#8^+V1E=B]N M=6QL"B`@86-?8V]N9FEG=7)E7V5X=')A7V%R9W,](B1A8U]C;VYF:6=U'!O+BXN+R,C("\["<@/#Q?05-"3U@*(R,@4G5N;FEN9R`D87-?;64N(",C"E]!4T)/ M6`H@('!R:6YT9B`B)7-<;B(@(B1A8U]L;V2!T:&]S92!T:&%T(&%R92!N;W0N"B,@ M5V4@=7-E('1H92!L;VYG(&9O'1R96UE;'D*(R!B:7IAT-/3D9)1U](14%$15)3*WE]('Q\($-/3D9)1U](14%$ M15)3/21C;VYF:6=?:&5A9&5R7T@?'P@0T].1DE'7T-/34U!3D13/21C;VYF:6=?8V]M;6%N9',*9FD*"B,@ M2&%V92!A('1E;7!O2!D:7)E8W1OPH@('1M<#T@86-?=&UP/0H@('1R87`@)V5X:71?PH@('1M<#TN+V-O;F8D)"TD4D%.1$]-"B`@*'5M87-K(#`W-R`F)B!M M:V1I6=W:6XL(&)A"1A8U]CR<@/B(D86-?=&UP+W-U8G,Q+F%W M:R(@)B8*7T%#14]&"@H*>PH@(&5C:&\@(F-A="`^8V]N9B0D)V`*86-?9&5L:6T] M)R4A7R$C("<*9F]R(&%C7VQA3L@=&AE;@H@("`@87-?9FY?97)R M;W(@)#\@(F-O=6QD(&YO="!M86ME("1#3TY&24=?4U1!5%53(B`B)$Q)3D5. M3R(@-0H@(&5L6UXA72HA+R\*.G)E<&P*="!R97!L"G,O)R(D86-?9&5L:6TB)R0O+PIT M(&1E;&EM"CIN;`IH"G,O7"@N7'LQ-#A+R(O.R!S+R0O(EQ<+PIP"F<*S$T.%Q]7"DN+BHO7#$O M"G0@;6]R93(*+R(O.R!S+R0O(B\*<`IB"CIM M;W)E,@IS+ULB7%Q=+UQ<)B]G.R!S+UXO(B\[(',O)"\B7%PO"G`*9PIS+RY< M>S$T.%Q]+R\*="!D96QI;0HG(#QC;VYF)"1S=6)S+F%W:R!\('-E9"`G"B]> M6UXB(ETO>PH@($X*("!S+UQN+R\*?0HG(#X^)$-/3D9)1U]35$%455,@?'P@ M86-?=W)I=&5?9F%I;#TQ"G)M("UF(&-O;F8D)'-U8G,N87=K"F-A="`^/B1# M3TY&24=?4U1!5%53(#P\7T%#14]&('Q\(&%C7W=R:71E7V9A:6P],0I?04-! M5TL*8V%T(#X^(EPD86-?=&UP+W-U8G,Q+F%W:R(@/#Q?04-!5TL@)B8*("!F M;W(@*&ME>2!I;B!3*2!37VES7W-E=%MK97E=(#T@,0H@($93(#T@(@PH@("`@:V5Y(#T@ M9FEE;&1;:5T*("`@(&ME>6QE;B`](&QE;F=T:"AK97DI"B`@("!I9B`H4U]I MPH@("`@("!V86QU92`](%-;:V5Y70H@("`@("!L:6YE M(#T@6QE;B`K(#,I"B`@("`@(&QE;B`K/2!L96YG=&@H=F%L M=64I("L@;&5N9W1H*&9I96QD6RLK:5TI"B`@("`@('-U8G-T960@/2`Q"B`@ M("!](&5LW-R8V1I0HC M("AA8W1U86QL>2!W92!L96%V92!A;B!E;7!T>2!L:6YE('1O('!R97-E6PD@72I64$%42%L)(%TJ/5L)(%TJ+WL*:`IS+R\O M"G,O7B\Z+PIS+UL)(%TJ)"\Z+PIS+SI<)"AS.BHO+PIS+SHJ)"\O M"G@*/5TJ/5L)(%TJ M)"\O"GTG"F9I"@IC870@/CXD0T].1DE'7U-405154R`\/%Q?04-%3T8@?'P@ M86-?=W)I=&5?9F%I;#TQ"F9I(",@=&5S="`M;B`B)$-/3D9)1U]&24Q%4R(* M"B,@4V5T('5P('1H92!S8W)I<'1S(&9O2!O9B!M86-R;R!V86QU97,@:V5Y960@8GD@;F%M92P*(R!L M:6ME=VES92!0(&-O;G1A:6YS(&UA8W)O('!A+R(O.R!S+R0O7%Q<7%Q<;B)<7"]P"F(@8V]N M=`HG(#QC;VYF9&5F6UQT(%TJ(UM<="!=*BAD969I;F5\=6YD968I6UQT(%TK)&%C7W=O MPH@(&QI;F4@/2!<)"`P"B`@"`]('-U8G-T"AL:6YE M+"!D969U;F1E9BD@+2`Q*0H@(&EF("A$7VES7W-E=%MM86-R;UTI('L*("`@ M(",@4')E7-T96US('=H97)E(&-O;F9I9W5R92!W:6QL(&YO="!D96-I9&4@=&\@ M9&5F:6YE(&ET+@H@("`@:68@*&1E9G5N9&5F(#T](")U;F1E9B(I('L*("`@ M("`@<')I;G0@(B\J(BP@<')E9FEX(&1E9G5N9&5F+"!M86-R;RP@(BHO(@H@ M("`@("!N97AT"B`@("!]"B`@?0I]"GL@<')I;G0@?0I?04-!5TL*7T%#14]& M"F-A="`^/B1#3TY&24=?4U1!5%53(#P\7%]!0T5/1B!\?"!A8U]W2!C;VYF:6V%S7VQI;F5N;RTD3$E.14Y/?3H@8W)E M871I;F<@)&%C7V9I;&4B(#XF-0IP M+UU<*2\O*EM>+UU;7B]=*B\J)"<@7'P@7`H)(%@B)&%C7V9I;&4B(#H@)UA< M*"\O7"E;7B]=)R!6%PH M+BI;7B]=7"E<+UPO*EM>+UU;7B]=*EPO*B0O>PH)("`@(',O+UPQ+PH)("`@ M('$*"2`@?0H)("`O7EA<*%PO7"]<*5M>+UTN*B]["@D@("`@6%PH7"]<+UPI)"]["@D@("`@6%PH7"]<*2XJ+WL*"2`@("!S+R]<,2\*"2`@("!Q"@D@ M('T*"2`@7"Y;7%PO77Q\)V`*("`C($$@ M(BXN(B!F;W(@96%C:"!D:7)E8W1O`HC(&9O#L*("`@ M(&%C7W1O<%]S"1S`H@ M("`@86-?=&]P7W-R8V1I"1S'!A;F0@:70N"B,@1DE8 M344Z(%1H:7,@:&%C:R!S:&]U;&0@8F4@65S.SL**D!D M871A9&ER0"I\*D!D;V-D:7)`*GPJ0&EN9F]D:7)`*GPJ0&QO8V%L961IR!P'1R87-U8BX*(R!&25A- M13H@9&\@=V4@D$M6E]=6V$M>D$M6E\P+3E=*D`O(6(*$`F)&%C7W1O<%]B=6EL9%]P'1R85PB("(D86-?9FEL95]I;G!U M=',B('P@)$%72R`M9B`B)&%C7W1M<"]S=6)S+F%W:R(@7`H@(#XD86-?=&UP M+V]U="!\?"!AR!A8U]O=70]8'-E9"`M M;B`G+UPD>V1A=&%R;V]T9&ER?2]P)R`B)&%C7W1M<"]O=70B8#L@=&5S="`M M;B`B)&%C7V]U="([('T@)B8*("![(&%C7V]U=#U@"(D86-?9FEL92(@(3T@>"T[('1H96X*("`@('L*("`@("`@<')I;G1F M("(EV%S7VQI;F5N;RTD3$E.14Y/?3H@)&%C M7V9I;&4@:7,@=6YC:&%N9V5D(B`^)C4*<')I;G1F("(E&5C=71I;F<@)&%C7V9I;&4@8V]M;6%N9',B(#XF-0IP&ET(#`*7T%#14]&"F%C7V-L96%N7V9I;&5S/21A8U]C;&5A;E]F:6QE2P@;VX@1$]3('1H:7,@9F%I M;',L(&%S(&-O;F9I9RYL;V<@:7,@&ET(#$*9FD*:68@=&5S="`M;B`B)&%C7W5NV%S7VQI;F5N M;RTD3$E.14Y/?3H@5T%23DE.1SH@=6YR96-O9VYI>F5D(&]P=&EO;G,Z("1A M8U]U;G)E8V]G;FEZ961?;W!TF5D(&]P=&EO;G,Z("1A8U]U;G)E8V]G 7;FEZ961?;W!T/dev/null 2>&1 || ${echo} 'configure': 'MD5 check failed' ) << \SHAR_EOF 6d95775f7633520a3cd04a2e815630aa configure SHAR_EOF else test `LC_ALL=C wc -c < 'configure'` -ne 195638 && \ ${echo} "restoration warning: size of 'configure' is not 195638" fi fi # ============= configure.ac ============== if test -n "${keep_file}" && test -f 'configure.ac' then ${echo} "x - SKIPPING configure.ac (file already exists)" else ${echo} "x - extracting configure.ac (text)" sed 's/^X//' << 'SHAR_EOF' > 'configure.ac' && dnl ==================================================================== dnl From bibparse 1.08, on most systems, the simple build recipes dnl dnl ./configure && make all check install dnl dnl env CC=C-or-C++-compiler-name ./configure && make all check install dnl dnl suffice to build, validate, and install this software. There should dnl no longer be any need to also specify LDFLAGS and LIBS at build dnl time! dnl dnl [04-Jul-2014] dnl ==================================================================== X dnl Process this file with autoconf to produce a configure script. AC_INIT([bibparse],[1.13],[Nelson H. F. Beebe ],[],[http://www.math.utah.edu/pub/bibparse]) X PACKAGE_DATE=[[01-Jul-2021]] AC_SUBST(PACKAGE_DATE) AH_TEMPLATE(PACKAGE_DATE, [Package date]) AC_DEFINE_UNQUOTED(PACKAGE_DATE, "$PACKAGE_DATE") X PACKAGE_AUTHOR=["Nelson H. F. Beebe"] AC_SUBST(PACKAGE_AUTHOR) AH_TEMPLATE(PACKAGE_AUTHOR, [Package author]) AC_DEFINE_UNQUOTED(PACKAGE_AUTHOR, "$PACKAGE_AUTHOR") X AC_CONFIG_SRCDIR([bibparse.y]) X AC_CONFIG_HEADERS([config.h:config.hin]) X dnl Checks for compiler AC_PROG_CC AC_PROG_CXX AC_MSG_CHECKING(for compiler language) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[extern "C" {};]], [[]])],[cc_lang="C++" X AC_MSG_RESULT(C++)],[cc_lang="C" X AC_MSG_RESULT(C)]) X dnl Checking for header files AC_CHECK_HEADERS(alloca.h stdlib.h) X dnl Checking for programs X AC_CHECK_PROGS(AWK, nawk gawk mawk bawk awk) X AC_CHECK_PROGS(CHMOD, chmod) X AC_PATH_PROGS(COMPRESS, [gzip compress]) X dnl We want a copy command that has the -p (preserve time stamp) flag, dnl but older cp implementations lack it. scp and rcp always have it, dnl but some sites disable rcp when scp is installed, so we must use dnl scp if it is available. X AC_CHECK_PROG(CP, scp,scp -p) AC_CHECK_PROG(CP, rcp,rcp -p) AC_CHECK_PROG(CP, cp,cp) X AC_CHECK_PROGS(DEROFF, deroff cat) AC_CHECK_PROGS(DIFF, diff) AC_PATH_PROGS(DISTILL, X [distill ps2pdf], X [echo No PostScript-to-PDF converter available:]) AC_CHECK_PROGS(DITROFF, ditroff groff) AC_CHECK_PROGS(ETAGS, etags) X dnl SGI IRIX 4.0 lacks expand, so use cat instead AC_CHECK_PROGS(EXPAND, expand cat) X AC_CHECK_PROGS(JAR, [jar tar]) X dnl flex can be used in place of lex, but MUST be run in dnl lex-compatibility mode (-l option), because we need access to a dnl statically-allocated yytext[] buffer. autoconf hides much of the dnl former mess in checking for lex vs flex, and -ll vs -lfl vs dnl no-library-option-needed. AC_PROG_LEX(noyywrap) X dnl For flex, we add two options to prevent the need for -lfl at link dnl time, solving common C-versus-C++ symbol confusion problems, dnl eliminating the need for configure-time platform-dependent setting dnl of LDFLAGS and LIBS, and removing a possible lex/flex library dnl dependence from the biblex, bibparse, and bibunlex. dnl Versions of flex from before about 2006 (e.g., still present dnl in OpenBSD 5.x in 2014) do not recognize --noyywrap, so we have dnl to check for its presence in help output. AC_SUBST(LFLAGS) AC_MSG_CHECKING([whether additional lexer flags are needed]) X LFLAGS= if test "xx$LEX" = "xxflex" ; then X if $LEX --help | grep -s -e --noFUNCTION > /dev/null ; X then X LFLAGS="-l --noyywrap" X else X LFLAGS=-l X fi else X LFLAGS= fi X AC_MSG_RESULT([$LFLAGS]) X AC_MSG_CHECKING([whether flex library is needed]) LEXLIB=-ll test "xx$LEX" = "xxflex" && LEXLIB="" AC_MSG_RESULT([$LEXLIB]) X AC_CHECK_PROGS(LN, ln) AC_CHECK_PROGS(LS, ls) AC_PATH_PROG(MAN2HTML, man2html, [echo No man-to-html converter available:]) AC_CHECK_PROGS(MKDIR, mkdir) AC_CHECK_PROGS(MV, mv) AC_CHECK_PROGS(NROFF, nroff groff) AC_CHECK_PROGS(RM, rm) AC_CHECK_PROGS(RMDIR, rmdir) X dnl Some native seds mishandle '\r', but GNU sed works correctly AC_PATH_PROGS(SED, [gnused gsed sed]) X sysname=`uname -s` X case "$sysname" in Darwin | OpenBSD | SunOS ) cat </dev/null 2>&1 || ${echo} 'configure.ac': 'MD5 check failed' ) << \SHAR_EOF e3fdd9ced1bdd6fc1da288f26db02879 configure.ac SHAR_EOF else test `LC_ALL=C wc -c < 'configure.ac'` -ne 6681 && \ ${echo} "restoration warning: size of 'configure.ac' is not 6681" fi fi # ============= config.hin ============== if test -n "${keep_file}" && test -f 'config.hin' then ${echo} "x - SKIPPING config.hin (file already exists)" else ${echo} "x - extracting config.hin (text)" sed 's/^X//' << 'SHAR_EOF' > 'config.hin' && /* config.hin. Generated from configure.ac by autoheader. */ X /* Define to 1 if you have the header file. */ #undef HAVE_ALLOCA_H X /* Define to 1 if you have the `fileno' function. */ #undef HAVE_FILENO X /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H X /* Define to 1 if you have the `PW' library (-lPW). */ #undef HAVE_LIBPW X /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H X /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H X /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H X /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H X /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H X /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H X /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H X /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H X /* Package author */ #undef PACKAGE_AUTHOR X /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT X /* Package date */ #undef PACKAGE_DATE X /* Define to the full name of this package. */ #undef PACKAGE_NAME X /* Define to the full name and version of this package. */ #undef PACKAGE_STRING X /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME X /* Define to the home page for this package. */ #undef PACKAGE_URL X /* Define to the version of this package. */ #undef PACKAGE_VERSION X /* Define to 1 if all of the C90 standard headers exist (not just the ones X required in a freestanding environment). This macro is provided for X backward compatibility; new code need not use it. */ #undef STDC_HEADERS X /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a X `char[]'. */ #undef YYTEXT_POINTER SHAR_EOF (set 20 21 07 01 17 22 45 'config.hin' eval "${shar_touch}") && \ chmod 0664 'config.hin' if test $? -ne 0 then ${echo} "restore of config.hin failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'config.hin': 'MD5 check failed' ) << \SHAR_EOF f5767a60e540dc1c27dab0534d452cfb config.hin SHAR_EOF else test `LC_ALL=C wc -c < 'config.hin'` -ne 1919 && \ ${echo} "restoration warning: size of 'config.hin' is not 1919" fi fi # ============= genutf8.hoc ============== if test -n "${keep_file}" && test -f 'genutf8.hoc' then ${echo} "x - SKIPPING genutf8.hoc (file already exists)" else ${echo} "x - extracting genutf8.hoc (text)" sed 's/^X//' << 'SHAR_EOF' > 'genutf8.hoc' && ## Generate tables of the first 80K Unicode characters as BibTeX ## string values: that range requires 1, 2, 3, and 4 bytes for ## each Unicode glyph. There are reserved areas in the ## Unicode set, so some of the generated characters are ## considered invalid. ## ## Usage: ## hoc getutf8.hoc X printf("@Article{utf8,\n") X for (k = 32; k <= 81_920; ++k) \ { X if ((k % 32) == 0) \ X { X if (k > 32) printf("\",\n") X printf(" utf8-U%04x-U%04x = \"", k, k + 31) X } X s = itoutf8(k) X if (k == 34) s = "{\\\"}" X printf("%s", s) } X printf("\",\n") printf("}\n") SHAR_EOF (set 20 20 08 05 13 15 20 'genutf8.hoc' eval "${shar_touch}") && \ chmod 0664 'genutf8.hoc' if test $? -ne 0 then ${echo} "restore of genutf8.hoc failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'genutf8.hoc': 'MD5 check failed' ) << \SHAR_EOF dfc3594cca32bdef8b0c16ebdd9253aa genutf8.hoc SHAR_EOF else test `LC_ALL=C wc -c < 'genutf8.hoc'` -ne 576 && \ ${echo} "restoration warning: size of 'genutf8.hoc' is not 576" fi fi # ============= lexmain.c ============== if test -n "${keep_file}" && test -f 'lexmain.c' then ${echo} "x - SKIPPING lexmain.c (file already exists)" else ${echo} "x - extracting lexmain.c (text)" sed 's/^X//' << 'SHAR_EOF' > 'lexmain.c' && #include X #include #include #include X #if defined(HAVE_STDLIB_H) #include #endif X #include "args.h" #include "bibyydcl.h" X #define ERROR_PREFIX "??" /* this prefixes all error messages */ X extern long line_number; extern const char *the_filename; X static void dolex ARGS((void)); int main ARGS((int argc_, char *argv_[])); static int match_option ARGS((const char *s, const char *t, int nmax)); static void show_help_and_exit ARGS((void)); static void show_version_and_exit ARGS((void)); X static const char * PROGRAM_NAME = "biblex"; X #undef MAX #define MAX(a,b) (((a) >= (b)) ? (a) : (b)) X #undef TOLOWER #define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) /* guard against broken tolower() on ancient systems */ X X #if NEW_STYLE int main(int argc, char *argv[]) #else /* K&R style */ int main(argc, argv) int argc; char *argv[]; #endif /* NEW_STYLE */ { X int k; X FILE *fp; X X PROGRAM_NAME = argv[0]; X X if (argc > 1) /* files to lex named on command line */ X { X for (k = 1; k < argc; ++k) X { X const char *this_arg; X X this_arg = argv[k]; X X /* Accept both "-arg" and GNU-style "--arg" */ X if ( (this_arg[0] == '-') && (this_arg[1] == '-') ) X this_arg++; /* change "--arg" to "-arg" */ X X if (match_option(this_arg, "-help", MAX(2, strlen(this_arg)))) X show_help_and_exit(); X else if (match_option(this_arg, "-version", MAX(2, strlen(this_arg)))) X show_version_and_exit(); X else X { X fp = freopen(argv[k],"r",stdin); X if (fp == (FILE*)NULL) X { X (void)fprintf(stderr, X "\n%s Ignoring open failure on file [%s]\n", X ERROR_PREFIX, argv[k]); X (void)perror("perror() says"); X } X else X { X the_filename = (const char*)argv[k]; X dolex(); X (void)fclose(fp); X } X } X } X } X else /* lex stdin */ X { X the_filename = "stdin"; X dolex(); X } X exit (EXIT_SUCCESS); X return (0); } X X static void dolex(VOID) { X line_number = 1L; X printf("# line %ld \"%s\"\n", line_number, the_filename); X X while (yylex() > 0) X ; } X X #if NEW_STYLE static int match_option(const char *s, const char *t, int nmax) #else /* K&R style */ static int match_option(s, t, nmax) const char *s; const char *t; int nmax; #endif /* NEW_STYLE */ { X int match, n; X X match = 1; /* assume that s and t match, and then try to prove otherwise */ X X for (n = 0; n < nmax; ++n) X { X if (TOLOWER(s[n]) != TOLOWER(t[n])) X { X match = 0; X break; X } X } X X return (match); } X X static void show_help_and_exit(VOID) { X static const char *help[] = X { X "\n", X "Usage:\n\t", X "REPLACE-ME", X " [ options ] [ infile(s) ]\n", X "\n", X "If there are no command-line files, then input is from stdin.\n", X "\n", X "Optional arguments:\n", X "\n", X "\t-h\tprint brief help on stderr and exit with success\n", X "\t-v\tprint version information on stderr and exit with success\n", X "\n", X "The GNU-style --help, and --version options are accepted, as are\n", X "any unique prefixes of those long options. Lettercase is not\n", X "significant in option names.\n", X "\n", X (const char *)NULL X }; X int k; X X help[2] = PROGRAM_NAME; X X for (k = 0; help[k] != (const char *)NULL; ++k) X (void)printf("%s", help[k]); X X exit(EXIT_SUCCESS); } X X static void show_version_and_exit(VOID) { X const char *version[] = X { X "This is ", X "REPLACE-ME", X " version ", X PACKAGE_VERSION, X " ", X PACKAGE_DATE, X "\n\n", X "Copyright (C) 1998--2021 by ", X PACKAGE_AUTHOR, X " and the Free Software Foundation, Inc.\n\n", X PACKAGE_NAME, X " is free software that you are free to change, redistribute, and\n", X "mirror. There is NO WARRANTY; not even for MERCHANTABILITY or FITNESS\n", X "FOR A PARTICULAR PURPOSE.\n\n", X "The software development master Web site is\n\n\t", X PACKAGE_URL, X "\n\n", X "The software is distributed under the GNU General Public License (GPL),\n", X "version 2 or later, available as the file COPYING in the program source\n", X "distribution, and also at\n\n", X "\thttp://www.gnu.org/copyleft/gpl.html\n\n", X "Send bug reports to\n\n\t", X PACKAGE_BUGREPORT, X "\n\n", X (const char *)NULL X }; X int k; X X version[1] = PROGRAM_NAME; X for (k = 0; version[k] != (const char *)NULL; ++k) X (void)printf("%s", version[k]); X X exit(EXIT_SUCCESS); } SHAR_EOF (set 20 21 07 08 11 01 57 'lexmain.c' eval "${shar_touch}") && \ chmod 0644 'lexmain.c' if test $? -ne 0 then ${echo} "restore of lexmain.c failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'lexmain.c': 'MD5 check failed' ) << \SHAR_EOF efe5a1971992f1f1c148589d3c9da2d2 lexmain.c SHAR_EOF else test `LC_ALL=C wc -c < 'lexmain.c'` -ne 4292 && \ ${echo} "restoration warning: size of 'lexmain.c' is not 4292" fi fi # ============= token.h ============== if test -n "${keep_file}" && test -f 'token.h' then ${echo} "x - SKIPPING token.h (file already exists)" else ${echo} "x - extracting token.h (text)" sed 's/^X//' << 'SHAR_EOF' > 'token.h' && /* NB: The values chosen here MUST match the %token lines in bibparse.y and X the values compiled into bibclean */ #if NEW_STYLE typedef enum token_list { X TOKEN_UNKNOWN = 0, X TOKEN_ABBREV = 1, /* alphabetical order, from 1 */ X TOKEN_AT, X TOKEN_COMMA, X TOKEN_COMMENT, X TOKEN_ENTRY, X TOKEN_EQUALS, X TOKEN_FIELD, X TOKEN_INCLUDE, X TOKEN_INLINE, X TOKEN_KEY, X TOKEN_LBRACE, X TOKEN_LITERAL, X TOKEN_NEWLINE, X TOKEN_PREAMBLE, X TOKEN_RBRACE, X TOKEN_SHARP, X TOKEN_SPACE, X TOKEN_STRING, X TOKEN_VALUE } token_t; #else /* K&R style */ typedef int token_t; #define TOKEN_UNKNOWN 0 #define TOKEN_ABBREV 1 /* alphabetical order from 1 */ #define TOKEN_AT 2 #define TOKEN_COMMA 3 #define TOKEN_COMMENT 4 #define TOKEN_ENTRY 5 #define TOKEN_EQUALS 6 #define TOKEN_FIELD 7 #define TOKEN_INCLUDE 8 #define TOKEN_INLINE 9 #define TOKEN_KEY 10 #define TOKEN_LBRACE 11 #define TOKEN_LITERAL 12 #define TOKEN_NEWLINE 13 #define TOKEN_PREAMBLE 14 #define TOKEN_RBRACE 15 #define TOKEN_SHARP 16 #define TOKEN_SPACE 17 #define TOKEN_STRING 18 #define TOKEN_VALUE 19 #endif X static const char *type_name[] = { /* must be indexable by TOKEN_xxx */ X "UNKNOWN", X "ABBREV", /* alphabetical order, starting at 1 */ X "AT", X "COMMA", X "COMMENT", X "ENTRY", X "EQUALS", X "FIELD", X "INCLUDE", X "INLINE", X "KEY", X "LBRACE", X "LITERAL", X "NEWLINE", X "PREAMBLE", X "RBRACE", X "SHARP", X "SPACE", X "STRING", X "VALUE", }; SHAR_EOF (set 19 98 06 01 17 43 49 'token.h' eval "${shar_touch}") && \ chmod 0644 'token.h' if test $? -ne 0 then ${echo} "restore of token.h failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'token.h': 'MD5 check failed' ) << \SHAR_EOF 613f21365327b323609161f14b704247 token.h SHAR_EOF else test `LC_ALL=C wc -c < 'token.h'` -ne 1528 && \ ${echo} "restoration warning: size of 'token.h' is not 1528" fi fi # ============= test/check.bat ============== if test ! -d 'test'; then mkdir 'test' if test $? -eq 0 then ${echo} "x - created directory test." else ${echo} "x - failed to create directory test." exit 1 fi fi if test -n "${keep_file}" && test -f 'test/check.bat' then ${echo} "x - SKIPPING test/check.bat (file already exists)" else ${echo} "x - extracting test/check.bat (text)" sed 's/^X//' << 'SHAR_EOF' | uudecode && begin 600 test/check.bat M.B,@5&AI2!T;R!T#`P,B!L97@P,#,@;&5X,#`T(&QE>#`P-2D@9&\@+BY<8FEB;&5X M("4E9BYI;B`^)25F+F]U=`T*.B,@/R`@0F5C875S92!T:&%T(&1O97-N)W0@ M=V]R:R$@(%EO=2!E;F0@=7`@=VET:"!F:6QE2TQ.3DY72`M+2!U<&1A=&4@9F]R(&)I8G!A#`P,2YI;B`^ M;&5X,#`Q+F]U=`T*8V]M<"!L97@P,#$N;W5T(&]K87E<;&5X,#`Q+F]U=`T* M+BY<8FEB;&5X(&QE>#`P,BYI;B`^;&5X,#`R+F]U=`T*8V]M<"!L97@P,#(N M;W5T(&]K87E<;&5X,#`R+F]U=`T*+BY<8FEB;&5X(&QE>#`P,RYI;B`^;&5X M,#`S+F]U=`T*8V]M<"!L97@P,#,N;W5T(&]K87E<;&5X,#`S+F]U=`T*+BY< M8FEB;&5X(&QE>#`P-"YI;B`^;&5X,#`T+F]U=`T*8V]M<"!L97@P,#0N;W5T M(&]K87E<;&5X,#`T+F]U=`T*+BY<8FEB;&5X(&QE>#`P-2YI;B`^;&5X,#`U M+F]U=`T*8V]M<"!L97@P,#4N;W5T(&]K87E<;&5X,#`U+F]U=`T*#0HN+EQB M:6)P87)S92!P87)S93`P,2YI;B`^<&%R5QP M87)S93`P,BYO=70-"BXN7&)I8G!A5QP87)S93`P-2YO=70-"BXN7&)I8G!A5QP87)S93`P."YO=70-"BXN7&)I8G!A5QP87)S93`Q,2YO=70-"BXN7&)I8G!A5QP87)S93`Q-"YO=70-"BXN7&)I8G!A#`P M,2YO=70-"F-O;7`@=6YL97@P,#$N;W5T(&]K87E<=6YL97@P,#$N;W5T#0HN M+EQB:6)U;FQE>"!U;FQE>#`P,BYI;B`^=6YL97@P,#(N;W5T#0IC;VUP('5N M;&5X,#`R+F]U="!O:V%Y7'5N;&5X,#`R+F]U=`T*+BY<8FEB=6YL97@@=6YL M97@P,#,N:6X@/G5N;&5X,#`S+F]U=`T*8V]M<"!U;FQE>#`P,RYO=70@;VMA M>5QU;FQE>#`P,RYO=70-"BXN7&)I8G5N;&5X('5N;&5X,#`T+FEN(#YU;FQE M>#`P-"YO=70-"F-O;7`@=6YL97@P,#0N;W5T(&]K87E<=6YL97@P,#0N;W5T M#0HN+EQB:6)U;FQE>"!U;FQE>#`P-2YI;B`^=6YL97@P,#4N;W5T#0IC;VUP A('5N;&5X,#`U+F]U="!O:V%Y7'5N;&5X,#`U+F]U=`T* ` end SHAR_EOF (set 19 99 05 11 17 34 18 'test/check.bat' eval "${shar_touch}") && \ chmod 0444 'test/check.bat' if test $? -ne 0 then ${echo} "restore of test/check.bat failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'test/check.bat': 'MD5 check failed' ) << \SHAR_EOF 37bd117fcb412717cffe9fa3b657ac89 test/check.bat SHAR_EOF else test `LC_ALL=C wc -c < 'test/check.bat'` -ne 2418 && \ ${echo} "restoration warning: size of 'test/check.bat' is not 2418" fi fi # ============= test/docheck.sh ============== if test ! -d 'test'; then mkdir 'test' if test $? -eq 0 then ${echo} "x - created directory test." else ${echo} "x - failed to create directory test." exit 1 fi fi if test -n "${keep_file}" && test -f 'test/docheck.sh' then ${echo} "x - SKIPPING test/docheck.sh (file already exists)" else ${echo} "x - extracting test/docheck.sh (text)" sed 's/^X//' << 'SHAR_EOF' > 'test/docheck.sh' && #! /bin/sh #======================================================================= # Run validation tests on bibXXX (XXX = lex, parse, or unlex). # # Usage: # ./docheck.sh PROGRAM test1 test2 ... # # The first argument is the name of the program to test; it should be # absolute, relative, or else known to be in the search path. # # The second through last of the files are the basenames of test # files. # # [07-Oct-2015] Allow SED value to be supplied from the environment # because of different behavior of sed on OpenBSD with # '\r' pattern to match a carriage return. # [03-Jun-1998] #======================================================================= X # Validate the argument count if test $# -lt 2 then X echo Usage: ./docheck.sh PROGRAM test1 test2 ... X exit 1 fi X # Validate the program name PROGRAM=$1 if test -f $PROGRAM then X true else X PROGRAM=`which $PROGRAM` fi X if test -f $PROGRAM then X true else X echo $1 not found X exit 1 fi X # Discard the first argument; what remains are the test basenames shift X CMP=cmp DIFF="diff -w -b" GREP=grep HEAD="head -40" RM="rm -f" SED=${SED-sed} VM=${VM} X test -f ERROR-COUNT || echo 0 > ERROR-COUNT test -f TEST-COUNT || echo 0 > TEST-COUNT X for f in "$@" do X if test -f $f.opt X then X echo $f: options `cat $f.opt` X ## echo "DEBUG: ${VM} ${PROGRAM} `cat $f.opt` $f.in 2>$f.err" X ${VM} ${PROGRAM} `cat $f.opt` $f.in 2>$f.err | ${GREP} -v '^yydebug:' | ${SED} -e 's/\r//g' >$f.out X else X echo $f X ## echo "DEBUG: ${VM} ${PROGRAM} $f.in 2>$f.err" X ${VM} ${PROGRAM} $f.in 2>$f.err | ${GREP} -v '^yydebug:' | ${SED} -e 's/\r//g' >$f.out X fi X X n=`cat TEST-COUNT` X echo `expr $n + 2` > TEST-COUNT X X # The sed step is necessary to handle SGI IRIX 6 lex output, and X # bison output, and is harmless on other systems. X ${SED} -e 's/Syntax error/syntax error/' \ X -e 's/parse error/syntax error/' \ X -e '/wine: Module not found/d' \ X -e 's/\r//g' \ X < $f.err >$f.er2 X mv $f.er2 $f.err X X # [04-Jul-2014] the okay/*.err.2 files represent alternate X # valid outputs from different lex/flex versions: we accept X # both pairs X OKAYERR=okay/$f.err X test -f ${OKAYERR}.2 && ${CMP} -s ${OKAYERR}.2 $f.err && OKAYERR=${OKAYERR}.2 X test -f ${OKAYERR}.3 && ${CMP} -s ${OKAYERR}.3 $f.err && OKAYERR=${OKAYERR}.3 X X if ${CMP} ${OKAYERR} $f.err X then ${RM} $f.err X else X echo Failure on $f.err ... X ${DIFF} ${OKAYERR} $f.err | ${HEAD} X n=`cat ERROR-COUNT` X echo `expr $n + 1` > ERROR-COUNT X fi X X OKAYOUT=okay/$f.out X test -f ${OKAYOUT}.2 && ${CMP} -s ${OKAYOUT}.2 $f.out && OKAYOUT=${OKAYOUT}.2 X test -f ${OKAYOUT}.3 && ${CMP} -s ${OKAYOUT}.3 $f.out && OKAYOUT=${OKAYOUT}.3 X X if ${CMP} ${OKAYOUT} $f.out X then ${RM} $f.out X else X echo Failure on $f.out ... X ${DIFF} ${OKAYOUT} $f.out | ${HEAD} X n=`cat ERROR-COUNT` X echo `expr $n + 1` > ERROR-COUNT X fi done SHAR_EOF (set 20 20 08 06 12 44 26 'test/docheck.sh' eval "${shar_touch}") && \ chmod 0755 'test/docheck.sh' if test $? -ne 0 then ${echo} "restore of test/docheck.sh failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'test/docheck.sh': 'MD5 check failed' ) << \SHAR_EOF 9a7432f6ec4fa26e1be7ea25f4404fb1 test/docheck.sh SHAR_EOF else test `LC_ALL=C wc -c < 'test/docheck.sh'` -ne 2969 && \ ${echo} "restoration warning: size of 'test/docheck.sh' is not 2969" fi fi # ============= test/lex001.in ============== if test -n "${keep_file}" && test -f 'test/lex001.in' then ${echo} "x - SKIPPING test/lex001.in (file already exists)" else ${echo} "x - extracting test/lex001.in (text)" sed 's/^X//' << 'SHAR_EOF' > 'test/lex001.in' && @Book{Lamport:LDP85, X title = "{\LaTeX}---A Document X Preparation System---User's X Guide and Reference Manual", } X @String{pub-AW = X "Ad{\-d}i{\-s}on-Wes{\-l}ey"} X @Book{Lamport:LDP85, X author = "Leslie Lamport", X title = "{\LaTeX}---A Document X Preparation System---User's X Guide and Reference Manual", X publisher = pub-AW, X year = "1985", X ISBN = "0-201-15790-X", } SHAR_EOF (set 19 93 01 02 16 34 07 'test/lex001.in' eval "${shar_touch}") && \ chmod 0444 'test/lex001.in' if test $? -ne 0 then ${echo} "restore of test/lex001.in failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'test/lex001.in': 'MD5 check failed' ) << \SHAR_EOF 5caa60d5df2ec76301f1f66bdc825b10 test/lex001.in SHAR_EOF else test `LC_ALL=C wc -c < 'test/lex001.in'` -ne 457 && \ ${echo} "restoration warning: size of 'test/lex001.in' is not 457" fi fi # ============= test/lex002.in ============== if test -n "${keep_file}" && test -f 'test/lex002.in' then ${echo} "x - SKIPPING test/lex002.in (file already exists)" else ${echo} "x - extracting test/lex002.in (text)" sed 's/^X//' << 'SHAR_EOF' | uudecode && begin 600 test/lex002.in M0$)O;VM[3&%M<&]R=#I,1%`X-2QT:71L93TB>UQ,851E6'TM+2U!($1O8W5M M96YT(%!R97!AUPM;'UE>2)]0$)O;VM[3&%M<&]R=#I,1%`X-2QA=71H;W(](DQE MUQ,851E6'TM+2U!($1O8W5M96YT(%!R M97!A/dev/null 2>&1 || ${echo} 'test/lex002.in': 'MD5 check failed' ) << \SHAR_EOF cccfe6237ded305d10b75f5a9dddfdb4 test/lex002.in SHAR_EOF else test `LC_ALL=C wc -c < 'test/lex002.in'` -ne 331 && \ ${echo} "restoration warning: size of 'test/lex002.in' is not 331" fi fi # ============= test/lex003.in ============== if test -n "${keep_file}" && test -f 'test/lex003.in' then ${echo} "x - SKIPPING test/lex003.in (file already exists)" else ${echo} "x - extracting test/lex003.in (text)" sed 's/^X//' << 'SHAR_EOF' > 'test/lex003.in' && @Book{Lamport:LDP85, X X title = X X X X "{\LaTeX}---A Document X X X X X X X X X X X X X X Preparation System---User's X X X X X X X X X X X X X X Guide and Reference Manual", } X @String{pub-AW = X X X X X X X X X X X "Ad{\-d}i{\-s}on-Wes{\-l}ey"} X @Book{Lamport:LDP85, X X author = X X X "Leslie Lamport", X X title = X X X X "{\LaTeX}---A Document X X X X X X X X X X X X X X Preparation System---User's X X X X X X X X X X X X X X Guide and Reference Manual", X X publisher = pub-AW, X X year = X X X X X "1985", X X ISBN = X X X X X "0-201-15790-X", } SHAR_EOF (set 19 98 06 03 06 53 26 'test/lex003.in' eval "${shar_touch}") && \ chmod 0444 'test/lex003.in' if test $? -ne 0 then ${echo} "restore of test/lex003.in failed" fi if ${md5check} then ( ${MD5SUM} -c >/dev/null 2>&1 || ${echo} 'test/lex003.in': 'MD5 check failed' ) << \SHAR_EOF b6fcfa652415b4a53a59da435dd7207f test/lex003.in SHAR_EOF else test `LC_ALL=C wc -c < 'test/lex003.in'` -ne 457 && \ ${echo} "restoration warning: size of 'test/lex003.in' is not 457" fi fi # ============= test/lex004.in ============== if test -n "${keep_file}" && test -f 'test/lex004.in' then ${echo} "x - SKIPPING test/lex004.in (file already exists)" else ${echo} "x - extracting test/lex004.in (text)" sed 's/^X//' << 'SHAR_EOF' > 'test/lex004.in' && %%% /u/sy/beebe/tex/bib/texbook3.bib, Thu Dec 29 11:04:44 1994 %%% Edit by Nelson H. F. Beebe X %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "2.69", %%% date = "11 May 1998", %%% time = "18:09:35 MDT", %%% filename = "texbook3.bib", %%% address = "Center for Scientific Computing %%% University of Utah %%% Department of Mathematics, 322 INSCC %%% 155 S 1400 E RM 233 %%% Salt Lake City, UT 84112-0090 %%% USA", %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 585 1640, +1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", %%% checksum = "53057 11327 46815 427150", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at ieee.org (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "bibliography, TeX", %%% supported = "yes", %%% docstring = "This BibTeX file records books, articles, %%% and electronic forums on TeX, METAFONT, %%% Web, fonts, typography, indexing, and %%% software related to these topics. Articles %%% from TUGboat and TeXniques are excluded, %%% because they are maintained in separate %%% bibliographies (tugboat.bib and %%% texnique.bib). Also largely excluded is %%% material on SGML and other aspects of %%% electronic publishing, because they are %%% covered in separate bibliographies %%% (ep.bib, epodd.bib, and sgml.bib). %%% %%% At version 2.69, the year coverage looks %%% like this: %%% %%% 1928 ( 1) 1952 ( 0) 1976 ( 3) %%% 1929 ( 0) 1953 ( 0) 1977 ( 2) %%% 1930 ( 0) 1954 ( 0) 1978 ( 7) %%% 1931 ( 0) 1955 ( 0) 1979 ( 5) %%% 1932 ( 0) 1956 ( 0) 1980 ( 6) %%% 1933 ( 0) 1957 ( 0) 1981 ( 11) %%% 1934 ( 0) 1958 ( 0) 1982 ( 20) %%% 1935 ( 0) 1959 ( 0) 1983 ( 24) %%% 1936 ( 0) 1960 ( 0) 1984 ( 14) %%% 1937 ( 0) 1961 ( 0) 1985 ( 35) %%% 1938 ( 0) 1962 ( 0) 1986 ( 39) %%% 1939 ( 0) 1963 ( 0) 1987 ( 43) %%% 1940 ( 0) 1964 ( 0) 1988 ( 49) %%% 1941 ( 0) 1965 ( 0) 1989 ( 54) %%% 1942 ( 0) 1966 ( 0) 1990 ( 50) %%% 1943 ( 0) 1967 ( 1) 1991 ( 40) %%% 1944 ( 0) 1968 ( 0) 1992 ( 53) %%% 1945 ( 0) 1969 ( 1) 1993 ( 46) %%% 1946 ( 0) 1970 ( 2) 1994 ( 34) %%% 1947 ( 0) 1971 ( 1) 1995 ( 23) %%% 1948 ( 0) 1972 ( 2) 1996 ( 9) %%% 1949 ( 0) 1973 ( 1) 1997 ( 18) %%% 1950 ( 0) 1974 ( 1) 1998 ( 2) %%% 1951 ( 0) 1975 ( 1) %%% 19xx ( 2) %%% %%% Article: 159 %%% Book: 251 %%% Booklet: 12 %%% InCollection: 7 %%% InProceedings: 61 %%% Manual: 9 %%% MastersThesis: 1 %%% Misc: 13 %%% Periodical: 1 %%% PhdThesis: 1 %%% Proceedings: 33 %%% TechReport: 50 %%% Unpublished: 2 %%% %%% Total entries: 600 %%% %%% The ISBN and ISSN fields will be printed if %%% the is-alpha.bst or is-plain.bst style %%% files are used. %%% %%% This bibliography is a continuation of that %%% in texbook1.bib, which was frozen at %%% version 1.153, in order to introduce an %%% improved citation tag scheme. %%% %%% CONVENTIONS %%% %%% Books are tagged by the first author's last %%% name, a colon, a four-digit publication %%% year, a colon, and up to 3 upper-case letters %%% taken from the first three upper-case words %%% in the title (ignoring words like A, And, %%% The). When this is insufficient to %%% disambiguate entries, additional lower-case %%% letters are suffixed to the tags. %%% %%% For Dutch authors, a van part is included %%% in the author tag. For names with accented %%% letters, accents are dropped in the author %%% tag. %%% %%% Entries are stored ordered by the BibTeX %%% tag name, independent of the entry type %%% (the GNU Emacs function sort-bibtex-entries %%% can be used to ensure correct ordering). %%% However, entries that are cross-referenced %%% by others are stored at the end of the %%% file, since that order is required by %%% BibTeX. %%% %%% With few exceptions, value fields for %%% acknowledgement, address, journal, and %%% publisher keywords should use macros %%% defined in the string preamble below. This %%% helps to ensure consistency, and reduces %%% the entry sizes. Address entries must %%% always include the country. %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility." %%% } %%% ==================================================================== %%% %%% Computing Systems is the Journal of the USENIX Association %%% published with the collaboration of the EUUG. The ISSN is %%% 0895-6340. It is published by the University of California %%% Press, 2120 Berkeley Way, Berkeley, CA 94720. %%% %%% Rates are US $40/yr for non-members, plus $4 postage if %%% outside the US. Single copies are US $10. %%% %%% Editorial correspondence should be addressed to %%% %%% Computing Systems %%% Suite 215 %%% 2560 Ninth Street %%% Berkeley, CA 94710 %%% %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X %%% A delimited macro \toenglish ... \endtoenglish is NECESSARY here. %%% The more conventional undelimited form \toenglish{...} has braces %%% that prevent BibTeX's downcasing operation, and the alternate form %%% {\toenglish{...}} is considered a `special character' by BibTeX, %%% and all of {...} gets downcased. We avoid the name \english to %%% prevent conflicts with language options in packages like Babel. %%% %%% To suppress output of English translations of non-English titles, %%% use %%% "\def \toenglish #1\endtoenglish{\unskip}" %%% instead. X @Preamble{"\input bibnames.sty " # "\input path.sty " # "\ifx \k \undefined \let \k = \c X \immediate\write16{Ogonek accent unavailable: replaced by cedilla}\fi " # "\def \toenglish #1\endtoenglish{[{\em English:} #1\unskip]} " # "\hyphenation{ X An-wen-der-ver-ein-i-gung X Bie-mes-der-fer X Co-lo-phon X Deutsch-spra-chi-ge X Ge-leit-wort X Hol-dys X Katz-en-beiss-er X Ko-lo-dziej-ska X la-da-mi X Lar-ra-bee X Manu-scripts X mark-up X Rijks-uni-ver-si-teit X South-all X Stutt-gart }" } X %%====================================================================== %% Acknowledgements X @String{ack-aa = "Abass Alamnehe, X EthiO Systems Co., X P.O. Box 36921, X Houston, TX 77236, X USA, X Phone: +1 713 995-4360, X FAX: +1 713 995-1346, X e-mail: \path|abassa@sugar.NeoSoft.COM|"} X @String{ack-ab = "Arvind Borde, X Department of Mathematics, X Long Island University, X Southampton, NY 11968, USA, X Tel: (516) 283-4000, X e-mail: BITnet: \path|borde@bnlcl1|"} X @String{ack-bnb = "Barbara N. Beeton X e-mail: \path|bnb@math.ams.org|"} X @String{ack-cb = "Claudio Beccari, X Dipartimento di Elettronica, X Politecnico di Torino, X Corso Duca degli Abruzzi, 24, X I10129 Torino, Italy, X e-mail: \path|beccari@itopoli.bitnet|, X \path|beccari@polito.it|"} X @String{ack-dh = "Don Hosek, X 440F Grinnell, X Claremont, CA 91711, X Tel: (714) 625-0147, X e-mail: BITnet: \path|dhosek@ymir|"} X @String{ack-fm = "Frank Mittelbach, X e-mail: \path|mittelbach@mzdmza.zdv.uni-mainz.de|"} X @String{ack-hk = "Hanna K{\"o}lodziejska, X {\"O}srodek Obliczeniowy, X Instytutu Informatyki UW, X P{\"a}lac Kultury i Nauki pok. 838, X 00-901 Warszawa, X Poland"} X @String{ack-jb = "Janusz S. Bie{\'n}, X e-mail: \path|jsbien@plearn.edu.pl|"} X @String{ack-jpl = "Jeff Lankford, X X e-mail: \path|jpl@nrtc.northrop.com|"} @String{ack-js = "Joachim Schrod, X Institute for Theoretical Informatics, X Computer Science Department, X Technical University of Darmstadt, X Germany, X e-mail: \path|schrod@iti.informatik.th-darmstadt.de|"} X @String{ack-kb = "Karl Berry, X e-mail: \path|karl@cs.umb.edu|"} X @String{ack-mb = "Mimi Burbank, X e-mail: \path|MIMI@scri.fsu.edu|"} X @String{ack-mc = "Malcolm Clark"} X @String{ack-md = "Monika D{\k{a}}bkowska, X Uniwersytet Warszawski, X Wydzia{\l} Matematyki, Informatyki i Mechaniki Stosowanej, X Warszawa, Poland"} X @String{ack-nhfb = "Nelson H. F. Beebe, X Center for Scientific Computing, X University of Utah, X Department of Mathematics, 322 INSCC, X 155 S 1400 E RM 233, X Salt Lake City, UT 84112-0090, USA, X Tel: +1 801 581 5254, X FAX: +1 801 585 1640, +1 801 581 4148, X e-mail: \path|beebe@math.utah.edu|, X \path|beebe@acm.org|, X \path|beebe@ieee.org| (Internet), X URL: \path|http://www.math.utah.edu/~beebe/|"} X @String{ack-njh = "Nick Higham, X e-mail: \path|higham@vtx.ma.man.ac.uk|"} X @String{ack-ps = "Peter Schmitt, X Institute of Mathematics, X University of Vienna, X Strudlhofgasse 4, X A-1090 Wien, X Austria, X e-mail: \path|a8131dal@awiuni11.edvz.univie.ac.at|, X \path|schmitt@awirap.bitnet|"} X @String{ack-rw = "Reinhard Wonneberger, X Electronic Data Systems, X Eisenstr.56, X D-65428 Ruesselsheim, X Federal Republic of Germany, X e-mail: \path|lo1be.rwonne01@eds.com|"} X @String{ack-rz = "Reinhard Zierke, X Universitaet Hamburg, FB Informatik, X Vogt-Koelln-Strasse 30 X D-22527 Hamburg, X Germany, X Tel: (040) 54715-295, X Fax: (040) 54715-303, X e-mail: \path|zierke@informatik.uni-hamburg.de|"} X %%====================================================================== %% Institution abbreviations: X @String{inst-ANL = "Argonne National Laboratory"} X @String{inst-ANL:adr = "9700 South Cass Avenue, Argonne, IL X 60439-4801, USA"} X @String{inst-APPL-FORTH-RES = "Institute for Applied FORTH Research"} X @String{inst-APPL-FORTH-RES:adr = "Rochester, NY, USA"} X @String{inst-ATT-BELL = "AT\&T Bell Laboratories"} X @String{inst-ATT-BELL:adr = "Murray Hill, NJ, USA"} X @String{inst-CIRCE = "CIRCE"} X @String{inst-CIRCE:adr = "Orsay, France"} X @String{inst-CWI = "Centrum voor Wiskunde en Informatica"} X @String{inst-CWI:adr = "P. O. Box 4079, 1009 AB Amsterdam, The X Netherlands"} X @String{inst-METAFOUNDRY = "The Metafoundry"} X @String{inst-METAFOUNDRY:adr = "OCLC Online Computer Library Center, Inc., X Dublin, OH, USA"} X @String{inst-STAN-CS = "Stanford University, Department of Computer X Science"} X @String{inst-STAN-CS:adr = "Stanford, CA, USA"} X @String{inst-STANFORD = "Stanford University"} X @String{inst-STANFORD:adr = "Stanford, CA, USA"} X @String{inst-USNPS = "U. S. Naval Postgraduate School"} X @String{inst-USNPS:adr = "Monterey, CA 93940, USA"} X @String{inst-USNWL = "U. S. Naval Weapons Laboratory"} X @String{inst-USNWL:adr = "Dahlgren, VA 22448, USA"} X %%====================================================================== %% Journal abbreviations: X @String{j-ABACUS = "Abacus"} X @String{j-ACTA-INFO = "Acta Informatica"} X @String{j-ALLC-BULL = "ALLC Bull"} X @String{j-AMSCI = "American Scientist"} X @String{j-APL-QUOTE-QUAD = "APL Quote Quad"} X @String{j-ATT-TECH-J = "AT\&T Technical Journal"} X @String{j-BAMSN = "Bulletin of the American Mathematical X Society (new series)"} X @String{j-BSTJ = "The Bell System Technical Journal"} X @String{j-BYTE = "Byte Magazine"} X @String{j-CACM = "Communications of the Association for X Computing Machinery"} X @String{j-CGF = "Computer Graphics Forum"} X @String{j-CGIP = "Computer Graphics and Image Processing"} X @String{j-CJ = "The Computer Journal"} X @String{j-COLL-MICRO = "Collegiate Microcomputer"} X @String{j-COMP-CHEM = "Computers and Chemistry"} X @String{j-COMP-PHYS-COMM = "Computer Physics Communications"} X @String{j-COMP-REV = "Computing Reviews"} X @String{j-COMP-SURVEYS = "ACM Computing Surveys"} X @String{j-COMPCHEM = "Computers in Chemistry"} X @String{j-COMPSYS = "Computing Systems"} X @String{j-COMPUTER = "Computer"} X @String{j-COMPUTERS-AND-GRAPHICS = "Computers and Graphics"} X @String{j-COMPUTERSHOPPER = "Computer Shopper"} X @String{j-CPC = "Computer Physics Communications"} X @String{j-CT = "c't"} X @String{j-DDJ = "Dr. Dobb's Journal of Software Tools"} X @String{j-ELECTRONIC-LIBRARY = "Electronic Library"} X @String{j-EPODD = "Electronic X Publishing\emdash{}Orig{\-}i{\-}na{\-}tion, X Dissemination, and Design"} X @String{j-GUTENBERG = "Cahiers GUTenberg"} X @String{j-IBM-SYS-J = "IBM Systems Journal"} X @String{j-IEEE-CGA = "IEEE Computer Graphics and Applications"} X @String{j-IEEE-COMPUTER = "IEEE Computer"} X @String{j-IEEE-SOFTWARE = "IEEE Software"} X @String{j-INFO-TECH-LIB = "Information Technology and Libraries"} X @String{j-J-CHEM-INFO-COMP-SCI = "J. Chem. Inf. Comput. Sci"} X @String{j-J-INFO-PROC = "Journal of Information Processing"} X @String{j-J-INST-ELEC-TELECOMM-ENG = "J. Inst. Electron. Telecommun. Eng"} X @String{j-J-KOREA-INFO-SCI-SOCIETY = "Journal of the Korea Information Science X Society = Chongbo Kwahakhoe nonmunji"} X @String{j-J-SYS-SOFT = "The Journal of systems and software"} X @String{j-J-VIS-LANG-COMPUTING = "Journal of Visual Languages and Computing"} X @String{j-LAB-MICROCOMP = "Laboratory microcomputer"} X @String{j-LIB-HI-TECH = "Library Hi Tech"} X @String{j-MATHINTEL = "The Mathematical Intelligencer"} X @String{j-MDMV = "Mitteilungen der Deutschen X Mathematiker-Vereinigung"} X @String{j-MIKROCOMP-Z = "Mikrocomputer Zeitschrift"} X @String{j-MIKROLAN = "Mikrolan"} X @String{j-NAMS = "Notices of the American Mathematical X Society"} X @String{j-NTG = "Nederlandstalige {\TeX} Gebruikersgroep X (Dutch-speaking {\TeX} Users Group)"} X @String{j-ONLINE = "Online"} X @String{j-PCkurier = "PCkurier"} X @String{j-PCkurier:adr = "PCkurier, ul. St{\k{e}}pi{\'n}ska 22//23, X 00-739 Warszawa, Poland, mailbox 41 03 74 X (16.00-10.00)"} X @String{j-POSTSCRIPT-LANG-J = "The PostScript Language Journal"} X @String{j-PROGRAM = "Program"} X @String{j-RIV-INFO-MILANO = "Rivista di Informatica (Milano)"} X @String{j-SA = "Scientific American"} X @String{j-SCHOLAR = "Scholarly Publishing"} X @String{j-SEYBOLD = "The Seybold Report on Desktop Publishing"} X @String{j-SIGACT = "ACM SIGACT News"} X @String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"} X @String{j-SIGAPL = "ACM SIGAPL APL Quote Quad"} X @String{j-SIGDOC = "ACM SIGDOC Asterisk*"} X @String{j-SIGPLAN = "ACM SIGPLAN Notices"} X @String{j-SIGSAM = "SIGSAM Bulletin"} X @String{j-SPE = "Soft{\-}ware\emdash Prac{\-}tice and X Experience"} X @String{j-STRUCTURED-PROGRAMMING = "Structured programming"} X @String{j-SUNEXPERT = "SunExpert Magazine"} X @String{j-SYS-CTL-INFO = "Systems, Control and Information"} X @String{j-TCS = "Theoretical Computer Science"} X @String{j-TEXHAX = "{\TeX{}hax}"} X @String{j-TEXLINE = "{\TeX{}}line"} X @String{j-TOG = "ACM Transactions on Graphics"} X @String{j-TOMS = "ACM Transactions on Mathematical Software"} X @String{j-TOPLAS = "ACM Transactions on Programming Languages X and Systems"} X @String{j-TSI = "Technology and Science of Informatics"} X @String{j-TUGboat = "{\TUB{}}"} X @String{j-TWIO = "TWIOscoop"} X @String{j-UMAP = "The UMAP Journal"} X @String{j-UMAP:adr = "COMAP, Inc., Suite 210, 57 Bedford St., X Lexington, MA 02173, USA"} X @String{j-UNIV-COMP = "University Computing"} X @String{j-VL = "Visible Language"} X @String{j-WM = "Wiadomo\'sci Matematyczne"} X %%====================================================================== %% Language abbreviations: X @String{lang-eng = "English"} X @String{lang-pl = "Polish"} X %%====================================================================== %% Organization abbreviations: X @String{org-NTG = "Nederlandstalige {\TeX} Gebruikersgroep X (Dutch-speaking {\TeX} Users Group)"} X @String{org-NTG:adr = "P.O. Box 394, 1740 AJ Schagen, The X Netherlands"} X %%====================================================================== %% Preparation details: X %%====================================================================== %% Proceedings: X @String{proc-NIPT91 = "IS\&T's Seventh International Congress on X Advances in Non-impact Printing X Technologies, October 6--11, Portland, OR, X USA."} X @String{proc-TEX85 = "Proceedings of the First European X Conference on {\TeX} for Scientific X Documentation, 16--17 May 1985, Como, Italy"} X %%====================================================================== %% Publisher abbreviations: X @String{pub-ACM = "ACM Press"} @String{pub-ACM:adr = "New York, NY, USA"} X @String{pub-ADOBE = "Adobe Systems Incorporated"} @String{pub-ADOBE:adr = "1585 Charleston Road, P.~O. Box 7900, X Mountain View, CA 94039-7900, USA, Tel: (415) 961-4400"} X @String{pub-ADTP = "Architecture Design and Technology Press, X Ltd."} @String{pub-ADTP:adr = "140 Kensington Church St., London W84 BN, X UK"} X @String{pub-AFIPS = "AFIPS Press"} @String{pub-AFIPS:adr = "Montvale, NJ, USA"} X @String{pub-AHV = "Dr. Alfred H{\"u}thing Verlag"} @String{pub-AHV:adr = "Heidelberg, Germany"} X @String{pub-AMS = "American Mathematical Society"} @String{pub-AMS:adr = "Providence, RI, USA"} X @String{pub-AP = "Academic Press"} @String{pub-AP:adr = "New York, NY, USA"} X @String{pub-APA = "American Psychological Association"} @String{pub-APA:adr = "Washington, DC, USA"} X @String{pub-ARIEL = "Ariel Sp. z o.o"} @String{pub-ARIEL:adr = "Krak{\'o}w, Poland"} X @String{pub-ASCII = "ASCII Corporation"} @String{pub-ASCII:adr = "Tokyo, Japan"} X @String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"} @String{pub-AW:adr = "Reading, MA, USA"} X @String{pub-AWE = "Ad{\-}di{\-}son-Wes{\-}ley Europe"} @String{pub-AWE:adr = "Amsterdam, The Netherlands"} X @String{pub-AW-FRANCE = "Ad{\-d}i{\-s}on-Wes{\-l}ey France"} @String{pub-AW-FRANCE:adr = "Paris, France"} X @String{pub-AWV = "Ad{\-}di{\-}son-Wes{\-}ley Verlag"} @String{pub-AWV:adr = "Bonn, Germany"} X @String{pub-BH = "Birkh{\"{a}}user"} @String{pub-BH:adr = "Basel, Switzerland"} X @String{pub-BIEL = "Biel"} @String{pub-BIEL:adr = "Savannah, Ga"} X @String{pub-BL = "The British Library"} @String{pub-BL:adr = "London, UK"} X @String{pub-BLUEPRINT = "Blueprint"} @String{pub-BLUEPRINT:adr = "London, UK"} X @String{pub-BOWK = "R. R. Bowker Company"} @String{pub-BOWK:adr = "1180 Avenue of the Americas, New York, NY X 10036, USA"} X @String{pub-BP = "Boole Press"} @String{pub-BP:adr = "Dublin, Ireland"} X @String{pub-BRINKMANN-BOSE = "Brinkmann \& Bose"} @String{pub-BRINKMANN-BOSE:adr = "Berlin, Germany"} X @String{pub-BROOKS-COLE = "Brooks\slash Cole Publishing Co."} @String{pub-BROOKS-COLE:adr = "Pacific Grove, CA, USA"} X @String{pub-CHARTWELL = "Chartwell Books, Inc."} @String{pub-CHARTWELL:adr = "110 Enterprise Avenue, Secaucus, New Jersey X 07094, USA"} X @String{pub-CIAOCO = "Editions Ciaoco"} @String{pub-CIAOCO:adr = "Artel, Bruxelles, Belgium"} X @String{pub-CRC = "CRC Publishers"} @String{pub-CRC:adr = "2000 Corporate Blvd., Boca Raton, FL 33431, X USA"} X @String{pub-CSP = "Computer Science Press"} @String{pub-CSP:adr = "11 Taft Court, Rockville, MD 20850, USA"} X @String{pub-CSTUG = "Czechoslovak{\TeX} Users Group"} @String{pub-CSTUG:adr = "CSTUG M{\'U} UK, Sokolovsk{\'a} 83, 186 00 X Praha 8, The Czech Republic"} X @String{pub-CUP = "Cambridge University Press"} @String{pub-CUP:adr = "New York"} X @String{pub-DP = "Digital Press"} @String{pub-DP:adr = "12 Crosby Drive, Bedford, MA 01730, USA"} X @String{pub-DPUNKT-VERLAG = "dpunkt Verlag"} @String{pub-DPUNKT-VERLAG:adr = "Ringstra{\ss}e 19, 69115 Heidelberg, X Germany"} X @String{pub-EEI = "Editorial Experts, Inc."} @String{pub-EEI:adr = "Alexandria, VA, USA"} X @String{pub-EH = "Ellis Horwood"} @String{pub-EH:adr = "Chichester, UK"} X @String{pub-ELS = "Elsevier Science Publishers B.V."} @String{pub-ELS:adr = "Amsterdam, The Netherlands"} X @String{pub-ENH = "Elsevier North-Holland, Inc."} @String{pub-ENH:adr = "New York, NY, USA"} X @String{pub-ETHIO = "EthiO Systems Co."} @String{pub-ETHIO:adr = "P.O. Box 36921, Houston, TX 77236, USA"} X @String{pub-EUH = "Editore Ulrico Hoepli"} @String{pub-EUH:adr = "Ulrico Hoepli Editore S.p.A., via Hoepli 5, X 20121 Milano, Italy"} X @String{pub-EUUG = "European UNIX Users Group"} @String{pub-EUUG:adr = "Buntingford, Herts, UK"} X @String{pub-EYROLLES = "Editions Eyrolles"} @String{pub-EYROLLES:adr = "Paris, France"} X @String{pub-FCGCC = "F{\'e}d{\'e}ration C. G. C. de la X Communication"} @String{pub-FCGCC:adr = ""} X @String{pub-GODINE = "David R. Godine, Publisher"} @String{pub-GODINE:adr = "Boston, MA, USA"} X @String{pub-GOLEM = "Golem Press"} @String{pub-GOLEM:adr = "Boulder, CO, USA"} X @String{pub-GP = "Graphics Press"} @String{pub-GP:adr = "Box 430, Cheshire, CT 06410, USA"} X @String{pub-HALSTED = "Halsted Press"} @String{pub-HALSTED:adr = "New York, USA"} X @String{pub-HAMISH = "Hamish Hamilton"} @String{pub-HAMISH:adr = "London"} X @String{pub-HANSER = "Carl Hanser"} @String{pub-HANSER:adr = "M{\"u}nchen, Germany"} X @String{pub-HARVARD-INFO-TECH = "Harvard Univ. Of. for Info. and Tech."} @String{pub-HARVARD-INFO-TECH:adr = "Cambridge, MA, USA"} X @String{pub-HHP = "Hastings House, Publishers"} @String{pub-HHP:adr = "New York, NY, USA"} X @String{pub-HLRA = "Harvard Law Review Association"} @String{pub-HLRA:adr = "Cambridge, MA, USA"} X @String{pub-HRP = "Harper \& Row, Publishers"} @String{pub-HRP:adr = "New York, NY, USA"} X @String{pub-HSCHV = "Universit{\"a}tsdruckerei und Verlag Hermann X Schmidt"} @String{pub-HSCHV:adr = "Mainz, Germany"} X @String{pub-IBM = "IBM Corporation"} @String{pub-IBM:adr = "San Jose, CA, USA"} X @String{pub-IE = "InterEditions"} @String{pub-IE:adr = "Paris, France"} X @String{pub-IEEE = "IEEE Computer Society Press"} @String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver X Spring, MD 20910, USA"} X @String{pub-INRIA = "INRIA/IRISA"} @String{pub-INRIA:adr = "Rennes, France"} X @String{pub-IREE = "IREE"} @String{pub-IREE:adr = "Edgecliff, NSW, Australia"} X @String{pub-IRISA = "IRISA"} @String{pub-IRISA:adr = "Rennes, France"} X @String{pub-IST = "Imaging Science \& Technology"} @String{pub-IST:adr = "????"} X @String{pub-ITP = "International Thomson Publishing"} @String{pub-ITP:adr = "London, New York, Boston, Madrid, X \\ldots{}"} X @String{pub-ITPG = "International Thomson Publishing GmbH"} @String{pub-ITPG:adr = "K{\"o}nigswintere Str. 418, 53227 Bonn, X Germany"} X @String{pub-KLUWER = "Kluwer Academic Publishers Group"} @String{pub-KLUWER:adr = "Norwell, MA, USA"} X @String{pub-KOMPUT = "a/S ``KompuT'' kirjastus"} @String{pub-KOMPUT:adr = "Tartumaa, Estonia"} X @String{pub-KOSMOINFORM = "Kosmosinform"} @String{pub-KOSMOINFORM:adr = "Moscow, Russia"} X @String{pub-LEARNED-INF = "Learned Information"} @String{pub-LEARNED-INF:adr = "Medford, NJ, USA"} X @String{pub-LUND-HUMPHRIES = "Lund Humphries"} @String{pub-LUND-HUMPHRIES:adr = "London, UK"} X @String{pub-MARSZALEK = "Adam Marsza{\l}ek"} @String{pub-MARSZALEK:adr = "Toru{\'n}, Poland"} X @String{pub-MASARYKOVA = "Masarykova Universita"} @String{pub-MASARYKOVA:adr = "Brno, Czechoslovakia"} X @String{pub-MASSON = "Masson Editeur"} X @String{pub-MASSON-SA = "Masson, S.A."} @String{pub-MASSON-SA:adr = "Barcelona, Spain"} @String{pub-MASSON:adr = "Paris, France"} X @String{pub-MATH-ASSOC-AMER = "Mathematical Association of America"} @String{pub-MATH-ASSOC-AMER:adr = "Washington, DC, USA"} X @String{pub-MH = "McGraw-Hill"} @String{pub-MH:adr = "New York, NY, USA"} X @String{pub-MIR = "Mir Publishers"} @String{pub-MIR:adr = "Moscow, Russia"} X @String{pub-MIT = "MIT Press"} @String{pub-MIT:adr = "Cambridge, MA, USA"} X @String{pub-MLAA = "Modern Language Association of America"} @String{pub-MLAA:adr = "New York, NY, USA"} X @String{pub-NAB = "New Amsterdam Books"} @String{pub-NAB:adr = "New York, NY, USA"} X @String{pub-NBS = "U.S. National Bureau of Standards"} @String{pub-NBS:adr = "Gaithersburg, MD, USA"} X @String{pub-NH = "North-Holland Publishing Company"} @String{pub-NH:adr = "Amsterdam, The Netherlands"} X @String{pub-NIGGLI = "Niggli/Hatje"} @String{pub-NIGGLI:adr = "Heiden, Stuttgart, Germany"} X @String{pub-NORTON = "W. W. Norton \& Co."} @String{pub-NORTON:adr = "New York, NY, USA"} X @String{pub-OHIO = "Ohio University Press"} @String{pub-OHIO:adr = "Athens, OH, USA"} X @String{pub-OLDENBOURG = "R. Oldenbourg Verlag"} @String{pub-OLDENBOURG:adr = "Munich, Germany and Vienna, Austria"} X @String{pub-ORA = "O'Reilly \&{Associates, Inc.}"} @String{pub-ORA:adr = "981 Chestnut Street, Newton, MA 02164, USA"} X @String{pub-OUP = "Oxford University Press"} @String{pub-OUP:adr = "Walton Street, Oxford OX2 6DP, UK"} X @String{pub-PEACHPIT = "Peachpit Press, Inc."} @String{pub-PEACHPIT:adr = "1085 Keith Avenue, Berkeley, CA 94708, USA"} X @String{pub-PFLAUM = "Pflaum"} @String{pub-PFLAUM:adr = "M{\"u}nchen, Germany"} X @String{pub-PH = "Pren{\-}tice-Hall"} @String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"} X @String{pub-PHISMATHLIT = "Phismathlit"} @String{pub-PHISMATHLIT:adr = "Moscow, Russia"} X @String{pub-PITAGORA = "Pitagora Editrice"} @String{pub-PITAGORA:adr = "Via del legatore, 3, Bologna, Italy"} X @String{pub-POLYGRAPH = "Polygraph Verlag"} @String{pub-POLYGRAPH:adr = "Frankfurt am Main, Germany"} X @String{pub-PRIME-TIME-FREEWARE = "Prime Time Freeware"} @String{pub-PRIME-TIME-FREEWARE:adr = "370 Altair Way, Suite 150, Sunnyvale, X CA, USA"} X @String{pub-PROTVINO = "Protvino"} @String{pub-PROTVINO:adr = "Moscow, Russia"} X @String{pub-PTI = "Personal{\TeX} Inc."} @String{pub-PTI:adr = "12 Madrona Street, Mill Valley, CA 94941, X USA"} X @String{pub-PTRPH = "P T R Pren{\-}tice-Hall"} @String{pub-PTRPH:adr = "Englewood Cliffs, NJ 07632, USA"} X @String{pub-PUP = "Princeton University Press"} @String{pub-PUP:adr = "Princeton, NJ, USA"} X @String{pub-RISO = "Ris{\o} National Laboratory"} @String{pub-RISO:adr = "Roskilde, Denmark"} X @String{pub-RRB = "R. R. Bowker Company"} @String{pub-RRB:adr = "New York, NY, USA"} X @String{pub-SERIF = "Serif Publishing"} @String{pub-SERIF:adr = "A subsidiary of Xerox Corporation, 701 X South Aviation Boulevard, El Segundo, CA X 90245, USA"} X @String{pub-SF = "Scott, Foresman and Company"} @String{pub-SF:adr = "Glenview, IL, USA"} X @String{pub-SIAM = "Society for Industrial and Applied X Mathematics"} @String{pub-SIAM:adr = "Philadelphia, PA, USA"} X @String{pub-SILICON = "Silicon Press"} @String{pub-SILICON:adr = "25 Beverly Road, Summit, NJ 07901, USA"} X @String{pub-SOC-SCHOL-PUB = "Society for Scholarly Publishing"} @String{pub-SOC-SCHOL-PUB:adr = "Washington, DC, USA"} X @String{pub-SP = "Shapolsky Publishers"} @String{pub-SP:adr = "New York, NY, USA"} X @String{pub-STA = "Society of Typographic Arts"} @String{pub-STA:adr = "Chicago, IL, USA"} X @String{pub-STEINER = "Steiner"} @String{pub-STEINER:adr = "Stuttgart, Germany"} X @String{pub-SUCSLI = "Stanford University Center for the Study of X Language and Information"} @String{pub-SUCSLI:adr = "Stanford, CA, USA"} X @String{pub-SV = "Spring{\-}er-Ver{\-}lag"} @String{pub-SV:adr = "Berlin, Germany~/ Heidelberg, Germany~/ X London, UK~/ etc."} X @String{pub-SYBEX = "Sybex"} @String{pub-SYBEX:adr = "2021 Challenger Driver, Suite 100, Alameda, X CA 94501, USA"} X @String{pub-TEXPLORATORS = "The {\TeX}plorators Corporation"} @String{pub-TEXPLORATORS:adr = "3701 W. Alabama, Suite 450-273, Houston, TX X 77027, USA"} X @String{pub-TH = "Thames and Hudson"} @String{pub-TH:adr = "London, UK"} X @String{pub-TUB = "Technische Universit{\"a}t Berlin, Institut X f{\"u}r Humanwissenschaft in Arbeit und X Ausbildung"} @String{pub-TUB:adr = "10623 Berlin, Germany"} X @String{pub-U-CAL-PRESS = "University of California Press"} @String{pub-U-CAL-PRESS:adr = "Berkeley, CA, USA"} X @String{pub-U-CHICAGO-PRESS = "University of Chicago Press"} @String{pub-U-CHICAGO-PRESS:adr = "Chicago, IL, USA"} X @String{pub-UNIC = "UNI{$\bullet$}C"} @String{pub-UNIC:adr = "Danmarks EDB-Center for Forskning og X Uddannelse, Copenhagen, Denmark"} X @String{pub-URW = "URW (Unternehmensberatung Rubow Weber) X Verlag"} @String{pub-URW:adr = "Hamburg, Germany"} X @String{pub-UTP = "University of Toronto Press"} @String{pub-UTP:adr = "Toronto, Ontario, Canada"} X @String{pub-VIEWEG = "Friedrich Vieweg und Sohn"} @String{pub-VIEWEG:adr = "Braunschweig, Germany"} X @String{pub-VNR = "Van Nostrand Reinhold"} @String{pub-VNR:adr = "New York, NY, USA"} X @String{pub-VOGEL = "Vogel Verlag"} @String{pub-VOGEL:adr = "Postfach 67 40, D-8700 W{\"u}rzburg, X Germany"} X @String{pub-W = "Wiley"} @String{pub-W:adr = "Chichester, UK"} X @String{pub-WCB = "William C. Brown Company Publishers"} @String{pub-WCB:adr = "Dubuque, IA, USA"} X @String{pub-WGP = "Wat{\-}son-Gup{\-}till Publications"} @String{pub-WGP:adr = "1515 Broadway, New York, NY 10036, USA"} X @String{pub-WILEY = "John Wiley and Sons, Inc."} @String{pub-WILEY:adr = "New York, NY, USA"} X @String{pub-WORLD-SCI = "World Scientific"} @String{pub-WORLD-SCI:adr = "Singapore"} X @String{pub-WPC = "Wadsworth Publishing Company"} @String{pub-WPC:adr = "Belmont, CA, USA"} X @String{pub-WWS = "The Wynkyn de Worde Society and Bund X Deutscher Buchk{\"u}nstler"} @String{pub-WWS:adr = "London, UK and Offenbach, Germany"} X @String{pub-YUP = "Yale University Press"} @String{pub-YUP:adr = "New Haven, CT, USA"} X %%====================================================================== %% Bibliography entries: X @Book{Abdelhamid:1992:VLB, X author = "Rames Abdelhamid", X title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte X Einf{\"u}hrung}", X publisher = pub-VIEWEG, X address = pub-VIEWEG:adr, X pages = "xiii + 169", X year = "1992", X ISBN = "3-528-05145-0", X bibdate = "Sat Mar 07 08:50:13 1998", X acknowledgement = ack-nhfb, } X @Book{Abdelhamid:1993:VLB, X author = "Rames Abdelhamid", X title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte X Einf{\"u}hrung}", X publisher = pub-VIEWEG, X address = pub-VIEWEG:adr, X edition = "Second", X pages = "xvi + 169", X year = "1993", X ISBN = "3-528-15145-5", X bibdate = "Wed Mar 2 08:33:46 1994", X acknowledgement = ack-rz, } X @Book{Abdelhamid:1996:VLB, X author = "Rames Abdelhamid", X title = "{Das Vieweg {\LaTeX}-Buch: Eine praxisorientierte X Einf{\"u}hrung}", X publisher = pub-VIEWEG, X address = pub-VIEWEG:adr, X edition = "Third", X pages = "xviii + 226", X year = "1996", X ISBN = "3-528-15145-5", X bibdate = "Sat Mar 07 08:51:07 1998", X note = "The ISBN did not change between second and third X editions.", X price = "44,00 DM", X acknowledgement = ack-nhfb, } X @Article{Abikoff:1986:T, X author = "William Abikoff", X title = "{\TeX}", X journal = j-MATHINTEL, X volume = "8", X number = "3", X pages = "64--76", X year = "1986", X bibdate = "Fri Mar 12 09:43:47 1993", X acknowledgement = ack-ps, } X @Article{Abikoff:1988:TEA, X author = "William Abikoff", X title = "{\TeX}: The Ease and Art of Text Processing", X journal = j-ABACUS, X volume = "5", X number = "4", X pages = "10--29", X month = "summer", X year = "1988", X CODEN = "ABACE", X ISSN = "0724-6722", X bibdate = "Thu Sep 01 00:29:22 1994", X abstract = "Discusses the various facets of text-processing X systems. The common thread is a discussion of the TEX X system of text-processing and typesetting developed by X Donald Knuth. The paper also discusses its accompanying X program, METAFONT which creates characters to be X printed. (0 Refs.)", X acknowledgement = ack-nhfb, X classification = "C6130D (Document processing techniques)", X keywords = "Character creation; TeX; Text-processing systems; TEX X system; Typesetting; METAFONT", X thesaurus = "Word processing", } X @Book{Abrahams:1990:TI, X author = "Paul W. Abrahams and Karl Berry and Kathryn A. X Hargreaves", X title = "{\TeX} for the Impatient", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xvii + 357", X year = "1990", X ISBN = "0-201-51375-7", X LCCN = "Z253.4.T47 A27 1990", X bibdate = "Tue Jul 26 08:43:39 1994", } X @Book{Abrahams:1991:TI, X author = "Paul W. Abrahams and Karl Berry and Kathryn A. X Hargreaves", X title = "{\TeX} per l'impaziente", X publisher = pub-AW, X address = pub-AW:adr, X pages = "396", X year = "1991", X ISBN = "88-7192-022-8", X bibdate = "Tue Jul 26 08:43:41 1994", X note = "This is an translation to Italian of X \cite{Abrahams:1990:TI}, with additional material on X Italian hyphenation.", X acknowledgement = ack-cb, X bookreview = "TUGboat 14, number 4, December 1993, 421--422", X translator = "Gaia Franchi and Guido Franchi", } X @InProceedings{Adams:1991:EFQ, X author = "Debra A. Adams", X title = "Evaluating font quality: {A} method of predicting X character image defects", X crossref = "Pietrowski:1991:ISI", X pages = "353--364", X bibdate = "Tue Mar 1 11:52:23 1994", X acknowledgement = ack-kb, } X @Book{Adobe:1985:PLR, X author = "{Adobe Systems Incorporated}", X title = "{\POSTSCRIPT} Language Reference Manual", X publisher = pub-AW, X address = pub-AW:adr, X pages = "ix + 321", X year = "{\noopsort{1985a}}1985", X ISBN = "0-201-10174-2", X LCCN = "QA76.73.P67 A33 1985", X bibdate = "Tue Dec 14 23:18:17 1993", } X @Book{Adobe:1985:PLT, X author = "{Adobe Systems Incorporated}", X title = "{\POSTSCRIPT} Language Tutorial and Cookbook", X publisher = pub-AW, X address = pub-AW:adr, X pages = "x + 243", X year = "{\noopsort{1985b}}1985", X ISBN = "0-201-10179-3", X LCCN = "QA76.73.P67 A34 1985", X bibdate = "Tue Dec 14 23:18:32 1993", } X @Manual{Adobe:1988:DPS, X title = "The Display {\POSTSCRIPT} System Reference", X organization = pub-ADOBE, X address = pub-ADOBE:adr, X month = oct # " 10", X year = "1988", X bibdate = "Sat Feb 10 14:47:06 1996", } X @Manual{Adobe:1990:ATF, X title = "Adobe Type 1 Font Format", X organization = pub-ADOBE, X address = pub-ADOBE:adr, X month = mar, X year = "1990", X bibdate = "Sat Feb 10 14:47:04 1996", X partnumber = "LPS0064", } X @Misc{Adobe:19xx:CAS, X author = "{Adobe Systems Incorporated}", X title = "{Colophon}\emdash {Adobe Systems News} {Publication}", X year = "198?", } X @InProceedings{Agostini:1985:IUF, X author = "M. Agostini and V. Matano and M. Schaerf and M. X Vascotto", X title = "An {Interactive User-Friendly \TeX} in {VM\slash CMS X Environment}", X crossref = "Lucarella:1985:PFE", X pages = "117--132", X year = "1985", X bibdate = "Sat Feb 10 08:47:13 1996", X acknowledgement = ack-hk, } X @Article{Aiello:1983:SPD, X author = "L. Aiello and S. Pavan", X title = "A system for the production of documents based on X {\TeX} (in Italian)", X journal = j-RIV-INFO-MILANO, X volume = "13", X number = "3", X pages = "261--270", X month = jul, X year = "1983", X bibdate = "Thu Jul 21 19:48:28 1994", } X @Book{Alamnehe:1993:EDP, X author = "Abass Alamnehe", X title = "{e\LaTeX}: Document Preparation Guide", X publisher = pub-ETHIO, X address = pub-ETHIO:adr, X pages = "xvi + 230", X year = "1993", X bibdate = "Fri Apr 1 09:00:27 1994", X note = "This book is typeset in {e\LaTeX}, an Ethiopic-based X version of {\LaTeX}, and is entirely in the Amharic X language, including many of the control sequences.", X acknowledgement = ack-aa, } X @Article{Alexander:1992:TTP, X author = "George Alexander", X title = "{\TeX} and {\TeX}tures: Page Composition in a X Completely Different Vein", X journal = j-SEYBOLD, X volume = "7", X number = "1", X pages = "3--7", X month = sep # " 4", X year = "1992", X CODEN = "SRDFE", X ISSN = "0889-9762", X bibdate = "Thu Sep 01 01:17:35 1994", X abstract = "{\TeX} is a typesetting system that is used for X publishing scholarly material, especially works X containing heavy mathematics. It is popular at X universities and research facilities around the world, X but it is hardly known outside academic circles. Since X {\TeX} is available on desktop platforms (as well as on X mainframes and minicomputers), it is competitive to X some extent with desktop publishing software. There are X still many applications where {\TeX} produces results X that are better than those of standard desktop X packages. There are a few things {\TeX} can do that X couldn't be practically done with desktop software. X There is a new {\TeX} implementation, {\TeX}tures, X which moves {\TeX} a little closer to the desktop X mainstream. It holds out the hope that {\TeX} may yet X have the potential to become as easy to use as other X desktop packages. The author discusses the innovations X built in to {\TeX}, its strengths and weaknesses, and X its uses. (0 Refs.)", X acknowledgement = ack-nhfb, X classification = "D2105 (Media-TV, radio, press)", X keywords = "Typesetting system; TeX; Textures; Page composition; X Desktop publishing software", X thesaurus = "Computer controlled typesetting; Electronic X publishing", } X @Article{Allen:1982:CCD, X author = "F. H. Allen and O. Kennard and D. G. Watson and K. M. X Crennell", X title = "Cambridge Crystallographic Data Centre. 6. Preparation X and computer typesetting of ``molecular structures and X dimensions'' bibliographic volumes", X journal = j-J-CHEM-INFO-COMP-SCI, X volume = "22", X number = "3", X pages = "129--138", X month = aug, X year = "1982", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "documentation", X subject = "H.3.1 Information Systems, INFORMATION STORAGE AND X RETRIEVAL, Content Analysis and Indexing, Dictionaries X \\ H.3.4 Information Systems, INFORMATION STORAGE AND X RETRIEVAL, Systems and Software, Information networks X \\ J.2 Computer Applications, PHYSICAL SCIENCES AND X ENGINEERING, Chemistry", } X @Article{Allport:1992:OND, X author = "G. Allport and P. Jarratt", X title = "The old and the new in document processing", X journal = j-ELECTRONIC-LIBRARY, X volume = "10", X number = "1", X pages = "41--45", X month = feb, X year = "1992", X CODEN = "ELLID", X ISSN = "0264-0473", X bibdate = "Thu Sep 01 01:19:02 1994", X abstract = "{\TeX} is a well-known system for the production of X quality documents, offering the user a high degree of X sophistication in the specification of the final X format. It has companion packages (most notably X {\LaTeX}) which allow other document processing X activities, including the production of new fonts, X pictures and extended production systems. The project X discussed was aimed at rescuing the full power of X {\TeX} packages in the newly emerging X-Windows X technological context. The authors describe software X which was produced to take full advantage of the X facilities of both systems by translating {\TeX} output X into bit-mapped images which can then be displayed on X an X-terminal and mixed with such facilities as the X extra fonts available and bit-maps produced in the X X-environment. An interactive environment is defined X that gives the user flexibility in the creation of a X document of high quality with a friendly human-computer X interface, which allows the windowing environment to X give a new look to an old and well-tried system. (4 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Sch. of Comput. Sci., Birmingham Univ., UK", X classification = "C6130D (Document processing techniques); C6180G X (Graphical user interfaces); C7106 (Word processing)", X keywords = "TeX; LaTeX; Document processing; Fonts; X-Windows; X Bit-mapped images; X-terminal; Interactive environment; X Human-computer interface", X thesaurus = "Character sets; Graphical user interfaces; Interactive X systems; Word processing", } X @Article{Alt:1973:CPT, X author = "F. L. Alt and J. Kirk", X title = "Computer Photocomposition of Technical Text", X journal = j-CACM, X volume = "16", X number = "6", X pages = "??--??", X month = jun, X year = "1973", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Tue May 28 11:53:03 1996", X abstract = "In computer assisted typesetting by means of X photocomposition, special problems arise in highly X technical material such as mathematical formulas. New X solutions to several of these problems have been X devised in the information system of the American X Institute of Physics. They include: the representation X of special characters (foreign alphabets, mathematical X symbols, etc.) not available on input keyboards or on X the photocomposer; the generation of such symbols, e.g. X by overprinting; the precise positioning of accent X marks (floating diacritics); line breaks, i.e. words or X formulas placed partly at the end of one line and X partly at the beginning of the next; and certain X aspects of error correction.", X keywords = "photocomposition, typesetting, printing, graphics, X text processing", } X @Article{Andre:1983:ABT, X author = "Jacques Andr\'e", X title = "Analytical bibliography on text manipulation", X journal = j-TSI, X volume = "1", X number = "5", X year = "1983", X acknowledgement = ack-hk, } X @InProceedings{Andre:1985:ETM, X author = "Jacques Andr\'e and Richard Southall", X title = "Experiments in teaching {\METAFONT}", X crossref = "Lucarella:1985:PFE", X pages = "141--153", X year = "1985", X bibdate = "Tue Jul 26 09:29:08 1994", X acknowledgement = ack-hk, } X @InProceedings{Andre:1985:TIM, X author = "Jacques Andr\'e and Yann Grundt and Vincent Quint", X title = "Towards an Interactive Math Mode in {\TeX}", X crossref = "Lucarella:1985:PFE", X pages = "79--92", X year = "1985", X bibdate = "Tue Jul 26 09:29:02 1994", } X @Book{Andre:1992:ETN, X author = "Jacques Andr\'e", X title = "Enseigner la typographie num\'erique ({\em English\/}: X Teaching digital typography)", X volume = "1618", X publisher = "Institut National de Recherche en Informatique et en X Automatique", X address = "Le Chesnay, France", X pages = "23", X year = "1992", X bibdate = "Sat Feb 10 14:47:51 1996", X bibsource = "OCLC FirstSearch", X series = "Rapports de recherche", X abstract = "Didot is a project of tuition of digital typography. X In this paper, the domain of digital typography is made X explicit, a curriculum for computer scientists, based X on previous curriculum for computer scientists, based X on previous experiences, is proposed, and a basic X bibliography is given.", X acknowledgement = ack-nhfb, X xxISBN = "(none??)", } X @Book{Anonymous:1982:CMS, X author = "Anonymous", X key = "Chicago", X title = "The Chicago Manual of Style", X publisher = pub-U-CHICAGO-PRESS, X address = pub-U-CHICAGO-PRESS:adr, X edition = "13th", X pages = "ix + 737", X year = "1982", X ISBN = "0-226-10390-0", X LCCN = "Z253 .U69 1982", X bibdate = "Fri Jul 22 08:53:35 1994", X price = "UK\pounds30", X abstract = "For over seventy-five years the University of Chicago X Press `Manual of Style' has been the standard reference X tool for authors, editors, copywriters, and X proofreaders. Updated many times since 1906, it now X goes into its thirteenth edition---the first to X introduce a change in title. Bowing to what has become X nearly universal usage, we now call the `Manual' what X everybody else calls it, `The Chicago Manual of X Style'---or, for short, `The Chicago Manual'.\par Two X pervasive features characterize the present edition: it X reflects the impact of the new technology on the entire X editing and publishing process, and it spells out, in X greater detail and with many more examples, the X procedures with which it deals. It is, in short, much X more a ``how-to'' book for authors and editors than was X its predecessor. In chapter 2, on manuscript X preparation and copyediting, for example, new sections X have been added on how to mark a manuscript and how to X mark type specifications on a script. Chapter 12 X (``Tables''), completely rewritten, begins with advice X on how to make a table from raw data. Chapters 15 X through 17, on documentation, have been reorganized and X greatly expanded, offering many more alternative X methods of citation and a wealth of examples. In X chapter 18 (``Indexes''), clear step-by-step procedures X for the mechanics of index making are set forth. The X terminology and methodology of technological advances X (in word processing, computerized electronic X typesetting, and the like) are reflected most X prominently in chapter 20, ``Composition, Printing, and X Binding'' (new to this edition), and in the Glossary. X Other notable features of the present edition are X chapter 4 (``Rights and Permissions''), rewritten in X light of the new copyright law, and chapter 9 X (``Foreign Languages''), which includes a new table of X dicritics, a pinyin (Chinese) conversion chart and data X on several more languages.\par Throughout, `The Chicago X Manual' aims to give clear and straightforward X guidelines for preparing and editing copy---with the X emphasis on the sensible, the practical, and the X economical. As did its predecessors, the thirteenth X edition of the `Manual' states the style preferences of X the University of Chicago Press and reflects the X current practices and requirements of the great X majority of American publishers.", X acknowledgement = ack-fm # " and " # ack-jpl, X annote = "The standard American work on typesetting style etc. X (CHe)", X bibliography = "yes", X glossary = "yes", X history = "First edition, 1906, 12th edition 1969", X index = "yes", X inprint = "yes", X keywords = "printing, practical style manuals, authorship X handbooks, authorship manuals", X printermarks = "yes", X subtitle = "Rules for Authors, Printers and Publishers", } X @Book{Anonymous:1984:PMA, X author = "Anonymous", X key = "APA", X title = "Publication Manual of the American Psychological X Association", X publisher = pub-APA, X address = pub-APA:adr, X edition = "third", X pages = "208", X year = "1984", X ISBN = "0-912704-57-8", X LCCN = "BF76.7 .P83 1983", X bibdate = "Tue Mar 1 11:52:52 1994", X acknowledgement = ack-fm, X annote = "The book contains style guidelines known as the APA X style. This ranges from spelling conventions to table X formatting. The guidelines assume that papers are X produced using a typewriter. The book itself shows a X very unpleasant design making reading are hard task.", X bibliography = "yes", X index = "yes", X keywords = "document preparation guidelines, style guidelines, X communications in psychology, psychology authorship, X American Psychological Association, publication manual, X writing", } X @Book{Anonymous:1987:CGP, X author = "Anonymous", X title = "Chicago Guide to Preparing Electronic Manuscripts (For X Authors and Publishers)", X publisher = pub-U-CHICAGO-PRESS, X address = pub-U-CHICAGO-PRESS:adr, X pages = "xi + 143", X year = "1987", X ISBN = "0-226-10392-7 (hardcover), 0-226-10393-5 (paperback)", X LCCN = "Z286.E43 U54 1987", X bibdate = "Fri Jul 22 11:10:32 1994", X note = "Short bibliography, examples, appendices, index", X acknowledgement = ack-jpl, X annote = "Describes techniques for electronic submission of X manuscripts, rather than camera-ready copy. Discusses X publication process from acquisition through X typesetting, from perspective of author and X publisher.", } X @TechReport{Anonymous:1988:CDG, X author = "Anonymous", X key = "IBM", X title = "Composing Documents with the Generalized Markup X Language", X number = "S544-3421", X institution = pub-IBM, X address = pub-IBM:adr, X edition = "Second", X month = mar, X year = "1988", X bibdate = "Mon Jul 25 11:12:22 1994", X acknowledgement = ack-fm, X keywords = "GML, document preparation systems, DTD, SCRIPT X (Computer Program), DCF (Computer Program)", } X @Manual{Anonymous:1989:CT, X title = "Code Typographique\emdash Choix de r{\`e}gles {\`a} X l'usage des auteurs et professionels du livre", X organization = pub-FCGCC, X address = pub-FCGCC:adr, X edition = "Seizi{\`e}me", X year = "1989", X bibdate = "Tue Mar 1 11:59:23 1994", X note = "This book is a compendium of rules for French X typography, and for the typesetting of several foreign X languages in French texts. It includes tables of X diacritics for most European languages, and hyphenation X rules for English, German, Greek, Italian, Latin, X Portuguese, and Spanish.", } X @Book{Anonymous:1990:JTB, X author = "Anonymous", X key = "JAPANESETEXNICOLOR", X title = "The Japanese {\TeX}{\-}ni{\-}color Book", X publisher = pub-ASCII, X address = pub-ASCII:adr, X year = "1990", X ISBN = "4-7561-0405-3", X note = "Japanese; contents include chapters on the history of X {\TeX} and of the Japanese {\TeX} extension, file X formats (fonts and {{\tt.dvi}}), and device drivers.", } X @Article{Anonymous:1990:NTF, X author = "Anonymous", X key = "NEWTEXFEATURES", X title = "New {\TeX} Features from {AMS}", X journal = j-NAMS, X volume = "37", X number = "2", X pages = "143--144", X month = feb, X year = "1990", X ISSN = "0002-9920", } X @Book{Anonymous:1991:B, X author = "Anonymous", X key = "Harvard Law Review Association", X title = "The Bluebook", X publisher = pub-HLRA, X address = pub-HLRA:adr, X edition = "15th", X pages = "xvii + 343", X year = "1991", X LCCN = "KF245 .U5 1991", X bibdate = "Fri Jul 22 12:36:10 1994", X acknowledgement = ack-fm, X history = "Compiled by the editors of the Columbia Law Review, X the Harward Law Review, the University of Pennsylvania X Law Review, and the Yale Law Journal", X index = "yes", X inprint = "yes", X keywords = "bibliographies, citation schemes, law", X subtitle = "A Uniform System of Citation", } X @Book{Anonymous:1993:CMS, X author = "Anonymous", X key = "Chicago", X title = "The Chicago Manual of Style", X publisher = pub-U-CHICAGO-PRESS, X address = pub-U-CHICAGO-PRESS:adr, X edition = "14th", X pages = "ix + 921", X year = "1993", X ISBN = "0-226-10389-7", X LCCN = "Z253 .U69 1993", X bibdate = "Mon Sep 23 08:57:34 1996", X price = "US\$40.00", X acknowledgement = ack-nhfb, X annote = "The standard American work on typesetting style etc. X (CHe)", X bibliography = "yes", X glossary = "yes", X history = "First edition, 1906, 12th edition 1969, 13th edition X 1982, 14th edition 1993", X index = "yes", X inprint = "yes", X keywords = "printing, practical style manuals, authorship X handbooks, authorship manuals", X printermarks = "yes", X subtitle = "Rules for Authors, Printers and Publishers", } X @Book{Anonymous:1997:SW, X author = "Anonymous", X title = "{Scientific WorkPlace 2.5}", X publisher = pub-ITPG, X address = pub-ITPG:adr, X pages = "????", X year = "1997", X ISBN = "3-87439-375-5", X LCCN = "????", X bibdate = "Mon Mar 02 09:06:24 1998", X note = "Includes CD-ROM.", X price = "DM 199,00", X URL = "http://www.itp.de/student/index.html", X acknowledgement = ack-nhfb, } X @Article{Antweiler:1989:TRI, X author = "Werner Antweiler and Andreas Strotmann and Volker X Winkelmann", X title = "A {\TeX}-{REDUCE} Interface", X journal = j-SIGSAM, X volume = "23", X number = "2", X pages = "26--33", X month = apr, X year = "1989", X CODEN = "SIGSBZ", X ISSN = "0163-5824", X bibdate = "Thu Mar 20 16:02:15 MST 1997", X acknowledgement = ack-nhfb, X classcodes = "C7310 (Mathematics); C6130 (Data handling techniques); X C7230 (Publishing and reproduction); C6140D (High level X languages); C6110 (Systems analysis and programming)", X corpsource = "Cologne Univ., Comput. Center, West Germany", X keywords = "algebra; algebraic; algorithms; capabilities; computer X controlled typesetting; design; E/X-REDUCE-interface; X high level; high quality output; indentation; X languages; line breaking; manipulation; mathematics X computing; performance; programming; readability; X REDUCE formulas; REDUCE-Lisp; symbol; T/sub; T/sub E/X; X T/sub E/X output; typesetting language; verification; X well known computer algebra system", X subject = "I.3.1 Computing Methodologies, COMPUTER GRAPHICS, X Hardware architecture, Raster display devices \\ I.7.1 X Computing Methodologies, TEXT PROCESSING, Text Editing, X TeX", X treatment = "P Practical", } X @InProceedings{Appelt:1985:HNE, X author = "Wolfgang Appelt", X title = "The Hyphenation of Non-{English} Words with {\TeX}", X crossref = "Lucarella:1985:PFE", X pages = "61--65", X year = "1985", X bibdate = "Tue Jul 26 09:28:56 1994", X acknowledgement = ack-hk, } X @Book{Appelt:1988:TF, X author = "Wolfgang Appelt", X title = "{\TeX} f{\"u}r Fortgeschrittene", X publisher = pub-AW, X address = pub-AW:adr, X pages = "x + 179", X year = "1988", X ISBN = "3-89319-115-1", X bibdate = "Wed Dec 15 08:47:26 1993", } X @TechReport{Appelt:1990:TIG, X author = "Wolfgang Appelt", X title = "{Die {\TeX}-Installation in der GMD}", X type = "Arbeitspapiere der GMD", X institution = "Ges. f. Mathematik u. Datenverarbeitung", X address = "St. Augustin, Germany", X year = "1990", X bibdate = "Sat Mar 07 08:58:17 1998", X acknowledgement = ack-nhfb, } X @Book{Appelt:1994:TF, X author = "Wolfgang Appelt", X title = "{\TeX} f{\"u}r Fortgeschrittene", X publisher = pub-AW, X address = pub-AW:adr, X edition = "Second", X pages = "xii + 183", X year = "1994", X ISBN = "3-89319-695-1", X bibdate = "Tue Mar 1 14:25:32 MET 1994", X acknowledgement = ack-rz, } X @Book{Arnold:1972:IPH, X author = "Edmund C. Arnold", X title = "Ink on Paper 2: a Handbook of the Graphic Arts", X publisher = pub-HRP, X address = pub-HRP:adr, X pages = "374", X year = "1972", X ISBN = "0-06-010131-8", X LCCN = "Z244 .A83 1972", X bibdate = "Tue Mar 1 12:44:08 1994", X note = "Chapter bibliographies, sidebars, glossary, index, pp. X 375.", X acknowledgement = ack-jpl, X annote = "Summarizes evolution of printing technoology, with X focus on current status.", } X @Article{Arrabito:1988:CBT, X author = "R. Arrabito and H. J{\"{u}}rgensen", X title = "Computerized {Braille} Typesetting: Another View of X Mark-up Standards", X journal = j-EPODD, X volume = "1", X number = "2", X pages = "117--131", X month = sep, X year = "1988", X CODEN = "EPODE", X ISSN = "0894-3982", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "standardization; human factors", X subject = "I.7.0 Computing Methodologies, TEXT PROCESSING, X General \\ B.4.2 Hardware, INPUT/OUTPUT AND DATA X COMMUNICATIONS, Input/Output Devices, Data terminals X and printers", } X @Book{Baecker:1989:HFT, X author = "Ronald M. Baecker and Aaron Marcus", X title = "Human Factors and Typography for More Readable X Programs", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xx + 348", X year = "1989", X ISBN = "0-201-10745-7", X LCCN = "QA76.75 .B34 1990", X bibdate = "Tue Dec 14 22:56:18 1993", X acknowledgement = ack-fm, X bibliography = "yes", X index = "yes", X keywords = "visual programming, computer graphics, human-computer X interaction", } X @Book{Bailey:1970:ASB, X author = "Herbert S. {Bailey, Jr.}", X title = "The Art and Science of Book Publishing", X publisher = pub-HRP, X address = pub-HRP:adr, X pages = "xii + 216", X year = "1970", X LCCN = "Z278 .B15", X note = "Bibliography, tables, figures, appendix, index, pp. X 217.", X acknowledgement = ack-jpl, X annote = "Semi-narrative style analyzing the management of X (book) publishing by a former director of Princeton X University Press.", } X @Book{Bailey:1990:ASB, X author = "Herbert S. {Bailey, Jr.}", X title = "The Art and Science of Book Publishing", X publisher = pub-OHIO, X address = pub-OHIO:adr, X edition = "Third", X pages = "xviii + 216", X year = "1990", X ISBN = "0-8214-0970-0", X LCCN = "Z278 .B15 1990", X bibdate = "Sat Feb 19 12:16:32 1994", X acknowledgement = ack-nhfb, } X @Book{Balda:1997:UNS, X author = "Miroslav Balda", X title = "Uzivatelske nadstavby sazeciho systemu {\LaTeX} 2.09", X publisher = "Zapadoceska univerzita", X address = "Plzen, Czech Republic", X pages = "119", X year = "1997", X ISBN = "80-7082-307-0", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X acknowledgement = ack-nhfb, X keywords = "{\LaTeX} 2.09 -- makra", } X @Book{Barlow:1992:TC, X author = "Geoff Barlow and Simon Eccles", X title = "Typesetting and Composition", X publisher = pub-BLUEPRINT, X address = pub-BLUEPRINT:adr, X edition = "second", X pages = "274", X year = "1992", X ISBN = "0-948905-72-7", X acknowledgement = ack-mc, } X @Book{Barron:1987:TPT, X author = "David Barron and Mike Rees", X title = "Text processing and typesetting with {UNIX}", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xiv + 447", X year = "1987", X ISBN = "0-201-14219-8", X LCCN = "Z286.D47 B37 1987", X bibdate = "Mon Jul 25 11:50:00 1994", X price = "US\$24.95", X series = "International computer science series", X acknowledgement = ack-nhfb, X keywords = "documentation", X review = "ACM CR 8811-0841", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, nroff \\ I.7.2 Computing X Methodologies, TEXT PROCESSING, Document Preparation, X troff", } X @Article{Barron:1989:WUS, X author = "D. Barron", X title = "Why Use {SGML}?", X journal = j-EPODD, X volume = "2", X number = "1", X pages = "3--24", X month = apr, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", X bibdate = "Tue Mar 1 12:44:34 1994", } X @Article{Barwise:1989:TLA, X author = "Jon Barwise", X title = "{\TeX}, {\LaTeX}, and {\AmSTeX}", X journal = j-NAMS, X volume = "36", X number = "3", X pages = "241--243", X month = mar, X year = "1989", X ISSN = "0002-9920", X bibdate = "Tue Dec 14 11:08:55 1993", X acknowledgement = ack-ps, } X @Book{Barzun:1986:WEP, X author = "Jacques Barzun", X title = "On Writing, Editing, and Publishing: Essays, X Explicative and Hortatory", X publisher = pub-U-CHICAGO-PRESS, X address = pub-U-CHICAGO-PRESS:adr, X pages = "xi + 148", X year = "1986", X ISBN = "0-226-03857-2 (hardcover), 0-226-03858-0 (paperback)", X LCCN = "PN149 .B295 1986", X bibdate = "Tue Dec 14 22:56:20 1993", X acknowledgement = ack-jpl, } X @Article{BCS:1986:TWI, X author = "Report of the {Boston Computer Society}", X title = "Technical {Wordprocessors} for the {IBM PC} and X {Compatibles}", X journal = j-NAMS, X volume = "33", X number = "1", X pages = "8--37", X month = jan, X year = "1986", X ISSN = "0002-9920", X bibdate = "Mon Mar 2 19:43:58 1998", X acknowledgement = ack-hk, } X @Book{Beccari:1991:LGS, X author = "Claudio Beccari", X title = "{\LaTeX}\emdash{}Guida a un sistema di editoria X elettronica", X publisher = pub-EUH, X address = pub-EUH:adr, X pages = "ix + 399", X year = "1991", X ISBN = "88-203-1931-4", X bibdate = "Wed Aug 24 21:53:29 1994", X note = "[From the author]: The book is the first and only one X in Italian at this moment [18-Nov-1991]. Although it X contains an introductory chapter for the beginner, its X main purpose is to give the reader advanced information X on {\LaTeX} (and partially on {\TeX}) in order to X prepare sophisticated macros, style files, and to make X a clever use of fonts. Here is a reduced table of X contents (translated to English): Chapter 1 - X Introduction \\ X \hphantom{Chapter }2 - Introductory \LaTeX{} \\ X \hphantom{Chapter }3 - General commands for text mode X \\ X \hphantom{Chapter }4 - Mathematical commands \\ X \hphantom{Chapter }5 - Environments \\ X \hphantom{Chapter }6 - Figures and tables \\ X \hphantom{Chapter }7 - Macros \\ X \hphantom{Chapter }8 - Typical documents and style X files \\ X \hphantom{Chapter }9 - Fonts \\ X Appendix A - \TeX{} Users Group \\ X \hphantom{Appendix }B - Keyboards \\ X \hphantom{Appendix }C - Font tables \\ X \hphantom{Appendix }D - Hyphenation patterns for X Italian \\ X Bibliography \\ X Index \\ X The publisher received camera-ready pages that were X prepared by the author with a 300-dpi laser printer. X The page style dimensions were suitably enlarged while X the photo plates were reduced so as to minimize the X granulosity of the signs. In practice the book was X prepared with 12pt option and reduced by the X photografic ratio of 0.8 so that the final real font X size is 9.6pt. The whole book was prepared with the X standard Computer Roman fonts on purpose in order to X show the potential user what he can get with a standard X \TeX{}/\LaTeX{} kit. The simple pictures were prepared X with the ``picture'' environment. The cover and the X title page were designed by a graphic expert of the X publishing company.", X acknowledgement = ack-cb, } X @Book{Beccari:1991:TLS, X author = "Claudio Beccari", X title = "La tesi di laurea scientifica\emdash Con note per la X composizione in {\LaTeX}\emdash disco {MS-DOS} da X 5.25in contenente macroistruzioni di stile", X publisher = pub-EUH, X address = pub-EUH:adr, X pages = "vii + 116", X year = "1991", X ISBN = "88-203-1932-2", X bibdate = "Sat Feb 10 08:48:04 1996", X note = "The book was typeset by the author and printed with a X laser printer having a resolution of 300 dpi. The pages X were then photographically reduced by a factor of 0.8 X to the final size.. The fonts used are those of the X standard {\TeX\slash \LaTeX} set, that is Computer X Modern, with a default normal size of 12pt that the X photographic reduction made equivalent to approximately X 10pt. The book is a set of instructions for the X preparation of the thesis (Master and PhD levels) X according to the Italian State Universities X regulations; it deals mostly with literary style but it X also includes extensive tables of scientific symbols X and nomenclature and many references to Standards X regulations. The final chapter deal with the X typesetting of the thesis with a {\LaTeX} style, X TOPTESI, whose source is recorded in a floppy disk that X comes with the book.", } X @Book{Bechtolsheim:1992:TP, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice", X publisher = pub-SV, X address = pub-SV:adr, X pages = "1587, with 31 illustrations", X year = "1992", X ISBN = "0-387-97296-X", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Fri Jul 22 09:26:02 1994", X note = "Four volume set.", X price = "US\$169.00", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1992:TPB, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Basics", X volume = "1", X publisher = pub-SV, X address = pub-SV:adr, X pages = "359, with 9 illustrations", X year = "{\noopsort{1992a}}1992", X ISBN = "0-387-97595-0", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Fri Jul 22 09:25:55 1994", X price = "US\$49.00", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1992:TPO, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Output Routines", X volume = "4", X publisher = pub-SV, X address = pub-SV:adr, X pages = "300", X year = "{\noopsort{1992d}}1992", X ISBN = "0-387-97598-5", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Fri Jul 22 09:25:56 1994", X price = "US\$49.00", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1992:TPP, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Paragraphs, Math, and Fonts", X volume = "2", X publisher = pub-SV, X address = pub-SV:adr, X pages = "384", X year = "{\noopsort{1992b}}1992", X ISBN = "0-387-97596-9", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Fri Jul 22 09:25:58 1994", X price = "US\$49.00", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1992:TPT, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Tokens, Macros", X volume = "3", X publisher = pub-SV, X address = pub-SV:adr, X pages = "544, with 22 illustrations", X year = "{\noopsort{1992c}}1992", X ISBN = "0-387-97597-7", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Fri Jul 22 09:26:06 1994", X price = "US\$49.00", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1993:TPB, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Basics", X volume = "1", X publisher = pub-SV, X address = pub-SV:adr, X year = "1993", X ISBN = "0-387-97595-0, 3-540-97595-0", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Mon Oct 18 15:41:37 1993", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1993:TPO, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Output Routines, Tables", X volume = "4", X publisher = pub-SV, X address = pub-SV:adr, X year = "1993", X ISBN = "0-387-97598-5, 3-540-97598-5", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Mon Oct 18 15:41:37 1993", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1993:TPP, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Paragraphs, Math, and Fonts", X volume = "2", X publisher = pub-SV, X address = pub-SV:adr, X year = "1993", X ISBN = "0-387-97596-9, 3-540-97596-9", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Mon Oct 18 15:41:37 1993", X acknowledgement = ack-nhfb, } X @Book{Bechtolsheim:1993:TPT, X author = "Stephan von Bechtolsheim", X title = "{\TeX} in Practice: Tokens, Macros", X volume = "3", X publisher = pub-SV, X address = pub-SV:adr, X year = "1993", X ISBN = "0-387-97597-7, 3-540-97597-7", X LCCN = "Z253.4.T47 B4 1993", X bibdate = "Mon Oct 18 15:41:37 1993", X acknowledgement = ack-nhfb, } X @Article{Becker:1987:AWP, X author = "Joseph D. Becker", X title = "{Arabic} word processing", X journal = j-CACM, X volume = "30", X number = "7", X pages = "600--610", X month = jul, X year = "1987", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Wed Jan 04 08:20:20 1995", X acknowledgement = ack-nhfb, X keywords = "algorithms; human factors; design", X review = "ACM CR 8902-0084", X subject = "H.4.1 Information Systems, INFORMATION SYSTEMS X APPLICATIONS, Office Automation, Word processing \\ J.5 X Computer Applications, ARTS AND HUMANITIES, Linguistics X \\ I.7.1 Computing Methodologies, TEXT PROCESSING, Text X Editing, Languages", } X @Article{Becker:1989:TAD, X author = "Zeev Becker and Daniel Berry", X title = "{{\tt triroff}}, an adaptation of the X device-independent {{\tt troff}} for formatting X tri-directional text", X journal = j-EPODD, X volume = "2", X number = "3", X pages = "119--142", X month = oct, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", X bibdate = "Tue Mar 1 12:45:15 1994", } X @Book{Beckmann:1977:HP, X author = "{Petr} Beckmann", X title = "A History of $\pi$", X publisher = pub-GOLEM, X address = pub-GOLEM:adr, X edition = "Fourth", X pages = "202", X year = "1977", X ISBN = "0-911762-18-3", X LCCN = "QA484 .B4 1977", X bibdate = "Thu Sep 08 11:17:17 1994", X note = "This book chronicles the story of the ultimate version X number of {\TeX}.", X acknowledgement = ack-nhfb, } X @Manual{Beebe:1987:TDD, X author = "Nelson H. F. Beebe", X title = "A {\TeX DVI Driver Family} --- ({Revision}~2.07)", X address = "University of Utah, Salt Lake City, UT 84112, USA", X month = apr, X year = "1987", X acknowledgement = ack-nhfb, } X @Book{Bennett:1991:BP, X editor = "Paul A. Bennett", X title = "Books and Printing", X publisher = pub-BIEL, X address = pub-BIEL:adr, X pages = "417", X year = "1991", X ISBN = "0-913720-72-0", X LCCN = "Z116.A3 B58 1991", X bibdate = "Sat Sep 10 12:52:39 1994", X note = "first published in 1951", X acknowledgement = ack-mc, X subtitle = "A Treasury for Typophiles", } X @Article{Bentley:1986:GLT, X author = "Jon L. Bentley and Brian W. Kernighan", X title = "{GRAP} --- a language for typesetting graphs", X journal = j-CACM, X volume = "29", X number = "8", X pages = "782--792", X month = aug, X year = "1986", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Wed Jan 04 08:20:03 1995", X acknowledgement = ack-nhfb, X keywords = "languages", X subject = "I.3.4 Computing Methodologies, COMPUTER GRAPHICS, X Graphics Utilities, Picture description languages \\ X I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Languages", } X @Article{Bentley:1986:LP, X author = "Jon Bentley", X title = "Literate Programming", X journal = j-CACM, X volume = "29", X number = "5", X pages = "364--369", X year = "1986", X CODEN = "CACMA2", X ISSN = "0001-0782", } X @Article{Bentley:1986:PPD, X author = "J. L. Bentley", X title = "Programming Pearls: Document Design", X journal = j-CACM, X volume = "29", X number = "9", X pages = "832--839", X month = sep, X year = "1986", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Sat Aug 27 17:15:11 1994", X acknowledgement = ack-nhfb, } X @Article{Bentley:1987:CPP, X author = "J. L. Bentley and L. W. Jelinski and B. W. Kernighan", X title = "{CHEM} --- {A} Program for Phototypesetting Chemical X Structure Diagrams", X journal = j-COMP-CHEM, X volume = "11", X number = "4", X pages = "281--297", X year = "1987", X ISSN = "0097-8485", X bibdate = "Sat Aug 27 16:57:14 1994", X acknowledgement = ack-nhfb, } X @TechReport{Bentley:1988:DLT, X author = "J. L. Bentley", X title = "dformat -- {A} Language for Typesetting Data Formats", X type = "Comp. Sci. Tech. Rep. No.", X number = "142", X institution = inst-ATT-BELL, X address = inst-ATT-BELL:adr, X month = apr, X year = "1988", X bibdate = "Sat Aug 27 17:13:19 1994", X note = "142", X acknowledgement = ack-nhfb, X keywords = "CSTR OBS", } X @Article{Bentley:1988:TPI, X author = "J. L. Bentley and B. W. Kernighan", X title = "Tools for Printing Indexes", X journal = j-EPODD, X volume = "1", X number = "1", X pages = "3--18", X month = apr, X year = "1988", X CODEN = "EPODE", X ISSN = "0894-3982", } X @Article{Bentley:1990:GLT, X author = "J. L. Bentley and B. W. Kernighan", X title = "{GRAP} --- {A} Language for Typesetting Graphs. X Tutorial and User Manual", X journal = "Unix Research System Papers", X volume = "II", X pages = "109--146", X year = "1990", X bibdate = "Sat Feb 10 16:06:28 1996", } X @Article{Bentley:1991:SAA, X author = "J. L. Bentley and B. W. Kernighan", X title = "A system for algorithm animation", X journal = j-COMPSYS, X volume = "4", X number = "1", X pages = "5--30", X month = "Winter", X year = "1991", X CODEN = "CMSYE", X ISSN = "0895-6340", X bibdate = "Thu Sep 01 01:07:13 1994", X abstract = "An algorithm or a program can be animated by a movie X that graphically represents its dynamic execution. Such X animations are useful for developing new programs, for X debugging, and for explaining how programs work. This X paper describes ANIM, a basic system for algorithm X animation. The output is crude, but ANIM is easy to X use; a novice user can animate a program in an hour or X two. ANIM currently produces movies with the X window X system, among others; it also renders movies into X stills that can be included in TROFF or {\TeX} X documents. (15 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "AT and T Bell Labs., Princeton, NH, USA", X classification = "C6130B (Graphics techniques)", X keywords = "Program animation; TROFF documents; Algorithm X animation; Movie; Dynamic execution; ANIM; X window X system; Stills; TeX documents", X thesaurus = "Computer animation", } X @Book{Bianco:1992:TGU, X author = "Fiorella Bianco", X title = "{\TeX}\emdash Guida all'uso su personal computer X (Guide for the use on personal computers)", X publisher = pub-PITAGORA, X address = pub-PITAGORA:adr, X pages = "ix + 157", X year = "1992", X ISBN = "88-371-0583-5", X bibdate = "Tue Mar 1 11:55:51 1994", X note = "Prepared with Plain {\TeX} and book macros written by X the author. Final copy produced on a 300-dpi laser X printer at magnification 1.2, then reduced for X printing.", } X @InProceedings{Bien:1985:TRC, X author = "Janusz S. Bie{\'n} and Hanna X Ko{\-}{\l}o{\-}dziej{\-}ska", X title = "{\TeX} for {Riad Computers}", X crossref = "Lucarella:1985:PFE", X pages = "133--140", X year = "1985", X bibdate = "Tue Jul 26 09:28:48 1994", X acknowledgement = ack-hk, X author-l = lang-pl, } X @Article{Bien:1988:PLT, X author = "Janusz S. Bie{\'n}", X title = "{Polish} Language and {\TeX}", X journal = j-TEXLINE, X volume = "8", X pages = "2", X year = "1988", X acknowledgement = ack-hk, X author-l = lang-pl, } X @Article{Bien:1990:CTJ, X author = "Janusz S. Bie{\'n}", X title = "Co to jest {\TeX}? (What is {\TeX}?)", X journal = j-WM, X volume = "29", X number = "1", X pages = "132--156", X year = "1990", X bibdate = "Thu Jun 23 18:23:05 1994", X note = "In Polish.", X author-l = lang-pl, X title-l = lang-pl, } X @Article{Bigelow:1983:DT, X author = "Charles Bigelow and Donald Day", X title = "Digital Typography", X journal = j-SA, X volume = "249", X number = "2", X pages = "106--119", X month = aug, X year = "1983", } X @InProceedings{Bigelow:1986:DLI, X author = "Charles Bigelow and Kris Holmes", X title = "The Design of {Lucida}: an Integrated Family of Types X for Electronic Literacy", X crossref = "vanVliet:1986:TPD", X pages = "1--17", X year = "1986", X bibdate = "Tue Mar 1 12:45:43 1994", X acknowledgement = ack-kb, } X @TechReport{Billawala:1989:MPS, X author = "Neenie Billawala", X title = "Metamarks: Preliminary studies for a {Pandora}'s Box X of Shapes", X number = "{STAN-CS-89-1256}", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X month = may, X year = "1989", X bibdate = "Tue Mar 1 12:45:52 1994", } X @Article{Binding:1993:ETS, X author = "Angelika Binding", X title = "{Einsatz von {\TeX} beim Springer-Verlag}", X journal = j-MDMV, X volume = "19", X pages = "19--22", X year = "1993", X bibdate = "Tue Dec 14 10:40:35 1993", X acknowledgement = ack-ps, } X @Book{Black:1990:TDP, X author = "Alison Black", X title = "Typefaces for desktop publishing; a user guide", X publisher = pub-ADTP, X address = pub-ADTP:adr, X pages = "106", X year = "1990", X ISBN = "1-85454-841-7", X LCCN = "Z253.3.B53 1990", X bibdate = "Tue Jul 26 09:19:20 1994", X acknowledgement = ack-fm # " and " # ack-mc, X review = j-TEXLINE # " 13, pp. 10--12", } X @Book{Borceux:1990:LPT, X author = "Francis Borceux", X title = "{\LaTeX}\emdash{}la perfection dans le traitement du X texte", X publisher = pub-CIAOCO, X address = pub-CIAOCO:adr, X year = "1990", X ISBN = "2-87085-194-4", X bibdate = "Wed Dec 15 08:46:29 1993", } X @Book{Borde:1992:TE, X author = "Arvind Borde", X title = "{\TeX} by Example", X publisher = pub-AP, X address = pub-AP:adr, X pages = "xiv + 169", X year = "1992", X ISBN = "0-12-117650-9", X LCCN = "Z253.4.T47 B67 1992", X bibdate = "Tue Mar 1 11:56:22 1994", X note = "This book was designed by the author, with some X assistance from the production department of Academic X Press, Boston. The covers were done by the publisher. X It was typeset by the author using Plain {\TeX} plus X specially written macros. The code for all macros used X for the book are reproduced in it so that the book X itself contains all the information---page layout X specifications, fonts used, and so on---about its own X typesetting. Over half the book consists of {\TeX} X input and output shown side-by-side, providing an X explicit example of how a part of the book was typeset. X The Academic Press logo on page iii, the X cataloging-in-publication data on page iv, and the X diagrams on page 33 were pasted in place by the X production department of Academic Press. The diagrams X were drawn using {\LaTeX}. Sample printouts of pages X were made on various laser printers. When everything X seemed satisfactory, the dvi files were copied onto IBM X diskettes and were mailed to Academic Press, and from X them to the American Mathematical Society. The final X copy was produced by the A.M.S. using an APS micro-5 X phototypesetter. All fonts used in the book are from X the Computer Modern family. Parts of the covers of the X book, inside and outside, were done in {\TeX} by the X author (the code for this is not included in the book). X The outside cover was designed by Camille Pecoul of X Academic Press and produced at Allison Associates in X Boston. The font used for the title (on the covers) is X Meridien. The background pattern was obtained by X shooting a handmade marble paper as a black-and-white X halftone and then overprinting with the Pantone X Matching System (PMS). The placement of material on the X cover was done by hand by Ms. Pecoul using a mechanical X board. The drop shadow effect was done at Allison X Associates.", X acknowledgement = ack-ab, } X @Book{Borde:1993:MTE, X author = "Arvind Borde", X title = "Mathematical {\TeX} by Example", X publisher = pub-AP, X address = pub-AP:adr, X pages = "xii + 352", X year = "1993", X ISBN = "0-12-117645-2", X LCCN = "Z253.4.T47 B67 1993", X bibdate = "Wed Dec 15 08:46:21 1993", X acknowledgement = ack-nhfb, } X @Book{Borde:1993:UGL, X author = "Arvind Borde and Tomas Rokicki", X title = "A User's Guide for {\TeX}Help; The On-Line {\TeX} X Handbook", X publisher = pub-AP, X address = pub-AP:adr, X pages = "v + 28", X year = "1993", X ISBN = "0-12-117640-1", X bibdate = "Sat Sep 25 13:57:28 1993", X note = "This small booklet documents the {\TeX}Help program X for IBM PC and compatible microcomputers.", X acknowledgement = ack-nhfb, } X @Book{Borkowski:1992:LPP, X author = "Kazimierz M. Borkowski", X title = "{\LaTeX}. Profesjonalny sk{\l}ad publikacji", X publisher = pub-MARSZALEK, X address = pub-MARSZALEK:adr, X year = "1992", X bibdate = "Thu Jun 23 18:23:12 1994", X note = "In Polish.", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X publisher-l = lang-pl, X title-l = lang-pl, } X @Book{Boston:1986:STT, X author = "Bruce O. Boston", X title = "{STET!} Tricks of the Trade for Writers and Editors", X publisher = pub-EEI, X address = pub-EEI:adr, X pages = "310", X year = "1986", X ISBN = "0-935012-07-9", X LCCN = "PN162 .S741 1986", X bibdate = "Fri Jul 22 08:47:44 1994", X price = "US\$15.95", X acknowledgement = ack-jpl, X annote = "A collection of articles from {\em The Editorial Eye}, X the newsletter on publications standards and practices. X Covers editing, writing, proof-reading, and X publications management (mostly writing, editing, and X proofing).", } X @Booklet{Botway:1985:LCS, X author = "Lloyd Botway and Chris Biemesderfer", X title = "{\LaTeX} Command Summary ({\TeX} 1.3, {\LaTeX} 2.08)", X howpublished = "Prepared for the Space Telescope Institute, Baltimore, X MD; reprinted with permission and distributed by TUG", X year = "1985", X bibdate = "Tue Mar 1 11:57:04 1994", X acknowledgement = ack-hk, } X @InProceedings{Bouma:1988:DP, X author = "Louis G. Bouma and Jeroen Bruijning and Johannes C. X {van Vliet}", X title = "Document processing", X crossref = "Veer:1988:HCI", X pages = "144--169", X year = "1988", X bibdate = "Thu Jul 21 23:40:26 1994", X acknowledgement = ack-nhfb, } X @Book{Brandt:1989:CAC, X editor = "Josef Brandt and Ivar K. Ugi", X title = "Computer Applications in Chemical Research and X Education: {A} Collection of Papers Based on Lectures X that were Presented at the {VII}th International X Conference on Computers in Chemical Research and X Education at Garmisch-Partenkirchen, {DE}", X publisher = pub-AHV, X address = pub-AHV:adr, X edition = "1", X pages = "xiii + 449", X year = "1989", X ISBN = "3-7785-1804-6", X LCCN = "QD39.3.E46 I56 1985", X bibdate = "Fri Jul 22 08:49:47 1994", X price = "DM128.00", X series = "Computeranwendung in der Chemie", X acknowledgement = ack-rw, } X @Book{Braswell:1989:IP, X author = "Frank Merritt Braswell", X title = "Inside {\POSTSCRIPT}", X publisher = pub-PEACHPIT, X address = pub-PEACHPIT:adr, X year = "1989", X ISBN = "0-938151-10-X", X LCCN = "QA76.73.P67 B73 1989", X bibdate = "Tue Dec 14 23:35:41 1993", X price = "US\$37.50", } X @Article{Brooks:1991:LTV, X author = "Kenneth P. Brooks", X title = "Lilac: {A} Two-View Document Editor", X journal = j-COMPUTER, X volume = "24", X number = "6", X pages = "7--19", X month = jun, X year = "1991", X CODEN = "CPTRB", X ISSN = "0018-9162", X bibdate = "Tue Mar 1 11:57:20 1994", } X @Book{Brown:1989:IPT, X author = "Alex Brown", X title = "In Print: Text and Type", X publisher = pub-WGP, X address = pub-WGP:adr, X pages = "191", X year = "1989", X ISBN = "0-8230-2544-6", X LCCN = "Z250.B868 1989", X bibdate = "Wed Aug 10 10:10:49 1994", X acknowledgement = ack-nhfb, } X @Book{Brown:1994:PTT, X editor = "Vicki Brown", X title = "Prime Time {\TeX}cetera", X publisher = pub-PRIME-TIME-FREEWARE, X address = pub-PRIME-TIME-FREEWARE:adr, X pages = "96", X year = "1994", X ISBN = "1-881957-10-1", X bibdate = "Wed Aug 10 10:52:33 1994", X note = "Includes CD-ROM.", X price = "US\$60.00", X acknowledgement = ack-nhfb, } X @Article{Brueggeman-Klein:1989:DTN, X author = "A. Br{\"{u}}ggeman-Klein and D. Wood", X title = "Drawing Trees Nicely with {\TeX}", X journal = j-EPODD, X volume = "2", X number = "2", X pages = "101--115", X month = jul, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", } X @TechReport{Bruin:1988:PL, X author = "R. de Bruin and C. G. {van der Laan} and J. R. Luyten X and H. F. Vogt", X title = "Publiceren met {\LaTeX}", X type = "CWI Syllabus", X number = "19", X institution = inst-CWI, X address = inst-CWI:adr, X year = "1988", X ISBN = "90-6196-357-5", X bibdate = "Tue Mar 1 12:47:03 1994", X note = "In Dutch; copious examples.", } X @Book{Bryan:1988:SAG, X author = "Martin Bryan", X title = "{SGML}\emdash{}An Author's Guide to the Standard X Generalized Markup Language", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xvii + 364", X year = "1988", X ISBN = "0-201-17535-5", X LCCN = "QA76.73.S44 B79 1988", X bibdate = "Tue Dec 14 23:35:58 1993", X acknowledgement = ack-nhfb # " and " # ack-fm, X annote = "Complete description of SGML including example DTDs.", X keywords = "SGML, DTD, document representation", } X @Book{Buerger:1990:LES, X author = "David J. Buerger", X title = "{\LaTeX} for Engineers and Scientists", X publisher = pub-MH, X address = pub-MH:adr, X pages = "xvi + 198", X year = "1990", X ISBN = "0-07-008845-4", X LCCN = "Z253.4.L38 B84 1990", X bibdate = "Tue Dec 14 22:43:21 1993", } X @Book{Butcher:1981:CEC, X author = "Judith Butcher", X title = "Copy editing: the Cambridge handbook", X publisher = pub-CUP, X address = pub-CUP:adr, X edition = "Second", X year = "1981", X ISBN = "0-521-23868-4, 0-521-25638-0", X LCCN = "PN162 .B86 1981", X bibdate = "Fri Jul 22 08:50:18 1994", X price = "UK\pounds22", X acknowledgement = ack-fm, X annote = "The standard English work on copy editing (CHe)", X inprint = "yes", } X @Book{Buxton:1988:MLL, X author = "H. W. Buxton", X title = "Memoir of the life and labours of the late Charles X Babbage Esq. {F.R.S}", X publisher = pub-MIT, X address = pub-MIT:adr, X pages = "xix + 401", X year = "1988", X ISBN = "0-262-02269-9", X LCCN = "QA29.B2 B891 1988", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X note = "From {\em Computing Reviews\/}: ``Charles Babbage was X a nineteenth-century polymath who initially studied X mathematics at Cambridge and subsequently pursued X interests in fields as diverse as philosophy, political X economy, and mechanical computing. While attempting to X realize a machine for calculating and printing X error-free mathematical tables, he visited factories to X learn metalworking techniques, invented a system of X mechanical notation to represent the states of the X machine, and devised a method for correct typesetting. X As the editor of this series notes, the scope of X Babbage's work makes him a difficult subject to X understand in our modern age of specialized X scholarship.''", X price = "US\$50", X series = "Reprint series for the history of computing, vol. 13", X acknowledgement = ack-nhfb, X review = "ACM CR 8903-0095", X subject = "A.0 General Literature, GENERAL, Charles Babbage \\ X K.2 Computing Milieux, HISTORY OF COMPUTING, Charles X Babbage", } X @Booklet{Bzyl:1993:TT, X author = "W{\l}odek Bzyl", X title = "{\TeX}. {\TeX}??", X howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu", X address = "Bachotek", X year = "1993", X bibdate = "Thu Jun 23 18:23:18 1994", X note = "In Polish.", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X howpublished-l = lang-pl, X title-l = lang-pl, } X @InProceedings{Canzii:1985:SSD, X author = "G. Canzii and G. {Degli Antoni} and S. Mussi and G. X Rossi", X title = "{SDDS: Scientific Document Delivery System}", X crossref = "Lucarella:1985:PFE", X pages = "15--25", X year = "1985", X bibdate = "Tue Jul 26 09:26:07 1994", X acknowledgement = ack-hk, } X @Article{Casti:1991:VTP, X author = "John L. Casti", X title = "{V\TeX} Typesetting Package", X journal = j-NAMS, X volume = "38", X number = "2", X pages = "105--109", X month = feb, X year = "1991", X ISSN = "0002-9920", } X @Article{Casti:1993:BFT, X author = "John L. Casti", X title = "Bitmap-free {\TeX}", X journal = j-NAMS, X volume = "40", X number = "5", X pages = "464--469", X month = may # "/" # jun, X year = "1993", X ISSN = "0002-9920", X bibdate = "Mon May 10 12:29:15 1993", X note = "A review of {Y\&Y}'s {DVIWindo} and {DVIPSONE}, and X comments on outline fonts for {\TeX}.", } X @InProceedings{Cerofolini:1985:LCL, X author = "Luigi Cerofolini", X title = "A Low Cost Laser Beam Printer Controller", X crossref = "Lucarella:1985:PFE", X pages = "191--195", X year = "1985", X bibdate = "Tue Jul 26 09:28:37 1994", X acknowledgement = ack-hk, } X @InProceedings{Chan:1988:JAC, X author = "Kai Ming Chan and Kam Pui Chow and Wai Man Lo", X title = "{JACM}---just another {Chinese Metafont}", X crossref = "ICCPCOL:1988:ICC", X pages = "311--315", X year = "1988", X bibdate = "Mon Oct 24 12:44:52 MDT 1994", X abstract = "An interactive Chinese font design system, JACM (just X another Chinese metafont), is reported. JACM consists X of two components: the font generator (FG) and the user X interface (UI). The FG is a metafont system together X with a set of predefined strokes, radicals and X subcharacter. The UI provides an easy to use front end X for the designer to communicate with the FG. The design X of the UI is based on the hierarchical structure of X Chinese characters. (10 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., Hong Kong Univ., Hong Kong", X classification = "C6130D (Document processing techniques); C1250B X (Character recognition); C6180 (User interfaces)", X conf_date = "29 Aug.--1 Sept. 1988", X conf_location = "Toronto, Ontario, Canada", X conf_sponsor = "Chinese Language Comput. Soc.; Chinese Canadian Inf. X Processing Professionals; Philips Electron", X keywords = "JACM; Just another Chinese metafont; Interactive X Chinese font design system; Font generator; User X interface; FG; Metafont system; Predefined strokes; X Radicals; Subcharacter; Front end; Hierarchical X structure; Chinese characters", X language = "English", X pub_country = "Canada", X thesaurus = "Character recognition; Character sets; Interactive X systems; User interfaces; Word processing", } X @TechReport{Chen:1987:AIP, X author = "Pehong Chen and Michael A. Harrison", X title = "Automating Index Preparation", X type = "Technical Report", X number = "87/347", X institution = "Computer Science Division, University of California", X address = "Berkeley, CA, USA", X month = mar, X year = "1987", X note = "This is an expanded version of \cite{Chen:1988:IPP}.", } X @Article{Chen:1988:IPP, X author = "Pehong Chen and Michael A. Harrison", X title = "Index Preparation and Processing", X journal = j-SPE, X volume = "19", X number = "9", X pages = "897--915", X month = sep, X year = "1988", X CODEN = "SPEXBL", X ISSN = "0038-0644", X note = "The {\LaTeX} text of this paper is included in the X {\tt makeindex} software distribution.", } X @TechReport{Cheswick:1990:PI, X author = "Bill Cheswick", X title = "A Permuted Index for {\TeX} and {\LaTeX}", X type = "Computing Science Technical Report", X number = "145", X institution = inst-ATT-BELL, X address = inst-ATT-BELL:adr, X month = feb, X year = "1990", X bibdate = "Tue Mar 1 12:47:28 1994", X note = "Also published by TUG as {\TeX}niques No.~14.", } X @Book{Christian:1987:UTP, X author = "Kaare Christian", X title = "The {UNIX} text processing system", X publisher = pub-WILEY, X address = pub-WILEY:adr, X pages = "xii + 250", X year = "1987", X ISBN = "0-471-85581-2", X LCCN = "QA76.76.O63 C47 1987", X bibdate = "Mon Jul 25 11:51:08 1994", X price = "US\$24.95", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X review = "ACM CR 8806-0406", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation \\ I.7.1 Computing Methodologies, X TEXT PROCESSING, Text Editing \\ D.4.0 Software, X OPERATING SYSTEMS, General, UNIX \\ D.4.9 Software, X OPERATING SYSTEMS, Systems Programs and Utilities", } X @Article{Church:1992:UWT, X author = "P. T. Church", X title = "Using Workshops to Teach {\TeX}", X journal = j-NAMS, X volume = "39", X number = "8", X pages = "842", X month = oct, X year = "1992", X ISSN = "0002-9920", X note = "{\AmSTeX} input for two workshop handouts may be X obtained by anonymous ftp from {\tt syr.edu} in the X directory {\tt /math/papers}.", X acknowledgement = ack-bnb, } X @Periodical{Clark:1987:T, X editor = "Malcolm Clark", X key = "TEXLINE", X title = j-TEXLINE, X address = "Warwick, UK", X year = "1987" # "\unskip--", X ISSN = "0961-3978", X bibdate = "Sat Feb 10 14:55:29 1996", X note = "This is an informal newsletter of the {\TeX} X community.", } X @Book{Clark:1992:PTP, X author = "Malcolm Clark", X title = "A Plain {\TeX} Primer", X publisher = pub-OUP, X address = pub-OUP:adr, X pages = "481", X year = "1992", X ISBN = "0-19-853784-0 (hardback), 0-19-853724-7 (softback)", X LCCN = "Z253.4.T47 C46 1992", X bibdate = "Tue Dec 14 23:36:18 1993", X acknowledgement = ack-mc, } X @Book{Collier:1991:CRD, X author = "David Collier", X title = "Collier's Rules for Desktop Design and Typography", X publisher = pub-AW, X address = pub-AW:adr, X pages = "v + 135", X year = "1991", X ISBN = "0-201-54416-4", X LCCN = "Z286.D47 C65 1991", X bibdate = "Wed Aug 10 11:29:00 1994", X price = "US\$14.95", X acknowledgement = ack-nhfb, } X @Misc{comp.text.tex:1989:CTT, X key = "comp.text.tex", X title = "comp.text.tex", X year = "1989" # "\unskip--", X note = "This is an unmoderated Usenet discussion list about X {\TeX}.", } X @Article{Cornell:1986:CHS, X author = "Gary Cornell", X title = "Chiwriter: Horstman Software Group", X journal = j-MATHINTEL, X volume = "8", X number = "2", X pages = "64--65", X year = "1986", X bibdate = "Fri Mar 12 09:41:19 1993", X acknowledgement = ack-ps, } X @Article{Cosar:1991:TIG, X author = "A. Cosar and B. Ozguc", X title = "A text, image, and graphics editor", X journal = j-COMPUTERS-AND-GRAPHICS, X volume = "15", X number = "1", X pages = "57--66", X month = "", X year = "1991", X CODEN = "COGRD", X ISSN = "0097-8493", X bibdate = "Thu Sep 01 01:08:27 1994", X abstract = "A system for the manipulation of text, image, and X graphics items is presented. There are many products X that manipulate text, image, or graphics data X independently, but most of these systems are unable to X manipulate them in a unified document. With the X introduction of Smalltalk. Star, Lisa, Macintosh, and X {\TeX} it has become possible to mix text and graphics X data in a single document. The ODA/ODIF standard has X also been developed for the preparation, processing and X interchange of text as used in office documents. The X presented system is based on similar ideas but it X allows the documents to be created using relational X geometry as well. Any change in a given data item X causes the relational expressions existing in a X document to be reevaluated and this makes the system an X interactive WYSIWYG document editor. Currently the X system is used for documenting various instances of X animations generated by an animation package developed X at Bilkent University. (28 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Eng. and Inf. Sci., Bilkent Univ., X Ankara, Turkey", X classification = "C6130B (Graphics techniques)", X keywords = "Text editor; Image editor; Graphics editor; Unified X document; ODA/ODIF standard; Relational geometry; X Relational expressions; Interactive WYSIWYG document X editor; Animation package; Bilkent University", X thesaurus = "Computer graphics; Text editing", } X @Book{Craig:1971:DT, X author = "James Craig", X title = "Designing with Type", X publisher = pub-WGP, X address = pub-WGP:adr, X pages = "175", X year = "1971", X ISBN = "0-8230-1320-0", X LCCN = "70-159564", X bibdate = "Wed Jul 6 13:57:38 1994", X acknowledgement = ack-nhfb, X comments = "Spiralbound. Seventh printing, 1978.", X libnote = "Not yet in my library.", } X @Article{Crawford:1987:CSW, X author = "Walt Crawford", X title = "Common sense Wordworking {III}: desktop publishing and X desktop typesetting", X journal = j-LIB-HI-TECH, X volume = "5", X number = "1", X pages = "43--52", X month = "Spring", X year = "1987", X ISSN = "0737-8831", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "human factors; documentation; design", X subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS, X Publishing", } X @Article{Crawford:1987:DTL, X author = "Walt Crawford", X title = "Desktop typesetting and the {LITA} newsletter", X journal = j-INFO-TECH-LIB, X volume = "6", X number = "2", X pages = "89--96", X month = jun, X year = "1987", X ISSN = "0730-9295", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "management; human factors", X subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS, X Publishing \\ H.3.6 Information Systems, INFORMATION X STORAGE AND RETRIEVAL, Library Automation \\ K.7.2 X Computing Milieux, THE COMPUTING PROFESSION, X Organizations", } X @Book{Dair:1967:DT, X author = "Carl Dair", X title = "Design with Type", X publisher = pub-UTP, X address = pub-UTP:adr, X pages = "vi + 162", X year = "1967", X ISBN = "0-8020-1426-7 (hardcover), 0-8020-6519-8 (paperback)", X LCCN = "Z246 D35 1967", X bibdate = "Fri Jul 22 08:54:08 1994", X acknowledgement = ack-fm, X annote = "A good survey of traditional typography with many X useful rules of thumb. (RRu)", X history = "Paperback reprint 1985", } X @Misc{DANTE:1989:TK, X key = "DANTE", X title = "Die {\TeX}nische {Kom{\"o}die}", X year = "1989" # "\unskip--", X bibdate = "Tue Mar 1 11:59:14 1994", X note = "Journal of DANTE (Deutschsprachige Anwendervereinigung X {\TeX} e.V.); Group of German-speaking {\TeX{} X Users}.", } X @Article{Darling:1993:F, X author = "R. W. R. Darling", X title = "{FrameMaker} 3.0", X journal = j-NAMS, X volume = "40", X number = "2", X pages = "150--152", X month = feb, X year = "1993", X ISSN = "0002-9920", X bibdate = "Sat Sep 10 12:57:01 1994", X acknowledgement = ack-ps, } X @Article{Day:1983:TMM, X author = "R. A. Day", X title = "Typesetting mathematics on multi-access systems", X journal = j-SPE, X volume = "13", X number = "2", X pages = "131--138", X month = feb, X year = "1983", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Mon Jul 25 12:25:44 1994", X acknowledgement = ack-nhfb, X keywords = "design; documentation", X review = "ACM CR 8402-0128", X subject = "I.7.2.B Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ I.7.2 C.2 X Computer Systems Organization, COMPUTER-COMMUNICATION X NETWORKS, Network Architecture and Design \\ I.7 X Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @Article{Deach:1992:OFH, X author = "Stephen Deach", X title = "Outline font hints and rasterization: {A} technology X primer", X journal = j-SEYBOLD, X volume = "6", X number = "7", X pages = "21--31", X month = mar # " 9", X year = "1992", X CODEN = "SRDFE", X ISSN = "0889-9762", X bibdate = "Tue Mar 1 11:59:50 1994", X note = "This paper is followed by a dissent from Adobe (Terry X O'Donnell), and a response from the author (p. 32). A X sidebar (historical note, p. 25) contains a short X description of {\MF} and cites {\MF} as a forerunner of X the hinting mechanism used in TrueType.", X acknowledgement = ack-bnb, } X @InProceedings{DeLaBeaujardiere:1988:WDI, X author = "Jean-M. De La Beaujardiere", X title = "Well-established document interchange formats", X crossref = "vanVliet:1988:DMT", X pages = "83--94", X year = "1988", X bibdate = "Sat Sep 10 12:52:32 1994", X series = "Cambridge series on electronic publishing", X acknowledgement = ack-nhfb, X keywords = "design; standardization; performance; documentation", X review = "ACM CR 8909-0687", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ C.2.0 X Computer Systems Organization, COMPUTER-COMMUNICATION X NETWORKS, General, Data communications \\ C.2.2 X Computer Systems Organization, COMPUTER-COMMUNICATION X NETWORKS, Network Protocols, ODA \\ I.7.2 Computing X Methodologies, TEXT PROCESSING, Document Preparation, X SGML \\ C.2.2 Computer Systems Organization, X COMPUTER-COMMUNICATION NETWORKS, Network Protocols \\ X C.2.2 Computer Systems Organization, X COMPUTER-COMMUNICATION NETWORKS, Network Protocols", } X @Book{Delpech:1997:TDL, X author = "Jean-Pierre Delpech and Marc-Andre Figueres and Nicole Mari", X title = "Techniques du {\LaTeX}", X publisher = pub-EYROLLES, X address = pub-EYROLLES:adr, X pages = "128", X year = "1997", X ISBN = "2-212-02609-9", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X acknowledgement = ack-nhfb, } X @TechReport{DeMillo:1991:USA, X author = "Richard A. DeMillo and Aditya P. Mathur", X title = "On the Use of Software Artifacts to Evaluate the X Effectiveness of Mutation Analysis for Detecting Errors X in Production Software", X type = "Technical Report", X number = "SERC-TR-92-P", X institution = "Software Engineering Research Center", X address = "Purdue University, W. Lafayette, IN 47907, USA", X year = "1991", X bibdate = "Tue Mar 1 12:48:47 1994", } X @Article{Demmig:1989:PBP, X author = "S. Demmig", X title = "Printing books on the {PC} or the fantastic X possibilities of {\TeX}", X journal = j-MIKROCOMP-Z, X volume = "7", X pages = "60--66", X month = jul, X year = "1989", X CODEN = "MDMZD", X ISSN = "0720-4442", X bibdate = "Wed Aug 31 00:54:39 MDT 1994", X abstract = "TeX is a printing composition system of the highest X quality, particularly well suited for mathematical and X generally technical manuscripts. Its flexibility and X portability are unequalled. It was developed at the X Stanford University and has ever since been used X whenever great accuracy and efficiency were required. X The operational principle is explained and an example X of its product is shown. (5 Refs.)", X acknowledgement = ack-nhfb, X classification = "C5550 (Printers, plotters and other hard-copy output X devices)", X keywords = "Mathematical manuscripts; TeX; Printing composition X system; Technical manuscripts; Portability; Operational X principle", X language = "German", X thesaurus = "Printers", } X @Book{Denton:1992:GVC, X author = "Craig Denton", X title = "Graphics for visual communication", X publisher = pub-WCB, X address = pub-WCB:adr, X year = "1992", X ISBN = "0-697-08540-6", X LCCN = " P93.5.D46 1992", X acknowledgement = ack-nhfb, X pages = "xv + 383", X acknowledgement = ack-nhfb, X bibdate = "Thu Mar 19 09:23:02 1998", } X @Article{Department:1990:MPP, X author = "{AMS Composition Services Department}", X title = "From Manuscript to Published Paper: How Does it X Happen? Part 2", X journal = j-NAMS, X volume = "37", X number = "8", X pages = "1027--1028", X month = oct, X year = "1990", X ISSN = "0002-9920", } X @Book{DeRose:1994:MHW, X author = "Steven J. DeRose and David G. Durand", X title = "Making Hypermedia Work", X publisher = pub-KLUWER, X address = pub-KLUWER:adr, X pages = "xxii + 384", X year = "1994", X ISBN = "0-7923-9432-1", X LCCN = "QA76.76.I59 D47 1994", X bibdate = "Sat Sep 10 12:43:32 1994", X price = "UK\pounds 51.00, US\$68.00", X acknowledgement = ack-hg, X annote = "Harry Gaylord comments: ``Much nonsense and hype has X been written about hypertext. Much software has been X written to produce hypertext documents which are high X on pzaz and whistles and bangs, but requires X painstaking work on the part of the writer. Revising X the documents often means that they have to be X time-consumingly debugged in obscure ways before they X can be used again. Documents cannot be used in any X other system except the one they were written in. More X importantly often the documents have to be broken up X first into structures which are not inherent to the X document. A library card catalogue contains cards, a X newspaper or a novel doesn't. To force a novel into X cards violates the very structure of the document. X Other so-called hypertext systems are organised very X simply and do what they claim to do very well, but X documents produced in them will have to be X substantially revised when more facilities are X required. To create order out of this, ISO X JTC1/SC18/WG8 created a group to draw up a standard for X hypertext. The result of this work is ISO 10744:1992 X HyTime. About the same time, the Text Encoding X Initiative appointed a hypertext committee of four X members. Its chair was DeRose and the members include X Durand, Ed Fox, and Eve Wilson. The committee has X proposed important revisions and extensions to HyTime, X and the TEI Guidelines include all the query facilities X of HyTime plus other extensions. If these extensions X are found useful in the wider community, they will be X incorporated in the next revision of HyTime. This is X the first book to appear on HyTime. Eliot Kimber is X preparing one which is scheduled to appear in August, X and Charles Goldfarb is working on another which is X being modeled on the SGML Handbook in that it will X include the commented standard itself. This book is X divided into three parts. Part 1 is called Introducing X HyTime. This is the most general and provides an X excellent starting point for anyone who needs to know X what HyTime is, what its relation to SGML is, what its X modules are, and why anyone who is producing or using X electronic documents needs SGML and/or HyTime products. X For many this will be enough to convince them that they X should hand the book on to their software purchasers X and implementors to get to work. Part 2 is entitled X Basic HyTime. The chapters include Basic Measurement, X Hyperlinks, Locating Data Objects, The HyTime Query X Language, and Modifying a DTD for HyTime. Many hours of X my time would have been saved if I had received this X section when I received the draft of the standard X itself. When one reads this part carefully, one has a X clear idea of most of the details involved in HyTime. X One of my strongest criticisms of HyTime is the obscure X short names. They could have been clear if the X committee had not decided to limit name lengths to less X than 8 letters as was specified in SGML Reference X Syntax. As it is only insiders in the work on the X standard itself can understand what they actually refer X to. Part 3 is entitled Intermediate HyTime. Here are X the extra detailed treatments of aspects of HyTime X which implementors need to know. Appendixes include the X HyTime Meta-DTD with its corrections and Graphic X Notations. The book is concluded with a bibliography, X glossary, and index. If I understand the authors, the X highest level of hypertext which can be reached at the X moment is Intermediate, not Advanced. The field is too X young. They are, of course, right in this. It is no X accident that these authors are part of that Brown X group which has spread out to Boston now. It has been X the major center for producing systems for structuring X and linking highly complex documents and have built X extensive experience since the 1960's. The didactic X arrangement is impressive. Basic issues are discussed X clearly first and nuances are added later when they are X needed by the reader. It is not often that in a very X complex subject the authors so clearly have understood X what is forest and what is trees, and have been such X good guides to the uninitiated and initiated alike. X With this book I have a proper coursebook for my X students this year. If you want to know about X electronic documents which are usable in more than X one system and future-oriented, then you should buy X this book without waiting for anything else to X appear. It provides an excellent introduction for X the general reader, and thorough treatment for those X who need it.''", } X @InCollection{Desarmenien:1984:DOM, X author = "Jacques D{\'e}sarm{\'e}nien", X booktitle = "How to run {\TeX} in {French}", X title = "La division par ordinateur des mots fran\c cais avec X le logiciel {\TeX}", X publisher = inst-STANFORD, X address = inst-STANFORD:adr, X pages = "19--42", X year = "1984", X bibdate = "Sat Mar 12 18:15:30 1994", X acknowledgement = ack-hk, } X @TechReport{Desarmenien:1984:HRT, X author = "Jacques D{\'e}sarm{\'e}nien", X title = "How to run {\TeX} in {French}", X number = "STAN-CS-84-1013", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = aug, X year = "1984", X bibdate = "Sat Feb 10 14:55:27 1996", } X @InProceedings{Desarmenien:1985:UTF, X author = "Jacques D{\'e}sarm{\'e}nien", X title = "The {Use} of {\TeX} in {French}: {Hyphenation} and X {Typography}", X crossref = "Lucarella:1985:PFE", X pages = "41--59", X year = "1985", X bibdate = "Tue Jul 26 09:28:32 1994", X acknowledgement = ack-hk, } X @Book{Detig:1997:LW, X author = "Christine Detig", X title = "{Der \LaTeXe{}-Wegweiser}", X publisher = pub-ITPG, X address = pub-ITPG:adr, X pages = "xiv + 236", X year = "1997", X ISBN = "3-8266-0256-0", X LCCN = "", X bibdate = "Sat Mar 07 09:00:51 1998", X price = "DM 29,80", X acknowledgement = ack-nhfb, } X @InProceedings{Dickey:1987:TAU, X author = "Leroy J. Dickey", X title = "Typesetting {APL} using {TROFF}", X crossref = "Haliburton:1987:ATC", X pages = "494--497", X year = "1987", X bibdate = "Wed Jul 27 11:05:31 1994", X acknowledgement = ack-nhfb, X keywords = "languages; design; documentation", X subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language X Classifications, APL \\ J.7 Computer Applications, X COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.m X Computing Methodologies, TEXT PROCESSING, X Miscellaneous", } X @Book{Dietsche:1994:LLS, X author = "Luzia Dietsche and Joachim Lammarsch", X title = "{\LaTeX} zum Loslegen: ein Soforthelfer f{\"u}r den X Alltag \toenglish {\LaTeX}, ready to start: Instant X help for everyday \endtoenglish", X publisher = pub-SV, X address = pub-SV:adr, X pages = "x + 116", X year = "1994", X ISBN = "3-540-56545-0", X bibdate = "Thu Dec 29 10:44:23 1994", X price = "DM39.00", X acknowledgement = ack-rz, } X @Book{Diller:1993:LLL, X author = "Antoni Diller", X title = "{\LaTeX} Line by Line: Tips and Techniques for X Document Processing", X publisher = pub-W, X address = pub-W:adr, X pages = "xiii + 291", X year = "1993", X ISBN = "0-471-93471-2 (softcover)", X LCCN = "Z253.4.L38 D55 1993", X note = "Optionally accompanied by disk with examples, ISBN X 0-471-93797-5.", X price = "US\$29.95", X series = "Wiley Professional Computing", X acknowledgement = ack-bnb, } X @Manual{Dol:1994:TG, X author = "Wietse Dol and Erik Frambach and Siep Kroonenberg and X Maarten H. van der Vlerk", X title = "{\TeX} and 4{\TeX} Guide", X organization = org-NTG, X address = org-NTG:adr, X year = "1994", X bibdate = "Wed Aug 10 15:38:28 1994", X note = "The CD-ROM provides a complete runnable installation X of {\TeX} and {\MF} for the IBM PC.", X price = "US\$35.00", X acknowledgement = ack-nhfb, } X @Article{Doob:1989:TTA, X author = "Michael Doob", X title = "{\TeX} and Typesetting\emdash An Author's View", X journal = j-NAMS, X volume = "36", X number = "9", X pages = "1203--1204", X month = nov, X year = "1989", X ISSN = "0002-9920", X bibdate = "Tue Mar 1 11:34:03 1994", } X @Article{Doob:1990:TSC, X author = "Michael Doob", X title = "{\TeX} and the Single {CPU}", X journal = j-NAMS, X volume = "37", X number = "3", X pages = "270--273", X month = mar, X year = "1990", X ISSN = "0002-9920", } X @Book{Doob:1993:TSS, X author = "Michael Doob", X title = "{\TeX}: Starting from Square 1", X publisher = pub-SV, X address = pub-SV:adr, X pages = "114", X year = "1993", X ISBN = "0-387-56441-1", X LCCN = "Z253.4.T47 D66 1993", X bibdate = "Wed Aug 10 14:02:27 1994", X price = "US\$25.00", X acknowledgement = ack-nhfb, } X @Book{Dreyfus:1989:AXF, X editor = "John Dreyfus and Knut Erichson", X title = "{ABC-XYZapf}: Fifty Years in Alphabet Design: X Professional and personal contributions selected for X Hermann Zapf", X publisher = pub-WWS, X address = pub-WWS:adr, X pages = "251", X year = "1989", X ISBN = "3-922715-35-4", X LCCN = "Z250.A2 Z358 1989", X bibdate = "Sun Jul 10 01:13:44 1994", } X @Book{Drucker:1995:ALL, X author = "Johanna Drucker", X title = "The Alphabetic Labyrinth: The Letters in History and X Imagination", X publisher = pub-NORTON, X address = pub-NORTON:adr, X pages = "328", X year = "1995", X ISBN = "0-500-01608-9", X LCCN = "P211 .D78 1995 AAL", X bibdate = "Fri Jun 23 17:23:50 1995", X price = "US\$45.00", X acknowledgement = ack-nhfb, } X @Article{Duan:1989:IPS, X author = "G. Duan and R. A. Morris", X title = "The Importance of Phase in the Spectra of Digital X Type", X journal = j-EPODD, X volume = "2", X number = "1", X pages = "47--60", X month = apr, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", } X @Book{Dyl:1994:KTS, X author = "Dariusz Dyl", X title = "Komputerowy sk{\l}ad tekstu w systemie {\LaTeX}. X Przewodnik po komendach i {\'s}rodowiskach wraz z X przyk{\l}adami.", X publisher = pub-MARSZALEK, X address = pub-MARSZALEK:adr, X edition = "1.", X year = "1994", X bibdate = "Thu Jun 23 18:23:22 1994", X note = "sk{\l}adano w systemie {\LaTeX} (styl book11pt) przy X u{\.z}yciu programu Vector{\TeX} ver. 2.24", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X note-1 = "In Polish.", X note-l = lang-pl, X publisher-l = lang-pl, X title-l = lang-pl, } X @Book{Eckersley:1994:GTT, X author = "Richard Eckersley and Richard Angstadt and Charles M. X Ellertson and Richard Hendel and Naomi B. Pascal and X Anita Walker Scott", X title = "Glossary of Typesetting Terms", X publisher = pub-U-CHICAGO-PRESS, X address = pub-U-CHICAGO-PRESS:adr, X pages = "xi + 169", X year = "1994", X ISBN = "0-226-18371-8", X bibdate = "Wed Jan 4 10:03:02 1995", X price = "US\$20.00", X series = "Chicago Guides to Writing, Editing, and Publishing", X acknowledgement = ack-bnb, } X @Article{Ehrenfeucht:1994:CFT, X author = "A. Ehrenfeucht and P. ten Pas and G. Rozenberg", X title = "Context-free text grammars", X journal = j-ACTA-INFO, X volume = "31", X number = "2", X pages = "161--206", X month = "??", X year = "1994", X CODEN = "AINFA", X ISSN = "0001-5903", X bibdate = "Sat Nov 12 21:49:17 1994", X note = "From Joachim Schrod: This paper describes ``the basic X theory behind text grammars needed for document X structure specification''.", X acknowledgement = ack-js, } X @InProceedings{Eickel:1990:LLS, X author = "J{\"u}rgen Eickel", X title = "Logical and layout structures of documents", X crossref = "Nadrchal:1990:MMI", X pages = "201--208", X year = "1990", X bibdate = "Tue Mar 1 12:49:13 1994", X note = "Invited paper.", X acknowledgement = ack-rw, } X @Article{Eijkhout:1990:WT, X author = "Victor Eijkhout and Nico Poppelier", X title = "Wat is {\TeX}", X journal = j-TWIO, X volume = "8", X number = "2", X pages = "44--48", X year = "1990", X notes = "In Dutch.", } X @Book{Eijkhout:1992:TTT, X author = "Victor Eijkhout", X title = "{\TeX} by Topic, {A} {\TeX}nician's Reference", X publisher = pub-AW, X address = pub-AW:adr, X pages = "vii + 307", X year = "1992", X ISBN = "0-201-56882-9", X LCCN = "Z253.4.T47 E38 1992", X bibdate = "Tue Dec 14 22:47:52 1993", } X @Book{Emerson:1987:TTU, X author = "Sandra L. Emerson and Karen Paulsell", X title = "troff Typesetting for {UNIX} systems", X publisher = pub-PH, X address = pub-PH:adr, X pages = "xx + 359", X year = "1987", X ISBN = "0-13-930959-4", X LCCN = "Z253.4.U53 E45 1987", X bibdate = "Wed Aug 10 11:26:52 1994", X price = "US\$29.95", X acknowledgement = ack-nhfb, X keywords = "design; performance; documentation", X review = "ACM CR 8712-0981", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, troff \\ D.4.0 Software, X OPERATING SYSTEMS, General, UNIX", } X @Unpublished{English:1987:UMO, X author = "Paul M. English", X title = "Using {\MF} for Original Font Design", X institution = "University of Massachusetts at Boston", X address = "Boston, MA, USA", X month = aug, X year = "1987", } X @Misc{EPODD:1988:EPO, X key = "EPODD", X title = j-EPODD, X howpublished = pub-W, X year = "1988" # "\unskip--", X ISSN = "0894-3982", X note = "This journal accepts papers in \TeX{} form.", X acknowledgement = ack-nhfb, } X @Book{Evgrafov:1993:TRN, X author = "Marat Evgrafov and Leonid Evgrafov", X title = "{\TeX}: Rukovodstvo po naboru i redaktirovaniiu X mathematicheskikh textov \toenglish {Manual} on typing X and editing of mathematical texts \endtoenglish", X publisher = pub-PHISMATHLIT, X address = pub-PHISMATHLIT:adr, X pages = "80", X year = "1993", X ISBN = "5-02-015116-5", X bibdate = "Wed Jan 04 08:16:13 1995", X note = "The first Russian book about {\TeX} that was written X by Russians. First press run: 7000 copies.", X acknowledgement = ack-ps, } X @Article{Fateman:1987:TOM, X author = "Richard J. Fateman", X title = "{\TeX} output from {MACSYMA}-like systems", X journal = j-SIGSAM, X volume = "21", X number = "4", X pages = "1--5", X month = nov, X year = "1987", X CODEN = "SIGSBZ", X ISSN = "0163-5824", X bibdate = "Sat Aug 13 17:21:21 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "design; theory", X subject = "F.2.2 Theory of Computation, ANALYSIS OF ALGORITHMS X AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and X Problems, MACSYMA \\ I.1.3 Computing Methodologies, X ALGEBRAIC MANIPULATION, Languages and Systems, X MACSYMA", } X @Book{Felici:1987:DPS, X author = "James Felici and Ted Nace", X title = "Desktop publishing skills: a primer for typesetting X with computer and laser printer", X publisher = pub-AW, X address = pub-AW:adr, X pages = "vii + 180", X month = aug, X year = "1987", X ISBN = "0-201-11537-9", X LCCN = "Z286.D47 F44 1987", X bibdate = "Mon Jul 25 11:24:24 1994", X price = "UK\pounds20, US\$19.95", X abstract = "Until now, books on desktop publishing have focused on X available hardware and software and have neglected the X more lasting skills needed to use these tools X effectively. This book has been written in response to X this need. It provides, in one place, a coherent and X accessible introduction to the principles, processes, X and techniques of publishing that must be understood X before your document production with computers and X laser printers can realize its full potential. \par X Desktop Publishing Skills introduces publishing basics, X such as typesetting, design, and page make-up. It is X independent of any specific computer or laser printer, X making it a more generic and permanent resource for X study or reference. What's more, since the entire book X was produced by the authors using the technologies and X methods described in the book, you will be able to pick X up additional ideas on the effective use of desktop X publishing by just looking at the book itself.", X acknowledgement = ack-fm, X annote = "The book is a good primer for people who wish to get X involved with `inhouse' publishing. While it addresses X people interested in Desktop Publishing, the focus is X on typesetting quality. Typesetting fundamentals are X explained and it is discussed why they are necessary. X This is done from the point of view of the professional X looking at the desktop publishing world.\par A well X written book, worth reading for laymans who are X interested in document processing.\par \TeX{} is one of X the few mentioned typesetting programs but although the X quality of its output is acknowledged the authors seem X to be unaware of the underlying algorithmic concepts X (e.g., paragraph builder) that are superior to the X concepts they describe as the `standard'. (FMi)\par X From the \TeX{}line review: I have no hesitation in X recommending this book to anyone with any interest in X getting more out of computerised typesetting. (CHe)", X bibliography = "yes", X glossary = "yes", X history = "Reprint with corrections", X index = "yes", X inprint = "yes", X keywords = "design, electronic publishing, computerized X typesetting, printing laser use in, self-publishing", X printermarks = "no", X review = "ACM CR 8802-0072 and " # j-TEXLINE # " number 7, X February 1988", X subject = "J.7 Computer Applications, COMPUTERS IN OTHER SYSTEMS, X Publishing \\ B.4.2 Hardware, INPUT/OUTPUT AND DATA X COMMUNICATIONS, Input/Output Devices, Data terminals X and printers \\ H.4.1 Information Systems, INFORMATION X SYSTEMS APPLICATIONS, Office Automation, Equipment", } X @Book{Firmage:1993:AA, X author = "Richard A. Firmage", X title = "The Alphabet Abecedarium: Some Notes on Letters", X publisher = pub-GODINE, X address = pub-GODINE:adr, X pages = "xi + 307", X year = "1993", X ISBN = "0-87923-987-5", X LCCN = "P211 .F6 1993", X bibdate = "Wed Aug 10 09:58:07 1994", X acknowledgement = ack-nhfb, } X @Article{Fisher:1991:IAI, X author = "A. J. Fisher", X title = "Incremental algorithms for interactive text X formatting", X journal = j-J-SYS-SOFT, X volume = "16", X number = "1", X pages = "3--16", X month = sep, X year = "1991", X CODEN = "JSSOD", X ISSN = "0164-1212", X bibdate = "Thu Sep 01 01:09:16 1994", X abstract = "The paper presents algorithms which transform a piece X of text by formatting it according to instructions X embedded in the text. In contrast to earlier X algorithms, the algorithms described perform their task X incrementally. Changes in the unformatted document are X compiled into corresponding changes in the formatted X text. By these means, it is possible to build a very X fast interactive text formatter. A text formatting X system called ALPHA is presented which uses the X algorithms described. ALPHA is a window-based system X which combines the power of a document description X language in the style of {\TeX} or TROFF with the X convenience and responsiveness of an interactive X WYSIWYG system. In addition to their intended use in X text formatting systems, the algorithms are applicable X to the incremental compilation of programming languages X and the editing of structured text. (20 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., York Univ., UK", X classification = "C6130D (Document processing techniques); C6180 (User X interfaces)", X keywords = "Interactive text formatting; Unformatted document; X Formatted text; Interactive text formatter; ALPHA; X Window-based system; Document description language; X TeX; TROFF; WYSIWYG system; Incremental compilation; X Programming languages", X thesaurus = "Text editing; User interfaces; Word processing", } X @Manual{Foata:1984:SLT, X author = "Dominique Foata and Jean-Jacques Pansiot and Yves X Roy", X title = "{STRATEC}\emdash{} un logiciel traitement de textes X math\'ematiques en amont de {\TeX} (ver.0.93)", X address = "Laboratoire de Typographie Informatique, X Universit{\'e} Louis Pasteur, Strasbourg, France", X year = "1984", X bibdate = "Sat Feb 10 14:49:32 1996", } X @InProceedings{Foata:1985:SRK, X author = "Dominique Foata and Jean-Jacques Pansiot and Yves X Roy", X title = "{STRATEC} and a {Rationalized Keyboard} for {Inputting X \TeX}", X crossref = "Lucarella:1985:PFE", X pages = "105--116", X year = "1985", X bibdate = "Tue Jul 26 09:28:25 1994", X acknowledgement = ack-hk, } X @Article{Fox:1997:QLO, X author = "Jim Fox", X title = "{Q}\&{AIX}: {\LaTeX}, the Old and the New", X journal = j-SUNEXPERT, X volume = "8", X number = "11", X pages = "72, 74", X month = nov, X year = "1997", X ISSN = "1053-9239", X bibdate = "Mon Nov 24 17:00:57 1997", X acknowledgement = ack-nhfb, } X @Article{Fox:1998:QLL, X author = "Jim Fox", X title = "{Q}\&{AIX}: Life with {\LaTeX}", X journal = j-SUNEXPERT, X volume = "9", X number = "4", X pages = "53--54, 56", X month = apr, X year = "1998", X ISSN = "1053-9239", X bibdate = "Thu Apr 16 18:47:04 1998", X acknowledgement = ack-nhfb, } X @Article{Foxley:1987:MLT, X author = "Eric Foxley", X title = "Music---a language for typesetting music scores", X journal = j-SPE, X volume = "17", X number = "8", X pages = "485--502", X month = aug, X year = "1987", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "languages; algorithms; design; performance", X subject = "J.5 Computer Applications, ARTS AND HUMANITIES, Music X \\ I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ D.3.2 X Software, PROGRAMMING LANGUAGES, Language X Classifications, Macro and assembly languages \\ I.7.2 X Computing Methodologies, TEXT PROCESSING, Document X Preparation \\ J.5 Computer Applications, ARTS AND X HUMANITIES \\ D.3.3 Software, PROGRAMMING LANGUAGES, X Language Constructs, Modules, packages \\ D.3.2 X Software, PROGRAMMING LANGUAGES, Language X Classifications, Applicative languages \\ D.2.2 X Software, SOFTWARE ENGINEERING, Tools and Techniques, X User interfaces", } X @TechReport{Fuchs:1982:OFC, X author = "David R. Fuchs and Donald E. Knuth", X title = "Optimal Font Caching", X number = "STAN-CS-82-901", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1982", X bibdate = "Sat Feb 10 14:55:25 1996", } X @Article{Fuchs:1985:OPF, X author = "D. R. Fuchs and D. E. Knuth", X title = "Optimal prepaging and font caching", X journal = j-TOPLAS, X volume = "7", X number = "1", X pages = "62--79", X month = jan, X year = "1985", X CODEN = "ATPSDT", X ISSN = "0164-0925", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "algorithms; measurement; performance", X review = "ACM CR 8602-0122", X subject = "D.4.2 Software, OPERATING SYSTEMS, Storage Management, X Allocation/deallocation strategies \\ D.4.2 Software, X OPERATING SYSTEMS, Storage Management, Secondary X storage devices \\ D.4.2 Software, OPERATING SYSTEMS, X Storage Management, Virtual memory \\ E.2 Data, DATA X STORAGE REPRESENTATIONS, Linked representations \\ X I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Photocomposition", } X @Book{Fujita:1993:CBG, X author = "Shinsaku Fujita", X title = "{\LaTeX} for Chemists and Biochemists. {A} Guide for X Preparing Papers with Personal Computers [in X Japanese]", X publisher = "Tokyo Kagaku Dozin", X address = "Tokyo, Japan", X pages = "xiv + 305", X year = "1993", X ISBN = "4-8079-0386-1", X LCCN = "", X bibdate = "Mon Dec 30 06:29:35 1996", X note = "Includes diskette with macros and styles for about X thirty scientific journals.", X acknowledgement = ack-nhfb, } X @Article{Fujita:1994:TSF, X author = "Shinsaku Fujita", X title = "Typesetting Structural Formulae with the Text X Formatter {\TeX\slash \LaTeX}", X journal = j-COMPCHEM, X volume = "18", X number = "2", X institution = "Ashigara Research Labs Fuji Photo Film Company", X pages = "109--116", X year = "1994", X bibdate = "Sat Feb 10 08:48:07 1996", X acknowledgement = ack-mb, } X @Article{Furuta:1982:DFSa, X author = "Richard Furuta and Jeffrey Scofield and Alan Shaw", X title = "Document formatting systems: survey, concepts, and X issues", X journal = j-COMP-SURVEYS, X volume = "14", X number = "3", X pages = "417--472", X month = sep, X year = "1982", X bibdate = "Thu Jul 21 19:37:03 1994", X acknowledgement = ack-nhfb, } X @InCollection{Furuta:1982:DFSb, X author = "Richard Furuta and Jeffrey Scofield and Alan Shaw", X title = "Document formatting systems: survey, concepts, and X issues", X crossref = "Nievergelt:1982:DPS", X chapter = "??", X pages = "133--220", X year = "1982", X bibdate = "Mon Aug 22 14:24:58 1994", X acknowledgement = ack-nhfb, X review = "ACM CR 40525", X subject = "H.4.1 Information Systems, INFORMATION SYSTEMS X APPLICATIONS, Office Automation, Word processing \\ X I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ I.7.2 X Computing Methodologies, TEXT PROCESSING, Document X Preparation, Languages \\ I.7 Computing Methodologies, X TEXT PROCESSING, Miscellaneous \\ K.2 Computing X Milieux, HISTORY OF COMPUTING, Software", } X @Article{Furuta:1985:RTT, X author = "Richard Furuta and Pierre A. MacKay", X title = "Two {\TeX} Implementations for the {IBM PC}", X journal = j-DDJ, X volume = "10", X number = "9", X pages = "80--89, 91", X month = sep, X year = "1985", X CODEN = "DDJOEB", X ISSN = "1044-789X", X bibdate = "Tue Sep 03 08:53:55 1996", X bibsource = "http://www.ddj.com/index/author/index.htm", X acknowledgement = ack-nhfb, } X @Book{Gallego:1992:LPP, X author = "Francisco Orteg{\'o}n Gallego", X title = "{\LaTeX}, primeros pasos", X publisher = pub-MASSON-SA, X address = pub-MASSON-SA:adr, X pages = "xix + 168", X year = "1992", X ISBN = "84-311-0649-2", X bibdate = "Sun Dec 27 17:42:34 1992", X series = "Manuales de Inform{\'a}tica Masson", } X @Book{Garvey:1982:NEM, X author = "Daniel E. Garvey and William L. Rivers", X title = "Newswriting for the Electronic Media: Principles, X Examples, Applications", X publisher = pub-WPC, X address = pub-WPC:adr, X pages = "xiii + 250", X year = "1982", X ISBN = "0-534-01069-5", X LCCN = "PN4784.B75 .G3", X bibdate = "Fri Jul 22 08:56:11 1994", X note = "Exercises, appendices, index, pp. 250.", X acknowledgement = ack-jpl, X annote = "College level text.", } X @Book{Gehani:1986:DFT, X author = "Narain Gehani", X title = "Document formatting and typesetting on the {UNIX} X system", X publisher = pub-SILICON, X address = pub-SILICON:adr, X pages = "xv + 364", X year = "1986", X ISBN = "0-9615336-0-9", X LCCN = "Z52.5.U54 G43 1986", X bibdate = "Mon Jul 25 11:54:48 1994", X price = "US\$33.95", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X review = "ACM CR 8607-0584", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ I.7.2 X Computing Methodologies, TEXT PROCESSING, Document X Preparation, Languages \\ D.4.0 Software, OPERATING X SYSTEMS, General, UNIX", } X @Book{Gehani:1987:DFT, X author = "Narain Gehani", X title = "Document Formatting and Typesetting on the {UNIX} X System", X publisher = pub-SILICON, X address = pub-SILICON:adr, X edition = "Second", X pages = "xix + 310 (or xv + 377)", X year = "1987", X ISBN = "0-13-938325-5, 0-9615336-2-5", X LCCN = "QA76.73.A35 G437 1987", X bibdate = "Tue Dec 14 23:36:50 1993", } X @Book{Gehani:1988:DFT, X author = "Narain Gehani and Steven Lally", X title = "Document formatting and typesetting on the {UNIX} X system. Vol. 2: grap, mv, ms, and troff", X publisher = pub-SILICON, X address = pub-SILICON:adr, X pages = "304", X year = "1988", X ISBN = "0-9615336-3-3", X LCCN = "????", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X price = "US\$30.95", X acknowledgement = ack-nhfb, X keywords = "languages; documentation", X review = "ACM CR 8907-0444", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation \\ D.4.0 Software, OPERATING X SYSTEMS, General, UNIX \\ I.7.2 Computing X Methodologies, TEXT PROCESSING, Document Preparation, X troff", } X @MastersThesis{Gella:1995:CTL, X author = "Kamal VenkataSatya Gella", X title = "A compiler to translate {\LaTeX} document to hypertext", X type = "Thesis (M.S.)", X school = "University of South Carolina", X address = "Columbia, SC, USA", X pages = "iv + 40", X year = "1995", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X acknowledgement = ack-nhfb, X keywords = "Compilers (Computer programs); Hypertext systems", } X @Article{GeyerSchulz:1993:TAL, X author = "A. Geyer-Schulz and J. Matulka and G. Neumann", X title = "Typesetting {APL} with {\LaTeX}--the {APL} front end X {APL2TEX}", X journal = j-APL-QUOTE-QUAD, X volume = "23", X number = "3", X pages = "22--27", X month = mar, X year = "1993", X CODEN = "APLQD", X ISSN = "0163-6006", X bibdate = "Thu Sep 01 01:27:41 1994", X abstract = "An APL publishing system is presented for {\LaTeX} X which supports typesetting of APL publications and X documents in a mixed hardware, multiple vendor APL X environment. It requires minimal maintenance and is in X the public domain. The system has two components, the X {\LaTeX} document style option apl.sty and the APL2TEX X front end. The option apl.sty provides the full symbol X sets of the APL dialects APL2/370, APL2/PC, Dyalog APL, X I-APL, Sharp APL, and APL.68000 Levels I and II. All X APL symbols are constructed with the symbols of the X standard {\LaTeX} font family. No special fonts are X needed. The APL2TEX front end is a workspace containing X a preprocessor for converting APL objects to {\LaTeX} X logical document elements. APL2TEX is currently X available for APL2/370, APL2/PC, Dyalog APL and X APL.68000 Levels I and II. (15 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Bus. Adm., Vienna Univ. of Econ., Austria", X classification = "C7230 (Publishing and reproduction); C6130 (Data X handling techniques); C6140D (High level languages); X C6180 (User interfaces)", X keywords = "LaTeX; APL 68000; APL typesetting; APL publishing X system; APL publications; Multiple vendor APL X environment; Public domain; Document style option; X APL2TEX front end; Full symbol sets; APL dialects; X APL2/370; APL2/PC; Dyalog APL; I-APL; Sharp APL; Font X family; Workspace; Logical document elements", X thesaurus = "APL; Character sets; Computer controlled typesetting; X User interfaces", } X @TechReport{Ghosh:1983:ATD, X author = "Pijush K. Ghosh", X title = "An {Approach} to {Type Design} and {Text} X {Composition} in {Indian Scripts} (with a preface by X Donald {E}. Knuth)", X number = "STAN-CS-83-965", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1983", X bibdate = "Sat Feb 10 14:50:27 1996", } X @TechReport{Ghosh:1983:FAL, X author = "Pijush K. Ghosh and Charles A. Bigelow", X title = "A {Formal Approach} to {Lettershape Description} for X {Type Design}", X number = "STAN-CS-83-966", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1983", X bibdate = "Sat Feb 10 14:50:24 1996", } X @Article{Ghosh:1984:BDI, X author = "P. K. Ghosh", X title = "Basic design issues in a multi-lingual type font X design and typesetting workstation", X journal = j-J-INST-ELEC-TELECOMM-ENG, X volume = "30", X number = "6", X pages = "196--202", X month = nov, X year = "1984", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "languages; documentation", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Languages \\ J.5 Computer X Applications, ARTS AND HUMANITIES, Linguistics \\ I.7 X Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @Book{Gibaldi:1996:MHW, X author = "Joseph Gibaldi", X title = "{MLA} Handbook for Writers of Research Papers", X publisher = pub-MLAA, X address = pub-MLAA:adr, X edition = "Fourth", X pages = "xviii + 293", X year = "1996", X ISBN = "0-87352-565-5", X LCCN = "LB2369.G53 1995", X bibdate = "Sat Sep 28 17:22:14 1996", X price = "US\$16.75", X acknowledgement = ack-nhfb, } X @Article{Gilchrist:1989:TTP, X author = "Martin Gilchrist", X title = "{\TeX} and Typesetting\emdash{} {A} Publisher's View", X journal = j-NAMS, X volume = "36", X number = "9", X pages = "1199--1201", X month = nov, X year = "1989", X ISSN = "0002-9920", X bibdate = "Tue Mar 1 11:34:21 1994", } X @Article{GilmourBryson:1982:TPC, X author = "A. Gilmour-Bryson", X title = "Text preparation for computer typesetting", X journal = j-ALLC-BULL, X volume = "10", X number = "2", X pages = "40--47", X year = "1982", X ISSN = "0951-1474", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "human factors; documentation", X subject = "I.7 Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @Article{Gonczarowski:1989:ICP, X author = "Jakob Gonczarowski and On G. Paradise", X title = "{InScript}\emdash{}a {C}-like preprocessor for X {\POSTSCRIPT}", X journal = j-EPODD, X volume = "2", X number = "3", X pages = "157--167", X month = oct, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", } X @Book{Goossens:1994:LCa, X author = "Michel Goossens and Frank Mittelbach and Alexander X Samarin", X title = "The {\LaTeX} Companion", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xxi + 528", X year = "1994", X ISBN = "0-201-54199-8", X LCCN = "Z253.4.L38 G66 1994", X bibdate = "Fri Jul 22 11:14:12 1994", X price = "US\$34.25", X acknowledgement = ack-nhfb, } X @Book{Goossens:1994:LCb, X author = "Michel Goossens and Frank Mittelbach and Alexander X Samarin", X title = "The {\LaTeX} Companion", X publisher = pub-AW, X address = pub-AW:adr, X edition = "Second", X pages = "xxi + 530", X year = "1994", X ISBN = "0-201-54199-8", X LCCN = "Z253.4.L38 G66 1994", X bibdate = "Wed Nov 16 12:41:07 1994", X price = "US\$34.25", X acknowledgement = ack-nhfb, } X @Book{Goossens:1997:LB, X author = "Michel Goossens and Frank Mittelbach and Alexander X Samarin", X title = "{Der {\LaTeX}-Begleiter}", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xxxiii + 554", X year = "1997", X ISBN = "3-89319-646-3", X LCCN = "????", X bibdate = "Wed Nov 16 12:41:07 1994", X price = "DM 79,90; ATS 583,00; CHF 73,00", X acknowledgement = ack-nhfb, } X @Book{Goossens:1997:LGC, X author = "Michel Goossens and Sebastian Rahtz and Frank X Mittelbach", X title = "The {\LaTeX} Graphics Companion: Illustrating X Documents with {\TeX} and {PostScript}", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xxi + 554", X year = "1997", X ISBN = "0-201-85469-4", X LCCN = "Z253.4.L38G663 1997", X bibdate = "Fri Jul 11 07:51:47 1997", X price = "US\$39.75", X series = "Tools and Techniques for Computer Typesetting", X acknowledgement = ack-nhfb, X keywords = "LaTeX (Computer file); Computerized typesetting.; X PostScript (Computer program language); Scientific X illustration -- Computer programs.; Mathematics X printing -- Computer programs.; Technical publishing -- X Computer programs.", } X @Article{Gourlay:1986:LMP, X author = "John S. Gourlay", X title = "A language for music printing", X journal = j-SPE, X volume = "29", X number = "5", X pages = "388--401", X month = may, X year = "1986", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Thu Jul 21 22:21:39 1994", X acknowledgement = ack-nhfb, } X @Article{Graetzer:1993:A, X author = "George Gr{\"a}tzer", X title = "{\AmSLaTeX}", X journal = j-NAMS, X volume = "40", X number = "2", X pages = "148--150", X month = feb, X year = "1993", X ISSN = "0002-9920", X bibdate = "Fri Aug 19 11:28:07 1994", X acknowledgement = ack-ps, } X @Article{Graetzer:1993:ATI, X author = "George Gr{\"a}tzer", X title = "Advances in {\TeX} Implementations. {I}. {\POSTSCRIPT} X Fonts", X journal = j-NAMS, X volume = "40", X number = "7", X pages = "834--838", X month = sep, X year = "1993", X ISSN = "0002-9920", X bibdate = "Tue Dec 14 10:45:27 1993", X acknowledgement = ack-ps, } X @Book{Graetzer:1993:MTS, X author = "George Gr{\"a}tzer", X title = "Math into {\TeX}: {A} Simplified Introduction Using X {\AmSLaTeX}", X publisher = pub-SV # " and " # pub-BH, X address = pub-SV:adr # " and " # pub-BH:adr, X pages = "xxix + 294", X year = "1993", X ISBN = "0-8176-3637-4, 3-7643-3637-4", X LCCN = "Z253.4.A65G7 1993", X bibdate = "Fri Aug 19 11:28:39 1994", X price = "US\$34, SFr 52, DM 57", } X @Article{Graetzer:1994:ATIa, X author = "George Gr{\"a}tzer", X title = "Advances in {\TeX} Implementations. {II}. Integrated X Environments", X journal = j-NAMS, X volume = "41", X number = "2", X pages = "106--111", X month = feb, X year = "1994", X ISSN = "0002-9920", X bibdate = "Thu Dec 29 10:52:37 1994", X acknowledgement = ack-ps, } X @Article{Graetzer:1994:ATIb, X author = "George Gr{\"a}tzer", X title = "Advances in {\TeX} Implementations. {III}. {A} New X Version of {\LaTeX}, Finally", X journal = j-NAMS, X volume = "41", X number = "6", X pages = "611--615", X month = jul # "\slash{} " # aug, X year = "1994", X ISSN = "0002-9920", X bibdate = "Thu Dec 29 10:45:21 1994", X acknowledgement = ack-ps, } X @Book{Graetzer:1996:MI, X author = "George Gr{\"a}tzer", X title = "Math into {\LaTeX}: an introduction to {\LaTeXe} and X {\AMSLaTeX} 1.2", X publisher = pub-BH, X address = pub-BH:adr, X pages = "xxvii + 451", X year = "1996", X ISBN = "0-8176-3805-9, 3-7643-3805-9", X LCCN = "Z253.4.A65G69 199", X bibdate = "Sat Mar 07 18:36:33 1998", X price = "US\$49.50", X keywords = "AMS-LaTeX.; AMS-LaTeX (Ficher d'ordinateur); X Mathematics printing -- Computer programs.; X Computerized typesetting.; Mathematiques -- X Impression -- Logiciels.; Composition automatique X (Industries graphiques)", X acknowledgement = ack-nhfb, } X @Book{Granet:1995:OL, X author = "Vincent Granet and Jean-Pierre Regourd", X title = "Objectif {\LaTeX}", X publisher = pub-MASSON, X address = pub-MASSON:adr, X pages = "303", X year = "1995", X ISBN = "2-225-84993-5", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X series = "Objectif, 1240-1013", X acknowledgement = ack-nhfb, X keywords = "{\LaTeX} (syst{\`e}me informatique)", } X @Article{Griffee:1988:ITF, X author = "Alan W. Griffee and Cherrelyn A. Casey", X title = "An introduction to typographic fonts and digital font X resources", X journal = j-IBM-SYS-J, X volume = "27", X number = "2", X pages = "206", X year = "1988", X CODEN = "IBMSA7", X ISSN = "0018-8670", X bibdate = "Sun Mar 27 18:29:22 1994", X acknowledgement = ack-nhfb, } X @Book{Griffiths:1997:LL, X author = "David F. (Francis) Griffiths and Desmond J. Higham", X title = "Learning {\LaTeX}", X publisher = pub-SIAM, X address = pub-SIAM:adr, X pages = "x + 84", X year = "1997", X ISBN = "0-89871-383-8", X LCCN = "Z253.4.L38G75 1997", X bibdate = "Sat Mar 07 09:32:22 1998", X keywords = "LaTeX (Computer file); Computerized typesetting.; X Mathematics printing -- Data processing.", X acknowledgement = ack-nhfb, } X @InProceedings{Guntermann:1985:GDL, X author = "Klaus Guntermann", X title = "{GENDRIV} --- a driver for low cost devices using X built-in fonts", X crossref = "Lucarella:1985:PFE", X pages = "197--204", X year = "1985", X bibdate = "Tue Jul 26 09:28:19 1994", X acknowledgement = ack-hk, } X @Book{Gunther:1996:EL, X author = "Karsten G{\"u}nther", X title = "Einf{\"u}hrung in {\LaTeXe}: Lehrbuch und Referenz", X publisher = pub-DPUNKT-VERLAG, X address = pub-DPUNKT-VERLAG:adr, X pages = "xxxiv + 522", X year = "1996", X ISBN = "3-920993-36-5", X LCCN = "", X bibdate = "Sat Mar 07 09:03:53 1998", X price = "DM 68,00; ATS 496,00; CHF 60,00", X acknowledgement = ack-nhfb, } X @TechReport{Guoan:1982:USM, X author = "Gu Guoan and John Hobby", X title = "Using {String Matching} to {Compress Chinese} X {Characters}", X type = "Report", X number = "STAN-CS-82-914", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1982", X bibdate = "Sat Feb 10 14:50:40 1996", X acknowledgement = ack-hk, } X @Book{Gurari:1994:TLD, X author = "Eitan M. Gurari", X title = "{\TeX} and {\LaTeX}: Drawing and Literate X Programming", X publisher = pub-MH, X address = pub-MH:adr, X pages = "xiv + 310", X year = "1994", X ISBN = "0-07-025208-4 (book), 0-07-911616-7 (book + X diskette)", X LCCN = "Z253.4.T47G87 1994", X bibdate = "Tue Mar 1 12:50:41 1994", X price = "US\$34.95", X acknowledgement = ack-nhfb, } X @Book{Gurari:1994:WT, X author = "Eitan M. Gurari", X title = "Writing with {\TeX}", X publisher = pub-MH, X address = pub-MH:adr, X pages = "xiv + 249", X year = "1994", X ISBN = "0-07-025207-6", X LCCN = "Z253.4.T47 G87 1994", X bibdate = "Wed Sep 29 17:55:14 1993", X price = "US\$29.95", X acknowledgement = ack-nhfb, } X @Misc{GUTenberg:1988:CG, X key = "CahiersGUTenberg", X title = "Cahiers {GUTenberg}", X year = "1988" # "\unskip--", X note = "Journal of Groupe des Utilisateurs de {\TeX} X Francophones (group of French-speaking {\TeX} Users).", } X @Article{Haarslev:1990:FVO, X author = "V. Haarslev and R. Moller", X title = "A framework for visualizing object-oriented systems", X journal = j-SIGPLAN, X volume = "25", X number = "10", X pages = "237--244", X month = oct, X year = "1990", X CODEN = "SINOD", X ISSN = "0362-1340", X bibdate = "Sat Sep 17 11:19:53 1994", X note = "OOPSLA ECOOP '90 Conference on Object-Oriented X Programming: Systems, Languages, and Applications.", X abstract = "A new approach to visualizing program systems within X the object-oriented paradigm is described. This X approach is based on a {\TeX} like notation which has X been extended and generalized for specifying graphical X layout of arbitrary objects. The CLOS meta-level X architecture is used to associate visualization and X application objects. The authors propose several useful X techniques such as indirect values, slot and method X demons and instance-specific meta-objects. The X techniques require no modifications to the systems X which are selected for visualization. They demonstrate X the feasibility of the approach using application X domains such as CLOS debugging and constraint systems. X (29 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Xerox Palo Alto Res. Center, CA, USA", X classification = "C6110B (Software engineering techniques); C6130B X (Graphics techniques); C6180 (User interfaces)", X conf_date = "21--25 Oct. 1990", X conf_location = "Ottawa, Ont., Canada", X conf_sponsor = "ACM", X keywords = "Object-oriented systems; Object-oriented paradigm; TeX X like notation; Graphical layout; Arbitrary objects; X CLOS meta-level architecture; Visualization; X Application objects; Indirect values; Slot; Method X demons; Instance-specific meta-objects; Application X domains; CLOS debugging; Constraint systems", X thesaurus = "Computer graphics; Formal specification; X Object-oriented programming; Visual programming", } X @Article{Haarslev:1992:VGL, X author = "V. Haarslev and R. Moller", X title = "Visualization and graphical layout in object-oriented X systems", X journal = j-J-VIS-LANG-COMPUTING, X volume = "3", X number = "1", X pages = "1--23", X month = mar, X year = "1992", X CODEN = "JVLCE", X ISSN = "1045-926X", X bibdate = "Thu Sep 01 01:21:18 1994", X abstract = "The paper describes two aspects of visualizing program X systems within the object-oriented paradigm: layout X specifications for graphical objects and associations X of visualization and application objects. The layout X approach is based on a notation similar to the {\TeX} X text formatting language. It has been extended and X generalized for specifying graphical layout of user X interfaces and arbitrary objects. The simplest scheme X offers specifications similar to {\TeX}'s box-and-glue X metaphor. Size and position of virtual boxes and glue X can be specified by simple constraints. The authors X show how the CLOS (Common Lisp Object System) X meta-level architecture can be exploited to associate X visualization and application objects. They show how X several useful techniques such as indirect values, slot X and method demons, and instance-specific meta-objects X can be implemented using CLOS. These visualization X techniques require no source code modifications of X application systems. They demonstrate the feasibility X of this approach using application domains such as CLOS X debugging and constraint systems. (34 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., Hamburg Univ., Germany", X classification = "C6110J (Object-oriented programming); C6180 (User X interfaces)", X keywords = "TeX format; Graphical layout; Object-oriented systems; X Visualizing program systems; Layout specifications; X Graphical objects; Application objects; TeX text X formatting language; User interfaces; Box-and-glue X metaphor; Virtual boxes; CLOS; Method demons", X language = "English", X pub_country = "UK", X thesaurus = "Object-oriented programming; Visual programming", } X @Book{Hafner:1997:TLL, X author = "Thomas Hafner", X title = "{\TeX} und {\LaTeX} leicht gemacht: universelles X Satzsystem f{\"u}r jeden Computer", X publisher = pub-PFLAUM, X address = pub-PFLAUM:adr, X pages = "108", X year = "1997", X ISBN = "3-7905-1505-1", X LCCN = "????", X bibdate = "Sat Mar 07 09:25:32 1998", X price = "DM 22,80", X acknowledgement = ack-nhfb, } X @Book{Hahn:1991:LER, X author = "Jane Hahn", X title = "{\LaTeX} for Everyone\emdash{} {A} Reference Guide and X Tutorial for Typesetting Documents Using a Computer", X publisher = pub-PTI, X address = pub-PTI:adr, X pages = "xi + 346", X year = "1991", X ISBN = "0-9631044-0-3", X LCCN = "Z253.4.L38 H34 1991", X bibdate = "Fri Jan 21 15:24:47 1994", X price = "US\$19.95", X acknowledgement = ack-nhfb, } X @Book{Hahn:1993:LER, X author = "Jane Hahn", X title = "{\LaTeX} for Everyone\emdash{} {A} Reference Guide and X Tutorial for Typesetting Documents Using a Computer", X publisher = pub-PH, X address = pub-PH:adr, X edition = "Second", X pages = "xi + 346", X year = "1993", X ISBN = "0-13-605908-2", X LCCN = "Z253.4.L38 H35 1993", X bibdate = "Fri Jan 21 15:24:41 1994", X price = "US\$19.95", X acknowledgement = ack-nhfb, } X @Article{Haralambous:1993:PPF, X author = "Y. Haralambous", X title = "Parametrization of {PostScript} Fonts through X {METAFONT}: an Alternative to {Adobe Multiple Master} X Fonts", X journal = j-EPODD, X volume = "6", X number = "3", X pages = "145--158", X month = sep, X year = "1993", X CODEN = "EPODEU", X ISSN = "0894-3982", X bibdate = "Sat Dec 21 15:45:22 MST 1996", X acknowledgement = ack-nhfb, } X @Book{Hardy:1995:DMSa, X author = "Darel W. Hardy and Carol L. Walker", X title = "Doing mathematics with {Scientific WorkPlace}", X publisher = pub-BROOKS-COLE, X address = pub-BROOKS-COLE:adr, X pages = "xviii + 291", X year = "1995", X ISBN = "0-534-25284-2", X LCCN = "QA76.95 .H37 1995", X bibdate = "Mon Mar 02 08:53:06 1998", X acknowledgement = ack-nhfb, } X @Book{Hardy:1995:DMSb, X author = "Darel W. Hardy and Carol L. Walker", X title = "Doing mathematics with {Scientific WorkPlace}", X publisher = pub-BROOKS-COLE, X address = pub-BROOKS-COLE:adr, X edition = "Revised", X pages = "xix + 340", X year = "1995", X ISBN = "0-534-34049-0", X LCCN = "QA76.95 .H37 1995b", X bibdate = "Mon Mar 02 08:53:06 1998", X acknowledgement = ack-nhfb, } X @Article{Harrison:1989:IBP, X author = "M. A. Harrison and E. V. Munson", X title = "On integrated bibliography processing", X journal = j-EPODD, X volume = "2", X number = "4", X pages = "193--209", X month = dec, X year = "1989", X CODEN = "EPODE", X ISSN = "0894-3982", X bibdate = "Thu Sep 01 00:35:12 1994", X abstract = "Bibliography processing systems are important to the X production of scholarly and technical documents. While X the existing systems are a significant aid to authors, X their designs are not sufficient to handle the demands X that have arisen with their continued use. These X demands include larger bibliography databases, sharing X of databases among multiple authors, integration with X document editors, and the desire for new features. The X paper examines these issues as they are reflected in X three enhancements to the bibliography processing X facilities of the GNU Emacs BIBTEX-Mode and TEX-mode X integrated editing environment. The added features were X a reference annotation facility, support of forms-based X queries for automatic citation, and an enhanced X reference inspection facility supporting WYSIWYG X display of references. The design and implementation of X the three features are discussed in detail. Their X relationship to other bibliography processing tools is X discussed. (28 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Div. of Comput. Sci., California Univ., Berkeley, CA, X USA", X classification = "C7106 (Word processing); C7230 (Publishing and X reproduction)", X keywords = "Electronic publishing; Integrated bibliography X processing; Technical documents; Bibliography X databases; Multiple authors; Document editors; GNU X Emacs BIBTEX-Mode; TEX-mode; Integrated editing X environment; Reference annotation facility; Automatic X citation; Reference inspection facility; WYSIWYG X display", X thesaurus = "Electronic publishing; Word processing", } X @Book{Harrower:1992:NDH, X author = "Tim Harrower", X title = "The Newspaper Designer's Handbook", X publisher = pub-WCB, X address = pub-WCB:adr, X pages = "180", X year = "1992", X ISBN = "0-697-13382-6", X LCCN = "Z253.5 .H27 1992", X bibdate = "Fri Aug 19 15:40:40 1994", X acknowledgement = ack-fm, X keywords = "layout, design, typography, newspaper", } X @Book{Hart:1991:HRC, X author = "Horace Hart", X title = "Hart's Rules; For Compositors and Readers at the X University Press, Oxford", X publisher = pub-OUP, X address = pub-OUP:adr, X edition = "39th", X pages = "182", X year = "1991", X ISBN = "0-19-212983-X", X LCCN = "Z254 .H37 1983", X price = "UK\pounds8", X abstract = "In printing and publishing houses Hart is a household X word. First printed in 1893, specifically for X Compositors and readers at the University Press, X Oxford, and first published (in its 15th edition) in X 1904, this little book of Rules has become X indispensable to all professionals, and widely useful X to others concerned with the business of putting words X into print --- which includes such matters as X alternative spellings, punctuation, capitalization, X italicization, abbreviations, and many other details.", X acknowledgement = ack-fm, X annote = "This book and the Oxford Dictionary for Writers and X Editors together give the house style of OUP at its X best. (CHe)", X bibliography = "yes", X glossary = "no", X history = "Originally compiled by Horace Hart, MA Printer to the X University, 1883--1915. First edition, 1893. Fifteenth X edition (the first for general sale), 1904. X Thirty-eighth edition 1978. Thirty-ninth edition 1983, X reprinted 1989 with corrections.", X index = "yes", X inprint = "yes", X keywords = "typesetting", X printermarks = "yes", } X @Article{Hartz:1993:M, X author = "David Hartz", X title = "{MathType 3.0}", X journal = j-NAMS, X volume = "40", X number = "5", X pages = "469--470", X month = may # "/" # jun, X year = "1993", X ISSN = "0002-9920", X note = "Review of a Macintosh equation editor front-end to X \TeX{} and various word processors.", X acknowledgement = ack-nhfb, X bibdate = "Thu May 07 18:35:28 1998", } X @Article{Hayashi:1987:TTH, X author = "T. Hayashi", X title = "Transporting {\TeX} into the {HITAC VOS3} X environment", X journal = j-SPE, X volume = "17", X number = "1", X pages = "17--28", X month = jan, X year = "1987", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Thu Jul 21 22:26:53 1994", } X @Article{Hayes:1996:SM, X author = "Brian Hayes", X title = "Speaking of mathematics", X journal = j-AMSCI, X volume = "84", X number = "2", X pages = "110--113", X month = mar # "\slash " # apr, X year = "1996", X bibdate = "Sun Mar 10 1996", X acknowledgement = ack-bnb, } X @Book{Hayward:1977:SA, X author = "Stan Hayward", X title = "Scriptwriting for Animation", X publisher = pub-HHP, X address = pub-HHP:adr, X pages = "160", X year = "1977", X ISBN = "0-8038-6741-7", X LCCN = "TR 897.5 H335s, PN1996 .H37 1977", X bibdate = "Fri Aug 19 15:42:37 1994", X acknowledgement = ack-jpl, X annote = "A practical guide.", } X @TechReport{Hegron:1984:AGR, X author = "G{\'e}rard H{\'e}gron", X title = "Algorithmes de g{\'e}n{\-\'e\-}ra{\-}tion de X caract\`eres", X type = "Publication interne", X number = "244", X institution = pub-IRISA, X address = pub-IRISA:adr, X year = "1984", X bibdate = "Sat Sep 10 12:57:15 1994", X acknowledgement = ack-hk, } X @Book{Heilmann:1996:LVK, X author = "Axel Heilmann", X title = "{\LaTeX}-Vademecum: ein Kompaktf{\"u}hrer f{\"u}r X Einsteiger und Fortgeschrittene", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xix + 281", X year = "1996", X ISBN = "3-540-60522-3", X LCCN = "", X bibdate = "Sat Mar 07 09:39:36 1998", X price = "DM 38,00", X acknowledgement = ack-nhfb, } X @Book{Heinemann:1988:XPS, X editor = "Sue Heinemann and Virginia Croft", X title = "Xerox Publishing Standards: {A} Manual of Style and X Design", X publisher = pub-WGP, X address = pub-WGP:adr, X year = "1988", X ISBN = "0-8230-5964-2", X LCCN = "Z286.L68 X47 1988", X bibdate = "Fri Jul 22 08:59:00 1994", X price = "US\$35.00", X acknowledgement = ack-fm, } X @Book{Hersch:1993:VTA, X author = "Roger D. Hersch", X title = "Visual and Technical Aspects of Type", X publisher = pub-CUP, X address = pub-CUP:adr, X pages = "204", X year = "1993", X ISBN = "0-521-44026-2", X LCCN = "Z250.7 .V62 1993", X bibdate = "Wed Aug 10 10:48:53 1994", X price = "US\$59.95", X acknowledgement = ack-nhfb, } X @Article{Hersch:1995:PTG, X author = "Roger D. Hersch and Claude B{\'e}trisey and Justin Bur X and Andr{\'e} G{\"u}rtler", X title = "Perceptually Tuned Generation of Grayscale Fonts", X journal = j-IEEE-CGA, X volume = "15", X number = "6", X pages = "78--90", X month = nov, X year = "1995", X CODEN = "ICGADZ", X ISSN = "0272-1716", X bibdate = "Sat Nov 04 18:09:09 1995", } X @TechReport{Hershey:1969:FIP, X author = "Allen V. Hershey", X title = "{FORTRAN IV} Programming for Cartography and X Typography", X number = "TR-2339", X institution = inst-USNWL, X address = inst-USNWL:adr, X month = sep, X year = "1969", X bibdate = "Sat Sep 10 12:51:28 1994", } X @TechReport{Hershey:1970:PRF, X author = "Allen V. Hershey", X title = "Preparation of Reports with the {FORTRAN} Typographic X System", X number = "TN-K/27-70", X institution = inst-USNWL, X address = inst-USNWL:adr, X month = sep, X year = "1970", X bibdate = "Sat Sep 10 12:51:26 1994", } X @Article{Hershey:1972:CSS, X author = "Allen V. Hershey", X title = "A Computer System for Scientific Typography", X journal = j-CGIP, X volume = "1", X pages = "373--385", X year = "1972", X ISSN = "0734-189X", } X @TechReport{Hershey:1981:ACT, X author = "Allen V. Hershey", X title = "Advanced Computer Typography", X number = "NPS012-81-005", X institution = inst-USNPS, X address = inst-USNPS:adr, X month = dec, X year = "1981", X bibdate = "Sat Sep 10 12:51:23 1994", } X @InProceedings{Herwijnen:1989:UTI, X author = "E. van Herwijnen", X booktitle = "International Conference on Computing in High-Energy X Physics", X title = "The use of text interchange standards for submitting X physics articles to journals", X volume = "57(1--3)", X publisher = pub-NH, X address = pub-NH:adr, X pages = "244--250", X month = dec, X year = "1989", X CODEN = "CPHCB", X ISSN = "0010-4655", X bibdate = "Sat Sep 17 11:19:55 1994", X series = j-COMP-PHYS-COMM, X abstract = "The authors discuss which text interchange standards X will enable physics authors to submit their articles X directly to publishers via a computer network. An X analysis of a questionnaire circulated recently by the X European Physical Society shows that there is an X abundance of different hardware and software in use by X physics authors for electronic manuscript preparation. X A standard interchange format which would permit X authors to continue to use their preferred system as X well as enabling document interchange seems imperative X if one wishes to achieve the goal of electronic X submission of machine readable documents directly to X publishers. A possible candidate could be SGML, the ISO X standard for text interchange. Use of this standard X would generate additional benefits such as the X automatic generation of document databases. The X relationships between the ISO standards SGML and ODA, X the de facto standard {\TeX} and the page description X language PostScript are explained. A proposal is made X for the structure of a standard physics article X intended for use with SGML and {\TeX}. A short X discussion is given on the thorny problem of the X inclusion of mathematics and graphics that are X particularly common in physics documents. Finally they X indicate some limitations of SGML and the prerequisites X that are required to make the exchange of electronic X documents in SGML format universally possible. (18 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "CERN, Geneva, Switzerland", X classification = "C7320 (Physics and Chemistry)", X conf_date = "10--14 April 1989", X conf_location = "Oxford, UK", X conf_sponsor = "Oxford Univ", X keywords = "Physics articles; Text interchange standards; Computer X network; Hardware; Software; Electronic manuscript X preparation; Machine readable documents; SGML; ISO X standard; ODA; TeX; PostScript; Graphics", X thesaurus = "Physics computing", } X @Book{Herwijnen:1990:PS, X author = "Eric van Herwijnen", X title = "Practical {SGML}", X publisher = pub-KLUWER, X address = pub-KLUWER:adr, X pages = "xviii + 307", X year = "1990", X ISBN = "0-7923-0635-X", X LCCN = "QA76.73.S44 V36 1990", X price = "UK\pounds24.90, US\$49.00", X acknowledgement = ack-mc # " and " # ack-fm, X inprint = "yes", X review = "in " # j-TEXLINE # " 10, p. 27 and X \cite{Poppelier:1992:BR} and X \cite{Poppelier:1992:BRJ}", } X @InProceedings{Hickey:1989:UST, X author = "T. B. Hickey", X booktitle = "National Online Meeting proceedings--1989, New York, X May 9--11, 1989", X title = "Using {SGML} and {\TeX} for an interactive chemical X encyclopedia", X publisher = pub-LEARNED-INF, X address = pub-LEARNED-INF:adr, X pages = "187--195", X month = "", X year = "1989", X ISBN = "0-938734-34-2", X LCCN = "QA76.55 .N37 1989", X bibdate = "Sat Sep 17 11:19:57 1994", X abstract = "Outlines the process of converting an ASCII encoded X encyclopedia (the Kirk-Othmer encyclopedia of chemical X technology) into Standard Generalized Markup Language X (SGML) for formatting and full-text indexing. The ASCII X text was modified as needed, then parsed and converted X into SGML. Graphics were scanned from the original X pages and coordinated with the text by a graphics X control file generated from the ASCII text. Production X of the full-text index and {\TeX} file from the SGML, X was straightforward, except for tables. Some of the X problems of formatting tables are described along with X the solutions. (7 Refs.)", X acknowledgement = ack-nhfb, X classification = "A0130L (Collections of physical data, tables); C7250 X (Information storage and retrieval); C6130B (Graphics X techniques); C6130D (Document processing techniques)", X conf_date = "9--11 May 1989", X conf_location = "New York, NY, USA", X conf_sponsor = "Learned Inf", X keywords = "Interactive chemical encyclopedia; ASCII encoded X encyclopedia; Kirk-Othmer encyclopedia of chemical X technology; Standard Generalized Markup Language; SGML; X Formatting; Full-text indexing; ASCII text; Graphics X control file; TEX file", X pages_whole = "xv + 506", X thesaurus = "Collections of physical data; Computer graphics; X Information retrieval systems; Word processing", } X @Book{Higham:1993:HWM, X author = "Nicholas J. Higham", X title = "Handbook of Writing for the Mathematical Sciences", X publisher = pub-SIAM, X address = pub-SIAM:adr, X pages = "xii + 241", X month = jun, X year = "1993", X ISBN = "0-89871-314-5", X LCCN = "QA42.H54 1993", X bibdate = "Tue Mar 1 12:03:19 1994", X note = "[From the publisher]: Having trouble with your latest X math paper? Giving a presentation that you just can't X pull together? Struggling with your thesis or trying to X get your first article published in a technical X journal? Handbook of Writing for the Mathematical X Sciences is the book for you! This handy volume X provides information on virtually every issue you will X face when writing a technical paper or talk, from X choosing the right journal to handling your references. X You'll also get an overview of the entire publication X process--invaluable for anyone hoping to publish in a X technical journal. To write a truly impressive paper, X you'll need to understand the anatomy of a research X paper and the steps involved in revising a draft. This X book offers discussions of these fundamental topics, X along with illustrative and provocative examples. Also X included are chapters on standard English usage, using X computers for writing and research, and writing X technical material when English is a foreign language. X This handbook provides much-needed advice on handling X the basic ingredients of a research paper, like X definitions, theorems, examples, and equations. In X addition, appendices provide essential reference X material, including summaries of \LaTeX{} symbols and X Emacs commands, addresses of mathematical societies, X and a list of papers that have won expository writing X prizes. This book is ideal for graduate students and X teachers. Among its special features: \begin{itemize} X \item Detail and extensive use of examples make it an X excellent teaching tool \item Discusses \TeX{} and X other software tools for preparing publications \item X Thorough treatment, with examples, of how to write X slides (transparencies) for a mathematical talk. \item X Comprehensive index and extensive bibliography make it X an excellent reference \item Readable for everyone in X the field--from undergraduates to seasoned X professionals \end{itemize} Contents \\ X Preface; \\ X Chapter 1: General Principles; \\ X Chapter 2: Writer's Tools and Recommended Reading; \\ X Chapter 3: Mathematical Writing; \\ X Chapter 4: English Usage; \\ X Chapter 5: When English is a Foreign Language; \\ X Chapter 6: Writing a Paper; \\ X Chapter 7: Revising a Draft; \\ X Chapter 8: Publishing a Paper; \\ X Chapter 9: Writing a Talk; \\ X Chapter 10: Computer Aids for Writing and Research; \\ X Appendix A: The Greek Alphabet; \\ X Appendix B: Summary of \TeX{} and \LaTeX{} Symbols; \\ X Appendix C: GNU Emacs--The Sixty+ Most Useful Commands; X \\ X Appendix D: Mathematical Organizations in the UK and X USA; \\ X Appendix E: Winners of Prizes for Expository Writing; X \\ X Appendix F: Glossary; \\ X Bibliography; \\ X Index.\\ X About the Author:\\ X Nicholas J. Higham is a Reader in Mathematics at the X University of Manchester, UK. He is the author of more X than 40 publications and is a member of the editorial X board of the SIAM Journal on Matrix Analysis and X Applications.", X price = "US\$21.50", X acknowledgement = ack-njh, } X @TechReport{Hobby:1983:CMF, X author = "John Hobby and Gu Guoan", X title = "A {Chinese Meta-Font}", X type = "Report", X number = "STAN-CS-83-974", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1983", X bibdate = "Sat Feb 10 14:51:21 1996", X acknowledgement = ack-hk, } X @Book{Hoenig:1998:TUL, X author = "Alan Hoenig", X title = "{\TeX} Unbound: {\LaTeX} and {\TeX} Strategies for X Fonts, Graphics, \& More", X publisher = pub-OUP, X address = pub-OUP:adr, X pages = "ix + 580", X year = "1998", X ISBN = "0-19-509686-X (paperback), 0-19-509685-1 (hardcover)", X LCCN = "Z253.4.L38H64 1997", X bibdate = "Wed Apr 29 14:32:29 1998", X price = "US\$60.00 (hardcover), US\$35.00 (paperback)", X URL = "http://www.oup-usa.org/gcdocs/gc_0195096851.html", X keywords = "{\LaTeX} (Computer file); {\TeX} (Computer file); X METAFONT; Computer fonts; Computer graphics; X Computerized typesetting; Mathematics printing -- X Computer programs; Technical publishing -- Computer X programs", X acknowledgement = ack-nhfb, } X @Article{Hohti:1988:TAT, X author = "Aarno Hohti", X title = "Typesetting {APL} with {\TeX}", X journal = j-SIGAPL, X volume = "18", X number = "3", X pages = "13--16", X month = mar, X year = "1988", X bibdate = "Mon Jul 25 11:28:24 1994", X acknowledgement = ack-nhfb, X keywords = "design; languages; documentation", X subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language X Classifications, APL \\ I.7.m Computing Methodologies, X TEXT PROCESSING, Miscellaneous \\ J.7 Computer X Applications, COMPUTERS IN OTHER SYSTEMS, Publishing", } X @Book{Holzgang:1987:UPP, X author = "David A. Holzgang", X title = "Understanding {\POSTSCRIPT} Programming", X publisher = pub-SYBEX, X address = pub-SYBEX:adr, X pages = "xxxii + 459", X year = "1987", X ISBN = "0-89588-396-1", X LCCN = "QA76.73.P67 H65 1987", X bibdate = "Wed Dec 15 09:15:51 1993", } X @Book{Holzgang:1989:PPR, X author = "David A. Holzgang", X title = "{\POSTSCRIPT} Programmer's Reference Guide", X publisher = pub-SF, X address = pub-SF:adr, X pages = "x + 486", X year = "1989", X ISBN = "0-673-38574-4", X LCCN = "QA76.73.P67 H64 1989", X bibdate = "Wed Dec 15 09:15:12 1993", } X @Article{Hopkins:1990:RA, X author = "T. Hopkins and D. Morse", X title = "Remark on algorithm 620", X journal = j-TOMS, X volume = "16", X number = "4", X pages = "401--403", X month = dec, X year = "1990", X CODEN = "ACMSC", X ISSN = "0098-3500", X bibdate = "Thu Sep 01 00:49:22 1994", X abstract = "The authors report on an enhanced version of the X database originally reported in `Algorithm 620: X references and keywords for collected algorithms from X ACM', J. R. Rice and R. J. Hanson, ACM Trans Math. X Soft. vol. 10, no. 4, p. 359-360 (1984). In this new X version they have included all the information X necessary to generate full bibliographic references. X Extra information includes the author's name (including X any accents), the page range of the original reference X (rather than just the starting page), the month and X year of publication and an abbreviated journal name. X The programming language used to code the algorithm is X also given. Any mathematical notation used within the X algorithm title and accents in the author's name have X been defined using {\TeX}. Following the practice used X with Bib{\TeX}, all letters within the title that need X to remain capitalized in a printed version of the X reference (e.g. Fortran, Bessel) are enclosed in X braces. (3 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Kent Univ., UK", X classification = "C7250C (Bibliographic systems); C7310 (Mathematics); X C4100 (Numerical analysis)", X keywords = "TeX; BibTeX; Bibliographic references; Abbreviated X journal name; Mathematical notation; Algorithm title", X thesaurus = "Bibliographic systems; Mathematics computing; X Numerical methods", } X @Article{Howland:1986:TAU, X author = "John E. Howland", X title = "Typesetting {APL} using a Macintosh", X journal = j-SIGAPL, X volume = "16", X number = "4", X pages = "301--305", X year = "1986", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X subject = "D.3.2 Software, PROGRAMMING LANGUAGES, Language X Classifications, APL \\ J.7 Computer Applications, X COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.2 X Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @TechReport{Huggins:1988:EHM, X author = "K. Cleo R. Huggins", X title = "Egyptian Hieroglyphs for Modern Printing Devices", X number = "STAN-CS-89-1251", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = jun, X year = "1988", X bibdate = "Sat Feb 10 14:55:22 1996", } X @Book{Hunter:1995:GSS, X author = "Roger Hunter and Susan Anne Bagby", X title = "Getting started with {Scientific Word} and {Scientific X WorkPlace for Windows}: professional and student X editions", X publisher = pub-BROOKS-COLE, X address = pub-BROOKS-COLE:adr, X pages = "vi + 121", X year = "1995", X ISBN = "0-534-34097-0", X LCCN = "Q183.9 .H86 1995", X bibdate = "Mon Mar 02 08:59:42 1998", X acknowledgement = ack-nhfb, } X @Book{Hunter:1996:CDS, X author = "Roger Hunter and Susan Anne Bagby", X title = "Creating documents with {Scientific WorkPlace} and X {Scientific Word}", X publisher = pub-BROOKS-COLE, X address = pub-BROOKS-COLE:adr, X pages = "xxiv + 246", X year = "1996", X ISBN = "0-534-34369-4", X LCCN = "Q183.9 .H84 1996", X bibdate = "Mon Mar 02 08:50:59 1998", X acknowledgement = ack-nhfb, } X @Book{Hurlburt:1978:GMS, X author = "Allen Hurlburt", X title = "The grid: {A} modular system for the design and X production of newspapers, magazines, and books", X publisher = pub-VNR, X address = pub-VNR:adr, X pages = "96", X year = "1978", X ISBN = "0-442-23598-4", X LCCN = "Z246 .H82", X bibdate = "Fri Jul 22 11:15:07 1994", X price = "US\$15.00", X acknowledgement = ack-fm, X annote = "Explains reasons for the use of grid systems in the X design of newspapers, magazines, and books. It contains X many examples, actual layouts and their underlying X grids. (FMi)\par A complete introduction to using grids X in newspaper, magazine, and book design. (RRu)", X keywords = "layout, design, typography, grids", } X @InProceedings{Huu:1985:TIS, X author = "Le van Huu", X title = "{\TeX} and {ISO\slash STPL} standard", X crossref = "Lucarella:1985:PFE", X pages = "67--78", X year = "1985", X bibdate = "Sat Feb 10 08:48:10 1996", X acknowledgement = ack-hk, } X @Book{Ibrus:1992:VET, X author = "Hans Ibrus", X title = "{V\"aike Eesti {\TeX}iraamat}", X publisher = pub-KOMPUT, X address = pub-KOMPUT:adr, X pages = "144", X year = "1992", X bibdate = "Tue Jul 26 08:39:56 1994", X note = "In Estonian. Appendix A is a translation into Estonian X of \cite{Samuel:1983:FGT}.", X acknowledgement = ack-bnb, } X @Manual{Ikarus:1983:ITD, X key = "Ikarus", X title = "{IKARUS} for Typefaces in Digital Form", X organization = "URW Unternehmensberatung Karow Rubow Weber GMBH", X address = "Hamburg, Germany", X year = "1983", X bibdate = "Sat Feb 10 16:16:21 1996", X acknowledgement = ack-hk, } X @TechReport{Incerpi:1986:GFT, X author = "Janet Incerpi and Francis Montagnac", X title = "Getting Faster {\TeX} Output. Using the {DVI} X Library", X type = "Rapports Techniques", X number = "71", X institution = pub-INRIA, X address = pub-INRIA:adr, X month = jul, X year = "1986", X bibdate = "Sat Feb 10 08:46:31 1996", X acknowledgement = ack-hk, } X @InCollection{Incerpi:1986:UDL, X author = "Janet Incerpi and Francis Montagnac", X booktitle = "Getting Faster {\TeX} Output", X title = "Using the {DVI} Library", X publisher = pub-INRIA, X address = pub-INRIA:adr, X year = "1986", X bibdate = "Sat Feb 10 08:46:33 1996", X acknowledgement = ack-hk, } X @Article{Ion:1988:TEU, X author = "P. D. F. Ion and B. D. R. Ion", X title = "{\TeX} and its uses for information presentation", X journal = "Bulletin of the American Society for Information X Science", X volume = "14", X number = "4", X pages = "21--22", X month = apr # "-" # may, X year = "1988", X CODEN = "BASIC", X ISSN = "0095-4403", X bibdate = "Tue Sep 06 17:52:00 1994", X abstract = "Desktop publishing is becoming a significant business. X Already on the market are several systems that are easy X to use and produce quite acceptable output; other X systems available are much harder to use, but provide X much greater flexibility and more sophisticated output. X The article focuses on the desktop publishing system X {\TeX}, suitable for the more advanced user. (0 X Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing); C6130 (Data handling X techniques)", X keywords = "Document compiler; TEX; Information presentation; X Desktop publishing system", X thesaurus = "Desktop publishing; Technical presentation; Text X editing", } X @Article{Iseri:1989:GPP, X author = "M. Iseri and T. Ohno", X title = "General purpose page composition language---{\TeX}", X journal = "Journal of the Society of Instrument and Control X Engineers", X volume = "28", X number = "3", X pages = "213--217", X month = mar, X year = "1989", X CODEN = "KESEA", X ISSN = "0453-4662", X bibdate = "Wed Aug 31 00:54:39 MDT 1994", X abstract = "Introduces a page composition language for technical X document preparation called {\TeX} which was developed X by D. Knuth of Stanford University. Its development X background, characteristics, {\TeX} family and X functions are described using some examples. Among its X Japanese versions is `Japanese Language Micro{\TeX}' by X ASCII which was designed for use with the hardware X system consisting of NEC 9801 (MS/DOS) and Canon's X laser printer. The price of this software including a X printer driver is 132000 yen (where the driver costs X 34000 yen). The following matters are also discussed: a X simple processing example for preparing documents using X {\TeX}; various advantages in using {\TeX} (e.g. {\TeX} X is a PDS); wide choice in applicable computer models X from super computer to IBM-PC or NEC 9801 (due to its X device independent nature); and the specification and X the application example of Japanese language X Micro{\TeX}. (3 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing); C7230 (Publishing and X reproduction)", X keywords = "General purpose page composition language; Desktop X publishing; Page composition language; Technical X document preparation; TeX; Japanese versions; Japanese X Language MicroTEX; NEC 9801", X language = "Japanese", X thesaurus = "Desktop publishing; Microcomputer applications; NEC X computers; Software packages", } X @Article{Iseri:1990:PVD, X author = "M. Iseri", X title = "A publisher's view of {DTP}", X journal = j-J-INFO-PROC, X volume = "31", X number = "11", X pages = "1501--1507", X month = "", X year = "1990", X CODEN = "JOSHA", X ISSN = "0447-8053", X bibdate = "Thu Sep 01 00:54:51 1994", X abstract = "The author discusses: the Editor's Workbench; the X Writer's Workbench; PostScript; SGML; {\TeX}; X Illustrator; and Linotronic. (7 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing)", X keywords = "TEX; Publisher's view; DTP; Editor's Workbench; X Writer's Workbench; PostScript; SGML; Illustrator; X Linotronic", X language = "Japanese", X thesaurus = "Desktop publishing", } X @Unpublished{Jackowski:1988:TPF, X author = "Bogus{\l}aw Jackowski and Tomasz Ho{\l}dys and Marek X Ry\'{cko}", X title = "With {\TeX} to the {Poles}: a few parochial remarks on X using {\TeX} by the non-{English}", X year = "1988", X bibdate = "Tue Mar 1 12:52:14 1994", X note = "Anima Ltd, Gda\'{nsk}", X acknowledgement = ack-hk, } X @Booklet{Jackowski:1993:MZP, X author = "Bogus{\l}aw Jackowski", X title = "Metafont: zastosowania praktyczne i niepraktyczne", X howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu", X address = "Bachotek", X year = "1993", X bibdate = "Thu Jun 23 18:19:41 1994", X note = "In Polish.", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X howpublished-l = lang-pl, X title-l = lang-pl, } X @Article{Jackson:1994:WHN, X author = "Allyn Jackson", X title = "{\em What's Happening\/}: New Publication Takes the X {AMS} in New Direction", X journal = j-NAMS, X volume = "41", X number = "6", X pages = "626--627", X month = jul # "\slash{}" # aug, X year = "1994", X ISSN = "0002-9920", X bibdate = "Thu Dec 29 10:54:00 1994", X acknowledgement = ack-ps, } X @InProceedings{Janson:1986:TTP, X author = "B. J. Janson", X editor = "Constance U. Greaser and Ethel G. Langlois", X booktitle = "Seeking scholarly perspectives: Proc. of the Eighth X Annual Meeting of the Society for Scholarly X Publishing", X title = "Technical typesetting: {A} publisher's view", X publisher = pub-SOC-SCHOL-PUB, X address = pub-SOC-SCHOL-PUB:adr, X pages = "66--68", X year = "1986", X bibdate = "Tue Jul 26 09:18:32 1994", X price = "US\$15.00", X acknowledgement = ack-nhfb, X pages_whole = "86", X proc_date = "May 28--30, 1986", X proc_loc = "San Francisco, CA", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation \\ J.7 Computer Applications, X COMPUTERS IN OTHER SYSTEMS, Publishing", } X @Book{Johnstone:1992:LC, X author = "Adrian Johnstone", X title = "{\LaTeX}, Concisely", X publisher = pub-EH, X address = pub-EH:adr, X pages = "xviii + 170", X year = "1992", X ISBN = "0-13-524539-7", X LCCN = "Z253.4.L38 J64 1992", X bibdate = "Wed Jul 6 14:01:03 1994", X price = "US\$30.00", X acknowledgement = ack-nhfb, } X @InProceedings{Kanai:1991:TLE, X author = "J. Kanai", X editor = "A. Lichnerowicz", X booktitle = "Intelligent Text and Image Handling: Proceedings of a X Conference on Intelligent Text and Image Handling `RIAO X 91', Barcelona, Spain, 2--5 April 1991", X title = "Text line extraction and baseline detection", X publisher = pub-ELS, X address = pub-ELS:adr, X pages = "194--210", X month = apr, X year = "1991", X ISBN = "0-444-89361-X", X LCCN = "QA76.9.T48 C66 199", X bibdate = "Sat Sep 17 11:20:14 1994", X abstract = "A hypothesis-driven analysis of text regions in X document images is presented. It is assumed that X document images are constructed by the {\TeX} imaging X model (the boxes and glue model) and the author X introduces the box representation of a printed symbol X called character prototype. The algorithm estimates the X location of an hbox (line of text) in a vbox (column of X text). This hypothesis is accepted if most connected X components in the hbox form character boxes. Character X prototypes are used to determine whether a box in an X hbox is a character box. The algorithm correctly X extracted an average of 96--99 percent of text-lines X from digitized text-columns written in English. The X character prototype scheme also accurately represented X the Japanese alphabet, Chinese characters, and Bengali X words, and text-lines were correctly extracted from X documents written in these languages. (12 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Electr., Comput. and Syst. Eng., Rensselaer X Polytech. Inst., Troy, NY, USA", X classification = "C7230 (Publishing and reproduction); C5260B X (Computer vision and picture processing); C7820 X (Humanities)", X conf_date = "2--5 April 1991", X conf_location = "Barcelona, Spain", X conf_sponsor = "Comm. Eur. Communities; Minist. Educ. Sci. Spain; X Univ. Autonoma Barcelona; et al", X keywords = "Hypothesis-driven analysis; Document images; TeX X imaging model; Glue model; Box representation; Printed X symbol; Character prototype; Character boxes; X Text-lines; Digitized text-columns; English; Japanese X alphabet; Chinese characters; Bengali words", X pages_whole = "xiii + 999", X thesaurus = "Computer controlled typesetting; Computerised picture X processing; Linguistics; Word processing", } X @Book{Karow:1986:DSS, X author = "Peter Karow", X title = "Digitale Speicherung von Schriften", X publisher = pub-URW, X address = pub-URW:adr, X pages = "331", X year = "1986", X ISBN = "3-926515-00-7", X LCCN = "", X bibdate = "Sat Mar 07 09:12:29 1998", X acknowledgement = ack-nhfb, } X @Book{Karow:1987:DFT, X author = "Peter Karow", X title = "Digital Formats for Typefaces", X publisher = pub-URW, X address = pub-URW:adr, X pages = "400", X year = "1987", X ISBN = "3-926515-01-5", X LCCN = "Z253.3 .K371 1987", X bibdate = "Fri Jul 22 09:01:47 1994", } X @Book{Karow:1989:SND, X author = "Peter Karow", X title = "Shotai-no-dijitaru-fomatto", X publisher = pub-URW, X address = pub-URW:adr, X pages = "436", X year = "1989", X ISBN = "3-926515-00-7 (Hamburg), 4-946454-01-2 (Japan)", X LCCN = "????", X bibdate = "Sat Mar 07 09:14:13 1998", X note = "In Japanese.", X acknowledgement = ack-nhfb, } X @Book{Karow:1992:DSD, X author = "Peter Karow", X title = "Digitale Schriften, Darstellung und Formate, X Geleitwort von Hermann Zapf (Digital Fonts, X Representation and Formats, Forward by Hermann Zapf)", X publisher = pub-SV # " and " # pub-URW, X address = pub-SV:adr # " and " # pub-URW:adr, X pages = "xiii + 457, with 230 illustrations", X year = "1992", X ISBN = "3-540-54917-X", X LCCN = "????", X bibdate = "Sat Mar 7 09:11:56 1998", X acknowledgement = ack-bnb # " and " # ack-ps, } X @Book{Karow:1992:S, X author = "Peter Karow", X title = "Schriftstatistik", X publisher = pub-URW, X address = pub-URW:adr, X pages = "347", X year = "1992", X ISBN = "3-926515-07-4", X LCCN = "????", X bibdate = "Sat Mar 07 09:09:13 1998", X acknowledgement = ack-nhfb, } X @Book{Karow:1992:SMW, X author = "Peter Karow", X title = "Schrifttechnologie: Methoden und Werkzeuge", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xvi + 460", X year = "1992", X ISBN = "3-540-54918-8", X LCCN = "????", X bibdate = "Sat Mar 07 09:11:08 1998", X acknowledgement = ack-nhfb, } X @Book{Karow:1994:DTD, X author = "Peter Karow", X title = "Digital Typefaces: Description and Formats", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xiii + 448", X year = "1994", X ISBN = "3-540-56509-4", X LCCN = "Z250.7 .K37 1994", X bibdate = "Mon Sep 05 22:16:35 1994", X price = "US\$89.00", X acknowledgement = ack-nhfb, } X @Book{Karow:1994:FTM, X author = "Peter Karow", X title = "Font Technology: Methods and Tools", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xvi + 457", X year = "1994", X ISBN = "0-387-57223-6 (New York), 3-540-57223-6 (Berlin)", X LCCN = "Z250.7.K3813 1994", X bibdate = "Sat Mar 07 09:06:40 1998", X note = "Foreword by Gerard Unger.", X price = "US\$79.00", X acknowledgement = ack-nhfb, X xxtitle = "Font Technology: Description and Tools", } X @Book{Karow:1994:UEL, X author = "Peter Karow", X title = "{URW} EuroWorks: 500 Latin fonts for Europe", X publisher = pub-URW, X address = pub-URW:adr, X pages = "216", X year = "1994", X ISBN = "3-926515-11-2", X LCCN = "????", X bibdate = "Sat Mar 07 09:07:20 1998", X acknowledgement = ack-nhfb, } X @Book{Katzenbeisser:1993:ET, X author = "Stefan Katzenbeisser", X title = "Einf{\"u}hrung in {\TeX}", X publisher = pub-OLDENBOURG, X address = pub-OLDENBOURG:adr, X edition = "Second", X pages = "108", X year = "1993", X ISBN = "3-486-22682-7", X LCCN = "", X bibdate = "Sat Mar 07 09:19:20 1998", X price = "29,80 DM", X acknowledgement = ack-nhfb, X acknowledgement = ack-rz # " and " # ack-nhfb, X xxnote = "When did first edition appear?? Some libraries list X this as a second edition, and others as a first X edition.", } X @Book{Katzenbeisser:1997:IDE, X author = "Stefan Katzenbeisser", X title = "Von der Idee zum Dokument: Einf{\"u}hrung in {\TeX} X und {\LaTeX}", X publisher = pub-OLDENBOURG, X address = pub-OLDENBOURG:adr, X edition = "Second", X pages = "222", X year = "1997", X ISBN = "3-486-24182-6", X LCCN = "", X bibdate = "Sat Mar 07 09:23:09 1998", X price = "DM 68,00", X acknowledgement = ack-nhfb, } X @InProceedings{Keller:1985:TA, X author = "Arthur M. Keller", X title = "Typesetting by Authors", X crossref = "Lucarella:1985:PFE", X pages = "1--14", X year = "1985", X bibdate = "Sat Mar 07 09:18:50 1998", X acknowledgement = ack-hk, } X @Book{Kellerman:1987:TPT, X author = "David Kellerman and Barry Smith", X title = "{\TeX{}TURES}: Professional Typesetting for the X Macintosh: User's Guide", X publisher = pub-AW, X address = pub-AW:adr, X pages = "123", X year = "1987", X ISBN = "0-201-17221-6", X LCCN = "Z253.4.T47 U85 1987", X bibdate = "Mon Jul 25 12:05:51 1994", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation \\ J.7 Computer Applications, X COMPUTERS IN OTHER SYSTEMS, Publishing \\ I.7.1 X Computing Methodologies, TEXT PROCESSING, Text X Editing", } X @Article{Kendall:1985:IOC, X author = "M. Kendall and A. Reed", X title = "Introduction of an on-line computer typesetting X service", X journal = j-UNIV-COMP, X volume = "7", X number = "3", X pages = "134--138", X month = "Winter", X year = "1985", X CODEN = "UNCOE", X ISSN = "0265-4385", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "human factors", X subject = "I.7 Computing Methodologies, TEXT PROCESSING, X Miscellaneous \\ J.1 Computer Applications, X ADMINISTRATIVE DATA PROCESSING, Education \\ H.1.2 X Information Systems, MODELS AND PRINCIPLES, X User/Machine Systems, Human factors", } X @Article{Kernighan:1975:STM, X author = "Brian W. Kernighan and Lorinda L. Cherry", X title = "A System for Typesetting Mathematics", X journal = j-CACM, X volume = "18", X number = "3", X pages = "151--157", X year = "1975", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Sat Aug 27 16:52:49 1994", X acknowledgement = ack-nhfb, X keywords = "cacm acm", } X @Article{Kernighan:1978:DP, X author = "B. W. Kernighan and M. E. Lesk and J. F. {Ossanna, X Jr.}", X title = "Document preparation", X journal = j-BSTJ, X volume = "57", X number = "2", X pages = "2115--2135", X year = "1978", X bibdate = "Sat Aug 27 17:06:25 1994", X acknowledgement = ack-nhfb, } X @Article{Kernighan:1978:UTS, X author = "B. W. Kernighan and M. E. Lesk and J. F. Ossanna", X title = "{UNIX} Time-Sharing System: Document Preparation", X journal = j-BSTJ, X volume = "57", X number = "6", X pages = "2115--2135", X year = "1978", X bibdate = "Sat Aug 27 17:06:33 1994", X acknowledgement = ack-nhfb, X keywords = "unix bstj", } X @Article{Kernighan:1981:BRM, X author = "B. W. Kernighan", X title = "Book Review: ``{TEX} \& Metafont: New Directions in X Typesetting''", X journal = j-COMP-REV, X year = "1981", X bibdate = "Sat Aug 27 17:06:46 1994", X acknowledgement = ack-nhfb, } X @InProceedings{Kernighan:1981:PLT, X author = "B. W. Kernighan", X title = "{PIC}: {A} Language for Typesetting Graphics", X crossref = "ACM:1981:ASS", X pages = "92--96", X year = "1981", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "languages; design", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Languages", } X @InProceedings{Kernighan:1981:TMT, X author = "B. W. Kernighan", X booktitle = "IBM Conference on Text Processing", X title = "Typesetting Mathematics, Tables, and Diagrams", X publisher = "????", X address = "Bad Neuenahr, Germany", X month = sep, X year = "1981", X bibdate = "Thu Dec 29 11:12:02 1994", X note = "Reprinted in Oldenbourg Verlag, Munich, 1982", X acknowledgement = ack-nhfb, } X @Article{Kernighan:1982:PLT, X author = "B. W. Kernighan", X title = "{PIC}: {A} Language for Typesetting Graphics", X journal = j-SPE, X volume = "12", X number = "1", X pages = "1--21", X month = jan, X year = "1982", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Tue Sep 06 21:37:43 1994", X acknowledgement = ack-nhfb, X subject = "I.3.4 Computing Methodologies, COMPUTER GRAPHICS, X Graphics Utilities, Picture description languages \\ X I.7 Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @InCollection{Kernighan:1982:UDP, X author = "B. W. Kernighan and M. E. Lesk", X title = "{UNIX} document preparation", X crossref = "Nievergelt:1982:DPS", X pages = "1--20", X year = "1982", X bibdate = "Mon Aug 22 14:25:07 1994", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X review = "ACM CR 40430", X subject = "D.4.0 Software, OPERATING SYSTEMS, General, UNIX \\ X I.7 Computing Methodologies, TEXT PROCESSING, Text X Editing \\ I.7 Computing Methodologies, TEXT X PROCESSING, Document Preparation", } X @InProceedings{Kernighan:1984:UDP, X author = "B. W. Kernighan", X title = "The {Unix} Document Preparation Tools \emdash{ A} X Retrospective", X crossref = "Miller:1984:PPF", X year = "1984", X bibdate = "Sat Aug 27 17:00:38 1994", X acknowledgement = ack-nhfb, } X @InProceedings{Kernighan:1985:RWU, X author = "B. W. Kernighan", X booktitle = "Proceedings of the European UNIX Users Group X Conference, September, Copenhagen, Denmark", X title = "Recent Work in {Unix} Document Preparation Tools", X publisher = pub-EUUG, X address = pub-EUUG:adr, X pages = "??--??", X month = sep, X year = "1985", X bibdate = "Sat Feb 10 15:31:09 1996", X acknowledgement = ack-nhfb, } X @Article{Kernighan:1989:PMP, X author = "Brian W. Kernighan and Christopher J. Van Wyk", X title = "Page Makeup by Postprocessing Text Formatter Output", X journal = j-COMPSYS, X volume = "2", X number = "2", X pages = "103--132", X year = "1989", X CODEN = "CMSYE", X ISSN = "0895-6340", } X @Article{Kernighan:1989:USD, X author = "B. W. Kernighan", X title = "The {UNIX} System Document Preparation Tools: {A} X Retrospective", X journal = j-ATT-TECH-J, X volume = "68", X number = "4", X pages = "5--20", X month = aug, X year = "1989", X ISSN = "8756-2324", X bibdate = "Sat Aug 27 17:01:14 1994", X acknowledgement = ack-nhfb, } X @InProceedings{Kernighan:1990:ITD, X author = "B. W. Kernighan", X title = "Issues and Tradeoffs in Document Preparation Systems", X crossref = "Furuta:1990:PIC", X pages = "1--16", X year = "1990", X bibdate = "Sat Aug 27 17:04:54 1994", X acknowledgement = ack-nhfb, } X @Article{Kim:1989:MFG, X author = "Cha Jong Kim and Han Jong Kang and Soo Youn Lee", X title = "A multipurpose font generation system", X journal = j-J-KOREA-INFO-SCI-SOCIETY, X volume = "16", X number = "5", X pages = "422--433", X month = sep, X year = "1989", X CODEN = "HJKHD", X ISSN = "0258-9125", X bibdate = "Mon Oct 24 12:44:52 MDT 1994", X abstract = "An interactive graphics system designed for the X device-independent generation of a multipurpose font is X described. Input methods include an interactive X abstraction of the contour from bit patterns of an X image scanner and an automatic composition of Hangul X from its character elements. PostScript (a page X description language) formatted outputs are adopted to X effectively support output devices such as LBP and X Display PostScript. Logical screen, multilevel X adjustment and conversion algorithm from Bezier curve X to polyline, etc. are introduced to obtain a good X quality Hangul Metafont with a friendly user interface. X (13 Refs.)", X acknowledgement = ack-nhfb, X classification = "C6130B (Graphics techniques); C6130D (Document X processing techniques)", X keywords = "Hangul Metafont; Logical screen; PostScript formatted X outputs; Multipurpose font generation system; X Interactive graphics system; Device-independent X generation; Interactive abstraction; Bit patterns; X Image scanner; Automatic composition; Character X elements; Page description language; Output devices; X LBP; Display PostScript; Multilevel adjustment; X Conversion algorithm; Bezier curve; Polyline; Friendly X user interface", X language = "Korean", X pub_country = "South Korea", X thesaurus = "Character sets; Computer graphics; Interactive X systems; Text editing", } X @Book{Knappen:1997:SAZ, X author = "J{\"o}rg Knappen", X title = "Schnell ans Ziel mit {\LaTeXe}", X publisher = pub-OLDENBOURG, X address = pub-OLDENBOURG:adr, X pages = "xx + 187", X year = "1997", X ISBN = "3-486-24199-0", X LCCN = "", X bibdate = "Sat Mar 07 09:28:43 1998", X price = "DM 48,00", X acknowledgement = ack-nhfb, } X @TechReport{Knuth:1978:MT, X author = "Donald E. Knuth", X title = "Mathematical Typography", X number = "STAN-CS-78-648", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = feb, X year = "1978", X bibdate = "Sat Feb 10 14:55:46 1996", X note = "Also published as \cite{Knuth:1979:MT}.", } X @TechReport{Knuth:1978:TEC, X author = "Donald E. Knuth", X title = "{TAU EPSILON CHI}. {A} System for Technical Text", X type = "Report", X number = "STAN-CS-78-675", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1978", X bibdate = "Sat Feb 10 14:55:53 1996", X acknowledgement = ack-hk, } X @Article{Knuth:1979:LS, X author = "Donald E. Knuth", X title = "The Letter {S}", X journal = j-MATHINTEL, X volume = "2", X number = "3", X pages = "114--122", X year = "1979, 1980", X bibdate = "Sat Aug 13 10:22:12 1994", X note = "Also published as \cite{Knuth:1980:LS}.", } X @TechReport{Knuth:1979:MSA, X author = "Donald E. Knuth", X title = "Metafont --- {A} System for Alphabet Design", X type = "Report", X number = "STAN-CS-79-762", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1979", X bibdate = "Sat Feb 10 14:55:59 1996", X acknowledgement = ack-hk, } X @Article{Knuth:1979:MT, X author = "Donald E. Knuth", X title = "Mathematical Typography", X journal = j-BAMSN, X volume = "1", X pages = "337--372", X month = mar, X year = "1979", X bibdate = "Wed Mar 10 11:19:57 1993", X note = "Also published as a Stanford CS Report, X STAN-CS-78-648", X acknowledgement = ack-bnb, } X @Book{Knuth:1979:TMN, X author = "Donald E. Knuth", X title = "{\TeX} and {\METAFONT}\emdash New Directions in X Typesetting", X publisher = pub-DP, X address = pub-DP:adr, X pages = "xi + 201 + 105", X year = "1979", X ISBN = "0-932376-02-9", X LCCN = "Z253.3 .K58 1979", X bibdate = "Wed Dec 15 10:37:42 1993", } X @TechReport{Knuth:1980:CMF, X author = "Donald E. Knuth", X title = "The {Computer Modern} Family of Typefaces", X type = "Report", X number = "STAN-CS-80-780", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1980", X bibdate = "Sat Feb 10 14:56:10 1996", X acknowledgement = ack-hk, } X @TechReport{Knuth:1980:LS, X author = "Donald E. Knuth", X title = "The Letter {S}", X number = "STAN-CS-80-795", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = apr, X year = "1980", X bibdate = "Sat Feb 10 14:56:19 1996", X note = "Also published as \cite{Knuth:1979:LS}.", } X @Article{Knuth:1981:BPL, X author = "Donald E. Knuth and Michael F. Plass", X title = "Breaking Paragraphs into Lines", X journal = j-SPE, X volume = "11", X number = "11", X pages = "1119--1184", X month = nov, X year = "1981", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Mon Jul 25 11:30:03 1994", X acknowledgement = ack-hk, X keywords = "algorithms; design", X review = "ACM CR 39160", X subject = "I.7 Computing Methodologies, TEXT PROCESSING, Document X Preparation", } X @TechReport{Knuth:1981:CMF, X author = "Donald E. Knuth", X title = "The Concept of a Meta-Font", X number = "STAN-CS-81-886", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = oct, X year = "1981", X bibdate = "Tue Mar 1 12:53:48 1994", } X @Article{Knuth:1982:CMF, X author = "Donald E. Knuth", X title = "The {Concept} of a {Meta-Font}", X journal = j-VL, X volume = "16", X number = "1", X pages = "3--27", X month = "winter", X year = "1982", X acknowledgement = ack-hk, } X @Book{Knuth:1982:T, X author = "Donald E. Knuth", X title = "{\TeX}82", X publisher = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1982", X bibdate = "Sat Mar 12 18:14:53 1994", X acknowledgement = ack-hk, } X @Book{Knuth:1982:TFT, X author = "Donald E. Knuth", X title = "A test file for {\TeX}", X publisher = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1982", X bibdate = "Sat Mar 12 18:15:05 1994", X acknowledgement = ack-hk, } X @Book{Knuth:1982:TV, X author = "Donald E. Knuth", X title = "{\TeX}ware (version 1)", X publisher = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1982", X bibdate = "Sat Mar 12 18:14:56 1994", X acknowledgement = ack-hk, } X @Book{Knuth:1982:WSS, X author = "Donald E. Knuth", X title = "The {WEB} System of Structured Documentation---Version X 1", X publisher = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1982", X bibdate = "Sat Mar 12 18:15:11 1994", X acknowledgement = ack-hk, } X @TechReport{Knuth:1983:LLM, X author = "Donald E. Knuth", X title = "Lessons Learned from {\METAFONT}", X type = "Report", X number = "STAN-CS-83-978", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1983", X bibdate = "Tue Mar 1 12:53:50 1994", X acknowledgement = ack-hk, } X @TechReport{Knuth:1983:LP, X author = "Donald E. Knuth", X title = "Literate Programming", X type = "Report", X number = "STAN-CS-83-981", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1983", X bibdate = "Sat Feb 10 14:57:37 1996", X acknowledgement = ack-hk, } X @TechReport{Knuth:1983:WSS, X author = "Donald E. Knuth", X title = "The {WEB System} of {Structured} X {Documentation}---ver.2.3", X type = "Report", X number = "STAN-CS-83-980", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1983", X bibdate = "Sat Feb 10 14:57:45 1996", X acknowledgement = ack-hk, } X @Article{Knuth:1984:LP, X author = "Donald E. Knuth", X title = "Literate Programming", X journal = j-CJ, X volume = "27", X number = "2", X pages = "97--111", X month = may, X year = "1984", X CODEN = "CMPJA", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "design; human factors; languages", X review = "ACM CR 8501-0018", X subject = "D.2.7 Software, SOFTWARE ENGINEERING, Distribution and X Maintenance, Documentation \\ I.7.1 Computing X Methodologies, TEXT PROCESSING, Text Editing, Languages X \\ H.1.2 Information Systems, MODELS AND PRINCIPLES, X User/Machine Systems, Human factors \\ D.3 Software, X PROGRAMMING LANGUAGES, Language Constructs \\ I.7.1 X Computing Methodologies, TEXT PROCESSING, Text Editing, X WEB", } X @Book{Knuth:1984:TB, X author = "Donald E. Knuth", X title = "The {\TeX}book", X publisher = pub-AW, X address = pub-AW:adr, X pages = "ix + 483", X year = "1984", X ISBN = "0-201-13448-9 (paperback), 0-201-13447-0 (hardcover)", X LCCN = "Z253.4.T47 K58 1984", X bibdate = "Fri Jul 22 09:08:51 1994", X price = "US\$15.95 (paperback), US\$32.95 (hardcover)", } X @TechReport{Knuth:1984:TTT, X author = "Donald E. Knuth", X title = "A torture test for {\TeX}", X type = "Report", X number = "STAN-CS-84-1027", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1984", X bibdate = "Sat Feb 10 14:57:51 1996", X acknowledgement = ack-hk, } X @InProceedings{Knuth:1985:CM, X author = "Donald E. Knuth", X title = "Le concept de {Metafonte}", X crossref = "Andre:1985:TIJ", X pages = "119--132", X year = "1985", X bibdate = "Tue Mar 1 12:52:49 1994", X note = "Przedruk z ``Communication et langages'' no. 55 (1983) X pp. 40--53", X acknowledgement = ack-hk, } X @Book{Knuth:1986:CMT, X author = "Donald E. Knuth", X title = "Computer Modern Typefaces", X volume = "E", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xv + 588", X year = "{\noopsort{1986e}}1986", X ISBN = "0-201-13446-2", X LCCN = "Z250.8.M46 K574 1986", X bibdate = "Fri Jul 22 09:06:29 1994", X series = "Computers and Typesetting", } X @Book{Knuth:1986:MB, X author = "Donald E. Knuth", X title = "The {\METAFONT}book", X volume = "C", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xi + 361", X year = "{\noopsort{1986c}}1986", X ISBN = "0-201-13445-4 (hardcover), 0-201-13444-6 (paperback)", X LCCN = "Z250.8.M46 K58 1986", X bibdate = "Fri Jul 22 09:06:26 1994", X price = "US\$32.95 (hardcover), US\$16.95 (paperback)", X series = "Computers and Typesetting", X keywords = "design; languages", X review = "ACM CR 9004-0282", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Metafont", } X @Book{Knuth:1986:MP, X author = "Donald E. Knuth", X title = "{\METAFONT}: The Program", X volume = "D", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xv + 560", X year = "{\noopsort{1986d}}1986", X ISBN = "0-201-13438-1", X LCCN = "Z250.8.M46 K578 1986", X bibdate = "Fri Jul 22 09:06:27 1994", X price = "US\$32.95", X series = "Computers and Typesetting", } X @TechReport{Knuth:1986:T, X author = "Donald E. Knuth", X title = "{\TeX}ware", X type = "Report", X number = "STAN-CS-86-1097", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X month = apr, X year = "1986", X bibdate = "Sat Feb 10 14:57:53 1996", X acknowledgement = ack-hk, } X @Book{Knuth:1986:TB, X author = "Donald E. Knuth", X title = "The {\TeX}book", X volume = "A", X publisher = pub-AW, X address = pub-AW:adr, X pages = "ix + 483", X year = "{\noopsort{1986a}}1986", X ISBN = "0-201-13447-0", X LCCN = "Z253.4.T47 K58 1986", X bibdate = "Fri Jul 22 09:03:17 1994", X price = "US\$32.95", X series = "Computers and Typesetting", } X @Book{Knuth:1986:TP, X author = "Donald E. Knuth", X title = "{\TeX}: The Program", X volume = "B", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xv + 594", X year = "{\noopsort{1986b}}1986", X ISBN = "0-201-13437-3", X LCCN = "Z253.4.T47 K578 1986", X bibdate = "Fri Jul 22 09:03:46 1994", X price = "US\$32.95", X series = "Computers and Typesetting", } X @TechReport{Knuth:1986:TTT, X author = "Donald E. Knuth", X title = "A Torture Test for {\METAFONT}", X type = "Report", X number = "STAN-CS-86-1095", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1986", X bibdate = "Sat Feb 10 14:57:54 1996", X acknowledgement = ack-hk, } X @Article{Knuth:1987:DHD, X author = "Donald E. Knuth", X title = "Digital Halftones by Dot Diffusion", X journal = j-TOG, X volume = "6", X number = "4", X pages = "245--273", X month = oct, X year = "1987", X CODEN = "ATGRDF", X ISSN = "0730-0301", X bibdate = "Fri Aug 26 08:55:46 1994", } X @TechReport{Knuth:1988:ET, X author = "Donald E. Knuth", X title = "The Errors of {\TeX}", X number = "STAN-CS-88-1223", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X month = sep, X year = "1988", X bibdate = "Sat Feb 10 14:57:56 1996", } X @Article{Knuth:1989:AEN, X author = "Donald E. Knuth and Hermann Zapf", X title = "{AMS} Euler\emdash{} {A} New Typeface for X Mathematics", X journal = j-SCHOLAR, X volume = "20", X number = "3", X pages = "131--157", X month = apr, X year = "1989", X ISSN = "0036-634X", } X @Article{Knuth:1989:CAG, X author = "Donald E. Knuth", X title = "Calling all Grand Wizards", X journal = j-TEXHAX, X volume = "89", X number = "98", X month = nov, X year = "1989", } X @Article{Knuth:1989:ET, X author = "Donald E. Knuth", X title = "The Errors of {\TeX}", X journal = j-SPE, X volume = "19", X number = "7", X pages = "607--681", X month = jul, X year = "1989", X CODEN = "SPEXBL", X ISSN = "0038-0644", X note = "This is an updated version of \cite{Knuth:1988:ET}.", } X @Book{Knuth:1989:MW, X author = "Donald E. Knuth and Tracy Larrabee and Paul M. X Roberts", X title = "Mathematical Writing", X type = "14", X publisher = pub-MATH-ASSOC-AMER, X address = pub-MATH-ASSOC-AMER:adr, X year = "1989", X ISBN = "0-88385-063-X", X bibdate = "Sat Feb 10 14:59:43 1996", X series = "Notes Number 14", } X @Book{Knuth:1989:TB, X author = "Donald E. Knuth", X title = "The {\TeX}book", X publisher = pub-ASCII, X address = pub-ASCII:adr, X year = "1989", X ISBN = "4-7561-0010-4", X note = "Translation of the {\TeX}book into Japanese, with X addition of Appendix K, and new drawings by Duane X Bibby.", } X @Article{Knuth:1990:NTM, X author = "Donald E. Knuth and Joe Weening", X title = "New {{\TeX}{\slash}{\METAFONT}} sources available on X {Stanford's} master archive", X journal = j-TEXHAX, X volume = "90", X number = "13", X month = jan, X year = "1990", } X @Article{Knuth:1990:VFMa, X author = "Donald Knuth", X title = "Virtual Fonts: More Fun for Grand Wizards", X journal = j-TUGboat, X volume = "11", X number = "1", X pages = "13--23", X month = Apr, X year = "1990", } X @Article{Knuth:1990:VFMb, X author = "Donald E. Knuth", X title = "Virtual fonts: More fun for Grand Wizards", X journal = j-TEXHAX, X volume = "90", X number = "11 and 12", X month = jan, X year = "1990", } X @Article{Knuth:1991:TPC, X author = "D. E. Knuth", X title = "Theory and practice (computer science)", X journal = j-TCS, X volume = "90", X number = "1", X pages = "1--15", X month = nov, X year = "1991", X CODEN = "TCSCD", X ISSN = "0304-3975", X bibdate = "Mon Oct 24 12:44:52 MDT 1994", X abstract = "Looks at the intersection of theory and practice, X particularly in computer programming. The author X considers his involvement in the T/sub E/X and METAFONT X projects, and how theory and practice had relevance X during these projects. He discusses the balance between X theory and practice which should be achieved by X computer scientists. (7 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., Stanford Univ., CA, USA", X classification = "C4240 (Programming and algorithm theory); C6110B X (Software engineering techniques)", X keywords = "Computer science; Theory; Practice; Computer X programming; T/sub E/X; METAFONT; Computer scientists", X language = "English", X pub_country = "Netherlands", X thesaurus = "Philosophical aspects; Programming theory; Software X engineering", } X @Book{Knuth:1992:LP, X author = "Donald E. Knuth", X title = "Literate Programming", X publisher = pub-SUCSLI, X address = pub-SUCSLI:adr, X pages = "xiii + 368", X year = "1992", X ISBN = "0-937073-80-6 (paperback), 0-937073-81-4 (hardcover)", X LCCN = "QA76.6 .K644 1992", X bibdate = "Fri Jul 22 09:08:14 1994", X price = "US\$24.95 (paperback), US\$59.95 (hardcover)", X series = "CSLI Lecture Notes Number 27", X acknowledgement = ack-nhfb, } X @Book{Knuth:1993:CSS, X author = "Donald E. Knuth and Silvio Levy", X title = "The {CWEB} System of Structured Documentation, Version X 3.0", X publisher = pub-AW, X address = pub-AW:adr, X pages = "226", X year = "1993", X ISBN = "0-201-57569-8", X LCCN = "QA76.9.D3 K6 1993", X bibdate = "Thu May 12 08:36:22 1994", X acknowledgement = ack-nhfb, } X @Book{Knuth:1993:VT, X author = "Donald E. Knuth", X title = "Vse pro {\TeX} \toenglish {Everything} about {\TeX} X \endtoenglish", X publisher = pub-PROTVINO, X address = pub-PROTVINO:adr, X pages = "xvi + 575", X year = "1993", X ISBN = "5-900614-01-8", X bibdate = "Wed Jan 04 08:16:09 1995", X note = "Russian translation of \cite{Knuth:1984:TB}, by M. V. X Lisina, edited by S. V. Klimenko and S. N. Sokolov. AO X RD{\TeX} (AO means Inc; RD{\TeX} stands for Russian X Database {\TeX}nology). First press run: 10000 X copies.", } X @TechReport{Kolodziejska:1987:DWP, X author = "Hanna Ko{\l}odziejska", X title = "Dzielenie wyraz{\'o}w polskich w systemie {\TeX}", X number = "165", X institution = "Sprawozdania Instytutu Informatyki Uniwersytetu X Warszawskiego", X address = "Warszawa, Poland", X year = "1987", X bibdate = "Tue Mar 1 12:54:07 1994", } X @Article{Kolodziejska:1988:T, X author = "Hanna Ko{\l}odziejska", X title = "{\TeX}", X journal = j-MIKROLAN, X volume = "1", X pages = "12", X year = "1988", } X @Article{Kolodziejska:1988:TTP, X author = "Hanna Ko{\l}odziejska", X title = "Le traitement des textes polonais avec le logiciel X {\TeX}", X journal = j-GUTENBERG, X volume = "0", X pages = "3--10", X month = apr, X year = "1988", X acknowledgement = ack-hk, } X @Book{Kopka:1988:LE, X author = "Helmut Kopka", X title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Second", X pages = "xvi + 340", X year = "1988", X ISBN = "3-89319-136-4, 3-89319-199-2", X bibdate = "Sat Mar 07 09:48:36 1998", X acknowledgement = ack-nhfb, } X @Book{Kopka:1990:LEE, X author = "Helmut Kopka", X title = "{\LaTeX}\emdash X {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en: X mit einer Einf{\"u}hrung in {METAFONT}", X publisher = pub-AWV, X address = pub-AWV:adr, X pages = "xv + 463", X year = "1990", X ISBN = "3-89319-287-5", X LCCN = "????", X bibdate = "Sat Mar 7 09:45:48 1998", X acknowledgement = ack-nhfb, } X @Book{Kopka:1991:EWE, X author = "Helmut Kopka", X title = "{\LaTeX}\emdash X {}Er{\-}weit{\-}er{\-}ungs{\-}m{\"o}g{\-}lich{\-}keit{\-}en X mit einer Einf{\"u}rung in {\MF}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Second", X pages = "552", X year = "1991", X ISBN = "3-89319-356-1", } X @Book{Kopka:1991:LE, X author = "Helmut Kopka", X title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Third", X pages = "xvii + 375", X year = "1991", X ISBN = "3-89319-338-3", X bibdate = "Sat Mar 7 09:46:58 1998", X acknowledgement = ack-nhfb, } X @Book{Kopka:1992:LE, X author = "Helmut Kopka", X title = "{\LaTeX}\emdash{}Eine Einf{\"u}hrung", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Fourth", X pages = "xvii + 445", X year = "1992", X ISBN = "3-89319-434-7", X bibdate = "Sat Mar 07 09:49:29 1998", X acknowledgement = ack-rz # " and " # ack-nhfb, } X @Book{Kopka:1993:GLD, X author = "Helmut Kopka and Patrick W. Daly", X title = "A Guide to {\LaTeX}: Document Preparation for X Beginners and Advanced Users", X publisher = pub-AW, X address = pub-AW:adr, X year = "1993", X ISBN = "0-201-56889-6", X bibdate = "Thu Jan 20 12:34:31 1994", X price = "US\$34.50", X acknowledgement = ack-nhfb, } X @Book{Kopka:1994:LBE, X author = "Helmut Kopka", X title = "{\LaTeX} Band 1: Einf{\"u}hrung", X publisher = pub-AWV, X address = pub-AWV:adr, X pages = "xix + 428", X year = "1994", X ISBN = "3-89319-664-1", X bibdate = "Tue Mar 1 14:25:32 MET 1994", X note = "Replaces the old series of two volumes.", X acknowledgement = ack-rz, } X @Book{Kopka:1995:GDP, X author = "Helmut Kopka and Patrick W. Daly", X title = "A Guide to {\LaTeXe}: Document Preparation for X Beginners and Advanced Users", X publisher = pub-AW, X address = pub-AW:adr, X edition = "Second", X pages = "x + 554", X year = "1995", X ISBN = "0-201-42777-X", X LCCN = "Z253.4.L38 K66 1995", X bibdate = "Thu May 25 15:18:31 1995", X price = "US\$37.61", X acknowledgement = ack-nhfb, } X @Book{Kopka:1995:LBEa, X author = "Helmut Kopka", X title = "{\LaTeX} Band 2: Erg{\"a}nzungen\emdash mit einer X Einf{\"u}rung in {\MF}", X publisher = pub-AWV, X address = pub-AWV:adr, X pages = "xiv + 428", X year = "1995", X ISBN = "3-89319-665-X", X bibdate = "Wed Nov 16 13:07:25 1994", X price = "DM69.90", X acknowledgement = ack-rz, } X @Book{Kopka:1997:LBE, X author = "Helmut Kopka", X title = "{\LaTeX} Band 3: Erweiterungen", X publisher = pub-AWV, X address = pub-AWV:adr, X pages = "xiii + 412", X year = "1997", X ISBN = "3-89319-666-8", X bibdate = "Mon Mar 02 19:38:20 1998", X price = "DM69.90", X acknowledgement = ack-rz, } X @Book{Krantz:1996:PMW, X author = "Steven G. Krantz", X title = "A Primer of Mathematical Writing: Being a disquisition X on having your ideas recorded, typeset, published, read X \& appreciated", X publisher = pub-AMS, X address = pub-AMS:adr, X pages = "216", X year = "1996", X ISBN = "0-8218-0635-1", X LCCN = "QA42.K73 1996", X bibdate = "Fri Nov 08 11:44:14 1996", X note = "Includes discussions of computers and {\TeX}.", X price = "US\$19.00", X URL = "http://www.ams.org/bookstore", X acknowledgement = ack-nhfb, } X @Book{Krieger:1990:IT, X author = "Jost Krieger and Norbert Schwarz", X title = "Introduction to {\TeX}", X publisher = pub-AWE, X address = pub-AWE:adr, X pages = "278", X year = "1990", X ISBN = "0-201-51141-X", X bibdate = "Wed Apr 19 10:42:04 1995", X note = "English translation of \cite{Schwarz:1988:ET}. See X also the Dutch translation, \cite{Schwarz:1990:IT}.", } X @InProceedings{Kroenert:1990:IIS, X author = "G{\"u}nther Kr{\"o}nert", X title = "Importance of the {ISO} standard 8613 for document X interchange. {Basic} standard, functional standards, X initial experience, benefits", X crossref = "Nadrchal:1990:MMI", X pages = "209--218", X year = "1990", X bibdate = "Tue Mar 1 12:55:29 1994", X note = "Invited paper.", X acknowledgement = ack-rw, } X @TechReport{Kwong:1991:KKB, X author = "Man Kam Kwong", X title = "{\tt kxp} and {\tt kxpl}: {A} Busy Man's {\LaTeX}: X Part {I}: An Overview", X type = "Technical Report", X number = "ANL-91/14", X institution = inst-ANL, X address = inst-ANL:adr, X month = mar, X year = "1991", X bibdate = "Sat Sep 24 12:30:40 1994", X acknowledgement = ack-nhfb, } X @TechReport{Laan:1989:LTL, X author = "C. G. van der Laan and J. R. Luyten", X title = "{\LaTeX} Templates: Letter and Article", X type = "RC-Rapport", X number = "27", X institution = "Rekencentrum der Rijksuniversiteit te Groningen", X address = "Groningen, The Netherlands", X month = nov, X year = "1989", X bibdate = "Tue Mar 1 12:54:36 1994", } X @TechReport{Laan:1989:SLM, X author = "C. G. van der Laan and D. C. Coleman and J. R. X Luyten", X title = "{SGML}--{\LaTeX} 1.~{Mathematical} formulas", X type = "RC-Rapport", X number = "24", X institution = "Rekencentrum der Rijksuniversiteit te Groningen", X address = "Groningen, The Netherlands", X year = "1989", X bibdate = "Tue Mar 1 12:54:33 1994", X note = "(English version).", } X @Book{Labuz:1984:HTW, X author = "Ronald Labuz", X title = "How to Typeset from a Word Processor: {A} Practical X Manual for Type Buyers and Typesetters", X publisher = pub-RRB, X address = pub-RRB:adr, X pages = "xii + 218", X year = "1984", X ISBN = "0-8352-1899-6", X LCCN = "Z253.3.L33 1984", X bibdate = "Tue Mar 1 12:55:45 1994", X price = "US\$24.95", X acknowledgement = ack-jpl, X annote = "Decent survey of the field for the computer X illiterate, though details of equipment may be dated by X now, but does cover high-end phototypesetters in X addition to personal computers.", } X @Book{Lachand-Robert:1995:MTL, X author = "Thomas Lachand-Robert", X title = "La maitrise de {\TeX} et {\LaTeX}", X publisher = pub-MASSON, X address = pub-MASSON:adr, X pages = "644", X year = "1995", X ISBN = "2-225-84832-7", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X acknowledgement = ack-nhfb, X keywords = "{\TeX} (logiciel); {\LaTeX} (syst{\`e}me informatique)", } X @Book{Lammarsch:1996:CTL, X author = "Joachim Lammarsch and Harald Schoppmann", X title = "{CTAN}-3: das {\TeX}-/{\LaTeX}-Archiv von {DANTE} X e.{V}.", X publisher = pub-AW, X address = pub-AW:adr, X pages = "123", X year = "1996", X ISBN = "", X LCCN = "", X bibdate = "Sat Mar 07 09:36:38 1998", X note = "Includes CD-ROM.", X price = "DM 49,90", X acknowledgement = ack-nhfb, } X @Book{Lamport:1985:LDP, X author = "Leslie Lamport", X title = "{\LaTeX}\emdash{} {A} Document Preparation X System\emdash User's Guide and Reference Manual", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xiv + 242", X year = "1985", X ISBN = "0-201-15790-X", X LCCN = "Z253.4.L38 L35 1986", X bibdate = "Thu Jul 21 23:00:50 1994", X price = "US\$26.95", X acknowledgement = ack-nhfb, X keywords = "documentation; performance; languages", X review = "ACM CR 9001-0030", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, LaTeX \\ D.2.3 Software, SOFTWARE X ENGINEERING, Coding, Pretty printers", } X @Book{Lamport:1994:LDP, X author = "Leslie Lamport", X title = "{\LaTeX}: {A} Document Preparation System: User's X Guide and Reference Manual", X publisher = pub-AW, X address = pub-AW:adr, X edition = "Second", X pages = "xvi + 272", X year = "1994", X ISBN = "0-201-52983-1", X LCCN = "Z253.4.L38L35 1994", X bibdate = "Sat Mar 07 09:39:20 1998", X note = "Reprinted with corrections in 1996.", X acknowledgement = ack-nhfb, } X @Book{Lamport:1995:DLH, X author = "Leslie Lamport", X title = "Das {\LaTeX} Handbuch", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xviii + 325", X year = "1995", X ISBN = "3-89319-826-1", X LCCN = "", X bibdate = "Mon Mar 02 19:39:00 1998", X note = "German translation of \cite{Lamport:1994:LDP} by X Rebecca Stiels.", X price = "DM69.90", X acknowledgement = ack-nhfb, } X @Article{Lao:1986:ST, X author = "Marek J. Lao", X title = "Sztuka {\TeX}owania", X journal = j-WM, X volume = "27", X number = "1", X pages = "81--87", X year = "1986", X bibdate = "Thu Jun 23 18:21:02 1994", X note = "Roczniki Polskiego Towarzystwa Matematycznego, Seria X II. In Polish.", X author-l = lang-pl, X title-l = lang-pl, } X @Book{Larsen:1989:LD, X author = "Steen Larsen", X title = "{\LaTeX p\aa} dansk", X publisher = pub-UNIC, X address = pub-UNIC:adr, X year = "1989", X ISBN = "87-7252-089-2", } X @Book{Lawson:1990:AT, X author = "Alexander Lawson", X title = "Anatomy of a Typeface", X publisher = pub-HAMISH, X address = pub-HAMISH:adr, X pages = "428", X year = "1990", X ISBN = "0-241-13267-3", X LCCN = "Z250 .L34 1990", X bibdate = "Fri Aug 19 15:44:54 1994", X acknowledgement = ack-mc, } X @Book{Lee:1979:BIG, X author = "Marshall Lee", X title = "Bookmaking: the Illustrated Guide to Design\slash X Production\slash Editing", X publisher = pub-RRB, X address = pub-RRB:adr, X edition = "Second", X pages = "485", X year = "1979", X ISBN = "0-8352-1097-9", X LCCN = "Z116.A2 .L44 1979", X bibdate = "Fri Jul 22 11:16:45 1994", X price = "US\$25.00", X acknowledgement = ack-jpl, } X @InProceedings{Leitch:1985:GAD, X author = "S. Leitch and F. J. Smith", X title = "Generalised {Algorithm} for {Drawing} {Non-Parametric X Splines}", X crossref = "Lucarella:1985:PFE", X pages = "155--161", X year = "1985", X bibdate = "Tue Jul 26 09:28:01 1994", X acknowledgement = ack-hk, } X @InProceedings{Leitch:1985:IMI, X author = "S. Leitch", X title = "Implementing {\METAFONT} on an {ICL Perq}", X crossref = "Lucarella:1985:PFE", X pages = "171--182", X year = "1985", X bibdate = "Tue Jul 26 09:27:53 1994", X acknowledgement = ack-hk, } X @InProceedings{Lesk:1976:CTT, X author = "M. E. Lesk and B. W. Kernighan", X title = "Computer Typesetting of Technical Journals on {UNIX}", X crossref = "NCC:1976:ACP", X volume = "46", X pages = "879--888", X month = jun, X year = "1976", X bibdate = "Sat Aug 27 16:53:38 1994", X acknowledgement = ack-nhfb, } X @Article{Lesk:1988:GIL, X author = "Michael Lesk", X title = "{GRAB}\emdash{}Inverted Indexes with Low Storage X Overhead", X journal = j-COMPSYS, X volume = "1", X number = "3", X pages = "207--220", X year = "1988", X CODEN = "CMSYE", X ISSN = "0895-6340", } X @Article{Levine:1990:LGR, X author = "Michael J. S. Levine", X title = "A {\LaTeX} Graphics Routine for drawing {Feynman} X Diagrams", X journal = j-CPC, X volume = "58", X number = "1 and 2", X pages = "181--198", X month = feb # "\slash " # mar, X year = "1990", X bibdate = "Fri Feb 9 18:09:31 1996", X note = "Available in the CPC library, and from X \path|listral@ib.rl.ac.uk| with an e-mail request {\tt X GET CPC INTRO CPCINDEX}.", } X @InProceedings{Li:1985:GSC, X author = "Jiarong Li", X title = "Generation of {Some Chinese Characters} with X {Metafont}", X crossref = "Lucarella:1985:PFE", X pages = "161--170", X year = "1985", X bibdate = "Tue Jul 26 09:27:44 1994", X acknowledgement = ack-hk, } X @TechReport{Liang:1983:WHP, X author = "Franklin Mark Liang", X title = "Word Hy-phen-a-tion by Com-pu-ter", X number = "STAN-CS-83-977", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = aug, X year = "1983", X bibdate = "Sat Feb 10 15:00:15 1996", } X @Book{Licha:1992:AV, X author = "Michaela Lich{\'a} and Old{\v r}ich Ulrych", X title = "{\AmSTeX} verze 2.1", X publisher = pub-CSTUG, X address = pub-CSTUG:adr, X pages = "80", X year = "1992", X bibdate = "Thu Mar 11 12:11:15 1993", X note = "This publication provides a short (but complete) tour X through {\AmSTeX} 2.1 together with \path=amsppt.sty= X 2.1. Almost all features are demonstrated with a lot of X examples. The book is organized in such a way that it X is useful for novices (basic textbook), and for X advanced users (quick reference guide) as well. X Contains a table of all symbols.", } X @InProceedings{Lin:1994:CMF, X author = "Y.-J. Lin and T.-L. Lee", X title = "Conversion From {\METAFONT} Files To {TrueType}", X crossref = "Anonymous:1994:CCI", X pages = "65--75", X year = "1994", X bibdate = "Sat Dec 21 15:45:22 MST 1996", X acknowledgement = ack-nhfb, X OPTeditor = "", } X @Article{Linton:1989:CUI, X author = "Mark A. Linton and John M. Vissides and Paul R. X Calder", X title = "Composing user interfaces with {InterViews}", X journal = j-IEEE-COMPUTER, X volume = "22", X number = "2", X pages = "8--22", X month = feb, X year = "1989", X bibdate = "Thu Jul 21 22:56:53 1994", X note = "From {\em Computing Reviews\/}: ``InterViews objects X are combined through a model similar to the boxes and X glues in Knuth's {\TeX}, which allows interface objects X to be combined with little concern for undesired X interactions.''", } X @Article{Lubkin:1990:PSP, X author = "Saul Lubkin", X title = "Porting sophisticated programs to your {UNIX} X environment for free", X journal = j-COMPUTERSHOPPER, X pages = "642--644", X month = mar, X year = "1990", } X @InProceedings{Lucarella:1985:TFD, X author = "Dario Lucarella", X title = "{\TeX} Formulae Dictionary", X crossref = "Lucarella:1985:PFE", X pages = "93--103", X year = "1985", X bibdate = "Tue Mar 1 12:56:59 1994", X acknowledgement = ack-hk, } X @Book{Luna:1992:UTD, X author = "Paul Felix John Luna", X title = "Understanding Type for Desktop Publishing", X publisher = pub-BLUEPRINT, X address = pub-BLUEPRINT:adr, X pages = "136", X year = "1992", X ISBN = "0-948905-76-X", X LCCN = "Z250.7 .L86 1992", X bibdate = "Fri Aug 19 15:45:31 1994", X note = "Highly regarded English typographer: designed the X Oxford English Dictionary and the New English Bible.", X acknowledgement = ack-mc, } X @TechReport{Luvisetto:1992:LER, X author = "M. L. Luvisetto and E. Ugolini", X title = "{\LaTeX}: easy recipes", X number = "INFN/TC-92/05", X institution = "Ist. Naz. Fis. Nucl.", X address = "Bologna, Italy", X pages = "17", X month = mar, X year = "1992", X bibdate = "Thu Sep 01 01:22:55 1994", X abstract = "Basic commands are given to enable an easy conversion X from {\TeX} to {\LaTeX} to users that have a good X knowledge of {\TeX} typesetting for technical and X scientific articles. Basic concepts are described. X Clear and easy ways to typeset the most common items X are described. Mathematics and tabular typesetting are X described in deeper detail. (3 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7230 (Publishing and reproduction); C6130D X (Document processing techniques); C6140 (Programming X languages)", X keywords = "Easy conversion; LaTeX; TeX typesetting; Scientific X articles; Tabular typesetting", X thesaurus = "Computer controlled typesetting; Programming X languages; Word processing", } X @Book{Lvovskii:1994:NVP, X author = "Sergei L'vovskii", X title = "Nabor i verstka v pakete {\LaTeX} \toenglish {Typing} X and proving in the {\LaTeX} package \endtoenglish", X publisher = pub-KOSMOINFORM, X address = pub-KOSMOINFORM:adr, X pages = "328", X year = "1994", X ISBN = "5-900242-11-0", X bibdate = "Wed Jan 04 08:17:58 1995", X note = "The first complete description of {\LaTeX} 2.09 in X Russian. First press run: 5000 copies.", X acknowledgement = ack-ps, } X @InProceedings{MacKay:1983:TAS, X author = "Pierre A. MacKay", X title = "{\TeX} for {Arabic} script", X crossref = "Burton:1983:SIC", X pages = "391--400", X year = "1983", X bibdate = "Wed Jul 27 10:59:33 1994", X acknowledgement = ack-nhfb, } X @Article{Mamrak:1993:BAD, X author = "S. Mamrak and J. Barnes and C. S. O'Connell", X title = "Benefits of automating data translation", X journal = j-IEEE-SOFTWARE, X volume = "10", X number = "4", X pages = "82--88", X month = jul, X year = "1993", X CODEN = "IESOE", X ISSN = "0740-7459", X bibdate = "Thu Sep 01 01:29:34 1994", X abstract = "A description is given of the Integrated Chameleon X Architecture, (ICA), a special software environment X that automatically generates translation code, X eliminating the error-prone process of writing and X updating code, and enforces completeness in the X high-level translator specification and correctness in X the translated data. Two sets of translaters developed X using ICA are examined. The first set translates ICA's X user manual from the {\LaTeX} markup language to Troff X markup macros. The second translates documents encoded X in schemes like Refer (from the roff macro family) and X Bib{\TeX} ({\LaTeX}'s bibliographic package) into an X encoding conventional imposed by a central X bibliographic database for human-machine interaction. X (2 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., Ohio State Univ., Columbus, OH, X USA", X classification = "C6115 (Programming support); C6110B (Software X engineering techniques); C6130D (Document processing X techniques)", X keywords = "Automatic code generation; Error elimination; Data X translation automation; Code updating; Text formatters; X Integrated Chameleon Architecture; Software X environment; High-level translator specification; ICA; X User manual; LaTex; Markup language; Troff; Markup X macros; Refer; Roff macro; Bibtex; Bibliographic X package; Human-machine interaction", X language = "English", X pub_country = "USA", X thesaurus = "Application generators; Automatic programming; X Document handling; Formal specification; Text editing", } X @Article{Manas:1987:WDS, X author = "Jose A. Ma\~{n}as", X title = "Word division in {Spanish}", X journal = j-CACM, X volume = "30", X number = "7", X pages = "612--616", X month = jul, X year = "1987", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Wed Jan 04 08:19:24 1995", X acknowledgement = ack-nhfb, X keywords = "algorithms", X subject = "I.2.7 Computing Methodologies, ARTIFICIAL X INTELLIGENCE, Natural Language Processing, Text X analysis \\ H.1.m Information Systems, MODELS AND X PRINCIPLES, Miscellaneous \\ I.7 Computing X Methodologies, TEXT PROCESSING \\ H.4.1 Information X Systems, INFORMATION SYSTEMS APPLICATIONS, Office X Automation, Word processing \\ I.5.4 Computing X Methodologies, PATTERN RECOGNITION, Applications, Text X processing", } X @Article{Manson:1987:UEP, X author = "David Manson", X title = "Using {\TeX} for Electronic Publishing at {I. P. Sharp X Associates}", X journal = j-SIGDOC, X volume = "13", X number = "1", X pages = "3--7", X month = mar, X year = "1987", X bibdate = "Thu Jul 21 22:25:07 1994", } X @Book{Maor:1994:SN, X author = "Eli Maor", X title = "{e}: The Story of a Number", X publisher = pub-PUP, X address = pub-PUP:adr, X pages = "xiv + 223", X year = "1994", X ISBN = "0-691-03390-0", X LCCN = "QA247.5.M33 1994", X bibdate = "Thu Sep 08 11:13:04 1994", X note = "This book chronicles the story of the ultimate version X number of {\MF}.", X acknowledgement = ack-nhfb, } X @Article{Margolis:1994:MMG, X author = "Marvin S. Margolis", X title = "{MG} Mathematical Graphics System", X journal = j-NAMS, X volume = "41", X number = "3", X pages = "200--201", X month = mar, X year = "1994", X ISSN = "0002-9920", X bibdate = "Thu Dec 29 10:48:31 1994", X acknowledgement = ack-ps, } X @Book{Mauerer:1997:TLU, X author = "Wolfgang Mauerer", X title = "Textverarbeitung mit {\LaTeXe} unter {UNIX}", X publisher = pub-HANSER, X address = pub-HANSER:adr, X pages = "xiv + 361", X year = "1997", X ISBN = "3-446-18909-2", X LCCN = "????", X bibdate = "Sat Mar 07 09:31:31 1998", X price = "DM 49,80", X series = "UNIX easy", X acknowledgement = ack-nhfb, } X @Article{McClelland:1988:LTD, X author = "Bruce McClelland", X title = "From logon to typeset document in under ten minutes", X journal = j-ONLINE, X volume = "12", X number = "6", X pages = "66--71", X month = nov, X year = "1988", X ISSN = "0146-5422", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "design; documentation; management", X subject = "H.3.5 Information Systems, INFORMATION STORAGE AND X RETRIEVAL, On-line Information Services \\ J.7 Computer X Applications, COMPUTERS IN OTHER SYSTEMS, Publishing", } X @Article{McKibben:1991:EEW, X author = "L. McKibben", X title = "Equation editing with {WordPerfect}", X journal = j-LAB-MICROCOMP, X volume = "10", X number = "3", X pages = "117--118", X month = "", X year = "1991", X CODEN = "LMICD", X ISSN = "0262-2955", X bibdate = "Wed Aug 31 00:54:39 MDT 1994", X abstract = "For years scientists and engineers have had to use X special software packages to create, edit, and print X their scientific equations. Software packages such as X {\TeX} (for mainframes and PC's), MASS-11, WordMarc+ X and T3 were created specifically to handle these X requirements. The needs of scientists were essentially X ignored by the early popular software developers, who X designed such packages as WordStar, Microsoft Word and X early versions of WordPerfect. Now, the developers of X the largest-selling software package in the world, X WordPerfect, are also beginning to cater to the X scientific and engineering communities with the latest X release for the IBM-compatible computer, version 5.1. X All in all, the new equation editor is an exciting X development and will greatly aid scientists who need to X use mainstream word processing software, but there are X some limitations that the user should be aware of. (0 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Oklahoma Univ., Norman, OK, USA", X classification = "C7310 (Mathematics); C6130D (Document processing X techniques)", X keywords = "WordPerfect; Equation editor; Scientists; Word X processing", X thesaurus = "Mathematics computing; Software packages; Text X editing", } X @Book{McLean:1980:THM, X author = "Ruari McLean", X title = "The Thames and Hudson Manual of Typography", X publisher = pub-TH, X address = pub-TH:adr, X pages = "216", X year = "1980", X ISBN = "0-500-68022-1", X LCCN = "Z244.3 .M45", X bibdate = "Fri Aug 19 15:46:43 1994", X acknowledgement = ack-fm # " and " # ack-mc, X annote = "A broad, very readable introduction to the X conventional typography. This is the best recent X general book if you read only one. (RRu)", } X @Book{McLean:1995:TTI, X editor = "Ruari McLean", X title = "Typographers on Type: An Illustrated Anthology from X {William Morris} to the present day", X publisher = pub-NORTON, X address = pub-NORTON:adr, X pages = "xii + 188", X year = "1995", X ISBN = "0-393-70201", X LCCN = "Z 250 A2 T96 1995", X bibdate = "Mon May 11 18:03:27 1998", X price = "US\$27.00", X acknowledgement = ack-nhfb, } X @TechReport{Mei:1980:LLC, X author = "{Tung Yun Mei}", X title = "{LCCD}, {A Language} for {Chinese Character} X {Design}", X type = "Report", X number = "STAN-CS-80-824", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1980", X bibdate = "Tue Mar 1 12:54:32 1994", X note = "See also " # j-SPE # "Vol. 11 (1981), No. 12, pp. X 1273--1292.", X acknowledgement = ack-hk, } X @Booklet{MF:1986:MCF, X key = "MF", X title = "The {MF Chel Family} of Fonts", X howpublished = inst-METAFOUNDRY, X address = inst-METAFOUNDRY:adr, X year = "1986", X acknowledgement = ack-hk, } X @Booklet{MF:1986:MRF, X key = "MF", X title = "The {MF Roman Family} of Fonts", X howpublished = inst-METAFOUNDRY, X address = inst-METAFOUNDRY:adr, X year = "1986", X acknowledgement = ack-hk, } X @Booklet{MF:1987:MDF, X key = "MF", X title = "The {MF Decorative Family} of Fonts", X howpublished = inst-METAFOUNDRY, X address = inst-METAFOUNDRY:adr, X year = "1987", X acknowledgement = ack-hk, } X @Booklet{MF:1987:MSF, X key = "MF", X title = "The {MF Slavic Families} of Fonts", X howpublished = inst-METAFOUNDRY, X address = inst-METAFOUNDRY:adr, X year = "1987", X acknowledgement = ack-hk, } X @Article{Milne:1986:RTS, X author = "J. S. Milne", X title = "Review of Two Scientific Word-Processing Programs: X {$T^3$} version 2.02 by {TCI Software Research Inc.}, X and {Volkswriter Scientific} version 1.0 by {Lifetree X Software Inc.}", X journal = j-MATHINTEL, X volume = "8", X number = "1", X pages = "66--71", X year = "1986", X bibdate = "Sat Aug 27 11:09:18 1994", } X @Article{Milne:1990:FWP, X author = "J. S. Milne", X title = "Four Word Processors with {\TeX} Capabilities", X journal = j-NAMS, X volume = "37", X number = "8", X pages = "1018--1022", X month = oct, X year = "1990", X ISSN = "0002-9920", X acknowledgement = ack-bnb, } X @Article{Milne:1992:TSW, X author = "J. S. Milne", X title = "Three Scientific Word Processors", X journal = j-NAMS, X volume = "39", X number = "8", X pages = "838--840", X month = oct, X year = "1992", X ISSN = "0002-9920", X bibdate = "Tue Mar 1 12:06:32 1994", X note = "The word processors {Chi}{Writer} 4.02, {Leo} 1.4, and X {Scientific Word} 1.0 are discussed in terms of ease of X use, effectiveness in producing {\TeX} code, and other X features of interest to users who require {\TeX} output X but do not wish to use {\TeX} directly.", } X @InProceedings{Mittelbach:1992:PQH, X author = "Frank Mittelbach and Chris Rowley", X title = "The Pursuit of Quality: How can Automated Typesetting X achieve the Highest Standards of Craft Typography?", X crossref = "Vanoirbeek:1992:EPE", X pages = "261--273", X year = "1992", X bibdate = "Thu Dec 29 11:04:13 1994", X acknowledgement = ack-ps, } X @Article{Molnar:1993:TGT, X author = "Suzanne M. Molnar", X title = "A Tour of Graphical Typesetting on the Macintosh", X journal = j-UMAP, X volume = "14", X number = "2", X pages = "97--112", X year = "1993", X bibdate = "Tue Dec 14 10:48:29 1993", X acknowledgement = ack-ps, } X @Article{Morin:1993:TT, X author = "Richard Morin", X title = "Tangled up in {\TeX}", X journal = j-SUNEXPERT, X volume = "4", X number = "10", X pages = "42--46", X month = oct, X year = "1993", X bibdate = "Mon Oct 18 18:07:05 1993", X note = "A brief review of {\TeX} support, including the X Comprehensive {\TeX} Archive Network (CTAN), the {\TeX} X Users Group, and several books on {\TeX}.", X acknowledgement = ack-nhfb, } X @Article{Morin:1994:TRPa, X author = "Richard Morin", X title = "{\TeX}, {ReDuX} (Part {I})", X journal = j-SUNEXPERT, X volume = "5", X number = "11", X pages = "28, 30--31", X month = nov, X year = "1994", X bibdate = "Tue Dec 20 11:13:23 1994", X note = "Comments on why use \TeX. Mentions the {\TeX} Users X Group, and the Comprehensive {\TeX} Archive Network X (CTAN)", X acknowledgement = ack-nhfb, } X @Article{Morin:1994:TRPb, X author = "Richard Morin", X title = "{\TeX}, {ReDuX} (Part {II})", X journal = j-SUNEXPERT, X volume = "5", X number = "12", X pages = "28--31", X month = dec, X year = "1994", X bibdate = "Sat Nov 19 17:02:39 1994", X note = "Lists sources of {\TeX}, and gives short reviews of X several books about {\TeX}, {\AmSTeX}, {\LaTeX}, and X literate programming.", X acknowledgement = ack-nhfb, } X @Article{Morishita:1989:DLT, X author = "J. Morishita", X title = "{DTP} language {\TeX}", X journal = j-SYS-CTL-INFO, X volume = "33", X number = "3", X pages = "117--125", X month = "", X year = "1989", X CODEN = "SSEJE", X ISSN = "0374-4507", X bibdate = "Thu Sep 01 00:40:26 1994", X abstract = "Desk-top publishing (DTP) has come to be of major X interest with the spread of computers-that is, the X progress of the printer and image scanner-and with the X development of computer software. DTP was initially X used to print documents and to perform all the X processes required for printing on a table with the aid X of computers. {\TeX} document data is a method that X embeds a {\TeX} command into the text to be printed. X This method is the traditional style, as in the runoff X system, nroff and troff. (10 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing); C6130D (Document X processing techniques)", X keywords = "Desk-top publishing; TEX; Printer; Image scanner; X Document data", X language = "Japanese", X thesaurus = "Desktop publishing", } X @InProceedings{Morris:1991:HTV, X author = "Robert A. Morris and Karl Berry and Kathryn A. X Hargreaves and Dimitrios Liarokapis", X title = "How typeface variation and typographic variation X affect readability at small sizes", X crossref = "Pietrowski:1991:ISI", X pages = "344--352", X year = "1991", X bibdate = "Tue Mar 1 12:57:02 1994", X acknowledgement = ack-kb, } X @Book{Mortensen:1991:RRT, X author = "Niels G. Mortensen", X title = "Ris{\o}-rapporter i {\TeX}. Matematisk og X naturvidenskabelig typografi i praksis (Ris{\o} reports X in {\TeX}. Mathematical and scientific typography in X practice).", X publisher = pub-RISO, X address = pub-RISO:adr, X year = "1991", X ISBN = "87-550-1635-9", X note = "Prepared using {\LaTeX}, and typeset on a Chelgraph X IBX photo-typesetter.", } X @InProceedings{Murata:1992:FHS, X author = "Makoto Murata and Koichi Hayashi", X title = "Formatter Hierarchy for Structured Documents", X crossref = "Vanoirbeek:1992:EPE", X pages = "77--94", X year = "1992", X bibdate = "Thu Dec 29 11:04:16 1994", X acknowledgement = ack-ps, } X @Article{Myhill:1990:PTI, X author = "M. Myhill", X title = "Publishing {\TeX}nical {INFORMATION}: typesetting by X database", X journal = j-PROGRAM, X volume = "24", X number = "3", X pages = "281--289", X month = jul, X year = "1990", X CODEN = "PRGMB", X ISSN = "0033-0337", X bibdate = "Thu Sep 01 00:57:42 1994", X abstract = "Much has been written about the link between desktop X publishing and word-processing systems. Linking a X database management system to a publishing system can X have considerable advantages. At the University of X Exeter Library the {\TeX} typesetting system and the X INFORMATION database management system have been X combined in a number of stages to produce foreign X language bibliographies. (7 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Exeter Univ. Libr., UK", X classification = "C7210L (Library automation); C6160 (Database X management systems (DBMS)); C7108 (Desktop X publishing)", X keywords = "Desktop publishing; Word-processing systems; X University of Exeter Library; TeX typesetting system; X INFORMATION database management system; Foreign X language bibliographies", X thesaurus = "Database management systems; Desktop publishing; X Library automation", } X @PhdThesis{Naiman:1991:UGI, X author = "Avi Naiman", X title = "The Use of Grayscale for Improved Character X Presentation", X type = "Ph.D. Thesis", X school = "University of Toronto", X address = "Toronto, Ontario, Canada", X year = "1991", X bibdate = "Tue Mar 1 12:57:40 1994", X note = "Technical report CSRI-253. To order by mail, send a X letter to ATTN: Technical Reports, Computer Systems X Research Institute, University of Toronto, 6 King's X College Road, Toronto, Ontario M5S 1A1, CANADA, Tel: X (416) 978-8751. The cost is CDN\$16 if inside Canada, X US\$16 if outside. Avi's e-mail address is X \path|avi@cvs.rochester.edu|.", X acknowledgement = ack-kb, } X @Book{Negru:1988:CT, X author = "John Negru", X title = "Computer typesetting", X publisher = pub-VNR, X address = pub-VNR:adr, X pages = "xiv + 185", X year = "1988", X ISBN = "0-442-26696-0", X LCCN = "Z253.3 .N4 1988", X bibdate = "Mon Jul 25 11:56:23 1994", X price = "US\$39.95", X acknowledgement = ack-nhfb, X keywords = "languages", X subject = "J.5 Computer Applications, ARTS AND HUMANITIES, X Linguistics \\ I.7.0 Computing Methodologies, TEXT X PROCESSING, General \\ I.7.2 Computing Methodologies, X TEXT PROCESSING, Document Preparation, X Photocomposition", } X @Book{Nelson:1978:PD, X author = "Roy Paul Nelson", X title = "Publication Design", X publisher = pub-WCB, X address = pub-WCB:adr, X edition = "Second", X pages = "295", X year = "1978", X ISBN = "0-697-04324-X", X LCCN = "Z246 .N44 1978", X bibdate = "Fri Jul 22 09:13:36 1994", X acknowledgement = ack-jpl, X annote = "This is an introductory text suitable for college X level. It comprises a broad survey a design issues X (production, typography, art, book design), with little X in the way of business management.", } X @Book{Nelson:1991:PD, X author = "Roy Paul Nelson", X title = "Publication Design", X publisher = pub-WCB, X address = pub-WCB:adr, X edition = "Fifth", X pages = "xiv + 319", X year = "1991", X ISBN = "0-697-08620-8", X LCCN = "Z246 .N44 1991", X bibdate = "Fri Aug 19 11:31:39 1994", X acknowledgement = ack-nhfb, } X @Article{Noot:1983:STF, X author = "Han Noot", X title = "Structured text formatting", X journal = j-SPE, X volume = "13", X number = "1", X pages = "79--94", X month = jan, X year = "1983", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Thu Jul 21 22:12:03 1994", X abstract = "An abstract format machine is presented which can be X ``microprogrammed'' to yield document formatters. A X high-level language to be used for this X microprogramming is discussed. It contains special X constructs for the manipulation of blocks of text. The X format machine has a design which encourages the X implementation of well-structured and concise sets of X layout directives on it. It incorporates a systematic X strategy for dealing with problems such as the X avoidance of ``widows.'' At various points in this X paper we contrast out approach with that of a number of X recent, well-known text formatting systems.", X acknowledgement = ack-nhfb, } X @Misc{NTG:1989:NTG, X key = "NTG", X title = "Nederlandstalige {\TeX} Gebruikersgroep", X year = "1989" # "\unskip--", X note = "Journal of the NTG (Dutch-speaking {\TeX} Users X Group).", } X @Article{Ohl:1995:DFD, X author = "Thorsten Ohl", X title = "Drawing {Feynman} diagrams with {\LaTeX} and X {\METAFONT}", X journal = j-COMP-PHYS-COMM, X volume = "90", X number = "2--3", X pages = "340--354", X month = oct, X year = "1995", X CODEN = "CPHCBZ", X ISSN = "0010-4655", X bibdate = "Sat Dec 21 15:45:22 MST 1996", X bibsource = "Compendex database", X abstract = "feynMF is a {\LaTeX} package for easy drawing of X professional quality Feynman diagrams with METAFONT (or X METAPOST). feynMF lays out most diagrams satisfactorily X from the structure of the graph without any need for X manual intervention. Nevertheless all the power of X METAFONT (or METAPOST) is available for the most X complicated cases.", X acknowledgement = ack-nhfb, X affiliation = "Technische Hochschule Darmstadt", X affiliationaddress = "Darmstadt, Ger", X classification = "723; 723.5; 921.4; 723.1.1; 902.1; 931.4", X keywords = "Computer software; Computer graphics; Graph theory; X Computer programming languages; Algorithms; Drawing X (graphics); Quantum theory; Feynman diagrams; latex X (programming language); metafont (programming X language)", } X @Article{Ohno:1991:DPS, X author = "Y. Ohno", X title = "Document preparation software", X journal = "Journal of the Institute of Electronics, Information X and Communication Engineers", X volume = "74", X number = "2", X pages = "175--177", X month = feb, X year = "1991", X CODEN = "DJTGE", X ISSN = "0913-5693", X bibdate = "Thu Sep 01 01:14:00 1994", X abstract = "In a monograph for students, text processing concepts X such as WYSIWYG and PageMaker type functions are X explained. The background to the use of {\TeX} and X {\LaTeX} by both Japanese and American mathematical X societies is discussed. (6 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Fac. of Sci. and Technol., Keio Univ., Yokohama, X Japan", X classification = "C6130D (Document processing techniques); C7108 X (Desktop publishing)", X keywords = "Document preparation software; Text processing; X WYSIWYG; PageMaker; TeX; LaTeX", X language = "Japanese", X thesaurus = "Desktop publishing; Software packages; Text editing", } X @Book{Olsak:1995:TST, X author = "Petr Ol{\v{s}}{\'a}k", X title = "Typografick{\'y} syst{\'e}m {\TeX}", X publisher = "CSTUG", X address = "Praha, Czech Republic", X pages = "272", X year = "1995", X ISBN = "80-901950-0-8", X bibdate = "Fri Feb 13 09:05:16 1998", X acknowledgement = ack-nhfb, } X @Book{Olsak:1997:TNC, X author = "Petr Ol{\v{s}}{\'a}k", X title = "{\TeX}book naruby. ({Czech}) [{\TeX}book inside out]", X publisher = "Konvoj", X address = "Berkova 22, Brno, 612 00, Czech Republic", X pages = "467", X year = "1997", X ISBN = "80-85615-64-9", X bibdate = "Tue Dec 31 06:43:10 1996", X price = "250 Kc", X URL = "http://math.feld.cvit.cz/olsak/tbn.html", X abstract = "All internal algorithms of \TeX{} and \TeX{} X primitives are described in detail, with 3000 lines of X examples of illustrating macros. All examples are X extracted in the freely-available file {\tt tbn.mac}. X Part B of the book (150 pages) is a general glossary of X all \TeX{} primitives and macros of plain and X csplain.", X acknowledgement = ack-nhfb, } X @Article{Oman:1990:TSI, X author = "Paul W. Oman and Curtis R. Cook", X title = "Typographic Style is More than Cosmetic", X journal = j-CACM, X volume = "33", X number = "5", X pages = "506--520", X month = may, X year = "1990", X CODEN = "CACMA2", X ISSN = "0001-0782", } X @Article{Palais:1986:MTP, X author = "Richard S. Palais", X title = "Mathematical Text Processing", X journal = j-NAMS, X volume = "33", X number = "1", X pages = "3--7", X month = jan, X year = "1986", X ISSN = "0002-9920", X acknowledgement = ack-hk, } X @Article{Pappas:1989:TIP, X author = "T. L. Pappas", X title = "{\TeX}nology on the {IBM PC}", X journal = j-COMPUTER, X volume = "22", X number = "8", X pages = "111--120", X month = aug, X year = "1989", X CODEN = "CPTRB", X ISSN = "0018-9162", X bibdate = "Thu Sep 01 00:41:20 1994", X abstract = "An overview of the {\TeX} typesetting system is given, X and some of the author's experiences are discussed. He X discusses input, justification and hyphenation, fonts, X math typesetting, macros, device-independent files and X special effects. {\TeX} products are then reviewed. The X author describes the hardware he has used and X recommends a {\TeX} software configuration. (0 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7230 (Publishing and reproduction)", X keywords = "TeXnology; IBM PC; Overview; Typesetting system; X Input; Justification; Hyphenation; Fonts; Math X typesetting; Macros; Device-independent files; Special X effects; Software configuration", X thesaurus = "Computer controlled typesetting", } X @InProceedings{Pappas:1990:LPR, X author = "T. L. Pappas", X booktitle = "Proceedings of Eighth Annual National Conference on X Ada Technology", X title = "Literate programming for reusability: a queue package X example", X publisher = "U.S. Army Commun.-Electron. Command", X address = "Fort Monmouth, NJ, USA", X pages = "500--514", X month = "", X year = "1990", X bibdate = "Wed Aug 31 00:54:39 MDT 1994", X abstract = "Writing reusable software components requires more X than just following coding guidelines. It also requires X that potential clients of a component can easily X understand the documentation associated with the X component. Literate programming, as suggested by D. X Knuth (1983), is concerned with combining code and X documentation in a form that is more easily read by X humans, rather than by compilers. The paper illustrates X the benefits of a literate programming approach to X writing reusable software by presenting a generic X package written in a literate programming style. ADA X WEB, a language for literate programming that combines X Ada and {\TeX}, was used to prepare the paper. (14 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Intermetrics Inc., Warminster, PA, USA", X classification = "C6110B (Software engineering techniques)", X conf_date = "5--8 March 1990", X conf_location = "Atlanta, GA, USA", X conf_sponsor = "Ancost", X keywords = "Queue package; Software components; Documentation; X Literate programming; Generic package; ADA WEB; Ada; X TEX", X pages_whole = "xiv + 669", X thesaurus = "Ada; Programming; Software reusability; System X documentation", } X @Article{Pappas:1990:POL, X author = "T. L. (Frank) Pappas", X title = "{\POSTSCRIPT} output on a {LaserJet} printer", X journal = j-COMPUTER, X volume = "23", X number = "10", X pages = "82--88", X month = oct, X year = "1990", X CODEN = "CPTRB", X ISSN = "0018-9162", X bibdate = "Mon Aug 29 17:27:22 1994", X acknowledgement = ack-nhfb, } X @Article{Pappas:1991:TTD, X author = "T. L. (Frank) Pappas", X title = "{\TeX} typesetting with a difference", X journal = j-COMPUTER, X volume = "24", X number = "6", X pages = "92--93", X month = jun, X year = "1991", X CODEN = "CPTRB", X ISSN = "0018-9162", } X @InProceedings{Partl:1990:HMT, X author = "Hubert Partl", X title = "How to make {\TeX} and {\LaTeX} international", X crossref = "Nadrchal:1990:MMI", X pages = "190--200", X year = "1990", X CODEN = "CPHCB", X bibdate = "Thu Sep 01 01:01:10 1994", X note = "Invited paper.", X abstract = "Originally, the public domain typesetting systems X {\TeX} and {\LaTeX} have been designed for American X standards only. Nowadays, however, they are being used X all over the world and with a lot of different X languages. The author gives an example of the problems X that arise when modifying {\TeX} and {\LaTeX} for X easier application with a language other than X US-English. Hints are added, how similar work might be X performed for all European languages, with special X emphasis on compatibility and portability problems and X on international co-operation. (6 Refs.)", X acknowledgement = ack-rw # " and " # ack-nhfb, X affiliation = "Tech. Univ. of Vienna, Wien, Austria", X annote = "The present article is both a resum{\'e} of a X well-established German standard and a guideline for X other national language styles to be developed.", X classification = "C7106 (Word processing)", X conf_date = "19--28 Sept. 1989", X conf_location = "Skalsky dvur, Czechoslovakia", X conf_sponsor = "EPS; Czechoslovak Acad. Sci.; Union of Czechoslovak X Math. Phys", X keywords = "TeX; LaTeX; Public domain typesetting systems; X European languages; Compatibility; Portability X problems", X thesaurus = "Software packages; Text editing; Word processing", } X @Misc{Partl:1993:DL, X author = "Hubert Partl and Elis. Schlegl and Irene Hyna", X title = "Una Descripci{\'o}n de {\LaTeX}", X year = "1993", X bibdate = "Tue Nov 30 10:08:52 1993", X note = "Spanish translation by Tomas Bautista of German X introduction to {\LaTeX}, {\LaTeX}-Kurzbeschreibung. X Includes material on the {\tt spanish} style option. X Available in Spain from \path=ftp.eunet.es= (also known X as \path=goya.uu.es=) in the directory X \path=info/UNIX/text/TeX/spanish/tutorial=, as well as X from the main {\TeX} archives.", X acknowledgement = ack-ps, } X @Booklet{Pawlowski:1993:LCT, X author = "Wies{\l}aw Paw{\l}owski", X title = "{\LaTeX}, czyli {\TeX} dla ludzi", X howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu", X address = "Bachotek", X year = "1993", X bibdate = "Thu Jun 23 18:23:31 1994", X note = "In Polish.", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X howpublished-l = lang-pl, X title-l = lang-pl, } X @InCollection{Plass:1982:CBL, X author = "Michael F. Plass and Donald E. Knuth", X title = "Choosing better line breaks", X crossref = "Nievergelt:1982:DPS", X chapter = "??", X pages = "221--242", X year = "1982", X bibdate = "Mon Aug 22 14:25:12 1994", X abstract = "This article discusses a new approach to the problem X of dividing the text of a paragraph into lines of X approximately equal length. Instead of simply making X decisions one line at a time, the method considers the X paragraph as a whole, so that the final appearance of a X given line might be influenced by the text on X succeeding lines. A system based on three simple X primitive concepts called ``boxes,'' ``glue,'' and X ``kerns'' provides the ability to deal satisfactorily X with a wide variety of typesetting problems in a X unified framework, using a single algorithm that X determines optimum breakpoints. This algorithm avoids X backtracking by a judicious use of the techniques of X dynamic programming. Extensive computational experience X confirms that the approach is both efficient and X effective in producing high-quality output.", X acknowledgement = ack-nhfb, X keywords = "algorithms; documentation", X review = "ACM CR 40914", X subject = "I.7 Computing Methodologies, TEXT PROCESSING, Text X Editing \\ I.7.2 Computing Methodologies, TEXT X PROCESSING, Document Preparation, Format and notation", } X @Article{Poppelier:1992:BR, X author = "Nico Poppelier and Amy Hendrickson", X title = "Book reviews", X journal = j-NTG, X volume = "92", X number = "1", X pages = "135--138", X month = may, X year = "1992", X bibdate = "Sat May 11 07:33:52 1996", X annote = "Contains reviews of {\em \LaTeX{} for Everyone\/} X \cite{Hahn:1991:LER}, {\em Practical SGML\/} X \cite{Herwijnen:1990:PS}, and {\em \TeX{} by Topic, A X \TeX{}nician's Reference\/} \cite{Eijkhout:1992:TTT}.", X keywords = "reviews", } X @Article{Poppelier:1992:BRJ, X author = "Nico Poppelier", X title = "Book reviews: {Jane Hahn, {\em \LaTeX} for X Everyone\/}; {Eric van Herwijnen, {\em Practical X SGML}}", X journal = j-TUGboat, X volume = "13", X number = "2", X pages = "182--184", X month = jul, X year = "1992", X bibdate = "Tue Mar 1 12:07:33 1994", X annote = "Contains reviews of {\em \LaTeX{} for Everyone\/} X \cite{Hahn:1991:LER}, and {\em Practical SGML\/} X \cite{Herwijnen:1990:PS}.", } X @InProceedings{Porter:1992:DRA, X author = "Gilbert B. {Porter III} and Emil V. Rainero", X title = "Document Reconstruction: {A} System for Recovering X Document Structure from Layout", X crossref = "Vanoirbeek:1992:EPE", X pages = "127--141", X year = "1992", X bibdate = "Thu Dec 29 11:04:17 1994", X acknowledgement = ack-ps, } X @Book{Porter:1997:MTN, X author = "Richard D. Porter", X title = "Math into Type: The Next Generation", X publisher = pub-AMS, X address = pub-AMS:adr, X pages = "120", X year = "1997", X ISBN = "0-8218-0644-0", X LCCN = "", X bibdate = "Thu Jan 30 17:05:24 1997", X price = "US\$19.00", X acknowledgement = ack-nhfb, } X @InCollection{Rahtz:1987:PW, X author = "Sebastian Rahtz", X title = "The processing of words", X crossref = "Rahtz:1987:ITH", X pages = "69--79", X year = "1987", X bibdate = "Mon Aug 22 14:25:29 1994", X acknowledgement = ack-nhfb, X keywords = "human factors", X review = "ACM CR 8803-0222", X subject = "I.7.0 Computing Methodologies, TEXT PROCESSING, X General \\ J.5 Computer Applications, ARTS AND X HUMANITIES \\ K.3.0 Computing Milieux, COMPUTERS AND X EDUCATION, General", } X @TechReport{Rahtz:1989:STG, X author = "Sebastian Rahtz", X title = "A Survey of {\TeX} and Graphics", X number = "CSTR 89-7", X institution = "University of Southampton", X address = "Department of Electronics and Computer Science, X Southampton SO9 5NH, UK", X month = oct, X year = "1989", X bibdate = "Tue Mar 1 12:54:12 1994", } X @Book{Reid:1988:PLP, X author = "Glenn C. Reid", X title = "{\POSTSCRIPT} Language Program Design", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xii + 224", X year = "1988", X ISBN = "0-201-14396-8", X LCCN = "QA76.73.P67 R45 1988", X bibdate = "Tue Dec 14 23:17:57 1993", } X @Article{Revesz:1991:TOM, X author = "G. E. Revesz", X title = "On translating ordinary mathematical notation", X journal = j-STRUCTURED-PROGRAMMING, X volume = "12", X number = "3", X pages = "115--122", X month = "", X year = "1991", X CODEN = "STPGE", X ISSN = "0935-1183", X bibdate = "Thu Sep 01 01:15:09 1994", X abstract = "The abstract mathematical description of an algorithm X is usually much better for human consumption than its X implementation in a conventional programming language. X The aim is to use ordinary mathematical notation as a X program development tool for certain applications. The X author illustrates some ideas via an experimental X translator which translates mathematical formulas to X Pascal statements. More precisely, a combination of X ordinary mathematical notation and conventional style X control structures and declarations is used as the X programming language. But, because of the X two-dimensional nature of ordinary mathematical X notation, the proper display of source programs X requires some special tools. Given the popularity of X the {\TeX} type-setting system, the author decided to X encode the source programs in plain {\TeX}. The X experimental translator has four phases: the first X phase is a lexical analyzer (tokenizer) which deals X primarily with the decoding of the {\TeX} notation; the X second phase is a preprocessor which analyses the X declarations and performs other pattern matching X functions; the third is the actual parser; and the X fourth phase is the code generator. (6 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "IBM Corp., Thomas J. Watson Res. Center, Yorktown, NY, X USA", X classification = "C6110 (Systems analysis and programming); C6150C X (Compilers, interpreters and other processors); C6140D X (High level languages)", X keywords = "Abstract mathematical description; Ordinary X mathematical notation; Program development tool; X Experimental translator; Pascal statements; X Conventional style control structures; Declarations; X Programming language; Two-dimensional nature; Source X programs; TeX type-setting system; Lexical analyzer; X Tokenizer; TeX notation; Preprocessor; Pattern matching X functions; Parser; Code generator", X thesaurus = "Pascal; Program compilers; Program interpreters; X Structured programming; Word processing", } X @Book{Rice:1978:BDT, X author = "Stanley Rice", X title = "Book Design---Text Format Models", X publisher = pub-BOWK, X address = pub-BOWK:adr, X pages = "xiv + 215", X year = "1978", X ISBN = "0-8352-1045-6", X LCCN = "Z245 R5 1978", X bibdate = "Fri Jul 22 09:14:04 1994", X price = "US\$17.50", X acknowledgement = ack-dh, } X @Book{Rolland:1993:LGP, X author = "Christian Rolland", X title = "{\LaTeX} guide pratique", X publisher = pub-AW, X address = pub-AW:adr, X pages = "280", X month = jul, X year = "1993", X ISBN = "2-87908-025-8", X bibdate = "Tue Dec 14 10:38:20 1993", X note = "Distributed by Bourdas, code 009808.", X price = "FF 190", X acknowledgement = ack-ps, } X @Book{Rolland:1995:LGP, X author = "Christian Rolland", X title = "{\LaTeX}: guide pratique", X publisher = pub-AW-FRANCE, X address = pub-AW-FRANCE:adr, X edition = "Deuxi{\`e}me", X pages = "xix + 345", X year = "1995", X ISBN = "2-87908-104-1", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X acknowledgement = ack-nhfb, X annote = "Un syst{\`e}me performant pour la pr{\'e}paration de X documents.", X keywords = "{\LaTeX} (syst{\`e}me informatique)", } X @InProceedings{Romberger:1985:ATL, X author = "Staffan Romberger and Yngve Sundblad", X title = "Adapting {\TeX} to {Languages} that use {Latin} X {Alphabetic Characters}", X crossref = "Lucarella:1985:PFE", X pages = "27--40", X year = "1985", X bibdate = "Tue Mar 1 12:57:06 1994", X acknowledgement = ack-hk, } X @TechReport{Rosset:1984:SSA, X author = "J.-L. {Rosset, editor}", X title = "{S.A.PR.I.S.T.I}. (Syst\`eme Assist\'e de {PR}oduction X Int\'egrant Simplement Textes et Images)", X type = "Suppl\'ement au No.", X number = "65", X institution = inst-CIRCE, X address = inst-CIRCE:adr, X year = "1984", X bibdate = "Tue Mar 1 12:54:15 1994", X acknowledgement = ack-hk, } X @Article{Rosson:1988:DUB, X author = "Mary B. Rosson and Wendy Kellogg and Susanne Maass", X title = "The designer as user: building requirements for design X tools from design practice", X journal = j-CACM, X volume = "31", X number = "11", X pages = "1288--1298", X month = nov, X year = "1988", X CODEN = "CACMA2", X ISSN = "0001-0782", X bibdate = "Thu Jul 21 22:43:20 1994", X note = "From {\em Computing Reviews\/}: ``InterViews objects X are combined through a model similar to the boxes and X glues in Knuth's {\TeX}, which allows interface objects X to be combined with little concern for undesired X interactions.''", X acknowledgement = ack-nhfb, } X @Book{Roth:1988:RWP, X editor = "Stephen E. Roth", X title = "Real World {{\POSTSCRIPT}}", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xiv + 383", X year = "1988", X ISBN = "0-201-06663-7", X LCCN = "Z286.D47 R4 1988", X bibdate = "Wed Dec 15 18:12:59 1993", } X @Book{Roy:1984:TWT, X author = "Yves Roy", X title = "{\TeX\slash WEB}, et le traitement de textes X math\'ematiques", X publisher = pub-MASSON, X address = pub-MASSON:adr, X year = "1984", X bibdate = "Sat Feb 10 08:47:31 1996", X acknowledgement = ack-hk, } X @Book{Rubinstein:1988:DTI, X author = "Richard Rubinstein", X title = "Digital Typography\emdash An Introduction to Type and X Composition for Computer System Design", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xi + 340", X month = nov, X year = "1988", X ISBN = "0-201-17633-5", X LCCN = "Z253.3 .R8 1988", X bibdate = "Fri Jul 22 09:15:20 1994", X note = "Reprinted with corrections", X price = "US\$32.25", X acknowledgement = ack-nhfb # " and " # ack-fm, X keywords = "computerized typesetting, type and typefounding, data X processing, electronic publishing, bibliography X annotated", } X @Book{Ruder:1988:TG, X author = "Emil Ruder", X title = "Typographie; Ein Gestaltungsbuch", X publisher = pub-NIGGLI, X address = pub-NIGGLI:adr, X edition = "Fifth revised", X year = "1988", X bibdate = "Tue Mar 1 12:08:26 1994", X note = "Contains complete English and French translation.", X acknowledgement = ack-fm, X annote = "Excellent book about typography and design. Contains X many examples of the explained concepts. The main focus X is on individual typography as an art.", X keywords = "layout, typography, design, fonts", } X @TechReport{Ruggles:1983:LDS, X author = "Lynn Ruggles", X title = "Letterform Design Systems", X number = "STAN-CS-83-971", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = apr, X year = "1983", X bibdate = "Sat Feb 10 15:00:44 1996", } X @Book{Rybicka:1995:PZ, X author = "Ji{\v{r}}i Rybi{\v{c}}ka", X title = "{\LaTeX} pro za{\v{c}}{\'a}te{\v{c}}n{\'{\i}}ky", X publisher = "Konvoy", X address = "Brno, Czech Republic", X pages = "169", X year = "1995", X ISBN = "80-85615-42-8", X bibdate = "Sat Mar 07 18:35:26 1998", X acknowledgement = ack-nhfb, } X @Booklet{Rycko:1993:CNA, X author = "Marek Ry{\'c}ko", X title = "Co nieco o akapicie", X howpublished = "broszura z konferencji cz{\l}onk{\'o}w GUSTu", X address = "Bachotek", X year = "1993", X bibdate = "Thu Jun 23 18:23:33 1994", X note = "In Polish.", X acknowledgement = ack-md, X address-l = lang-pl, X author-l = lang-pl, X howpublished-l = lang-pl, X title-l = lang-pl, } X @Book{Salomon:1995:AT, X author = "David Salomon", X title = "The Advanced {\TeX}book", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xx + 490", X year = "1995", X ISBN = "0-387-94556-3", X LCCN = "Z253.4.T47 S25 1995", X bibdate = "Wed Nov 08 16:46:55 1995", X price = "US\$39.95", X acknowledgement = ack-nhfb, } X @TechReport{Samuel:1983:FGT, X author = "Arthur Samuel", X title = "First Grade {\TeX}. {A} Beginner's {\TeX} Manual", X number = "STAN-CS-83-985", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = nov, X year = "1983", X bibdate = "Sat Feb 10 15:01:14 1996", X note = "Also published by TUG as {\TeX}niques No.~11.", } X @Article{Sankar:1989:ASG, X author = "S. Sankar", X title = "{APE}\emdash a set of {\TeX} macros to format {Ada} X programs", X journal = j-SIGADA-LETTERS, X volume = "9", X number = "7", X pages = "114--128", X month = nov # "\slash " # dec, X year = "1989", X CODEN = "AALEE", X ISSN = "0736-721X", X bibdate = "Sat Nov 12 21:50:04 1994", X abstract = "Describes a set of macros designed for the purpose of X formatting Ada programs in T/sub E/X. These macros were X implemented by the author in early 1987, and they have X been refined a few times since. They have also been X extended for the language extensions of Ada developed X by the Program Analysis and Verification Group at X Stanford University. These macros exist as one X collection in a file which is included into the X document using the mod input command. This file is X available on request from the author. The design of the X macros were motivated by the program example X environment in Scribe. It is for this reason that they X have been named APE, which is an acronym for `Ada X Program-Example'. The macros are of two kinds-global X macros and local macros. The global macros are visible X throughout the scope in which the input command has X been inserted. (4 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Comput. Sci., Stanford Univ., CA, USA", X classification = "C6140D (High level languages)", X keywords = "TEX; APE; TeX macros; Format Ada programs; Ada X Program-Example; Global macros; Local macros; X languages", X subject = "D.2.3 Software, SOFTWARE ENGINEERING, Coding \\ D.3.2 X Software, PROGRAMMING LANGUAGES, Language X Classifications, Ada", X thesaurus = "Ada; Macros", } X @Book{Sawyer:1995:TPS, X author = "Stanley A. Sawyer and Steven Krantz", X title = "A {\TeX} Primer for Scientists", X publisher = pub-CRC, X address = pub-CRC:adr, X pages = "viii + 399", X year = "1995", X ISBN = "0-8493-7159-7", X bibdate = "Wed Jan 04 08:23:09 1995", X price = "US\$29.95", X acknowledgement = ack-nhfb, } X @Article{Scavo:1993:TM, X author = "Tom Scavo and Yannis Haralambous and Werenfried Spit", X title = "{\TeX} on the Macintosh", X journal = j-NAMS, X volume = "40", X number = "10", X pages = "1353--1360", X month = dec, X year = "1993", X ISSN = "0002-9920", X bibdate = "Thu Dec 29 10:55:24 1994", X acknowledgement = ack-ps, } X @Book{Scherber:1994:OST, X author = "Peter Scherber", X title = "Offizin\emdash Schrift\-en\-reihe zu {\TeX}, {\LaTeX}, X und Metafont (Band 1, Hrsg. von {DANTE} e.{V})", X publisher = pub-AW, X address = pub-AW:adr, X pages = "x + 159", X year = "1994", X ISBN = "3-89319-396-0", X bibdate = "Sat Mar 07 09:53:36 1998", X price = "DM 49,00", X acknowledgement = ack-ps # " and " # ack-nhfb, } X @Misc{Schrell:1993:DTS, X editor = "Andreas Schrell", X key = "Schrell:1993:DSW", X title = "{DANTE-\TeX}-Stammtisch in Wuppertal: Jahrbuch X 1992/93", X pages = "80", X year = "1993", X bibdate = "Tue Mar 1 12:09:25 1994", X acknowledgement = ack-rz, } X @Article{Schrod:1991:IVM, X author = "Joachim Schrod", X title = "An International Version of {\em {MakeIndex}}", X journal = j-GUTENBERG, X volume = "10--11", X pages = "81--90", X month = sep, X year = "1991", } X @Book{Schumann:1989:PBT, X author = "Lothar Schumann", X title = "{Professioneller Buchsatz mit \TeX}", X publisher = pub-OLDENBOURG, X address = pub-OLDENBOURG:adr, X pages = "viii + 336", X year = "1989", X ISBN = "3-486-21173-0", X bibdate = "Sat Mar 7 09:55:30 1998", X acknowledgement = ack-nhfb, } X @Book{Schumann:1991:PBT, X author = "Lothar Schumann", X title = "{Professioneller Buchsatz mit \TeX: Lehrbuch f{\"u}r X Anwender}", X publisher = pub-OLDENBOURG, X address = pub-OLDENBOURG:adr, X pages = "viii + 336", X year = "1991", X ISBN = "3-486-21736-4", X bibdate = "Sat Mar 07 09:55:49 1998", X acknowledgement = ack-ps, } X @Book{Schwartz:1988:WYA, X author = "Laurens R. Schwartz", X title = "What You Aren't Supposed To Know About Writing And X Publishing: An Expos{/'e} of Editors, Agents, X Publishing Houses, and More \emdash{} An Insider's X Report", X publisher = pub-SP, X address = pub-SP:adr, X pages = "viii + 173", X year = "1988", X ISBN = "0-944007-02-3", X LCCN = "KF300.Z9 S35 1988", X bibdate = "Tue Mar 1 12:58:57 1994", X acknowledgement = ack-jpl, X annote = "Satirical (gallows?) humor providing anecdotal insight X into the publishing world from someone who's had a lot X of different jobs in the trade. Down-to-earth X information and really funny.", } X @Book{Schwartz:1992:LSS, X author = "Stefan Schwartz and Rudolf Potu{\v{c}}ek", X title = "{\LaTeX}\emdash {Satzkunst} statt {DTP} X ({\LaTeX}\emdash The Art of Typography rather than X {DTP})", X publisher = pub-VOGEL, X address = pub-VOGEL:adr, X pages = "106", X year = "1992", X ISBN = "3-8023-1178-7", X bibdate = "Sat Mar 07 09:56:40 1998", X price = "DM34.00", X acknowledgement = ack-nhfb, } X @Book{Schwarz:1988:ET, X author = "Norbert Schwarz", X title = "Einf{\"u}hrung in {\TeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Second", X pages = "272", X year = "1988", X ISBN = "3-925118-97-7", X bibdate = "Tue Mar 1 12:10:26 1994", X note = "Available in English translation, X \cite{Krieger:1990:IT}, and in Dutch translation, X \cite{Schwarz:1990:IT}.", X xxnote = "Duplicate ISBN with \cite{Schwarz:1991:ET}.", } X @Book{Schwarz:1990:ET, X author = "Norbert Schwarz", X title = "Einf{\"u}hrung in {\TeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Second extended", X pages = "272", X year = "1990", X ISBN = "3-925118-97-7", X bibdate = "Tue Mar 1 12:10:26 1994", X note = "Available in English translation, X \cite{Krieger:1990:IT}, and in Dutch translation, X \cite{Schwarz:1990:IT}.", X xxnote = "Duplicate ISBN with \cite{Schwarz:1991:ET}.", } X @Book{Schwarz:1990:IT, X author = "Norbert Schwarz", X title = "Inleiding {\TeX}", X publisher = pub-AWE, X address = pub-AWE:adr, X pages = "282", X year = "1990", X ISBN = "90-6789-151-7", X bibdate = "Wed Apr 19 10:42:24 1995", X note = "Dutch translation of \cite{Schwarz:1988:ET}. See also X the English translation, \cite{Krieger:1990:IT}.", } X @Book{Schwarz:1991:ET, X author = "Norbert Schwarz", X title = "Einf{\"u}hrung in {\TeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Third", X pages = "336", X year = "1991", X ISBN = "3-925118-97-7", X bibdate = "Tue Mar 1 12:10:26 1994", X note = "Available in English translation, X \cite{Krieger:1990:IT}, and in Dutch translation, X \cite{Schwarz:1990:IT}.", X xxnote = "Duplicate ISBN with \cite{Schwarz:1988:ET}.", } X @Book{Schwarz:1997:TRF, X author = "Stefan Schwarz and Rudolf Potu{\v{c}}ek", X title = "Das {\TeX}ikon: Referenzhandbuch f{\"u}r {\TeX} und X {\LaTeX}", X publisher = pub-AW, X address = pub-AW:adr, X pages = "774", X year = "1997", X ISBN = "3-89319-690-0", X LCCN = "", X bibdate = "Sat Mar 07 09:34:01 1998", X price = "DM 69,90", X acknowledgement = ack-nhfb, } X @InProceedings{Semenzato:1992:AAL, X author = "Luigi Semenzato and Edward Wang", X title = "Aleph: {A} Language for Typesetting", X crossref = "Vanoirbeek:1992:EPE", X pages = "65--75", X year = "1992", X bibdate = "Thu Dec 29 11:04:19 1994", X acknowledgement = ack-ps, } X @Book{Seroul:1989:PLT, X author = "Raymond Seroul", X title = "Le petit Livre de {\TeX}", X publisher = pub-IE, X address = pub-IE:adr, X pages = "317", X year = "1989", X ISBN = "2-7296-0233-X", X bibdate = "Wed Jul 6 14:54:52 1994", X acknowledgement = ack-nhfb, } X @Book{Seroul:1991:BBT, X author = "Raymond Seroul and Silvio Levy", X title = "A Beginner's Book of {\TeX}", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xii + 282", X year = "1991", X ISBN = "0-387-97562-4, 3-540-97562-4", X LCCN = "Z253.4.T47 S47 1991", X bibdate = "Fri Jul 22 09:17:14 1994", X note = "This is a translation and adaption by Silvio Levy of X \cite{Seroul:1989:PLT}.", X acknowledgement = ack-nhfb, } X @Book{Sewell:1989:WPL, X author = "E. Wayne Sewell", X title = "Weaving a Program: Literate Programming in {\WEB}", X publisher = pub-VNR, X address = pub-VNR:adr, X pages = "xx + 556", X year = "1989", X ISBN = "0-442-31946-0", X LCCN = "QA76.73.W24 S491 1989", X bibdate = "Mon Jul 25 11:32:59 1994", X price = "US\$34.95", X keywords = "algorithms; design; documentation; experimentation; X languages", X review = "ACM CR 9007-0537", X subject = "D.2.7 Software, SOFTWARE ENGINEERING, Distribution and X Maintenance, Documentation \\ I.7.1 Computing X Methodologies, TEXT PROCESSING, Text Editing, TeX \\ X D.3.2 Software, PROGRAMMING LANGUAGES, Language X Classifications, Pascal \\ D.2.2 Software, SOFTWARE X ENGINEERING, Tools and Techniques, Top-down programming X \\ D.2.3 Software, SOFTWARE ENGINEERING, Coding, Pretty X printers \\ I.7.1 Computing Methodologies, TEXT X PROCESSING, Text Editing, WEB \\ D.2.7 Software, X SOFTWARE ENGINEERING, Distribution and Maintenance, X Portability", } X @InCollection{Seybold:1982:DPS, X author = "J. W. Seybold", X title = "Document preparation systems and commercial X typesetting", X crossref = "Nievergelt:1982:DPS", X pages = "243--264", X year = "1982", X bibdate = "Mon Aug 22 14:25:31 1994", X acknowledgement = ack-nhfb, X keywords = "design; documentation; human factors; theory", X review = "ACM CR 40431", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Format and notation \\ I.7.2 X Computing Methodologies, TEXT PROCESSING, Document X Preparation, Photocomposition", } X @Article{Sherborne:1990:RGC, X author = "B. S. Sherborne and G. E. Stedman", X title = "Recursive generation of Cartesian angular momentum X coupling trees for {SO}(3)", X journal = j-COMP-PHYS-COMM, X volume = "59", X number = "2", X pages = "417--428", X month = jun, X year = "1990", X CODEN = "CPHCB", X ISSN = "0010-4655", X bibdate = "Thu Sep 01 01:01:57 1994", X abstract = "Two computer algorithms are evaluated for the X reduction of angular momentum coupling trees with X vector ($j=1$) terminals with a Cartesian choice of X basis as used in nonlinear optics. Rather than employ X advanced tensor algebra, both methods essentially X iterate in distinct ways the basic techniques of X angular momentum coupling. Turbo Pascal programs X implementing these algorithms are presented and X compared. The accompanying analysis integrates the X Cartesian tensor approach and the diagrammatic approach X to the solution of problems in nonlinear optics. The X programs generate {\TeX} files for the relevant angular X momentum diagrams. (13 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Phys., Canterbury Univ., Christchurch, New X Zealand", X classification = "A4265 (Nonlinear optics); A0270 (Computational X techniques); A0220 (Group theory); A0210 (Algebra, set X theory, and graph theory); C7320 (Physics and X Chemistry)", X keywords = "Recursive generation; Cartesian angular momentum X coupling trees; SO(3); Computer algorithms; Vector; X Nonlinear optics; Turbo Pascal programs; Tensor X approach; Diagrammatic approach; TeX files", X thesaurus = "Angular momentum theory; Microcomputer applications; X Nonlinear optics; Physics computing; SO groups; X Software packages; Tensors; Trees [mathematics]; X Vectors", } X @Book{Shirokov:1994:PPS, X author = "Boris Shirokov", X title = "{PC}{\TeX}. Prostoi sposob iziaschnogo oformleniia X mathematicheskikh tekstov: uchebnoe posobie \toenglish X {PC{\TeX}}. {Simple} method of elegant markup of X mathematical texts: textbook \endtoenglish", X publisher = "Petrozavodsk State University", X address = "Petrozavodsk, Russia", X pages = "80", X year = "1994", X ISBN = "5-230-08971-7", X bibdate = "Wed Jan 04 08:16:39 1995", X note = "This small manual talks about working with {\TeX} on X IBM PC compatible computers (not about PC{\TeX}!).", X acknowledgement = ack-ps, } X @Book{Shultis:1994:LNP, X author = "J. Kenneth Shultis", X title = "{\LaTeX} Notes: Practical Tips for Preparing Technical X Documents", X publisher = pub-PTRPH, X address = pub-PTRPH:adr, X pages = "xi + 180", X year = "1994", X ISBN = "0-13-120973-6", X LCCN = "Z253.4.L38 S48 1994", X bibdate = "Thu May 12 08:36:58 1994", X price = "US\$32.00", X acknowledgement = ack-nhfb, } X @Article{Siebenmann:1986:TWU, X author = "L. C. Siebenmann", X title = "Toward {Wider Use} of {\TeX Typesetting}. {A} X {Pre}--{\TeX Manifesto}", X journal = j-NAMS, X volume = "33", X number = "4", X pages = "597--607", X month = aug, X year = "1986", X ISSN = "0002-9920", X acknowledgement = ack-hk, } X @TechReport{Siegel:1985:EPA, X author = "David R. Siegel", X title = "The {Euler Project} at {Stanford}", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X year = "1985", X bibdate = "Sat Feb 10 15:01:16 1996", } X @Book{Siemoneit:1989:TG, X author = "Manfred Siemoneit", X title = "{Typographisches Gestalten}", X publisher = pub-POLYGRAPH, X address = pub-POLYGRAPH:adr, X edition = "Second", X year = "1989", X bibdate = "Tue Mar 1 12:59:34 1994", X acknowledgement = ack-fm, X annote = "An excellent book on typographic design. Covers almost X all principles of high quality typography. (Written in X German.)", X keywords = "layout, typography, design", } X @Book{Simon:1987:SCO, X author = "John J. {Simon, Jr.}", X title = "From sand to circuits and other inquiries", X publisher = pub-HARVARD-INFO-TECH, X address = pub-HARVARD-INFO-TECH:adr, X pages = "xi + 271", X year = "1987", X ISBN = "0-674-32575-3", X LCCN = "QA76.24 .F76 1986, T185.F76 1986, TK7828 .S48 1986", X bibdate = "Mon Jul 25 11:57:30 1994", X note = "Includes chapter on computer typesetting.", X price = "US\$24.95", X acknowledgement = ack-nhfb, X keywords = "human factors; design", X review = "ACM CR 8708-0653", X subject = "K.2 Computing Milieux, HISTORY OF COMPUTING, Hardware X \\ K.2 Computing Milieux, HISTORY OF COMPUTING \\ K.2 X Computing Milieux, HISTORY OF COMPUTING, Systems", } X @Book{Skillin:1974:WT, X author = "Marjorie E. Skillin and Robert Malcolm Gay", X title = "Words into Type", X publisher = pub-PH, X address = pub-PH:adr, X edition = "Third", X pages = "xx + 583", X year = "1974", X ISBN = "0-13-964262-5", X LCCN = "PN160.S52 1974", X bibdate = "Sun Mar 6 17:34:11 1994", X price = "US\$39.95", X acknowledgement = ack-jpl, } X @InProceedings{Smith:1989:CLF, X author = "N. E. Smith", X title = "Coping with a large {Forth} system", X crossref = "Forsley:1989:RFC", X pages = "113--115", X year = "1989", X bibdate = "Fri Feb 09 18:09:45 1996", X abstract = "The PUBlicationS (PUBS) Software System extracts X bibliographic data from the DOE Energy Data Base and X automatically inserts typesetting commands so no manual X intervention is necessary before typesetting a X publication using {\TeX}. This system processes about X 40 DOE publications of four major classes. PUBS X contains over 30,000 lines of code in 150+modules. This X paper addresses how SAIC programmers cope with a Forth X system of this size. The conditional compilation X approach used is described. (0 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Sci. Applications Int. Corp., Oak Ridge, TN, USA", X classification = "C7230 (Publishing and reproduction); C6150C X (Compilers, interpreters and other processors); C6110 X (Systems analysis and programming)", X keywords = "TeX; Conditional compilation; Large Forth system; X Bibliographic data; DOE Energy Data Base; Typesetting X commands; DOE publications; SAIC programmers; X Conditional compilation", X language = "English", X pub_country = "USA", X thesaurus = "Program compilers; Publishing; Text editing", } X @InProceedings{Smith:1990:PCS, X author = "N. E. Smith", X booktitle = "1990 Rochester Forth Conference: Embedded Systems", X title = "Parsing character strings in Forth", X publisher = inst-APPL-FORTH-RES, X address = inst-APPL-FORTH-RES:adr, X pages = "133--134", X month = "", X year = "1990", X ISBN = "0-914593-10-2", X LCCN = "QA76.73.F24 R59 1990", X bibdate = "Sat Sep 17 11:20:21 1994", X abstract = "Forth is well suited to parsing character strings. The X paper discusses the Forth program developed to X translate human understandable special character X representations in the database into {\TeX} commands X for typesetting. This program is part of the X Publications (PUBS) Software System at the DOE Office X of Scientific and Technical Information which is used X to generate approximately 40 DOE bibliographic X publications. Special characters include math and Greek X symbols which are not part of the ASCII character set. X An alpha is represented as (Alpha) in the database, but X must be translated for typesetting with {\TeX}. X Characters and symbols can be sub/superscripted to form X equations such as H(sub 2)O to typeset $H_2O$. Symbol X nesting is supported. (0 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Sci. Applications Int. Corp., Oak Ridge, TN, USA", X classification = "C6130 (Data handling techniques)", X conf_date = "12--16 June 1990", X conf_location = "Rochester, NY, USA", X conf_sponsor = "Harris Semicond.; Miller Microcomput. Services; NASA; X et al", X keywords = "Substring parsing; Maths symbols; TSPECIAL; X Mathematical symbols; Parameter stack; Forth program; X Human understandable special character representations; X TeX commands; Publications; Greek symbols", X language = "English", X pages_whole = "ix + 176", X pub_country = "USA", X thesaurus = "Character sets; Computer controlled typesetting; Data X handling", } X @Article{Smith:1991:ABL, X author = "Lisa M. C. Smith and Mansur H. Samadzadeh", X title = "An Annotated Bibliography of Literate Programming", X journal = j-SIGPLAN, X volume = "26", X pages = "14--20", X month = jan, X year = "1991", X CODEN = "SINOD", X ISSN = "0362-1340", } X @Book{Snow:1992:TB, X author = "Wynter Snow", X title = "{\TeX} for the Beginner", X publisher = pub-AW, X address = pub-AW:adr, X pages = "xii + 377", X year = "1992", X ISBN = "0-201-54799-6", X LCCN = "Z253.4.T47 S64 1992", X bibdate = "Fri Jul 22 09:18:21 1994", X acknowledgement = ack-bnb, } X @InProceedings{Soiffer:1995:MTM, X author = "N. Soiffer", X title = "Mathematical Typesetting in {Mathematica}", X crossref = "Levelt:1995:IPI", X pages = "140--149", X year = "1995", X bibdate = "Mon Apr 8 10:31:32 MDT 1996", X acknowledgement = ack-nhfb, } X @TechReport{Southall:1985:DNT, X author = "Richard Southall", X title = "Designing New Typefaces with {Metafont}", X number = "STAN-CS-85-1074", X institution = inst-STANFORD, X address = inst-STANFORD:adr, X month = sep, X year = "1985", X bibdate = "Sat Feb 10 15:01:18 1996", } X @InProceedings{Southall:1985:MPD, X author = "Richard Southall", X title = "{\METAFONT} and the problem of type design", X crossref = "Andre:1985:TIJ", X pages = "133--145", X year = "1985", X bibdate = "Tue Mar 1 12:57:09 1994", X acknowledgement = ack-hk, } X @InProceedings{Southall:1992:PRR, X author = "Richard Southall", X title = "Presentation Rules and Rules of Composition in the X Formatting of Complex Text", X crossref = "Vanoirbeek:1992:EPE", X pages = "275--290", X year = "1992", X bibdate = "Thu Dec 29 11:04:20 1994", X acknowledgement = ack-ps, } X @Book{Sowa:1994:TLG, X author = "Friedhelm Sowa", X title = "{{\TeX\slash \LaTeX} und Graphik: Eine {\"U}berblick X {\"u}ber die Verfahren \toenglish {\TeX}/{\LaTeX} and X Graphics: A Survey of the Methods \endtoenglish}", X publisher = pub-SV, X address = pub-SV:adr, X pages = "xv + 115", X year = "1994", X ISBN = "3-540-56468-3", X bibdate = "Sat Mar 07 18:56:54 1998", X price = "DM39.00", X acknowledgement = ack-rz, } X @Book{Spivak:1980:JTG, X author = "M. Spivak", X title = "The Joy of {TEX}: {A} Gourmet Guide to Typesetting X Technical Text by Computer: With Numerous Explicit X Illustrations (Version 1)", X publisher = pub-AMS, X address = pub-AMS:adr, X pages = "134", X year = "1980", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X price = "US\$9.00", X acknowledgement = ack-nhfb, X subject = "H.1 Information Systems, MODELS AND PRINCIPLES, X Miscellaneous \\ H.4 Information Systems, INFORMATION X SYSTEMS APPLICATIONS, Miscellaneous", } X @Manual{Spivak:1985:PM, X author = "Michael D. Spivak", X title = "{PC\TeX} Manual", X publisher = pub-PTI, X address = pub-PTI:adr, X year = "1985", } X @Book{Spivak:1986:JTG, X author = "Michael D. Spivak", X title = "The Joy of {\TeX}\emdash{} {A} Gourmet Guide to X Typesetting with the {\AMSTEX} macro package", X publisher = pub-AMS, X address = pub-AMS:adr, X pages = "xviii + 290", X year = "1986", X ISBN = "0-8218-2999-8", X LCCN = "Z253.4.T47 S6731 1986", X bibdate = "Wed Dec 15 10:41:57 1993", } X @Manual{Spivak:1986:MPT, X author = "Michael D. Spivak", X title = "Manual ``{PC\TeX}'' ou {\TeX} en 9~le{\c{c}}ons", X publisher = inst-CIRCE, X address = inst-CIRCE:adr, X year = "1986", X note = "French translation of \cite{Spivak:1985:PM}.", } X @Book{Spivak:1989:LS, X author = "Michael D. Spivak", X title = "{L\AMSTEX}, The Synthesis", X publisher = pub-TEXPLORATORS, X address = pub-TEXPLORATORS:adr, X pages = "viii + 289", X year = "1989", X bibdate = "Sat Mar 12 18:20:15 1994", X acknowledgement = ack-nhfb, } X @Book{Spivak:1990:JTG, X author = "Michael D. Spivak", X title = "The Joy of {\TeX}\emdash{} {A} Gourmet Guide to X Typesetting with the {\AmSTeX} macro package", X publisher = pub-AMS, X address = pub-AMS:adr, X edition = "2nd revised", X pages = "xxii + 309", X year = "1990", X ISBN = "0-8218-2997-1", X LCCN = "Z253.4.T47 S6731 1990", X bibdate = "Wed Jul 6 13:55:42 1994", X price = "US\$40.00", X acknowledgement = ack-nhfb, } X @Book{Spivak:1991:LWM, X author = "Michael D. Spivak", X title = "The {\LAMSTeX} Wizard's Manual", X publisher = pub-TEXPLORATORS, X address = pub-TEXPLORATORS:adr, X year = "1991", X bibdate = "Tue Mar 15 19:13:42 1994", } X @Book{Spivak:1993:VT, X author = "Michael D. Spivak", X title = "Voskhititel'nii {\TeX} \toenglish {Joy} of {\TeX} X \endtoenglish", X publisher = pub-MIR, X address = pub-MIR:adr, X pages = "285", X year = "1993", X ISBN = "5-03-001942-1", X bibdate = "Wed Dec 28 09:18:07 1994", X note = "Russian translation of {\em The Joy of {\TeX}}. X Translated by Irina Makhovaya and edited by Andrei X Khodulev. First book about {\TeX} in Russian. First X press run: 7000 copies.", X acknowledgement = ack-ps, } X @Book{Srinivasan:1993:UDP, X author = "Balasubramaniam Srinivasan", X title = "{UNIX} Document Processing and Typesetting", X publisher = pub-WORLD-SCI, X address = pub-WORLD-SCI:adr, X pages = "xiv + 445", X year = "1993", X ISBN = "981-02-0605-4", X LCCN = "Z52.5.U54S65 1993", X bibdate = "Wed Aug 10 12:23:20 1994", X acknowledgement = ack-nhfb, } X @TechReport{Steemers:1989:JSG, X author = "L. Steemers and C. G. van der Laan", X title = "Journal Style Guidelines", X type = "RC-Rapport", X number = "26", X institution = "Rekencentrum der Rijksuniversiteit te Groningen", X address = "Groningen, The Netherlands", X year = "1989", X bibdate = "Tue Mar 1 12:54:27 1994", } X @Article{Steen:1981:TTE, X author = "Lynn Arthur Steen", X title = "Technical Text Editing", X journal = j-UMAP, X volume = "2", X number = "3", X pages = "17--35", X year = "1981", X bibdate = "Tue Dec 14 11:11:12 1993", X acknowledgement = ack-ps, } X @InProceedings{Stoffels:1992:APS, X author = "J. Stoffels and C. van Reeuwijk", X title = "Ampdes: a program for the synthesis of X high-performance amplifiers", X crossref = "IEEE:1992:PEC", X pages = "474--479", X year = "1992", X bibdate = "Sat Sep 17 11:20:23 1994", X abstract = "A circuit synthesis program for high-performance X small-signal amplifiers, called Ampdes is described. X The synthesis can be done with minimal interaction from X the user: only the essential information must be given, X and the program will produce a Spice net list and a X {\TeX} design report. For a typical design, this takes X 30 minutes on a mini-computer. Unlike other synthesis X programs, it searches in an extremely large set of X possible circuits (over 1,000,000 configurations), and X is not restricted to one device technology. To ensure a X high rate of success in the designs, it uses X mathematically sound search rules instead of heuristic X ones, and accurate approximations of the circuit X behavior. These features require considerable X computational effort, and therefore it is necessary to X use a refined search strategy to reduce the time for a X design run. This strategy is also described. (13 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Fac. of Electr. Eng., Delft Univ. of Technol., X Netherlands", X classification = "B1130B (Computer-aided circuit analysis and design); X B1220 (Amplifiers); C7410D (Electronic engineering)", X conf_date = "16--19 March 1992", X conf_location = "Brussels, Belgium", X conf_sponsor = "IEEE; EDAC Assoc.; Alcatel Bell; CAVE (CEC); Dept. X Trade. Ind. UK; Esprit; Hewlett Packard; IBM", X keywords = "Circuit synthesis program; High-performance X small-signal amplifiers; Ampdes; Spice net list; TeX X design report; Device technology; Mathematically sound X search rules; Accurate approximations; Circuit X behavior; Computational effort; Refined search X strategy", X thesaurus = "Amplifiers; Circuit analysis computing; SPICE", } X @Article{Stone:1992:CAR, X author = "Harold S. Stone", X title = "Copyrights and Author Responsibilities", X journal = j-COMPUTER, X volume = "25", X number = "12", X pages = "46--51", X month = dec, X year = "1992", X CODEN = "CPTRB", X ISSN = "0018-9162", X bibdate = "Sat Sep 10 12:51:19 1994", X note = "This paper discusses U.S. copyright law and its X implications for the reuse of published text. X Guidelines are given for the citation and quoting of X such material.", X acknowledgement = ack-nhfb, } X @Book{Sutton:1990:TB, X author = "James Sutton and Alan Bartram", X title = "Typefaces for Books", X publisher = pub-BL # " and " # pub-NAB, X address = pub-BL:adr # " and " # pub-NAB:adr, X pages = "288", X year = "1990", X ISBN = "1-56131-016-6, 1-56131-017-4 (paperback)", X LCCN = "Z250 .S896 1990", X bibdate = "Fri Jul 22 09:19:06 1994", X note = "Contains full-page type samples in a variety of point X sizes for a large number of typefaces.", X acknowledgement = ack-nhfb, } X @Book{Swanson:1986:MTC, X author = "Ellen Swanson", X title = "Mathematics into Type; Copy Editing and Proofreading X of Mathematics for Editorial Assistants and Authors", X publisher = pub-AMS, X address = pub-AMS:adr, X edition = "Revised", X pages = "x + 90", X year = "1986", X ISBN = "0-8218-0053-1", X LCCN = "T11.4.S96 1979", X bibdate = "Fri Jul 22 09:19:41 1994", X acknowledgement = ack-fm, } X @TechReport{Tang:1981:PIC, X author = "Chih-sung Tang", X title = "On the Problem of Inputting {Chinese} Characters", X type = "Report", X number = "STAN-CS-81-848", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1981", X bibdate = "Sat Feb 10 15:01:20 1996", X acknowledgement = ack-hk, } X @Article{Tatarkiewicz:1988:TLD, X author = "Jakub Tatarkiewicz", X title = "{\TeX}nika {\L}adnego Druku", X journal = j-COMPUTER, X volume = "8", X pages = "36--37", X year = "1988", X CODEN = "CPTRB", X ISSN = "0018-9162", X note = "In Polish.", } X @InProceedings{Teo:1988:UVS, X author = "G. S. Teo and M. {Mac an Airchinnigh}", X title = "The use of {VDM} in the specification of {Chinese} X characters", X crossref = "Bloomfield:1988:VVW", X pages = "476--499", X year = "1988", X bibdate = "Mon Oct 24 12:49:04 1994", X abstract = "The VDM Meta-IV is an important bridge that joins X application domain with implementation. The importance X and centrality of the Meta-IV specification language in X providing a `standard' framework for analysis and X design is highlighted. In addressing the usefulness of X the Meta-IV in the specification, design and X implementation of graphical icons for a general purpose X user interface management system, the authors chose to X focus on the domain of Chinese characters-ideograms X which have many characteristics in common with X graphical icons. Two different (conceptual) models were X developed. The first considered the ideogram as a stack X of transparencies. The second viewed it as the modular X composition of basic mathematical/graphical entities. X Specifications of both models in the Meta-IV were X developed and the declarative graphical programming X language METAFONT was used in the implementation. To X facilitate an appropriate entry level into learning and X using METAFONT for the task in hand, the VDM Meta-IV X was used to provide an abstract model of the language. X The results reported indicate that use of the VDM X Meta-IV as an expression of a common semantic base was X a success. (9 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Dept. of Computer Science, Trinity College, Dublin, X Ireland", X classification = "C6110B (Software engineering techniques); C6130B X (Graphics techniques); C6180 (User interfaces); C6120 X (File organisation)", X conf_date = "11--16 Sept. 1988", X conf_location = "Dublin, Ireland", X conf_sponsor = "Comm. Eur. Communities", X keywords = "Vienna Development Method; Formal specification; Data X structures; VDM; Chinese characters; VDM Meta-IV; X Specification language; Graphical icons; User interface X management system; Ideograms; Modular composition; X Declarative graphical programming language; METAFONT; X Abstract model; Common semantic base", X language = "English", X pub_country = "West Germany", X thesaurus = "Character sets; Computer graphics; Data structures; X Formal specification; Specification languages; User X interfaces", } X @Misc{TEXEURO:1989:TE, X key = "TEXEURO", X title = "{\TeX}-Euro", X year = "1989" # "\unskip--", X bibdate = "Tue Mar 1 13:00:22 1994", X note = "This is an unmoderated discussion list for {\TeX} with X emphasis on European issues. To subscribe, send a X request with the text {\tt subscribe tex-euro} to X \path|listserv@dhdurz1.bitnet|.", } X @Misc{TEXHAX:1987:T, X key = "TEXHAX", X title = j-TEXHAX, X year = "1987" # "\unskip--", X note = "This is a TUG-supported moderated electronic mailing X list. To subscribe, send a request to X \path|texhax-request@june.cs.washington.edu|.", } X @Misc{TEXMAG:1988:T, X key = "TEXMAG", X title = "{\TeX}mag", X year = "1988" # "\unskip--", X bibdate = "Tue Mar 1 12:11:24 1994", X note = "This is an electronic magazine with articles about X {\TeX}. To subscribe, send a request with the text {\tt X subscribe texmag-l} to \path|listserv@vm.byu.edu|.", } X @InProceedings{Thimbleby:1991:LTT, X author = "H. Thimbleby", X booktitle = "Proceedings of the Fourth Annual Conference on X Computers and the Writing Process", X title = "Low-tech {\TeX}? (typesetting program)", X publisher = "Univ. Sussex", X address = "Brighton, UK", X pages = "124--130", X month = "", X year = "1991", X bibdate = "Sat Sep 17 11:20:26 1994", X abstract = "The author recounts his experience of using {\TeX} for X hundreds of pages (each many times). {\TeX} is a widely X and freely distributed high quality typesetting X program. It reads a markup language in standard ASCII X text, and therefore documents are easily transferred X from machine to machine. The author reviews the X advantages and disadvantages of using {\TeX} for book X publishing. (13 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Stirling Univ., UK", X classification = "C7108 (Desktop publishing); C7230 (Publishing and X reproduction)", X conf_date = "22--23 March 1991", X conf_location = "Brighton, UK", X keywords = "TeX; Typesetting program; Markup language; Standard X ASCII text; Book publishing", X pages_whole = "v + 247", X thesaurus = "Computer controlled typesetting; Desktop publishing", } X @Booklet{Tobin:1985:EMS, X author = "Georgia K. M. Tobin", X title = "The Elements of Metafont Style", X year = "1985", } X @Article{Trickey:1988:UL, X author = "Howard Trickey", X title = "Using {\LaTeX}", X journal = j-SIGACT, X volume = "19", X number = "2", X pages = "55--57", X month = "Summer", X year = "1988", X bibdate = "Thu Jul 21 22:42:07 1994", X acknowledgement = ack-nhfb, } X @Book{Tschichold:1928:NTH, X author = "Jan Tschichold", X title = "Die neue Typographie: ein Handbuch f{\"u}r X zeitgem{\"a}ss Schaffende", X publisher = "Verl. das Bildungsverbandes der Deutschen X Buchdrucker", X address = "Berlin, Germany", X pages = "240", X year = "1928", X bibdate = "Sat Mar 07 10:08:59 1998", X acknowledgement = ack-nhfb, X xxISBN = "none", X xxlccn = "", } X @Book{Tschichold:1986:TMS, X author = "Jan Tschichold", X title = "{Typographische Mitteilungen, Sonderheft Elementare X Typographie}", X publisher = pub-HSCHV, X address = pub-HSCHV:adr, X pages = "36", X year = "1986", X ISBN = "3-87439-233-3", X price = "DM 24", X acknowledgement = ack-fm, X history = "Reprint of the special edition ``elementare X typographie'' of the october issue of Typographische X Mitteilungen 1925.", X inprint = "yes", } X @Book{Tschichold:1987:AAF, X author = "Jan Tschichold", X title = "{Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt X des Buches}", X publisher = pub-BH, X address = pub-BH:adr, X year = "1987", X ISBN = "3-7643-1946-1", X bibdate = "Sat Mar 7 10:05:07 1998", X note = "Second printing", X acknowledgement = ack-fm # " and " # ack-nhfb, X annote = "A set of interesting articles about typography X issues.", X keywords = "typography, layout, design", } X @Book{Tschichold:1991:FB, X author = "Jan Tschichold", X editor = "Robert Bringhurst", X title = "The Form of the Book", X publisher = pub-LUND-HUMPHRIES, X address = pub-LUND-HUMPHRIES:adr, X pages = "xviii + 180", X year = "1991", X ISBN = "0-85331-623-6", X LCCN = "Z116.A3 T7613 1991b", X bibdate = "Fri Jul 22 09:20:17 1994", X note = "Originally published in German as Ausgew{\"a}hlte X Ausfs{\"a}tze {\"u}ber Fragen der Gestalt des Buches X und der Typographie by Birkh{\"a}user Verlag, Basel, X 1975", X price = "UK\pounds 18.95", X acknowledgement = ack-mc, X subtitle = "Essays on the Morality of Good Design", X translator = "Hajo Hadeler", } X @Book{Tschichold:1991:NT, X author = "Jan Tschichold", X title = "{Die Neue Typographie}", X publisher = pub-HSCHV, X address = pub-HSCHV:adr, X pages = "240", X year = "1991", X bibdate = "Sat Feb 24 09:56:32 1996", X price = "DM60", X acknowledgement = ack-fm # " and " # ack-nhfb, X bibliography = "yes", X history = "Reprint of the first edition from 1928 X \cite{Tschichold:1928:NTH} with supplement containing X articles about the history of books by Werner Doede, X Jan Tschichold and Gerd Fleischman", X inprint = "yes", X subtitle = "{Ein Handbuch f{\"u}r zeitgem{\"a}{\ss} Schaffende}", } X @Book{Tschichold:1995:NTHa, X author = "Jan Tschichold", X title = "Die neue Typographie: ein Handbuch f{\"u}r X zeitgem{\"a}ss Schaffende", X publisher = pub-BRINKMANN-BOSE, X address = pub-BRINKMANN-BOSE:adr, X edition = "Second", X pages = "240", X year = "1995", X ISBN = "3-922660-23-1", X LCCN = "", X bibdate = "Sat Mar 07 10:06:33 1998", X price = "DM 80,00", X acknowledgement = ack-nhfb, } X @Book{Tschichold:1995:NTHb, X author = "Jan Tschichold", X title = "The new typography: a handbook for modern designers", X volume = "8", X publisher = pub-U-CAL-PRESS, X address = pub-U-CAL-PRESS:adr, X pages = "xliv + 236", X year = "1995", X ISBN = "0-520-07146-8", X LCCN = "Z116.T7513 1995", X bibdate = "Sat Mar 07 10:11:35 1998", X note = "Translated from the original German editions X \cite{Tschichold:1928:NTH,Tschichold:1995:NTHa} by Ruari X McLean. With an introduction by Robin Kinross.", X series = "Weimar and now", X acknowledgement = ack-nhfb, } X @Book{Tschichold:1995:TAL, X author = "Jan Tschichold", X title = "Treasury of Alphabets and Lettering: {A} Source Book X of the Best Letter Forms of Past and Present for Sign X Painters, Graphic Artists, Commercial Artists, X Typographers, Printers, Sculptors, Architects, and X Schools of Art and Design", X publisher = pub-NORTON, X address = pub-NORTON:adr, X pages = "236", X year = "1995", X ISBN = "0-393-70197-2", X LCCN = "Z250 .T883 1995", X bibdate = "Fri Jun 23 17:25:36 1995", X note = "This is identical to the 1966 edition, with a new X introduction by Ben Rosen.", X price = "US\$35.00", X acknowledgement = ack-nhfb, } X @Book{Tufte:1983:VDQ, X author = "Edward R. Tufte", X title = "The Visual Display of Quantitative Information", X publisher = pub-GP, X address = pub-GP:adr, X pages = "197", X year = "1983", X ISBN = "0-9613921-0-X", X LCCN = "QA90 .T83 1983", X bibdate = "Fri Jul 22 09:21:51 1994", X price = "US\$34.00", } X @Book{Tufte:1990:EI, X author = "Edward R. Tufte", X title = "Envisioning Information", X publisher = pub-GP, X address = pub-GP:adr, X pages = "126", X year = "1990", X LCCN = "QA90 .T82 1990", X bibdate = "Fri Jul 22 09:22:34 1994", X price = "US\$48.00", } X @Article{Tuthill:1983:TUS, X author = "B. Tuthill", X title = "Typesetting on the {UNIX} system", X journal = j-BYTE, X volume = "8", X number = "19", X pages = "253--265", X month = oct, X year = "1983", X CODEN = "BYTEDJ", X ISSN = "0360-5280", X bibdate = "Fri Feb 09 18:10:41 1996", X acknowledgement = ack-nhfb, X keywords = "documentation; human factors", X subject = "K Computing Milieux, PERSONAL COMPUTING \\ D.4.7 X Software, OPERATING SYSTEMS, Organization and Design, X UNIX \\ D.4.0 Software, OPERATING SYSTEMS, General, X UNIX \\ D.4.m Computing Methodologies, TEXT PROCESSING, X Miscellaneous \\ I.7", } X @Book{Tymms:1987:AI, X author = "W. R. Tymms and M. D. Wyatt", X title = "The Art of Illuminating", X publisher = pub-CHARTWELL, X address = pub-CHARTWELL:adr, X pages = "104", X year = "1987", X ISBN = "1-55521-198-4", X LCCN = "ND3310 .T95 1987", X bibdate = "Fri Jul 22 09:23:54 1994", } X @Article{Udell:1989:PPI, X author = "J. Udell", X title = "The power of the press (Interleaf's {TE}chnical X Publishing Software)", X journal = j-BYTE, X volume = "14", X number = "12", X pages = "271--276", X month = nov, X year = "1989", X CODEN = "BYTED", X ISSN = "0360-5280", X bibdate = "Thu Sep 01 00:44:12 1994", X abstract = "Interleaf's Technical Publishing Software (TPS) blends X two styles of computer-based publishing. The first, X represented by troff and {\TeX} is stream-oriented and X works with a global description of a document's for X mat. The second (and newer) style, best exemplified by X PageMaker, works in a WYSIWYG mode with individual X pages. TPS's union of the two styles is, for the most X part, a happy one that has made it one of the most X interesting desktop publishing packages around. The X latest version, release 4.0 enhances both halves of X TPS's personality. The author reviews the use of TPS on X a Sun workstation, assessing its style, structure, and X content; its graphics capabilities; layout problems; X equation chart, and table editors; document and project X management; and Interleaf's step towards open X architecture via TPS release 4.0. (0 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing)", X keywords = "Interleaf Technical Publishing Software; Interleaf X TPS; Equation editors; Chart editors; Stream-oriented X computer-based publishing; TPS release 4.0; Document X management; Press; Troff; TeX; PageMaker; WYSIWYG mode; X Desktop publishing packages; Sun workstation; Graphics X capabilities; Layout problems; Table editors; Project X management; Open architecture", X thesaurus = "Desktop publishing; Performance evaluation; Software X packages; Workstations", } X @Article{Uehara:1990:CTP, X author = "T. Uehara", X title = "Current technology and problems in computer fonts", X journal = j-J-INFO-PROC, X volume = "31", X number = "11", X pages = "1570--1580", X year = "1990", X CODEN = "JOSHA", X ISSN = "0447-8053", X bibdate = "Mon Oct 24 12:44:52 MDT 1994", X abstract = "The author discusses the handling and creation of X typefaces on computers. He mentions METAFONT and spline X curve approximation. (45 Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Central Res. Lab., Hitachi Ltd., Ibaraki, Japan", X classification = "C6130B (Graphics techniques); C7108 (Desktop X publishing)", X keywords = "Desktop publishing; Computer fonts; Typefaces; X METAFONT; Spline curve approximation", X language = "Japanese", X pub_country = "Japan", X thesaurus = "Character sets; Desktop publishing", } X @Misc{UKTEX:1987:U, X key = "UKTEX", X title = "{UK\TeX}", X year = "1987" # "\unskip--", X note = "This is an electronic discussion list for {\TeX} X issues in the United Kingdom.", } X @Book{Ulichney:1987:DH, X author = "Robert Ulichney", X title = "Digital Halftoning", X publisher = pub-MIT, X address = pub-MIT:adr, X pages = "xiv + 362", X year = "1987", X ISBN = "0-262-21009-6", X LCCN = "T385 .U451 1987", X bibdate = "Fri Jul 22 09:24:18 1994", } X @Booklet{Urban:1986:IL, X author = "Michael Urban", X title = "An Introduction to {\LaTeX}", X howpublished = "Prepared for the TRW Software Productivity Project; X reprinted with permission and distributed by TUG", X year = "1986", X acknowledgement = ack-hk, } X @Booklet{Urban:1991:PPL, X author = "Michael {Urban (adaptation fran{\c{c}}\-aise de X {\'E}ric Cornelis)}", X title = "Premiers pas en {\LaTeX}", X howpublished = j-GUTENBERG, X month = may, X year = "1991", X bibdate = "Tue Mar 1 12:12:35 1994", X note = "French translation of \cite{Urban:1986:IL}.", X acknowledgement = ack-nhfb, } X @InProceedings{Utting:1983:TSC, X author = "I. A. Utting and D. J. Caul and H. Brown and S. E. X Binns", X title = "A typesetting server for the Cambridge ring", X crossref = "Dallas:1983:IWU", X pages = "243--248", X year = "1983", X bibdate = "Tue Jul 26 09:35:48 1994", X acknowledgement = ack-nhfb, X keywords = "design", X subject = "C.2.0 Computer Systems Organization, X COMPUTER-COMMUNICATION NETWORKS, General, Data X communications \\ C.2.5 Computer Systems Organization, X COMPUTER-COMMUNICATION NETWORKS, Local Networks, X Rings", } X @InProceedings{Utting:1985:RDI, X author = "Ian Utting", X title = "The {R}{\^o}le of Device Independent Output", X crossref = "Lucarella:1985:PFE", X pages = "183--191", X year = "1985", X bibdate = "Tue Mar 1 12:57:11 1994", X acknowledgement = ack-hk, } X @Book{ValienteFeruglio:1997:CTC, X author = "Gabriel {Valiente Feruglio}", X title = "Composicion de textos cientificos con {\LaTeX}", X publisher = "Universitat Politecnica de Catalunya", X address = "Barcelona, Spain", X pages = "259", X year = "1997", X ISBN = "84-8301-204-9", X LCCN = "????", X bibdate = "Sat Mar 7 18:25:51 MST 1998", X series = "Aula Teorica; 61", X acknowledgement = ack-nhfb, X keywords = "Escritos cientificos -- Composicion; {\LaTeX} X (Sistema informatico); Informatica; Puvill Libros", X price = "US\$22.78", } X @InProceedings{VanWyde:1981:GTL, X author = "C. T. Van Wyde", X title = "A graphics typesetting language", X crossref = "ACM:1981:ASS", X pages = "97--107", X year = "1981", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "languages; algorithms", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, Photocomposition", } X @InProceedings{Vesilo:1992:TBO, X author = "R. A. Vesilo", X booktitle = "IREECON '91, Australia's Electronics Convention X Proceedings", X title = "Translating between {ODA} and multimedia {DVI}({\TeX}) X documents", X publisher = pub-IREE, X address = pub-IREE:adr, X pages = "646--649 (vol. 2)", X month = sep, X year = "1992", X ISBN = "0-909394-26-1", X LCCN = "????", X bibdate = "Sat Sep 17 11:20:29 1994", X note = "2 vol.", X abstract = "A system for translating between ODA formatted form X and multimedia DVI({\TeX}) documents is described. The X main tasks involved are structure and content X conversion. Consideration must be given to differing X functionality and mapping between ODA's multi-level and X DVI's three-level structure. A five-level software X structure has been developed for the translators. (8 X Refs.)", X acknowledgement = ack-nhfb, X affiliation = "Sch. of Math., Phys., Comput. and Electron., Macquarie X Univ., North Ryde, NSW, Australia", X classification = "B6210 (Telecommunication applications); C6130D X (Document processing techniques); C6160S (Spatial and X pictorial databases)", X conf_date = "16--20 Sept. 1991", X conf_location = "Sydney, NSW, Australia", X keywords = "Multimedia DVI documents; Structure conversion; Office X Document Architecture; TeX documents; Device X Independent Documents; ODA formatted form; Content X conversion; Mapping; Five-level software structure; X Translators", X pages_whole = "xxi + 703", X thesaurus = "Document handling; Multimedia systems", } X @Book{Vulis:1992:MTA, X author = "Michael Vulis", X title = "Modern {\TeX} and its Applications", X publisher = pub-CRC, X address = pub-CRC:adr, X pages = "275", X year = "1992", X ISBN = "0-8493-4431-X", X LCCN = "Z253.4.T47V84 1993", X bibdate = "Wed Dec 15 19:53:27 1993", X price = "US\$32.95", X acknowledgement = ack-nhfb, } X @Book{Walden:1987:MFF, X author = "Jeff Walden", X title = "More File Formats for Popular {PC} software: {A} X Programmer's Reference", X publisher = pub-W, X address = pub-W:adr, X pages = "369", X year = "1987", X ISBN = "0-471-85077-2", X LCCN = "QA76.9.F5 W35 1987", X bibdate = "Fri Jul 22 11:19:33 1994", X note = "From {\em Computing Reviews\/}: ``The volume under X review deals with (among others) WordPerfect, SuperCalc X 4, and the unusual Microsoft Rich Text Format (RTF). X RTF has the distinction of being entirely readable X ASCII and is reminiscent of {\TeX} command format.'' X Conversion software from RTF to {\LaTeX} written by X Daniel Taupin is available from major {\TeX} archive X sites.", X price = "US\$24.95", X acknowledgement = ack-nhfb, } X @InProceedings{Waldock:1982:TAE, X author = "W. C. Waldock", X booktitle = "User services, proceedings of the Tenth ACM SIGUCCS X conference (Chicago, IL, Nov. 10--12, 1982)", X title = "Typesetting in the academic environment", X publisher = pub-ACM, X address = pub-ACM:adr, X pages = "25--28", X year = "1982", X bibdate = "Thu Dec 29 11:08:40 1994", X acknowledgement = ack-nhfb, X keywords = "design; design; documentation", X subject = "J.1 Computer Applications, ADMINISTRATIVE DATA X PROCESSING, Education \\ I.7 Computing Methodologies, X TEXT PROCESSING, Miscellaneous", } X @Article{Waldschmidt:1987:ECG, X author = "H. Waldschmidt", X title = "An Editor for Constructing Graphics with {\TeX}", X journal = j-CGF, X volume = "6", X number = "4", X pages = "359--364", X month = dec, X year = "1987", X CODEN = "CGFODY", X ISSN = "0167-7055", X bibdate = "Sat Mar 22 09:39:17 MST 1997", X bibsource = "Compendex database", X acknowledgement = ack-nhfb, X affiliation = "Technische Hochschule Darmstadt, Darmstadt, West Ger", X affiliationaddress = "Technische Hochschule Darmstadt, Darmstadt, West X Ger", X classcodes = "C6130B (Graphics techniques)", X classification = "723; 745", X corpsource = "Inst. fur Theor. Inf., Tech. Hochschule Darmstadt, X West Germany", X keywords = "computer graphics; computer programming languages; X documentation; graphic editor; graphics interactive X construction; grouping characters; Interactive; X interactive construction; languages; T/sub E/X; text X editing; typesetting; typesetting language; typesetting X language {\TeX}; typesetting system; {\TeX} editor, X design", X subject = "I.3.6 Computing Methodologies, COMPUTER GRAPHICS, X Methodology and Techniques, Interaction techniques \\ X I.7.1 Computing Methodologies, TEXT PROCESSING, Text X Editing, TeX \\ I.7.2 Computing Methodologies, TEXT X PROCESSING, Document Preparation, TeX", X treatment = "P Practical", } X @Book{Walsh:1994:MTW, X author = "Norman Walsh", X title = "Making {\TeX} Work", X publisher = pub-ORA, X address = pub-ORA:adr, X pages = "xxxvi + 483", X year = "1994", X ISBN = "1-56592-051-1", X bibdate = "Thu May 12 08:24:59 1994", X price = "US\$29.95", X acknowledgement = ack-nhfb, } X @Article{Werntges:1992:GIL, X author = "Heinz Werntges", X title = "Grafik-Import in {\LaTeX} \toenglish {Importing} X graphics in {\LaTeX} \endtoenglish", X journal = j-CT, X volume = "12", X pages = "252--258", X year = "1992", X bibdate = "Thu Dec 29 10:49:47 1994", X acknowledgement = ack-ps, } X @Book{Weyerich:1993:LLLa, X author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine X Stromp and Kerstin Rieder and Rainer Oesterreich", X title = "{\LaTeX} Lernen leicht gemacht\emdash Eine X aufgabenorientierte Anleitung\emdash Teil {A}: X Arbeitsheft", X publisher = pub-TUB, X address = pub-TUB:adr, X pages = "iv + 100", X year = "1993", X ISBN = "3-7983-1546-9", X bibdate = "Sat Mar 07 10:18:52 1998", X acknowledgement = ack-rz # " and " # ack-nhfb, } X @Book{Weyerich:1993:LLLb, X author = "Astrid Weyerich and Rainer Kl{\"o}tzer and Sabine X Stromp and Kerstin Rieder and Rainer Oesterreich", X title = "{\LaTeX} Lernen leicht gemacht\emdash Eine X aufgabenorientierte Anleitung\emdash Teil {B}: Manual", X publisher = pub-TUB, X address = pub-TUB:adr, X pages = "176", X year = "1993", X ISBN = "3-7983-1546-9", X bibdate = "Tue Mar 1 14:25:32 MET 1994", X acknowledgement = ack-rz, } X @Book{White:1983:MG, X author = "Jan V. White", X title = "Mastering Graphics", X publisher = pub-BOWK, X address = pub-BOWK:adr, X pages = "xiii + 180", X year = "1983", X ISBN = "0-8352-1704-3", X LCCN = "Z253 .W47 1983", X bibdate = "Wed Dec 15 10:59:05 1993", X libnote = "Not yet in my library.", } X @Book{White:1987:HST, X author = "Alex White", X title = "How to {SPEC} Type", X publisher = pub-WGP, X address = pub-WGP:adr, X pages = "128", X year = "1987", X ISBN = "0-8230-2473-3", X LCCN = "Z253.W46 1987", X bibdate = "Wed Aug 10 14:03:06 1994", X price = "US\$14.95", X abstract = "This book is divided into two parts. {\em Part One: X Preparing the Copy for Type}, discusses fundamental X terms and introduces the principles of type speccing. X {\em Part Two: Type Samples}, describes how to spec X typographic examples drawn in thumbnail form, how to X mark up the manuscript copy, and then shows the final X typeset results.", X acknowledgement = ack-fm, X annote = "A gold mine of ideas, concepts, and their realisation. X Beside general introductions into typographic spec X techniques, the book discusses topics like Runarounds, X Initial Caps, Tables, Rules and Boxes, and many more.", X keywords = "typography, layout, design, fonts, specs", } X @Book{White:1988:GDE, X author = "Jan V. White", X title = "Graphic Design for the Electronic Age", X publisher = pub-WGP, X address = pub-WGP:adr, X pages = "xi + 211", X year = "1988", X ISBN = "0-8230-2122-X", X LCCN = "Z286.D47 W5 1988", X bibdate = "Wed Dec 15 10:59:04 1993", X acknowledgement = ack-nhfb # " and " # ack-fm, X annote = "A very good book on typography and document design; X main topics are components of larger documents.", X keywords = "typography, layout, design", } X @Book{White:1990:GP, X author = "Jan V. White", X title = "Great Pages", X publisher = pub-SERIF, X address = pub-SERIF:adr, X pages = "128", X year = "1990", X ISBN = "1-878567-01-2", X LCCN = "Z286.D47 W5 1990", X bibdate = "Wed Dec 15 10:59:05 1993", } X @Article{Wikeckowski:1992:TPZ, X author = "Z. Wi{\k{e}}ckowski", X title = "{\TeX} --- polskie znaki inaczej", X journal = j-PCkurier, X volume = "15", X pages = "89", X month = "lipiec", X year = "1992", X bibdate = "Thu Jun 23 18:23:42 1994", X note = "In Polish.", X acknowledgement = ack-md, X author-l = lang-pl, X month-l = lang-pl, X title-l = lang-pl, X title-t1 = "{\TeX} --- Polish letters another way", X title-t1-l = lang-eng, } X @Book{Wilberg:1997:L, X author = "Hans Peter Wilberg and Friedrich Forssman", X title = "Lesetypographie", X publisher = "Verlang Hermann Schmidt", X address = "Mainz, Germany", X pages = "332", X year = "1997", X ISBN = "3-87439-375-5", X LCCN = "", X bibdate = "Mon Mar 02 19:42:44 1998", X acknowledgement = ack-nhfb, } X @Book{Williamson:1983:MBD, X author = "Hugh Williamson", X title = "Methods of Book Design: The Practice of an Industrial X Craft", X publisher = pub-YUP, X address = pub-YUP:adr, X edition = "Third", X pages = "xiv + 391", X year = "1983", X ISBN = "0-300-02663-3 (hardcover), 0-300-03035-5 (paperback)", X LCCN = "Z116.A3 W5 1983", X bibdate = "Fri Jul 22 09:27:41 1994", X note = "Bibliography, many examples and illustrations, index", X price = "UK\pounds13", X abstract = "Since its first edition was published in 1956, this X book has been recognised as a classic work, and has X become a basic tool for the practising book designer. X \missing{} Writing for authors, booksellers, X librarians, and the general reader, as well as for X teachers and students of printing design and for X publishers and printers, the author assumes no X technical knowledge in his readers. He deals with such X matters as the preparation of copy, the selection and X arrangement of type, the designer's part in book X illustration and jacket design, and the economics of X book production; and he explains the materials and X techniques of book production and their effect on the X design of books. His analysis, for the benefit of the X designer, of computer-centered digital X photo-composition, based on his first-hand experience X as a printer and typographer, is of particular interest X and value. \missing{} The third edition has been X completely rewritten to cover innovations in book X production tendencies and techniques over the last X twenty years, in the light of the author's continued X experience in publishing and printing.", X acknowledgement = ack-jpl # " and " # ack-fm, X annote = "That the {\em frontispiece} is the layout for the X title-page opposite indicates the content of the X book.", X bibliography = "yes", X glossary = "yes", X history = "First edition, 1956, and second edition, 1966, X published by Oxford University Press.", X index = "yes", X inprint = "yes", X keywords = "book design", X printermarks = "no", } X @Article{Winkel:1988:TSU, X author = "Brian J. Winkel", X title = "{\TeX}: The Software used to Produce this Journal", X journal = j-COLL-MICRO, X volume = "5", X number = "1", X pages = "93--96", X month = apr # "/" # may, X year = "1988", X ISSN = "0731-4213", X bibdate = "Thu Jul 21 22:35:39 1994", X acknowledgement = ack-nhfb, } X @Article{Witten:1982:PTD, X author = "I. H. Witten and M. Bonham and E. Strong", X title = "On the power of traps and diversions in a document X preparation language", X journal = j-SPE, X volume = "12", X number = "12", X pages = "1119--1131", X month = dec, X year = "1982", X CODEN = "SPEXBL", X ISSN = "0038-0644", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "design; documentation; languages", X review = "ACM CR 40526", X subject = "I.7.2 Computing Methodologies, TEXT PROCESSING, X Document Preparation, nroff \\ I.7.2 Computing X Methodologies, TEXT PROCESSING, Document Preparation, X Languages", } X @TechReport{Wolcott:1976:CCT, X author = "N. M. Wolcott and J. Hilsenrath", X title = "A Contribution to Computer Typesetting Techniques: X Tables of Coordinates for {Hershey's} Repertory of X Occidental Type Fonts and Graphic Symbols", X type = "Special Publication", X number = "424", X institution = pub-NBS, X address = pub-NBS:adr, X month = apr, X year = "1976", X bibdate = "Sat Feb 10 15:02:17 1996", } X @InProceedings{Wonneberger:1986:VVT, X author = "R. Wonneberger", X title = "``Verheissung und Versprechen'', a third generation X approach to theological typesetting", X crossref = "Desarmenien:1986:TSD", X pages = "180--198", X year = "1986", X bibdate = "Mon Jul 25 08:37:04 MDT 1994", X acknowledgement = ack-nhfb, X keywords = "documentation; languages", X subject = "I.7.1 Computing Methodologies, TEXT PROCESSING, Text X Editing, TeX \\ I.7.2 Computing Methodologies, TEXT X PROCESSING, Document Preparation, TeX", } X @Book{Wonneberger:1987:L, X author = "Reinhard Wonneberger", X title = "{\LaTeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X pages = "xiii + 141", X year = "1987", X ISBN = "3-925118-46-2", X bibdate = "Sat Mar 07 10:23:00 1998", X series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er", X acknowledgement = ack-nhfb, } X @Book{Wonneberger:1988:L, X author = "Reinhard Wonneberger", X title = "{\LaTeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Second", X pages = "xiv + 141", X year = "1988", X ISBN = "3-89319-152-6", X bibdate = "Sat Mar 07 10:26:14 1998", X note = "Reprinted in 1990 and 1991.", X series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er", X acknowledgement = ack-nhfb, } X @InProceedings{Wonneberger:1990:SDP, X author = "Reinhard Wonneberger", X title = "Structured document processing: the {\LaTeX} X approach", X crossref = "Nadrchal:1990:MMI", X pages = "177--189", X year = "1990", X CODEN = "CPHCB", X bibdate = "Sat Sep 17 11:20:31 1994", X note = "Invited paper.", X abstract = "Basic concepts and the usage of {\LaTeX} are X introduced. The idea of general markup and other X important concepts of structured document processing X are introduced. The general importance of {\LaTeX} and X {\TeX} and their future development are discussed. (44 X Refs.)", X acknowledgement = ack-rw # " and " # ack-nhfb, X affiliation = "Electron. Data Syst. (Deutschland)", X classification = "C7106 (Word processing)", X conf_date = "19--28 Sept. 1989", X conf_location = "Skalsky dvur, Czechoslovakia", X conf_sponsor = "EPS; Czechoslovak Acad. Sci.; Union of Czechoslovak X Math. Phys", X keywords = "LaTeX approach; General markup; Structured document X processing; TeX", X language = "English", X pub_country = "Netherlands", X thesaurus = "Text editing; Word processing", } X @InProceedings{Wonneberger:1992:TPT, X author = "Reinhard Wonneberger", X title = "{\TeX} for Philological Typesetting", X crossref = "Wezler:1986:PXI", X pages = "595--596", X year = "1992", X bibdate = "Tue Jul 26 09:41:46 1994", X acknowledgement = ack-rw, } X @Book{Wonneberger:1993:L, X author = "Reinhard Wonneberger", X title = "{\LaTeX}", X publisher = pub-AWV, X address = pub-AWV:adr, X edition = "Third", X pages = "xvi + 166", X month = apr, X year = "1993", X ISBN = "3-89319-589-0", X bibdate = "Sat Sep 10 13:14:28 1994", X price = "DM29.80", X series = "Addison-Wesley Kom\-pakt\-f{\"u}hr\-er", X abstract = "(Umschlagtext:) {\LaTeX} ist ein im akademischen X Umfeld weit verbreitetes Formatierungswerkzeug f{\"u}r X schwierige Texte. Technisch gesehen handelt es sich um X ein spezielles umfangreiches Makropaket f{\"ur} Donald X E. Knuths Satzsystem {\TeX}. Der Benutzer braucht X normalerweise keine {\TeX}-Kenntnisse. Der bew{\"a}hrte X Addison-Wesley-Kom\-pakt\-f{\"u}hr\-er liegt nunmehr in X dritter, erweiterter Auflage vor. Bei der Erweiterung X geht es im wesentlichen um einen neuen Abschnitt ``uber X den `German Style''', eine seit Erscheinen der X fr{\"u}heren Auflage neu entwickelte und inzwischen X weit verbreitete Erg{\"a}nzung von {\LaTeX} im Hinblick X auf die Besonderheiten der deutschen Sprache.", } X @Article{Wood:1987:TWG, X author = "Patrick Wood", X title = "Typesetting: when gray isn't", X journal = j-POSTSCRIPT-LANG-J, X volume = "1", X number = "2", X pages = "15--19", X month = jun, X year = "1987", X ISSN = "0891-5873", X bibdate = "Sat Aug 27 11:11:18 1994", X acknowledgement = ack-nhfb, X keywords = "measurement; design; languages", X subject = "I.4.3 Computing Methodologies, IMAGE PROCESSING, X Enhancement, Grayscale manipulation \\ J.7 Computer X Applications, COMPUTERS IN OTHER SYSTEMS, Publishing", } X @Misc{Wood:19xx:PLJ, X editor = "Patrick Wood", X key = "POSTSCRIPTLJ", X title = "{\POSTSCRIPT Language Journal}", X howpublished = "Pipeline Associates, Inc., P. O. Box 5763, Parsippany, X NJ 07054", X bibdate = "Tue Mar 1 12:16:37 1994", } X @TechReport{Wyk:1980:LTG, X author = "C. J. {Van Wyk}", X title = "A Language for Typesetting Graphics", X type = "Report", X number = "STAN-CS-80-803", X institution = inst-STAN-CS, X address = inst-STAN-CS:adr, X year = "1980", X bibdate = "Sat Feb 10 15:02:22 1996", X acknowledgement = ack-hk, } X @Book{Wyrostek:1992:LSP, X author = "Piotr {Wyrostek, translator}", X title = "{\LaTeX}: System przygotowywania dokument{\'o}w. X Przewodnik u{\.z}ytkownika i podr{\k{e}}cznik", X publisher = pub-ARIEL, X address = pub-ARIEL:adr, X year = "1992", X ISBN = "83-900460-1-6", X bibdate = "Thu Jul 21 23:00:45 1994", X note = "Polish translation of \cite{Lamport:1985:LDP}.", X price = "91000 zl", X acknowledgement = ack-jb, } X @Article{Yamakawa:1990:DPV, X author = "T. Yamakawa and Y. Kawabata and H. Tamura", X title = "Desktop publishing viewed from the office automation X industries", X journal = j-J-INFO-PROC, X volume = "31", X number = "11", X pages = "1508--1517", X month = "", X year = "1990", X CODEN = "JOSHA", X ISSN = "0447-8053", X bibdate = "Thu Sep 01 01:05:45 1994", X abstract = "The authors mention: Aldus, PageMaker, computerised X typesetting and DTP's links with office automation. X They discuss WYSIWYG; SGML; {\TeX}; PostScript; the X office document architecture; and various systems such X as the Andrew Toolkit Document System; the Diamond X multimedia system; and EXPRESS. (33 Refs.)", X acknowledgement = ack-nhfb, X classification = "C7108 (Desktop publishing); C7104 (Office X automation)", X keywords = "TeX; Desktop publishing; Office automation; Aldus; X PageMaker; Computerised typesetting; WYSIWYG; SGML; X PostScript; Office document architecture; Andrew X Toolkit Document System; Diamond multimedia system; X EXPRESS", X language = "Japanese", X thesaurus = "Desktop publishing; Office automation", } X @Book{Zagretdinov:1994:ISL, X author = "Renat {Zagretdinov et al.}", X title = "Izdatel'skaiia systema {\LaTeX}. Kratkoe rukovodstvo X \toenglish {The \LaTeX} editing system. {Brief} guide X \endtoenglish", X publisher = "Kazan State University", X address = "Kazan, Russia", X pages = "94", X year = "1994", X bibdate = "Wed Jan 04 08:17:15 1995", X note = "This manual is a short introduction to {\LaTeX} 2.09, X with some material added about the Russian version X CyrTUG-em{\TeX}; it also contains a glossary of X {\LaTeX} control sequences, etc. First press run: 1000 X copies.", X acknowledgement = ack-ps, } X @Book{Zapf:1987:HZH, X author = "Hermann Zapf", X title = "Hermann Zapf and His Design Philosophy: Selected X Articles and Lectures on Calligraphy and Contemporary X Developments in Type Design, with Illustrations and X Bibliographical Notes, and a Complete List of his X Typefaces", X publisher = pub-STA, X address = pub-STA:adr, X pages = "254", X year = "1987", X ISBN = "0-941447-00-6", X LCCN = "Z250 .Z323 1987", X bibdate = "Fri Jul 22 09:28:29 1994", X price = "US\$45.00", } X %% ===================================================================== %% We put all Proceedings entries at the end so they can be %% cross-referenced by earlier entries. This order is regrettably %% required by BibTeX. %% ===================================================================== X @Proceedings{ACM:1981:ASS, X key = "ACM-SIGOA'81", X booktitle = "Proceedings of the {ACM SIGPLAN SIGOA} Symposium on X Text Manipulation, Portland, Oregon, June 8--10, 1981", X title = "Proceedings of the {ACM SIGPLAN SIGOA} Symposium on X Text Manipulation, Portland, Oregon, June 8--10, 1981", X volume = "16(6)", X publisher = pub-ACM, X address = pub-ACM:adr, X pages = "160", X month = jun, X year = "1981", X ISBN = "0-89791-043-5", X LCCN = "QA76.7 .S54 v.16:6", X bibdate = "Tue Jul 26 09:19:02 1994", X series = j-SIGPLAN, X acknowledgement = ack-nhfb, } X @Proceedings{Andre:1983:AJM, X editor = "Jacques Andr\'e", X booktitle = "Actes des {Journ}\'{ees} sur la {Manipulation} de X {Documents}, Rennes 4--6 Mai 1983", X title = "Actes des {Journ}\'{ees} sur la {Manipulation} de X {Documents}, Rennes 4--6 Mai 1983", X publisher = pub-INRIA, X address = pub-INRIA:adr, X year = "1983", X acknowledgement = ack-hk, } X @Proceedings{Andre:1985:TIJ, X editor = "Jacques Andr\'e", X booktitle = "Typographie et Informatique, 21--25 janvier 1985", X title = "Typographie et Informatique, 21--25 janvier 1985", X publisher = pub-INRIA, X address = pub-INRIA:adr, X year = "1985", X acknowledgement = ack-hk, } X @Proceedings{Andre:1989:RID, X editor = "Jacques Andr{\'e} and Roger Hersch", X booktitle = "Raster Imaging and Digital Topography", X title = "Raster Imaging and Digital Topography", X publisher = pub-CUP, X address = pub-CUP:adr, X pages = "x + 292", X year = "1989", X ISBN = "0-521-37490-1", X LCCN = "Z253.3 .R37 1989", X bibdate = "Fri Jul 22 09:29:08 1994", } X @Proceedings{Anonymous:1991:PFA, X editor = "Anonymous", X booktitle = "Proceedings of the Fourth Annual Conference on X Computers and the Writing Process", X title = "Proceedings of the Fourth Annual Conference on X Computers and the Writing Process", X publisher = "Univ. Sussex", X address = "Brighton, UK", X pages = "v + 247", X month = mar, X year = "1991", X bibdate = "Sat Sep 17 11:20:33 1994", X abstract = "The following topics were dealt with: computer-aided X writing education; computer supported fiction, X including CINEWRITE system and JONATHAN collaborative X writing environment; reading and writing education with X hypertext; computer manual design and composition; X {\TeX} typesetting program; handwritten Pitman X shorthand recognition aids for authors; electronic X dictionaries for writers; collaborative writing X practices; Rapporteur constructive dialogue game for X document production; hypertext semantic linking; Headed X Record Expertext hypermedia and expert system; software X specification annotation; and online design brief X expansion document preparation with hypertext.", X acknowledgement = ack-nhfb, X classification = "C7820 (Humanities); C7810C (Computer-aided X instruction); C6160S (Spatial and pictorial databases); X C7106 (Word processing)", X conf_date = "22--23 March 1991", X conf_location = "Brighton, UK", X keywords = "TeX; Reading education; CAI; Computer-aided writing X education; CINEWRITE; JONATHAN; Collaborative writing X environment; Hypertext; Computer manual design; X Typesetting program; Handwritten Pitman shorthand X recognition aids; Electronic dictionaries; Rapporteur; X Document production; Semantic linking; Headed Record X Expertext; Hypermedia; Expert system; Software X specification annotation; Online design brief X expansion", X thesaurus = "Computer aided instruction; Desktop publishing; X Groupware; Hypermedia; Linguistics; Literature; X Microcomputer applications; Word processing", } X @Proceedings{Anonymous:1994:CCI, X editor = "Anonymous", X booktitle = "Chinese computing: International conference --- June X 1994, Singapore", X title = "Chinese computing: International conference --- June X 1994, Singapore", X volume = "4(1)", X publisher = "1994", X address = "Chinese and Oriental Languages Information Processing X Society", X pages = "????", X year = "1994", X ISSN = "0218-7019", X bibdate = "Sat Dec 21 15:45:22 MST 1996", X series = "COMMUNICATIONS- COLIPS", X acknowledgement = ack-nhfb, } X @Proceedings{Bloomfield:1988:VVW, X editor = "R. Bloomfield and L. Marshall and R. Jones", X booktitle = "VDM '88: VDM, the Way Ahead: 2nd VDM-Europe Symposium, X Dublin, Ireland, September, 1988: Proceedings", X title = "{VDM} '88: {VDM}, the Way Ahead: 2nd {VDM}-Europe X Symposium, Dublin, Ireland, September, 1988: X Proceedings", X publisher = pub-SV, X address = pub-SV:adr, X pages = "ix + 499", X year = "1988", X ISBN = "0-387-50214-9 (New York), 3-540-50214-9 (Berlin)", X LCCN = "QA76.76.D47 V8541 1988", X bibdate = "Mon Oct 24 13:01:54 1994", X acknowledgement = ack-nhfb, } X @Proceedings{Burton:1983:SIC, X editor = "Sarah K. Burton and Douglas D. Short", X booktitle = "Sixth International Conference on Computers and the X Humanities (North Carolina State University, Raleigh, X {NC}, June 6--8, 1983)", X title = "Sixth International Conference on Computers and the X Humanities (North Carolina State University, Raleigh, X {NC}, June 6--8, 1983)", X publisher = pub-CSP, X address = pub-CSP:adr, X pages = "x + 782", X year = "1983", X ISBN = "0-914894-96-X", X LCCN = "AZ105 .I56 1983", X bibdate = "Tue Jul 26 09:59:19 1994", X acknowledgement = ack-nhfb, } X @Proceedings{Clark:1990:TAU, X editor = "Malcolm Clark", X booktitle = "{\TeX}: Applications, Uses, Methods. Proceedings, X Third European \TeX Conference, {\TeX88}, Exeter, X August 1988", X title = "{\TeX}: Applications, Uses, Methods. Proceedings, X Third European {\TeX} Conference, {\TeX88}, Exeter, X August 1988", X publisher = pub-EH, X address = pub-EH:adr, X pages = "277", X year = "1990", X ISBN = "0-13-912296-6", X LCCN = "Z253.4.T47 C45 1990", X bibdate = "Fri Jul 22 09:29:34 1994", X price = "US\$69.95", } X @Proceedings{Dallas:1983:IWU, X editor = "Ian Neil Dallas and Edward Brian Spratt", X booktitle = "Ring technology Local Area Networks: Proceedings of X the {IFIP WG6}.4\slash University of Kent Workshop on X Ring Technology Based Local Area Networks, Kent, {UK}, X 28--30 September 1983", X title = "Ring technology Local Area Networks: Proceedings of X the {IFIP WG6}.4\slash University of Kent Workshop on X Ring Technology Based Local Area Networks, Kent, {UK}, X 28--30 September 1983", X publisher = pub-NH, X address = pub-NH:adr, X pages = "ix + 269", X year = "1983", X ISBN = "0-444-86852-6", X LCCN = "TK5105.5 .I3427 1983", X bibdate = "Tue Jul 26 09:34:30 1994", X acknowledgement = ack-nhfb, } X @Proceedings{Desarmenien:1986:TSD, X editor = "Jacques D{\'e}sarm{\'e}nien", X key = "TEXSCIDOC86", X booktitle = "{\TeX} for Scientific Documentation. Second European X Conference. Strasbourg, France, June 19--21, 1986. X Proceedings", X title = "{\TeX} for Scientific Documentation. Second European X Conference. Strasbourg, France, June 19--21, 1986. X Proceedings", X number = "236", X publisher = pub-SV, X address = pub-SV:adr, X pages = "vi + 204", X year = "1986", X ISBN = "3-540-16807-9, 0-387-16807-9 (paperback)", X LCCN = "Z253.4.T47 T49 1986", X bibdate = "Wed Aug 10 19:14:59 1994", X series = "Lecture Notes in Computer Science", X acknowledgement = ack-hk, } X @Proceedings{Forsley:1989:RFC, X editor = "Lawrence P. Forsley", X booktitle = "1989 Rochester Forth Conference. Industrial X Automation: June 20--24, 1989, University of X Rochester", X title = "1989 Rochester Forth Conference. Industrial X Automation: June 20--24, 1989, University of X Rochester", X publisher = inst-APPL-FORTH-RES, X address = inst-APPL-FORTH-RES:adr, X pages = "vii + 143", X year = "1989", X ISBN = "0-914593-09-9", X LCCN = "TJ212.2.A15 1989", X bibdate = "Tue Apr 09 17:32:18 1996", X acknowledgement = ack-nhfb, } X @Proceedings{Furuta:1990:PIC, X editor = "R. Furuta", X booktitle = "Proceedings of the International Conference on X Electronic Publishing, Document Manipulation \& X Typography, Gaithersburg, Maryland, September 1990", X title = "Proceedings of the International Conference on X Electronic Publishing, Document Manipulation \& X Typography, Gaithersburg, Maryland, September 1990", X publisher = pub-CUP, X address = pub-CUP:adr, X pages = "x + 298", X year = "1990", X ISBN = "0-521-40246-8", X LCCN = "Z 286 E43 I58 1990", X bibdate = "Fri Jul 22 11:20:37 1994", X acknowledgement = ack-kb, } X @Proceedings{Haliburton:1987:ATC, X editor = "John Haliburton", X booktitle = "{APL} in Transition: Conference Proceedings, {APL87}, X May 10--14, 1987, Dallas, Texas", X title = "{APL} in Transition: Conference Proceedings, {APL87}, X May 10--14, 1987, Dallas, Texas", X publisher = pub-ACM, X address = pub-ACM:adr, X pages = "xv + 512", X year = "1987", X ISBN = "0-89791-226-8", X LCCN = "????", X bibdate = "Wed Jul 27 11:05:37 1994", X note = "APL quote quad, v. 17, no. 4.", X price = "US\$37.00", X acknowledgement = ack-nhfb, } X @Proceedings{Heck:1992:DPA, X editor = "Andr{\'e} Heck", X booktitle = "Desktop Publishing in Astronomy {\&} Space Sciences. X Strasbourg Astronomical Observatory, [1--3] October, X 1991", X title = "Desktop Publishing in Astronomy {\&} Space Sciences. X Strasbourg Astronomical Observatory, [1--3] October, X 1991", X publisher = pub-WORLD-SCI, X address = pub-WORLD-SCI:adr, X pages = "xi + 240", X year = "1992", X ISBN = "981-02-0915-0", X LCCN = "QB14.2 .D47 1992", X bibdate = "Fri Jul 22 09:30:26 1994", X note = "In addition to the papers presented at the colloquium, X each paper is followed by a summary of the discussion X about that paper.", X acknowledgement = ack-bnb, } X @Proceedings{ICCPCOL:1988:ICC, X key = "ICCPCOL '88", X booktitle = "1988 International Conference on Computer Processing X of Chinese and Oriental Languages, August 29--September X 1, 1988, Toronto, Canada", X title = "1988 International Conference on Computer Processing X of Chinese and Oriental Languages, August 29--September X 1, 1988, Toronto, Canada", X publisher = "Concordia University", X address = "Montr{\'{e}}al, Qu{\'{e}}bec, Canada", X pages = "xvii + 645", X year = "1988", X LCCN = "QA76.9.T48 I48 1988", X bibdate = "Mon Oct 24 12:52:27 1994", X acknowledgement = ack-nhfb, X xxISBN = "none", } X @Proceedings{IEEE:1992:PEC, X key = "IEEE ECDA '92", X booktitle = "Proceedings \slash The European Conference on Design X Automation, Brussels, Belgium, March 16--19, 1992", X title = "Proceedings \slash The European Conference on Design X Automation, Brussels, Belgium, March 16--19, 1992", X publisher = pub-IEEE, X address = pub-IEEE:adr, X pages = "xx + 569", X year = "1992", X ISBN = "0-8186-2645-3", X LCCN = "TK7867 .E93 1992", X bibdate = "Thu Sep 08 13:21:26 1994", X acknowledgement = ack-nhfb, } X @Proceedings{Levelt:1995:IPI, X editor = "A. H. M. (Antonius Henricus Maria) Levelt", X booktitle = "ISSAC '95: Proceedings of the 1995 International X Symposium on Symbolic and Algebraic Computation: July X 10--12, 1995, Montreal, Canada", X title = "{ISSAC} '95: Proceedings of the 1995 International X Symposium on Symbolic and Algebraic Computation: July X 10--12, 1995, Montreal, Canada", X publisher = pub-ACM, X address = pub-ACM:adr, X pages = "xviii + 314", X year = "1995", X ISBN = "0-89791-699-9", X LCCN = "QA 76.95 I59 1995", X bibdate = "Mon May 11 18:06:16 1998", X note = "ACM order number: 505950.", X abstract = "The following topics were dealt with: differential X equations; visualisation; algebraic numbers; X algorithms; systems; polynomial and differential X algebra; seminumerical methods; greatest common X divisors; and.", X acknowledgement = ack-nhfb, X classification = "C4100 (Numerical analysis); C4170 (Differential X equations); C7310 (Mathematics computing)", X confsponsor = "ACM", X keywords = "Algebraic numbers; Algorithms; Differential algebra; X Differential equations; Greatest common divisors; X Polynomial; Seminumerical methods; Systems; X Visualisation", X source = "ISSAC '95", X thesaurus = "Data visualisation; Differential equations; Group X theory; Numerical analysis; Symbol manipulation", } X @Proceedings{Lucarella:1985:PFE, X editor = "Dario Lucarella", X key = "TEXSCIDOC85", X booktitle = proc-TEX85, X title = proc-TEX85, X publisher = pub-AW, X address = pub-AW:adr, X pages = "204", X year = "1985", X ISBN = "0-201-13399-7", X LCCN = "Q224.E97 1985", X bibdate = "Fri Jul 22 09:31:21 1994", X acknowledgement = ack-hk, } X @Proceedings{Miller:1984:PPF, X editor = "John J. H. Miller", X booktitle = "{PROTEXT I}: Proceedings of the First International X Conference on Text Processing Systems held in Dublin X from 24th to 26th October, 1984", X title = "{PROTEXT I}: Proceedings of the First International X Conference on Text Processing Systems held in Dublin X from 24th to 26th October, 1984", X publisher = pub-BP, X address = pub-BP:adr, X pages = "vii + 59", X year = "1984", X ISBN = "0-906783-41-0 (hardcover), 0-906783-42-9 (paper)", X LCCN = "QA76.9.T48 I591 1984", X bibdate = "Fri Jul 22 09:32:58 1994", X acknowledgement = ack-hk, } X @Proceedings{Miller:1985:PIP, X editor = "John J. H. Miller", X booktitle = "{PROTEXT II}: Proceedings of the Second International X Conference on Text Processing Systems held in Dublin X from 23rd to 25th October, 1985", X title = "{PROTEXT II}: Proceedings of the Second International X Conference on Text Processing Systems held in Dublin X from 23rd to 25th October, 1985", X publisher = pub-BP, X address = pub-BP:adr, X pages = "viii + 212", X year = "1985", X ISBN = "0-906783-50-X (hardcover), 0-906783-40-2 (paperback)", X LCCN = "QA76.9.T48 I561 1985", X bibdate = "Fri Jul 22 09:35:19 1994", X acknowledgement = ack-hk, } X @Proceedings{Miller:1986:PIP, X editor = "John J. H. Miller", X booktitle = "{PROTEXT III}: Proceedings of the Third International X Conference on Text Processing Systems held in Dublin X from 22nd to 24th October, 1986", X title = "{PROTEXT III}: Proceedings of the Third International X Conference on Text Processing Systems held in Dublin X from 22nd to 24th October, 1986", X publisher = pub-BP, X address = pub-BP:adr, X pages = "vii + 169", X year = "1986", X ISBN = "0-906783-57-7 (hardcover), 0-906783-58-5 (paperback)", X LCCN = "QA76.9.T48 I561 1986", X bibdate = "Fri Jul 22 09:33:46 1994", X acknowledgement = ack-hk, } X @Proceedings{Miller:1987:PIP, X editor = "John J. H. Miller", X booktitle = "{PROTEXT IV}: Proceedings of the Fourth International X Conference on Text Processing Systems, 20--22 October X 1987, Boston, {USA}", X title = "{PROTEXT IV}: Proceedings of the Fourth International X Conference on Text Processing Systems, 20--22 October X 1987, Boston, {USA}", X publisher = pub-BP, X address = pub-BP:adr, X pages = "vii + 153", X year = "1987", X ISBN = "0-906783-80-1 (hardcover), 0-906783-79-8 (paperback)", X LCCN = "QA76.9.T48 I571 1987", X bibdate = "Fri Jul 22 09:38:44 1994", } X @Proceedings{Nadrchal:1990:MMI, X editor = "J. Nadrchal", X key = "CTP", X booktitle = "Man-Machine Interface in the Scientific Environment. X {Proceedings} of the 8th European Summer School on X Computing Techniques in Physics. Skalsk{\'y} X Dv{\accent'27u}r, Czechoslovakia, 19--28 {September} X 1989", X title = "Man-Machine Interface in the Scientific Environment. X {Proceedings} of the 8th European Summer School on X Computing Techniques in Physics. Skalsk{\'y} X Dv{\accent'27u}r, Czechoslovakia, 19--28 {September} X 1989", X volume = "61", X organization = "European Summer Schools on Computing Techniques in X Physics", X publisher = pub-NH # "; " # "Elsevier Science Publishers B. V.", X address = pub-NH:adr, X year = "1990", X bibdate = "Wed Aug 24 21:50:25 1994", X note = "In addition to the papers presented at the colloquium, X each paper is followed by a summary of the discussion X about that paper.", X series = j-CPC, } X @Proceedings{NCC:1976:ACP, X key = "AFIPS NCC '76", X booktitle = "{AFIPS} Conference Proceedings of the 1976 National X Computer Conference, June 7--10, 1976, New York City", X title = "{AFIPS} Conference Proceedings of the 1976 National X Computer Conference, June 7--10, 1976, New York City", X volume = "45", X publisher = pub-AFIPS, X address = pub-AFIPS:adr, X pages = "1082", X year = "1976", X ISBN = "??", X LCCN = "??", X bibdate = "Mon Oct 24 14:14:11 1994", X acknowledgement = ack-nhfb, } X @Book{Nievergelt:1982:DPS, X editor = "J. Nievergelt and G. Coray and J.-D. Nicoud and A. C. X Shaw", X booktitle = "Document Preparation Systems: A Collection of Survey X Articles", X title = "Document Preparation Systems: {A} Collection of Survey X Articles", X publisher = pub-ENH, X address = pub-ENH:adr, X pages = "xiv + 274", X year = "1982", X ISBN = "0-444-86493-8", X LCCN = "Z244 .D63 1982", X bibdate = "Mon Jul 25 11:49:30 1994", X price = "US\$46.50", X acknowledgement = ack-nhfb, X keywords = "algorithms; human factors; languages; theory", X review = "ACM CR 40376", X subject = "H.1 Information Systems, MODELS AND PRINCIPLES, X User/Machine Systems \\ I.7 Computing Methodologies, X TEXT PROCESSING, Text Editing \\ I.7 Computing X Methodologies, TEXT PROCESSING, Document Preparation J X Computer Applications, COMPUTERS IN OTHER SYSTEMS", } X @Proceedings{Nixon:1989:NOM, X editor = "Carol Nixon and Lauree Padgett", X booktitle = "National Online Meeting proceedings--1989, New York, X May 9--11, 1989", X title = "National Online Meeting proceedings--1989, New York, X May 9--11, 1989", X publisher = pub-LEARNED-INF, X address = pub-LEARNED-INF:adr, X pages = "xv + 506", X month = may, X year = "1989", X ISBN = "0-938734-34-2", X LCCN = "QA76.55 .N37 1989", X bibdate = "Thu Sep 01 01:32:56 1994", X abstract = "The following topics were dealt with: gateways; CD-ROM X business databases; government information sources; end X user access to medical information; engineering X information workstations user interfaces for online X services; indexing of graphic materials; text/image X database design and performance; chief information X officer responsibilities; Comprehensive Core Medical X Library; alternatives to online databases; trade data; X WISER; full text searching behavior; library automation X project management; private databases; third world X information needs; facsimile and copyright; EasyNet end X user's reference needs; trademark images on Dialog; AI; X image publishing on CD-ROM; ARS Pesticide properties X database; SGML and {\TeX} for interactive chemical X encyclopedia; patent information; strategic business X intelligence; ISDN; Search MAESTRO SOS; hypertext; X telephone diversification and information industry of X 1990's; global market; reference media diversification; X spelling errors; document fulfillment; data quality; X art and architecture thesaurus; behavioral and social X science information; Information Index; international X marketing; aural interfaces; in-house bibliographic X databases; PENpages; expert systems; bilingual X Hebrew-English acquisition system; CD-ROM MEDLINE; X document image archive; and online searching X education.", X acknowledgement = ack-nhfb, X classification = "C7200 (Information science and documentation)", X conf_date = "9--11 May 1989", X conf_location = "New York, NY, USA", X conf_sponsor = "Learned Inf", X keywords = "Gateways; CD-ROM business databases; Medical X information; Engineering information workstations; User X interfaces; Online services; Indexing; Text/image X database design; Chief information officer X responsibilities; Comprehensive Core Medical Library; X Online databases; Trade data; WISER; Full text X searching; Library automation project management; X Private databases; Third world information needs; X Copyright; EasyNet; Trademark images; AI; Image X publishing; CD-ROM; ARS Pesticide properties database; X SGML; TeX; Interactive chemical encyclopedia; Patent X information; Search MAESTRO SOS; Hypertext; Spelling X errors; Document fulfillment; Data quality; Art; X Architecture; Thesaurus; Information Index; X International marketing; Aural interfaces; In-house X bibliographic databases; PENpages; Expert systems; X Bilingual Hebrew-English acquisition system; CD-ROM X MEDLINE; Document image archive; Online searching X education", X thesaurus = "CD-ROMs; Electronic publishing; Indexing; Information X dissemination; Information needs; Information X retrieval; Information retrieval systems; Information X services; Library automation", } X @Proceedings{Pietrowski:1991:ISI, X editor = "Ken Pietrowski", X booktitle = proc-NIPT91, X title = proc-NIPT91, X volume = "2", X publisher = pub-IST, X address = pub-IST:adr, X year = "1991", X bibdate = "Sat Mar 12 18:27:13 1994", } X @Book{Rahtz:1987:ITH, X editor = "Sebastian Rahtz", X booktitle = "Information technology in the humanities: tools, X techniques and applications", X title = "Information technology in the humanities: tools, X techniques and applications", X publisher = pub-HALSTED, X address = pub-HALSTED:adr, X pages = "184", X year = "1987", X ISBN = "0-470-20852-X, 0-7458-0148-X", X LCCN = "AZ105 .I54 1987", X bibdate = "Mon Jul 25 12:00:55 1994", X price = "UK\pounds 25.00, US\$39.95", X series = "Ellis Horwood series in computers and their X applications", } X @Proceedings{Vanoirbeek:1992:EPE, X editor = "C. Vanoirbeek and G. Coray", X booktitle = "{EP92}\emdash Proceedings of Electronic Publishing, X '92, International Conference on Electronic Publishing, X Document Manipulation, and Typography, Swiss Federal X Institute of Technology, Lausanne, Switzerland, April X 7-10, 1992", X title = "{EP92}\emdash Proceedings of Electronic Publishing, X '92, International Conference on Electronic Publishing, X Document Manipulation, and Typography, Swiss Federal X Institute of Technology, Lausanne, Switzerland, April X 7-10, 1992", X publisher = pub-CUP, X address = pub-CUP:adr, X pages = "x + 316", X year = "1992", X ISBN = "0-521-43277-4", X LCCN = "Z 286 E43 I58 1992", X bibdate = "Tue Dec 14 10:50:52 1993", X note = "Prepared with {\LaTeX}, and Microsoft Word converted X to {\LaTeX}.", X price = "UK\pounds 35", X acknowledgement = ack-ps, } X @Proceedings{vanVliet:1986:TPD, X editor = "J. C. van Vliet", X booktitle = "Text Processing and Document Manipulation: Proceedings X of the International Conference, University of X Nottingham, 14--16 April 1986", X title = "Text Processing and Document Manipulation: Proceedings X of the International Conference, University of X Nottingham, 14--16 April 1986", X publisher = pub-CUP, X address = pub-CUP:adr, X pages