I want to use the positionoverlay mechanism in several different figures (according to the metafun manual "Anchors and layers"). The problem is that the overlays show up in the last figure only, not in the first. If I do not typeset the second overlayseries, the first does appear. It looks like only the last overlayseries is kept. Why is this and how to remedy this? Like this with several names overlay names: \def\startoverlaygraphics#1{% \startpositionoverlay{#1}% } \def\stopoverlaygraphics#1{% \stoppositionoverlay \defineoverlay[#1][\positionoverlay{#1}] \setupbackgrounds[page][background={foreground,#1}] } Using it in: \startoverlaygraphics{graphics-1} \setMPpositiongraphic{A1}{syllabus:arrow}{to=B1} etc. \stopoverlaygraphics{graphics-1} ...\hpos{A1}{}...\hpos{B1}{}... \startoverlaygraphics{graphics-2} \setMPpositiongraphic{E1}{syllabus:arrow}{to=F1} etc. \stopoverlaygraphics{graphics-2} ...\hpos{E1}{}...\hpos{F1}{}... Arrows drawn with: \setupMPvariables[syllabus:arrow]% [linestyle={dashed evenly},% linesize=\tableframethickness, coloring=FrameColor,% axoff=0pt, ayoff=0pt, bxoff=0pt, byoff=0pt] \startMPpositiongraphic{syllabus:arrow}{coloring} pair a, b; initialize_box(\MPpos{\MPvar{from}}); a := cxy; initialize_box(\MPpos{\MPvar{to}}); b:= cxy; pickup pencircle scaled \MPvar{linesize}; drawarrow (a + (\MPvar{axoff},\MPvar{ayoff})) -- (b + (\MPvar{bxoff},\MPvar{byoff})) \MPvar{linestyle} withcolor \MPvar{coloring}; anchor_box(\MPanchor{\MPvar{from}}); \stopMPpositiongraphic \endinput Hans van der Meer
Hans van der Meer wrote:
I want to use the positionoverlay mechanism in several different figures (according to the metafun manual "Anchors and layers"). The problem is that the overlays show up in the last figure only, not in the first. If I do not typeset the second overlayseries, the first does appear. It looks like only the last overlayseries is kept. Why is this and how to remedy this?
I would like to help but I almost never use this stuff myself and your example code doesn't compile. Is it because both are on the same page? You effectively redefine the current page background in each \stopoverlaygraphics command. Taco
I more or less guess there are only a restricted number of overlays possible? Could that be a correct conclusion? The elegant way would have been being able to define separate positionoverlays for each picture, imho. However I found a practical solution in defining all items centrally within one positionoverlay. Up till now it has not failed, so I can live with that, but I cross my fingers it will still hold for a few hundred positional graphics. Hans van der Meer On Jul 11, 2006, at 15:21, Taco Hoekwater wrote:
Hans van der Meer wrote:
I want to use the positionoverlay mechanism in several different figures (according to the metafun manual "Anchors and layers"). The problem is that the overlays show up in the last figure only, not in the first. If I do not typeset the second overlayseries, the first does appear. It looks like only the last overlayseries is kept. Why is this and how to remedy this?
I would like to help but I almost never use this stuff myself and your example code doesn't compile. Is it because both are on the same page? You effectively redefine the current page background in each \stopoverlaygraphics command.
Taco
Hans van der Meer wrote:
I more or less guess there are only a restricted number of overlays possible? Could that be a correct conclusion?
Whenever you say something like \setupbackgrounds[page][background={foreground,#1}] you redefine the list of backgrounds that are applied to the (current) page. The last one that is in effect before the output routine is called is the one that wins this contest. At least that is how I understood your example code. But (like I said earlier) could be mistaken about what it was supposed to do. Greetings, taco
On Jul 12, 2006, at 10:20, Taco Hoekwater wrote:
Hans van der Meer wrote:
I more or less guess there are only a restricted number of overlays possible? Could that be a correct conclusion?
Whenever you say something like
\setupbackgrounds[page][background={foreground,#1}]
you redefine the list of backgrounds that are applied to the (current) page. The last one that is in effect before the output routine is called is the one that wins this contest.
Thanks, I guess that is the case. If the number of \hpos's will not overflow it shouldn't be a big problem. Can you confirm that all these positional graphics are generated one by one, or are they collected in a list that might overflow and one day cause me trouble?
At least that is how I understood your example code. But (like I said earlier) could be mistaken about what it was supposed to do.
Greetings, taco
met vriendelijke groet Hans van der Meer
Hans van der Meer wrote:
Thanks, I guess that is the case. If the number of \hpos's will not overflow it shouldn't be a big problem. Can you confirm that all these positional graphics are generated one by one, or are they collected in a list that might overflow and one day cause me trouble?
Anything in TeX will overflow eventually, but you should be safe enough. And if it still barks, you could define temp on a per-chapter basis (or any other place with a 'natural' page break). Groet, Taco
Taco Hoekwater wrote:
Hans van der Meer wrote:
Thanks, I guess that is the case. If the number of \hpos's will not overflow it shouldn't be a big problem. Can you confirm that all these positional graphics are generated one by one, or are they collected in a list that might overflow and one day cause me trouble?
Anything in TeX will overflow eventually, but you should be safe enough. And if it still barks, you could define temp on a per-chapter basis (or any other place with a 'natural' page break).
indeed; at some point, with lots of refs and positions (once you use positions, each paragraph will generate one at least) there may be problems; in the coming luatex version we can use lua to store information in hashes) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hans van der Meer wrote:
I more or less guess there are only a restricted number of overlays possible? Could that be a correct conclusion? The elegant way would have been being able to define separate positionoverlays for each picture, imho. However I found a practical solution in defining all items centrally within one positionoverlay. Up till now it has not failed, so I can live with that, but I cross my fingers it will still hold for a few hundred positional graphics.
no, in principle there is no limitation in the stacking, but there are a few levels predefined (text+/-2) Hans -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Hans van der Meer
-
Taco Hoekwater