[OS X TeX] Coexisting TeX distributions and TeXShop .engine files

Malcolm Ross Malcolm.Ross at anu.edu.au
Mon Jan 29 14:28:10 CET 2007


On 29/01/2007, at 8:57 PM, Jonathan Kew wrote:

> On 29 Jan 2007, at 8:50 am, Malcolm Ross wrote:
>
>> I have two coexisting TeX distributions on my PowerBook G4. The  
>> TeX Distributions preference pane shows them as gwTeX-2003-2005  
>> and TeXLive-2007, and the pane is switched to  TeXLive-2007. When  
>> I run LaTeX, the log shows that TeXLive-2007 is used, but when I  
>> run XeLaTeX, the log shows that teTeX (i.e. gwTeX) is used  
>> instead. I had expected TeXLive to be used in both cases, and I am  
>> struggling to understand why teTeX is used with XeLaTeX. Xe(La)TeX  
>> is present in both distributions.
>>
>> The XeLaTeX.engine file reads:
>>
>> #!/bin/tcsh
>>
>> set path= ($path /usr/texbin /usr/local/bin)
>> xelatex  "$1"
>>
>> I was under the impression that '/usr/texbin' should cause TeXShop  
>> to use the distribution selected in the preference pane.
>
> Note that this script *appends* /usr/texbin and /usr/local/bin to  
> your existing $path. This means that if tcsh already has a $path  
> element where xelatex exists, that will still be used.

Thanks, Jonathan. I hadn't realised this.
>
> The behavior with (pdf)latex is different because this doesn't use  
> a separate .engine file running in a shell; TeXShop is calling  
> pdftex directly using the full path from its preferences.

Yes, I had sort of imagined this.
>
>> It seems I am wrong. Can anyone enlighten me as to why this might  
>> be happening and how I can fix things so that TeXLive-2007 is  
>> chosen in all cases?
>
> My guess is that you have a ~/.tcshrc or ~/.cshrc or /etc/csh.cshrc  
> or something that is putting the old gwTeX binary directory into  
> the path. Try running tcsh in Terminal (note that Terminal windows  
> may well be running bash by default, which uses separate settings),  
> and see what path it reports:

It reports:

/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/texbin /usr/X11R6/ 
bin /usr/local/pgsql/bin /usr/local/mysql/bin /opt/local/bin /sw/bin

This is what Bruno suspected, too, but I can't see what is pointing  
to the old gwTeX binary directory here. Probably my ignorance.

> One fix would be to change the engine file so that /usr/texbin is  
> *prefixed* to the existing path, so it'll take precedence over  
> anything that's already there:
>
>> set path= (/usr/texbin $path /usr/local/bin)

I've done this, and it works, of course. Bruno asked why I thought  
teTeX was being used. As he surmised, teTeX was in the path to the  
various LaTeX input files read during typesetting and recorded in the  
log. Now it is replaced by TeXLive.

> The other (better) solution is to track down the out-of-date  
> initialization file that is putting the old directory in the path,  
> and change it to use the new /usr/texbin convention instead.

Yes, I understand this, but the old directory path eludes me.

Many thanks to you both.

Malcolm

------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/




More information about the macostex-archives mailing list