#!/bin/sh # Auxiliary script to work around TeX 3.0 bug. ---- tex3patch ---- # patches texinfo.tex in current directory, or in directory given as arg. ANYVERSION=no for arg in $1 $2 do case $arg in --dammit | -d ) ANYVERSION=yes ;; * ) dir=$arg esac done if [ -z "$dir" ]; then dir='.' fi if [ \( 2 -lt $# \) -o \ \( ! -f $dir/texinfo.tex \) ]; then echo "To patch texinfo.tex for peaceful coexistence with Unix TeX 3.0," echo "run $0" echo "with no arguments in the same directory as texinfo.tex; or run" echo " $0 DIRECTORY" echo "(where DIRECTORY is a path leading to texinfo.tex)." exit fi if [ -z "$TMPDIR" ]; then TMPDIR=/tmp fi echo "Checking for \`dummy.tfm'" ( cd $TMPDIR; tex '\relax \batchmode \font\foo=dummy \bye' ) grep -s '3.0' $TMPDIR/texput.log if [ 1 = "$?" -a "$ANYVERSION" != "yes" ]; then echo "You probably do not need this patch," echo "since your TeX does not seem to be version 3.0." echo "If you insist on applying the patch, run $0" echo "again with the option \`--dammit'" exit fi grep -s 'file not found' $TMPDIR/texput.log if [ 0 = $? ]; then echo "This patch requires the dummy font metric file \`dummy.tfm'," echo "which does not seem to be part of your TeX installation." echo "Please get your TeX maintainer to install \`dummy.tfm'," echo "then run this script again." exit fi rm $TMPDIR/texput.log echo "Patching $dir/texinfo.tex" sed -e 's/%%*\\font\\nullfont/\\font\\nullfont/' \ $dir/texinfo.tex >$TMPDIR/texinfo.tex mv $dir/texinfo.tex $dir/texinfo.tex-distrib; mv $TMPDIR/texinfo.tex $dir if [ 0 = $? ]; then echo "Patched $dir/texinfo.tex to avoid TeX 3.0 bug." echo "The original version is saved as $dir/texinfo.tex-distrib." else echo "Patch failed. Sorry." fi ----------------------------------------tex3patch ends