On 6/27/06, David Arnold <[EMAIL PROTECTED]> wrote: > OK, > > I've updated to the latest context via Gerben's i-installer on my mac > osx 10.4.6. > > I have no idea what texmfstart is nor do I understand its purpose. > > I imagine the first thing I have to do is configure, because it is > certainly not found on my system. > > tmp $ which texmfstart > tmp $ texmfstart > -bash: texmfstart: command not found > > > Here is my path: > > tmp $ echo $PATH > /sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/ > local/teTeX/bin/powerpc-apple-darwin-current:/opt/local/bin:/usr/ > local/mysql/bin:/usr/X11R6/bin > > For example: > > tmp $ texexec --version > > TeXExec 5.4.3 - ConTeXt / PRAGMA ADE 1997-2005 > > texexec : TeXExec 5.4.3 - ConTeXt / PRAGMA ADE 1997-2005 > texutil : TeXUtil 9.0.1 - ConTeXt / PRAGMA ADE 1992-2006 > tex : pdfeTeX, 3.141592-1.30.4-2.2 (Web2C 7.5.5) > context : ver: 2006.06.23 20:39 > cont-en : ver: 2006.06.23 20:39 fmt: 2006.6.27 mes: > english > cont-nl : ver: 2006.06.23 20:39 fmt: 2006.6.27 mes: > dutch > > total run time : 3 seconds > > warning : use 'texmfstart texexec' instead > > > tmp $ which texexec > /usr/local/teTeX/bin/powerpc-apple-darwin-current/texexec > > Which appears to be some sort of shell script.
Yes, it is a wrapper that uses kpsewhch to search for <what>.pl and then fires up perl with the full path to the script. The same trick works for ruby (.rb) and java (.jar). I've made 3 scripts, called runtexmfXX, where XX={pl,rb,jar}: ----------------- runtexmfrb ---------------- #! /bin/sh # runtexmfrb -- run ruby scripts with "ruby <path>texmfstart.rb .." # Author: George N. White III <[EMAIL PROTECTED]> # Date: 2006-06-25 # to use: link (ln -s) to the names of ConTeXt scripts in your tex bin # directory. # cd <...>/bin/<arch> # for f in texmfstart texexec pstopdf textools texutil ctxtools pdftools rlxtools texsync ; do ln -s runtexmfrb $f ; done # # requires: # ruby, sed, kpsewhich what=`echo $0 | sed '[EMAIL PROTECTED]/@@'` p=`kpsewhich -format=texmfscripts texmfstart.rb` { test -n "$p" && test -f "$p"; } \ || { echo "\`texmfstart.rb' not found."; exit 1; } # for texmfstart just case $what in texmfstart) exec ruby "$p" ${1+"$@"} ;; *) q=`kpsewhich -format=texmfscripts $what.rb` { test -n "$q" && test -f "$q"; } \ || { echo "\`$what.rb' not found."; exit 1; } exec ruby "$p" "$what.rb" ${1+"$@"} ;; esac ----------------- end runtexmfrb ---------- ----------------- runtexmfjar ---------------- #!/bin/sh # runtexmfjar -- run texmf Java app # Author: George N. White III <[EMAIL PROTECTED]> # Date: 2006-06-25 # to use: link to the names of the apps: # e.g., "ln -s runtexmfjar JabRef" java=/usr/java/jre1.5.0/bin/java what=`echo $0 | sed '[EMAIL PROTECTED]/@@'` p=`kpsewhich -format=texmfscripts $what.jar` { test -n "$p" && test -f "$p"; } \ || { echo "\`$what.jar' not found."; exit 1; } exec "$java" -jar "$p" ${1+"$@"} ----------------- end runtexmfjar ---------- ----------------- runtexmfpl ---------------- #!/bin/sh # runtexmfpl -- run texmf perl script # to use: link to the names of the apps: # e.g., "ln -s runtexmfpl epstopdf" what=`echo $0 | sed '[EMAIL PROTECTED]/@@'` p=`kpsewhich -format=texmfscripts $what.pl` { test -n "$p" && test -f "$p"; } \ || { echo "\`$what.pl' not found."; exit 1; } exec perl "$p" ${1+"$@"} ----------------- end runtexmfpl ---------- > [...] > Ruby is installed: > > tmp $ which ruby > /usr/bin/ruby > tmp $ ruby --version > ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0] > > And here is the location of texmfstart: > > /usr/local/teTeX/share/texmf.local/scripts/context/ruby/texmfstart.rb > /usr/local/teTeX/share/texmf.local/scripts/context/stubs/lib/texmfstart > /usr/local/teTeX/share/texmf.local/scripts/context/stubs/lib/ > texmfstart/base > /usr/local/teTeX/share/texmf.local/scripts/context/stubs/lib/ > texmfstart/base/kpse > > > Now for questions: > > 1. How do I configure my system to use texmstart? in the "bin" directory with texexec, rename texexec to texexec.orig, create the 2 or 3 scripts you want to use, do "chmod +x runtexmf*", and decide which names are perl (.pl) and which are ruby (.rb). Create symbolic links: "ln -s runtexmfrb texmfstart", etc. for the ruby scripts. You can also do this for other perl scripts such as epstopdf, but be careful, as the bin directory may contain newer versions than the texmf trees. > 2. What are some of the usual uses I should be employing of > texmfstart? How will it improve performance? How will it simplify my > work? Etc? I.e what are the advantages? Performance for scripts like this is not much af an issue these days -- if you want performance, buy better hardware. What is an issue is the ability of the developers to find and fix bugs. Perl is old and tricky. There are lots of old buggy perl versions installed. Hopefully ruby will turn out to be more robust (lessons learned, etc.). The advantages to us are that you will use it and report bugs before we do. The advantages to you are that Hans is replacing perl scripts with ruby scripts, so if you need a new feature it is more likely to appear as ruby than as perl code. -- George N. White III <[EMAIL PROTECTED]> Head of St. Margarets Bay, Nova Scotia _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context