<div dir="ltr"><div dir="ltr">I found a way to wrap everything before \startdocument, so I think this looks like a template more or less:<div><br></div><div>In case anyone is interested, here's the MWE:</div><div><br></div><div>\definenote[address]<br>\setupnote[address][rule=off,location=text]<br><br><br>\setupnotation[footnote][numberconversion=numerals]<br><br>\definenote[putjustmark]<br>\setupnote[putjustmark][location=none]<br>\setupnotation[putjustmark][numberconversion=set 2]<br><br><br>\definenote[putjustnote][footnote]<br>\setupnote[putjustnote][textcommand=\gobbleoneargument]<br>\setupnotation[putjustnote][numberconversion=set 2]<br><br>\newif\ifnoteintitle<br>\newtoks\titlefootnotes<br><br>\titlefootnotes\emptytoks<br><br><br>\def\thanks#1{\noteintitletrue\putjustmark{#1}\doglobal\appendtoks \putjustnote{#1} \to \titlefootnotes}<br>\def\email#1{\noteintitletrue\putjustmark{#1}\doglobal\appendtoks \putjustnote{#1} \to \titlefootnotes}<br><br>\def\unskipfunnylines{\ifnoteintitle\endgraf\kern-2\lineheight\fi}<br><br><br>\definenamespace<br>   [addr]<br>   [type=module,<br>    name=address,<br>    command=yes,<br>    setup=list,<br>    parent=addr,<br>  ]<br><br>\define[1]\useaddress<br>    {\setnotetext[address][#1]{\namedaddressparameter{#1}{name}}}<br><br><br><br>\setupaddress[style=italic]<br>\defineaddress[fst][name={Name of Institute or Affiliation, City, Country}]<br>\defineaddress[snd][name={Name of Secondary Institute or Affiliation, City, Country}]<br>\defineaddress[thd][name={Name of Third Institute or Affiliation, City, Country}]<br><br>\processcommacommand[fst,snd,thd]\useaddress<br><br><br><br>\startsetups [document:start]<br>The Title\dorecurse{10}{\expanded{\thanks{Work supported by fund \recurselevel.}}}<br>\endgraf<br><br>Me\dorecurse{10}{\expanded{\email{\tt my.name@mailbox.\<a href="http://recurselevel.com">recurselevel.com</a>}}\high{,}}\note[address][fst]\high{,}\note[address][snd]\high{,}\note[address][thd]<br>\endgraf<br><br>\placenotes[address]<br><br>\blank[medium]<br>  \startcolumns\hyphenpenalty1000<br><br>  \the\titlefootnotes\relax<br><br>  \setcounter[footnote][0]<br><br>  \unskipfunnylines<br><br>\stopsetups<br><br>\startsetups [document:stop]<br>  \stopcolumns<br>\stopsetups<br><br><br><br>\startdocument<br><br><br>test\footnote{test}<br><br>\input knuth<br><br>\input knuth<br><br>\input knuth<br><br>\input knuth<br><br>\stopdocument<br><br><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 18, 2022 at 10:02 PM Ross <<a href="mailto:zhichu.chen@gmail.com">zhichu.chen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">After some visualisations, I found that my token \titlefootnotes will ALWAYS generate two lines if there is/are any non-zero number of footnotes there. Interesting. So I need a \newif that each time a \thanks or \email is invoked, it'll set to true and I'll unskip the 2\lineheight afterwards.<div><br></div><div>I still don't know why this \kern macro won't have any effect if it's inside a token or a \startsetup.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 18, 2022 at 4:56 PM Ross <<a href="mailto:zhichu.chen@gmail.com" target="_blank">zhichu.chen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Massi,<div><br></div><div>You are a champion!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 18, 2022 at 4:41 PM mf <<a href="mailto:massifr@fastwebnet.it" target="_blank">massifr@fastwebnet.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I hope I got the point now:<br>
<br>
...<br>
\startcolumns<br>
<br>
\the\titlefootnotes<br>
<br>
\kern-\rawcountervalue[address]\lineheight % dirty trick<br>
<br>
test\footnote{test}<br>
<br>
\input knuth<br>
<br>
\stopcolumns<br>
...<br>
<br>
Massi<br>
<br>
Il 18/05/22 10:07, Ross ha scritto:<br>
> Dear Massi,<br>
> <br>
> Thanks for your solution. But the thing may be related to the <br>
> \appendtoks macro. It doesn't work to put just \setnotetext there.<br>
> \note works fine, so that's the reason I need the "full functional macro".<br>
> <br>
> Maybe I didn't get the point, so if it's not too much to ask, could you <br>
> do it on my MWE?<br>
> <br>
> PS: sorry I have to use another email account because my institute <br>
> mailbox took forever to get the message before my government (China) <br>
> finishes auditing it.<br>
> <br>
> Best wishes,<br>
> Zhichu<br>
> <br>
> On Wed, May 18, 2022 at 3:36 PM mf via ntg-context <<a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a> <br>
> <mailto:<a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a>>> wrote:<br>
> <br>
>     Is this what you mean?<br>
> <br>
>     \starttext<br>
>     Hello\footnotetext{Footnote without mark}.<br>
>     \stoptext<br>
> <br>
>     Kind regards,<br>
>     Massi<br>
> <br>
>     Il 18/05/22 07:55, Zhichu Chen via ntg-context ha scritto:<br>
>      > Hi everybody,<br>
>      ><br>
>      ><br>
>      > After some attempts to put footnotes in a mixed 1&2 columns<br>
>     layout, I<br>
>      > decide to put marks in the one-column environment and flush them<br>
>     when<br>
>      > entering the two-column environment.<br>
>      ><br>
>      ><br>
>      > The code is ugly but the result is acceptable. Except that the<br>
>     invisible<br>
>      > footnote marks do generate something in the main text, so there's a<br>
>      > blank line for each footnote.<br>
>      ><br>
>      ><br>
>      > Here's an MWE:<br>
>      ><br>
>      ><br>
>      > =============================================<br>
>      ><br>
>      > \definenote[address]<br>
>      > \setupnote[address][rule=off,location=text]<br>
>      ><br>
>      ><br>
>      ><br>
>      > \definenote[putjustmark]<br>
>      > \setupnote[putjustmark][location=none]<br>
>      > \setupnotation[putjustmark][numberconversion=set 2]<br>
>      ><br>
>      ><br>
>      > \definenote[putjustnote]%[footnote] % if footnotes need to be<br>
>     grouped,<br>
>      > uncomment the second argument and the line after \the\titlefootnotes<br>
>      > \setupnote[putjustnote][textcommand=\gobbleoneargument]<br>
>      > \setupnotation[putjustnote][numberconversion=set 2]<br>
>      ><br>
>      ><br>
>      > \newtoks\titlefootnotes<br>
>      ><br>
>      ><br>
>      > \def\thanks#1{\putjustmark{#1}\appendtoks \putjustnote{#1} \to<br>
>      > \titlefootnotes}<br>
>      > \def\email#1{\putjustmark{#1}\appendtoks \putjustnote{#1} \to<br>
>      > \titlefootnotes}<br>
>      ><br>
>      ><br>
>      > \appendtoks<br>
>      >    \setcounter[footnote][0] % this looks stupid because it has no<br>
>     effect<br>
>      >    %\setupnotation[footnote][numberconversion=numerals]<br>
>      > \to \titlefootnotes<br>
>      ><br>
>      > \definenamespace<br>
>      >     [addr]<br>
>      >     [type=module,<br>
>      >      name=address,<br>
>      >      command=yes,<br>
>      >      setup=list,<br>
>      >      parent=addr,<br>
>      >    ]<br>
>      ><br>
>      > \define[1]\useaddress<br>
>      >      {\setnotetext[address][#1]{\namedaddressparameter{#1}{name}}}<br>
>      ><br>
>      ><br>
>      > \starttext<br>
>      ><br>
>      ><br>
>      ><br>
>      > \defineaddress[fst][name={Name of Institute or Affiliation, City,<br>
>     Country}]<br>
>      > \defineaddress[snd][name={Name of Secondary Institute or<br>
>     Affiliation,<br>
>      > City, Country}]<br>
>      ><br>
>      > \processcommacommand[fst,snd]\useaddress<br>
>      ><br>
>      ><br>
>      > The Title\thanks{Work supported by somebody.}<br>
>      ><br>
>      ><br>
>     Me\email{myemail@some.where}\high{,}\note[address][fst]\high{,}\note[address][snd]<br>
> <br>
>      ><br>
>      ><br>
>      ><br>
>      > \placenotes[address]<br>
>      ><br>
>      > \blank[medium]<br>
>      ><br>
>      > \startcolumns<br>
>      ><br>
>      ><br>
>      > \the\titlefootnotes<br>
>      ><br>
>      > %\setcounter[footnote][0] % why it's necessary to set the counter<br>
>      > outside the token if I define [putjustnote] as [footnote]?<br>
>      ><br>
>      ><br>
>      > test\footnote{test}<br>
>      ><br>
>      > \input knuth<br>
>      ><br>
>      ><br>
>      ><br>
>      > \stopcolumns<br>
>      ><br>
>      > \stoptext<br>
>      ><br>
>      > =============================================<br>
>      ><br>
>      ><br>
>     ___________________________________________________________________________________<br>
> <br>
>      ><br>
>      > If your question is of interest to others as well, please add an<br>
>     entry<br>
>      > to the Wiki!<br>
>      ><br>
>      > maillist : <a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a> <mailto:<a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a>> /<br>
>      > <a href="http://www.ntg.nl/mailman/listinfo/ntg-context" rel="noreferrer" target="_blank">http://www.ntg.nl/mailman/listinfo/ntg-context</a><br>
>     <<a href="http://www.ntg.nl/mailman/listinfo/ntg-context" rel="noreferrer" target="_blank">http://www.ntg.nl/mailman/listinfo/ntg-context</a>><br>
>      > webpage  : <a href="http://www.pragma-ade.nl" rel="noreferrer" target="_blank">http://www.pragma-ade.nl</a> <<a href="http://www.pragma-ade.nl" rel="noreferrer" target="_blank">http://www.pragma-ade.nl</a>> /<br>
>     <a href="http://context.aanhet.net" rel="noreferrer" target="_blank">http://context.aanhet.net</a> <<a href="http://context.aanhet.net" rel="noreferrer" target="_blank">http://context.aanhet.net</a>><br>
>      > archive  : <a href="https://bitbucket.org/phg/context-mirror/commits/" rel="noreferrer" target="_blank">https://bitbucket.org/phg/context-mirror/commits/</a><br>
>     <<a href="https://bitbucket.org/phg/context-mirror/commits/" rel="noreferrer" target="_blank">https://bitbucket.org/phg/context-mirror/commits/</a>><br>
>      > wiki     : <a href="http://contextgarden.net" rel="noreferrer" target="_blank">http://contextgarden.net</a> <<a href="http://contextgarden.net" rel="noreferrer" target="_blank">http://contextgarden.net</a>><br>
>      ><br>
>     ___________________________________________________________________________________<br>
> <br>
>      ><br>
>     ___________________________________________________________________________________<br>
>     If your question is of interest to others as well, please add an<br>
>     entry to the Wiki!<br>
> <br>
>     maillist : <a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a> <mailto:<a href="mailto:ntg-context@ntg.nl" target="_blank">ntg-context@ntg.nl</a>> /<br>
>     <a href="http://www.ntg.nl/mailman/listinfo/ntg-context" rel="noreferrer" target="_blank">http://www.ntg.nl/mailman/listinfo/ntg-context</a><br>
>     <<a href="http://www.ntg.nl/mailman/listinfo/ntg-context" rel="noreferrer" target="_blank">http://www.ntg.nl/mailman/listinfo/ntg-context</a>><br>
>     webpage  : <a href="http://www.pragma-ade.nl" rel="noreferrer" target="_blank">http://www.pragma-ade.nl</a> <<a href="http://www.pragma-ade.nl" rel="noreferrer" target="_blank">http://www.pragma-ade.nl</a>> /<br>
>     <a href="http://context.aanhet.net" rel="noreferrer" target="_blank">http://context.aanhet.net</a> <<a href="http://context.aanhet.net" rel="noreferrer" target="_blank">http://context.aanhet.net</a>><br>
>     archive  : <a href="https://bitbucket.org/phg/context-mirror/commits/" rel="noreferrer" target="_blank">https://bitbucket.org/phg/context-mirror/commits/</a><br>
>     <<a href="https://bitbucket.org/phg/context-mirror/commits/" rel="noreferrer" target="_blank">https://bitbucket.org/phg/context-mirror/commits/</a>><br>
>     wiki     : <a href="http://contextgarden.net" rel="noreferrer" target="_blank">http://contextgarden.net</a> <<a href="http://contextgarden.net" rel="noreferrer" target="_blank">http://contextgarden.net</a>><br>
>     ___________________________________________________________________________________<br>
> <br>
> <br>
> <br>
> -- <br>
> Best Regards<br>
> Chen<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards<br>Chen<br></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards<br>Chen<br></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Best Regards<br>Chen<br></div></div>