Hi there, maths can sometimes be weird and even more so the kinds of formulas one needs to typeset occasionally ;-) So here I need to typeset triangles and a variety of other polygons right in the middle of a display formula. What I've been able to come up with so far is something like this: --- \starttext \startuseMPgraphic{tetrahedral} u := 10pt; draw (0,0)--(2u,0)--(u,sqrt(3)*u)--cycle; \stopuseMPgraphic \startformula \Phi(\useMPgraphic{tetrahedral})=F_{kln}^{ijm}\,v_iv_jv_kv_l\, \delta_{j^*nk^*}\,\delta_{l^*n^*i^*}\,\Phi(\emptyset) \stopformula \stoptext --- Now if I only knew how to properly align my MetaPost figure with the rest of the formula … any ideas? Cheerio, Oliver
Oliver Buerschaper schrieb:
Hi there,
maths can sometimes be weird and even more so the kinds of formulas one needs to typeset occasionally ;-)
So here I need to typeset triangles and a variety of other polygons right in the middle of a display formula. What I've been able to come up with so far is something like this:
--- \starttext
\startuseMPgraphic{tetrahedral} u := 10pt; draw (0,0)--(2u,0)--(u,sqrt(3)*u)--cycle; \stopuseMPgraphic
The bounding box of the graphic is set on the base line. So you have to add some artificial depth to the graphic. \starttext \startreusableMPgraphic{tetrahedral} begingroup u := 10pt; draw (0,0)--(2u,0)--(u,sqrt(3)*u)--cycle; draw boundingbox currentpicture withpen pensquare scaled .1; endgroup; \stopreusableMPgraphic \def\Tetrahedral{\lower5pt\hbox{\reuseMPgraphic{tetrahedral}}}% needs some fiddling :) \startformula \Phi(\Tetrahedral)=F_{kln}^{ijm}\,v_iv_jv_kv_l\, \delta_{j^*nk^*}\,\delta_{l^*n^*i^*}\,\Phi(\emptyset) \stopformula \stoptext Best wishes, Peter
\startformula \Phi(\useMPgraphic{tetrahedral})=F_{kln}^{ijm}\,v_iv_jv_kv_l\, \delta_{j^*nk^*}\,\delta_{l^*n^*i^*}\,\Phi(\emptyset) \stopformula
\stoptext ---
Now if I only knew how to properly align my MetaPost figure with the rest of the formula … any ideas?
Cheerio, Oliver ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
The bounding box of the graphic is set on the base line. So you have to add some artificial depth to the graphic.
\starttext
\startreusableMPgraphic{tetrahedral} begingroup u := 10pt; draw (0,0)--(2u,0)--(u,sqrt(3)*u)--cycle; draw boundingbox currentpicture withpen pensquare scaled .1; endgroup; \stopreusableMPgraphic
\def\Tetrahedral{\lower5pt\hbox{\reuseMPgraphic{tetrahedral}}}% needs some fiddling :)
\startformula \Phi(\Tetrahedral)=F_{kln}^{ijm}\,v_iv_jv_kv_l\, \delta_{j^*nk^*}\,\delta_{l^*n^*i^*}\,\Phi(\emptyset) \stopformula
\stoptext
That's exactly what I was looking for … thanks very much! Out of curiosity just a few questions … why do you use grouping in the MetaPost code and why do you draw the bounding box explicitly? When I was experimenting with your suggestion a bit I tried leaving out those two commands at some point and surprisingly things still looked fine … And what's the difference between \startreusableMPgraphic and \startuseMPgraphic? Does caching play a role? Thanks again, Oliver
Oliver Buerschaper schrieb:
The bounding box of the graphic is set on the base line. So you have to add some artificial depth to the graphic.
\starttext
\startreusableMPgraphic{tetrahedral} begingroup
save u;
u := 10pt; draw (0,0)--(2u,0)--(u,sqrt(3)*u)--cycle; draw boundingbox currentpicture withpen pensquare scaled .1; endgroup; \stopreusableMPgraphic
\def\Tetrahedral{\lower5pt\hbox{\reuseMPgraphic{tetrahedral}}}% needs some fiddling :)
\startformula \Phi(\Tetrahedral)=F_{kln}^{ijm}\,v_iv_jv_kv_l\, \delta_{j^*nk^*}\,\delta_{l^*n^*i^*}\,\Phi(\emptyset) \stopformula
\stoptext
That's exactly what I was looking for … thanks very much!
Out of curiosity just a few questions … why do you use grouping in the MetaPost code and why do you draw the bounding box explicitly? When I was experimenting with your suggestion a bit I tried leaving out those two commands at some point and surprisingly things still looked fine … And what's the difference between \startreusableMPgraphic and \startuseMPgraphic? Does caching play a role?
I do grouping just by habit (btw: a 'save u;' is missing). Without grouping your variables simply overwrite prior defined ones. With grouping all saved(!) variables are restored after endgroup (attention: don't ever forget the simicolon after endgroup). And you are right, grouping is not really needed in a simple context. Coming to the bounding box; it's just for debugging. My first try was to 'reduce' the height of the bounding box (all stuff beneath the base line is then drawn outside the final bounding box). But when I thought about subscript this was no longer an option. Anyhow, here is the code: \startreusableMPgraphic{tetrahedral} begingroup save bb,d,u; u := 10pt; draw ((0,0)--(2u,0)--(u,sqrt(3)*u)--cycle) ; d := 0.25u; % depth path bb; bb:= boundingbox currentpicture; setbounds currentpicture to unitsquare xyscaled(xpart point 2 of bb,ypart point 2 of bb -d) yshifted d; draw boundingbox currentpicture withpen pensquare scaled .1; endgroup; \stopreusableMPgraphic 3-------2 | | bounding box | | and it's points 0-------1 The extreme points of the complete graphic determine the size of the bounding box. The relative position of the complete graphic (where it is drawn) has no influence on that. This is why a single fullcircle gives you the same graphic as a single unitcircle. All your questions about the different graphic types are aswered in the 'Metafun' manual, 'Integrated graphics' on pages 111-114. Best wishes, Peter
Thanks again, Oliver ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
On Fri, Jul 25 2008, Oliver Buerschaper wrote:
\Phi(\useMPgraphic{tetrahedral})=F_{kln}^{ijm}\,v_iv_jv_kv_l\, [...] Now if I only knew how to properly align my MetaPost figure with the rest of the formula … any ideas?
\Phi\left(\vcenter{\useMPgraphic{tetrahedral}}\right)= ... Cheers, Peter -- http://pmrb.free.fr/contact/
participants (3)
-
Oliver Buerschaper
-
Peter Münster
-
Peter Rolf