Re: [NTG-context] figure directory is sort of searched
On 8/15/06, Taco Hoekwater wrote: > > Hi, > > Sanjoy Mahajan wrote: > > I still can't figure this problem one out, from a few months ago, and it > > happens with a recent ConTeXt (2006.08.08 21:51). The figure searching > > code gets confused if a file of the same basename (but in a different > > directory) has already been loaded. Here is a minimal min.tex to show > > what I mean: > > I remember I ran into that as well (more than a year ago) and I ended > up renaming my figures to figure1-1.pdf etc. It actually turned out > to be easier for me, because that way I could use the figure filename > as the reference. While reading Taco's response something else came to my mind: here's what I did in one of the presentations: \startsetups award:gold \useexternalfigure[medal][medal_gold][height=7.5cm] \stopsetups \startsetups award:silver \useexternalfigure[medal][medal_silver][height=7.5cm] \stopsetups \startsetups award:bronze \useexternalfigure[medal][medal_bronze][height=7.5cm] \stopsetups After that I just issued \setups{award:gold} at the top of "product file" for gold medallists while using the same page layout for all the medallists (with a simple \externalfigure[medal] which was good for any medallist). I guess that you could also do something like \startsetups chapter:1 \useexternalfigure[fig-1][1/fig-1.pdf] \useexternalfigure[fig-2][1/fig-2.pdf] \stopsetups \startsetups chapter:2 \useexternalfigure[fig-1][2/fig-1.pdf] ... \stopsetups \starttext \setups{chapter:1} \externalfigure[fig-1] \externalfigure[fig-2] \setups{chapter:2} \externalfigure[fig-1] \stoptext Just out of curiosity I tried the following: \startsetups chapter:1 \dorecurse{10}{\useexternalfigure[fig-\recurselevel][1/fig-\recurselevel.pdf]} \stopsetups \startsetups chapter:2 \dorecurse{10}{\useexternalfigure[fig-\recurselevel][2/fig-\recurselevel.pdf]} \stopsetups But you should ask someone else where to "expand" stuff to make it work. Mojca ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] figure directory is sort of searched
Taco sez: > Sanjoy sez: > > The figure searching code gets confused if a file of the same > > basename (but in a different directory) has already been loaded. > I remember I ran into that as well (more than a year ago) and I > ended up renaming my figures to figure1-1.pdf etc. It actually > turned out to be easier for me, because that way I could use the > figure filename as the reference. Good idea, thanks. I might also integrate the figures (they're all MetaPost) into the .tex source, what I couldn't do in (e)plain TeX. I expect I'll have a few questions after I try that :-) The MetaFun manual already told me the answer to one of them: how to have common settings and macros across all the MetaPost figures (\startMPinclusions). -Sanjoy `Never underestimate the evil of which men of power are capable.' --Bertrand Russell, _War Crimes in Vietnam_, chapter 1. ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] figure directory is sort of searched
Hi, Sanjoy Mahajan wrote: > I still can't figure this problem one out, from a few months ago, and it > happens with a recent ConTeXt (2006.08.08 21:51). The figure searching > code gets confused if a file of the same basename (but in a different > directory) has already been loaded. Here is a minimal min.tex to show > what I mean: I remember I ran into that as well (more than a year ago) and I ended up renaming my figures to figure1-1.pdf etc. It actually turned out to be easier for me, because that way I could use the figure filename as the reference. Cheers, taco ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
[NTG-context] figure directory is sort of searched
I still can't figure this problem one out, from a few months ago, and it happens with a recent ConTeXt (2006.08.08 21:51). The figure searching code gets confused if a file of the same basename (but in a different directory) has already been loaded. Here is a minimal min.tex to show what I mean: \starttext \setupexternalfigures[directory={1}] \placefigure[here][ch1fig]{should be 1/fig-1.pdf}{\externalfigure[fig-1.pdf]} \setupexternalfigures[directory={2}] \placefigure[here][ch2fig1]{should be 2/fig-1.pdf}{\externalfigure[fig-1.pdf]} \placefigure[here][ch2fig2]{should be 2/fig-2.pdf}{\externalfigure[fig-2.pdf]} \stoptext Probably it's a silly idea to use \setupexternalfigures within the body, but the same problem happens when using components (where each component's preamble has a similar line), where it makes more sense. Here is the directory structure, and all the files are attached as a small (15KB) .tgz: min.tex 1/fig-1.pdf 2/fig-1.pdf 2/fig-2.pdf The final (third) figure is correctly found as 2/fig-2.pdf. But the second figure is reused from 1/fig-1.pdf because another fig-1.pdf has already been found: as 1/fig-1.pdf. Here is the relevant bit from the texexec output: <./1/fig-1.pdf> figures : dimensions of 1/fig-1.pdf loaded from figurefile itself (./min.tuo) (/home/sanjoy/texmf/tex/context/base/pdfr-ec.tex) floatblocks : 1 placed figures : figureobject fig-1.pdf is reused floatblocks : 2 placed <./2/fig-2.pdf> figures : dimensions of 2/fig-2.pdf loaded from figurefile itself floatblocks : 3 placed One part of ConTeXt does know the right figure path. A \getfiguredimensions[fig-1.pdf] after the second \placefigure will trigger a kpathsea search for 2/fig-1.pdf, which it finds. But it still loads 1/fig-1.pdf, which is why I've said 'sort of searched' in the subject line. It seems that the decision about whether a figure is already loaded is made in core-fig.tex, in \def\calculateexternalfigure[#1][#2][#3][#4][#5][#6]% ... \ifcase\figurestatus \let\@@efframe\v!on \let\@@efobject\v!no \showmessage\m!figures1\@@effilename \or \showmessage\m!figures2\@@effullname \or \showmessage\m!figures3{\@@effullname,\@@eflenttype}% \or \showmessage\m!figures4\@@effullname \or \showmessage\m!figures5{\@@effullname,\@@efloadname}% \or % no message \doifnot\@@efsymbol\v!yes{\showmessage\m!figures8\@@effullname}% \fi ... The "no message" comment suggests that when \figurestatus isn't set, the message shown is figures8, which is 8: figureobject -- is reused But I couldn't figure out who sets \figurestatus and where the judgement of 'already loaded' is made. The comment at the beginning of the above \def ("this whole mess needs a clean up anyway") scared me off :-) -Sanjoy `A society of sheep must in time beget a government of wolves.' - Bertrand de Jouvenal searching.tgz Description: example files ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Re: [NTG-context] figure directory is sort of searched
> The figure searching code gets confused if a file of the same > basename (but in a different directory) has already been loaded. Looking a bit into this, it seems that the decision about whether a figure is already loaded is made in core-fig.tex, in \def\calculateexternalfigure[#1][#2][#3][#4][#5][#6]% ... \ifcase\figurestatus \let\@@efframe\v!on \let\@@efobject\v!no \showmessage\m!figures1\@@effilename \or \showmessage\m!figures2\@@effullname \or \showmessage\m!figures3{\@@effullname,\@@eflenttype}% \or \showmessage\m!figures4\@@effullname \or \showmessage\m!figures5{\@@effullname,\@@efloadname}% \or % no message \doifnot\@@efsymbol\v!yes{\showmessage\m!figures8\@@effullname}% \fi ... The "no message" comment suggests that when \figurestatus isn't set, the message shown is figures8, which is 8: figureobject -- is reused But I couldn't figure out who sets \figurestatus and where the judgement of 'already loaded' is made. The comment at the beginning of the above \def ("this whole mess needs a clean up anyway") scared me away :-) -Sanjoy `Never underestimate the evil of which men of power are capable.' --Bertrand Russell, _War Crimes in Vietnam_, chapter 1. ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
[NTG-context] figure directory is sort of searched
The figure searching code gets confused if a file of the same basename (but in a different directory) has already been loaded. Here is a minimal min.tex to show what I mean: \starttext \setupexternalfigures[directory={1}] \placefigure[here][ch1fig]{should be 1/fig-1.pdf}{\externalfigure[fig-1.pdf]} \setupexternalfigures[directory={2}] \placefigure[here][ch2fig1]{should be 2/fig-1.pdf}{\externalfigure[fig-1.pdf]} \placefigure[here][ch2fig2]{should be 2/fig-2.pdf}{\externalfigure[fig-2.pdf]} \stoptext Probably it's a silly idea to use \setupexternalfigures within the body, but the same problem happens when using components (where each component's preamble has a similar line), where it makes more sense. Here is the directory structure (all the files are attached as a .tgz): min.tex 1/fig-1.pdf 2/fig-1.pdf 2/fig-2.pdf The final (third) figure is correctly found as 2/fig-2.pdf. But the second figure is reused from 1/fig-1.pdf because another fig-1.pdf has already been found: as 1/fig-1.pdf. Here is the relevant bit from the texexec output: <./1/fig-1.pdf> figures : dimensions of 1/fig-1.pdf loaded from figurefile itself (./min.tuo) (/home/sanjoy/texmf/tex/context/base/pdfr-ec.tex) floatblocks : 1 placed figures : figureobject fig-1.pdf is reused <= The problem?? floatblocks : 2 placed <./2/fig-2.pdf> figures : dimensions of 2/fig-2.pdf loaded from figurefile itself floatblocks : 3 placed One part of ConTeXt does know the right figure path. A \getfiguredimensions[fig-1.pdf] after the second \placefigure will trigger a kpathsea search for 2/fig-1.pdf, which it finds. But it still loads 1/fig-1.pdf, which is why I've said 'sort of searched' in the subject line. -Sanjoy searching.tgz Description: test files ___ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context