Hi Mikael, Thank you so much for the explanation: I am ashamed for not having read this in the MetaPost manual.
Just to make sure whether I am beginning to understand, in your example code > z3 = whatever[z1,z2] = z0+whatever*dir(angle(z1-z0)+90)); should the second « whatever » be z0 + whatever*dir(angle(z2 - z1) + 90)) ; or am I proving that I have not yet understood this wonderful command ? Thanks again and best regards: Otared > On 21 Jun 2021, at 14:21, Mikael Sundqvist <mic...@gmail.com> wrote: > > Hi, > > As is written in the MetaPost manual: Whatever generates a new > anonymous variable each time it is used. It is very useful in cases > where you are not interested in the value of a variable, but want to > use it to (let MP) calculate something. Example > > you have three points z0, z1, z2 forming a triangle, and you want to > find where the altitude from z0 is intersecting the line between z1 > and z2. You can find that intersection z3 by writing > > z3 = whatever[z1,z2] = z0+whatever*dir(angle(z1-z0)+90)); > > The first equality says only that z3 should be on the line between z1 > and z2, the second one says that z3 should be on the line through z0, > perpendicular to the line between z1 and z2. Since MetaPost solves > linear equations, this defines z3, and we need not to think more about > the actual values of the "whatevers" (note that they are not in > general equal in this example!). > > Hope it helps! > > /Mikael > > > On Mon, Jun 21, 2021 at 2:07 PM Otared Kavian <ota...@gmail.com> wrote: >> >> Hi Aditya, >> >> Thanks for the detailed file you sent to answer Dalyoung’s question and >> file. And going through both files I have a question. >> I see that both of you use a function « whatever » (but is it a function ?): >> what does this do and where can it be used (actually I have seen Hans using >> this expression, but I had always thought this is just a name… >> >> Best regards: Otared >> >>> On 21 Jun 2021, at 06:26, Aditya Mahajan <adit...@umich.edu> wrote: >>> >>> On Mon, 21 Jun 2021, Jeong Dal wrote: >>> >>>> >>>> Hi, >>>> >>>> I defined a macro definition in metafun, and draw figures using >>>> \startbuffer[] … \stopbuffer and \processMPbuffer[]. >>>> As you see in the attached code, the same macro definition is used >>>> repeatedly by changing the numeric argument. >>>> Is there a better way to simplify the code, for example, using \dorecurse >>>> and recurselevel? >>> >>> See attached. The main idea is to store the repetitive bits in >>> \startuseMPgraphic{...} and then reuse them using \includeMPgraphic. >>> >>> Aditya<mp-test.tex>___________________________________________________________________________________ >>> 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://context.aanhet.net >>> archive : https://bitbucket.org/phg/context-mirror/commits/ >>> wiki : http://contextgarden.net >>> ___________________________________________________________________________________ >> >> ___________________________________________________________________________________ >> 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://context.aanhet.net >> archive : https://bitbucket.org/phg/context-mirror/commits/ >> wiki : http://contextgarden.net >> ___________________________________________________________________________________ > ___________________________________________________________________________________ > 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://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________