1#!/bin/sh 2# Auxiliary script to work around TeX 3.0 bug. ---- tex3patch ---- 3# patches texinfo.tex in current directory, or in directory given as arg. 4 5ANYVERSION=no 6 7for arg in $1 $2 8do 9 case $arg in 10 --dammit | -d ) ANYVERSION=yes ;; 11 12 * ) dir=$arg 13 esac 14done 15 16if [ -z "$dir" ]; then 17 dir='.' 18fi 19 20if [ 2 -lt $# ] || [ ! -f "$dir/texinfo.tex" ]; then 21 echo "To patch texinfo.tex for peaceful coexistence with Unix TeX 3.0," 22 echo "run $0" 23 echo "with no arguments in the same directory as texinfo.tex; or run" 24 echo " $0 DIRECTORY" 25 echo "(where DIRECTORY is a path leading to texinfo.tex)." 26 exit 27fi 28 29if [ -z "$TMPDIR" ]; then 30 TMPDIR=/tmp 31fi 32 33echo "Checking for \`dummy.tfm'" 34 35( cd $TMPDIR; tex '\relax \batchmode \font\foo=dummy \bye' ) 36 37grep -s '3.0' $TMPDIR/texput.log 38if [ 1 = "$?" ] && [ "$ANYVERSION" != "yes" ]; then 39 echo "You probably do not need this patch," 40 echo "since your TeX does not seem to be version 3.0." 41 echo "If you insist on applying the patch, run $0" 42 echo "again with the option \`--dammit'" 43 exit 44fi 45 46grep -s 'file not found' $TMPDIR/texput.log 47if [ 0 = $? ]; then 48 echo "This patch requires the dummy font metric file \`dummy.tfm'," 49 echo "which does not seem to be part of your TeX installation." 50 echo "Please get your TeX maintainer to install \`dummy.tfm'," 51 echo "then run this script again." 52 exit 53fi 54rm $TMPDIR/texput.log 55 56echo "Patching $dir/texinfo.tex" 57 58sed -e 's/%%*\\font\\nullfont/\\font\\nullfont/' \ 59 $dir/texinfo.tex >$TMPDIR/texinfo.tex 60mv $dir/texinfo.tex $dir/texinfo.tex-distrib; mv $TMPDIR/texinfo.tex $dir 61 62if [ 0 = $? ]; then 63 echo "Patched $dir/texinfo.tex to avoid TeX 3.0 bug." 64 echo "The original version is saved as $dir/texinfo.tex-distrib." 65else 66 echo "Patch failed. Sorry." 67fi 68----------------------------------------tex3patch ends 69 70 71