[tex-live] asy & texmf v texmf-local

George N. White III gnwiii at gmail.com
Thu Aug 26 18:43:46 CEST 2010


On Thu, Aug 26, 2010 at 6:06 AM, Will Robertson <wspr81 at gmail.com> wrote:

> Hi,
>
> Since John has presumably missed the beginning of this short thread, I'll recap quickly:
>
> In TeX Live, asymptote's style file is kept in
>
>   /usr/local/texlive/2010/texmf/tex/latex/asymptote/asymptote.sty
>
> but when I compile asy from source, it puts its file (correctly, it seems to me) in
>
>   /usr/local/texlive/2010/../texmf-local/tex/latex/asymptote/asymptote.sty
>
> Unfortunately, the TL-installed asymptote.sty is found before the texmf-local one in the search path, and I was asking the best way to resolve this situation (since it would be nice if the source-installed copy was found first by default).

The goal should be to ensure that the version of asymptote.sty matches
the program.  You omit to mention whether you also installed a
binary.  In any case, my recipe for this sort of messing around:

create bin/<arch>-t and texmf-t directories

put bin/<arch>-t just before bin/arch in the PATH
adjust texmf.cnf to put texmf-t before texmf, e.g.:

% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2010/texmf-var
TEXMFCONFIG = ~/Library/texlive/2010/texmf-config

TEXMFTEST=$SELFAUTOPARENT/texmf-t

TEXMF={$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFTEST,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}

TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFTEST,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}

SYSTEXMF = $TEXMFSYSVAR;$TEXMFTEST;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST

% ---------- end of /usr/local/texlive/2010/texmf.cnf

figure out configure options to force the installer to use these
places for your new binaries and texmf bits, or
just install to some scratch location and move to the above places. I used:

./configure --prefix=/usr/local/texlive/2010
--bindir=/usr/local/texlive/2010/bin-t/universal-darwin
--with-latex=/usr/local/texlive/2010/texmf-t/tex/latex
--with-context=/usr/local/texlive/2010/texmf-t/tex/context
make -j3
[...]
make check
[... all PASSED]
make install
[...]
$ which asy/usr/local/texlive/2010/bin-t/universal-darwin/asy
$ asy --version
Asymptote version 2.04 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]


>
>
> On 26/08/2010, at 6:10 PM, Victor Ivrii wrote:
>
>> I have two asymptote.sty
>>
>> /usr/local/texlive/2009/texmf/tex/latex/asymptote/asymptote.sty
>> /usr/local/texlive/2010/texmf/tex/latex/asymptote/asymptote.sty
>>
>> and the second one is installed by asymptote. Methink it should be
>> /usr/local/texlive/2010/texmf-local/tex/latex/asymptote/asymptote.sty
>>
>> I copying this message to John Bowman who can either clarify things or
>> change installer behaviour
>
>
> Norbert reckons that asymptote.sty belongs in 2010/texmf/ since it's tied to the engine, which seems sensible to me. While the source makefile could install asymptote.sty over the top of the TL version (i.e., replacing it), this would require the makefile to check if TL is being used, etc., which isn't fun.
>
> I don't think there's any easy solution to this problem beyond saying "if you compile from source you need to remove the TL-installed asymptote.sty".
>
> -- Will
>
> P.S.  Perhaps I'm exaggerating the frustrations of checking for TL in the makefile. The configure script has
>
> if test "x$kpsewhich" = "xtrue"; then
>  latexdir=`kpsewhich -expand-var='$TEXMFLOCAL'/tex/latex`
> else
>  latexdir=$prefix/share/texmf/tex/latex
> ...
>
> Is there a suitable test so you could write instead
>
> if <TL2009 or TL2010 or greater but not teTeX nor MiKTeX>
>  latexdir=`kpsewhich -expand-var='$TEXMFMAIN'/tex/latex`
> else
>  <the test above>
>
> ?

I find it very convenient to have such "test" trees available.

-- 
George N. White III <aa056 at chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia



More information about the tex-live mailing list