Re: [NTG-context] upload

2022-07-08 Thread Otared Kavian via ntg-context
I just found that \choose has been replaced with \binom (binomial coefficient):

\starttext
\meaning\choose

\meaning\binom

$\binom{n}{k}$
\stoptext

Sorry for complaining… :-)


> On 9 Jul 2022, at 00:34, Otared Kavian  wrote:
> 
> 
> 
>> On 6 Jul 2022, at 22:10, Hans Hagen via ntg-context  
>> wrote:
>> 
>> Hi,
>> 
>> We're pleased to announce the first official release of the new math code. 
>> We're talking of:
>> 
>> […]
> 
> Dear Hans and Mikael،
> 
> Thank you very much for the new upload and the new stuff for tyepsetting 
> maths. I have been playing around with the features presented in the example 
> file sent by Mikael, and I must say, among other things you have implemented, 
> the constructs \bearkhere and \skiphere, and friends, are absolutely great, 
> brilliant and so simple! I wonder why such a simple and elegant solution was 
> not around before…
> 
> As a plain TeX traditionalist I am a little bit sad to let the \over 
> construct be ditched, but my sadness did not last too long.
> 
> It seems that the \choose construct has been ditched but I did not guess what 
> has replaced it (I guess the reason is the same for ditching \over, since the 
> construct used to be ${n \choose k}$ and this is not what one wants to have 
> in a macro).
> 
> Best regards: Otared

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] upload

2022-07-08 Thread Otared Kavian via ntg-context


> On 6 Jul 2022, at 22:10, Hans Hagen via ntg-context  
> wrote:
> 
> Hi,
> 
> We're pleased to announce the first official release of the new math code. 
> We're talking of:
> 
> […]

Dear Hans and Mikael،

Thank you very much for the new upload and the new stuff for tyepsetting maths. 
I have been playing around with the features presented in the example file sent 
by Mikael, and I must say, among other things you have implemented, the 
constructs \bearkhere and \skiphere, and friends, are absolutely great, 
brilliant and so simple! I wonder why such a simple and elegant solution was 
not around before…

As a plain TeX traditionalist I am a little bit sad to let the \over construct 
be ditched, but my sadness did not last too long.

It seems that the \choose construct has been ditched but I did not guess what 
has replaced it (I guess the reason is the same for ditching \over, since the 
construct used to be ${n \choose k}$ and this is not what one wants to have in 
a macro).

Best regards: Otared 
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] two issues with \sciteinlinebuffer

2022-07-08 Thread Pablo Rodriguez via ntg-context
On 7/7/22 23:30, Hans Hagen via ntg-context wrote:
> On 7/7/2022 6:19 PM, Pablo Rodriguez via ntg-context wrote:
>> [...]
>> 1. Margin is applied to \sciteinlinebuffer.
>>
>> 2. An extra unwanted space is added after \sciteinlinebuffer.
>>
>> Isn’t it intended that \sciteinlinebuffer behaves in a similar way as
>> \typeinlinebuffer?
>>
> \unexpanded\def\module_scite_buffer[#1][#2]%
>{\begingroup
> \setcatcodetable\ctxcatcodes % needed in xml
> \ifsecondargument
>   \clf_scitelexbuffer{#2}{#1}%
> \else
>   \clf_scitelexbuffer{#1}{tex}%
> \fi
> \tt
> \installscitecommandsdisplay
> \module_scite_inherit_typing
> \dontcomplain
> \raggedright
> \startscitelines
> \getbuffer[lex]
> \stopscitelines
> \endgroup}

Many thanks for your code, Hans.

I’m afraid I cannot make it work for the inline buffer.

After checking m-scite.mkiv, the code above isn’t different from
"\module_scite_buffer" defined on lines 433-449 (checked with a visual
diff tool [https://meldmerge.org/]).

Sorry, but isn’t it "\module_scite_buffer_inline" (lines 454-468 from
m-scite.mkiv) the command that needs fixing?

Excuse my ignorance, but it is \sciteinlinebuffer the misbehaving
command in my code.

Many thanks for your help,

Pablo
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] Set up external figure for particular image type

2022-07-08 Thread Henning Hraban Ramm via ntg-context

Am 08.07.22 um 17:46 schrieb Thangalin via ntg-context:

I'd like to change the `maxheight` option for only PNG images, such as:


Define your own figure class with \definexternalfigure:
https://wiki.contextgarden.net/Command/defineexternalfigure

It won’t automatically chose the file format (or maybe it works with 
"order"), but you don’t need to repeat the setting for each instance.


Hraban
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


[NTG-context] Set up external figure for particular image type

2022-07-08 Thread Thangalin via ntg-context
A document has a mix of SVG and PNG images. Changing the parameters for
`\setupexternalfigure` affects both SVG and PNG images. Consider the
following code:

\setupexternalfigures[
  order={svg,pdf,png,jpg},
  location={local,default,global},
  directory={images},
  maxwidth=\textwidth,
  maxheight=0.4\textheight
]

I'd like to change the `maxheight` option for only PNG images, such as:

\setupexternalfigure[
  method=png,
  maxwidth=\textwidth,
  maxheight=\textheight,
]

However, this affects SVG images as well.

How do you apply different external figure setups based on image type?

Thank you!
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


[NTG-context] error with sbl bibliography on latest LMTX

2022-07-08 Thread Henning Hraban Ramm via ntg-context

Hi Joel (et al.),

I tried the SBL bibliography setup with the latest LMTX; the example and 
bib database are from Dennis’ article on ligatures in the upcoming CG 
journal:


"""
\usebtxdataset[default][references.bib]
\setupbtx[dataset=default]
\usebtxdefinitions[sbl]
\setupinteraction[state=start]

\starttext

superior typographic output \cite[lefttext={e.g.}][taraborelli:beauty].

Therefore, the {\TEX}book mentions that the word 
\quotation{shel\noligature{ff}ul} should indeed be rendered without the 
ff-ligature  \cite[righttext={p.~19}][knuth:texbook].


\placelistofpublications%[numbering=yes]

\stoptext
"""

Unfortunately, I get some errors, while it works with APS and APA:

-- invalid parent sbl:list:title:unpublished for sbl:list:title:thesis, 
sbl:list:title:unpublished defined too (best check it)

-- Undefined control sequence \currentbtxloctext

I installed your files in TEXMFHOME, and apparently, ConTeXt can find 
them. Here’s the shortened log:


system  > ConTeXt  ver: 2022.05.11 11:36 LMTX  fmt: 2022.7.4 
int: english/english

...
open source > level 1, order 2, name './bibtest.tex'
publications> adding bib data to set 'default' from source 
'references.bib'
open source > level 2, order 3, name 
'/Users/hraban/texmf/context/context-sbl/tex/publ-imp-sbl.mkvi'
system  > error: invalid parent sbl:list:title:unpublished for 
sbl:list:title:thesis, sbl:list:title:unpublished defined too (best 
check it)
close source> level 2, order 3, name 
'/Users/hraban/texmf/context/context-sbl/tex/publ-imp-sbl.mkvi'

...
publications> analyzing previous publication run for 'default'
tex error   > tex error on line 34 in file ./bibtest.tex: Undefined 
control sequence \currentbtxloctext


 \22>:btx:sbl:cite:inline
#1->\fastsetup {\s!btx :\s!cite :concat}\fastsetup 
{btx:sbl:cite:lefttext}\begingroup \letbtxparameter {punct}\empty \def 
\currentbtxcitealternative {inline}\def \currentbtxcategory {\btxfield 
{category}}\def \currentbtxloctext

{\btxparameter {loctex
 \normalexpanded
\Word {\fastsetup {btx:sbl:cite:inline}
}\doif {\btxparameter {righttext}}{\empty } {\btxperiod }
 \strc_constructions_register_yes
...constructionparameter \c!referencetext }\iflocation \ifempty 
\currentconstructionbookmark \begingroup \simplifycommands \xdef 
\currentconstructionbookmark {\detokenize \expandafter {\normalexpanded 
{\constructionparameter \c!title

}}}\endgroup  ...
 \strc_notations_start_reference_indeed
[#1]#*#2->\strc_constructions_register [][\c!label 
={\descriptionparameter \c!text },\c!reference ={#1},\c!title 
={#2},\c!bookmark =,\c!list =,\c!referencetext =]

\strc_notations_wrapup
 \22>:btx:sbl:cite:footnote
...ct}}\begingroup \letbtxparameter {punct}\empty \let 
\doifendswithpunctelse \btx_sbl_doifendswithpunctelse \startfootnote 
\Word {\fastsetup {btx:sbl:cite:inline}}\doif {\btxparameter 
{righttext}}{\empty } {\btxperiod }\stopfootnote

\endgroup \do ...

 ...


superior typographic output \cite[lefttext={e.g.}][taraborelli:beauty]
.

The control sequence at the end of the top line of your error message 
was never

\def'ed. You can just continue as I'll forget about whatever was undefined.
mtx-context | fatal error: return code: 1


Did I do something wrong, is the database not suitable for SBL, or is it 
a bug?



Hraban


references.bib
Description: application/bibtex
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] upload

2022-07-08 Thread Hans Hagen via ntg-context

On 7/8/2022 9:40 AM, Max Chernoff via ntg-context wrote:
This is because you need to pass a list that conforms to what the 
builder expects and the callback that you use doesn't do that for you 
(after all, it also gets hbox content).


Isn't "processors/after" the same as "pre_linebreak_filter"? I thought 
that only "hpack_filter" gets \hbox content? Anyways, my actual function 
has this guard at the very start:


     if (head.id ~= par_id and context) or -- Ensure that we were 
actually given a par

     status.output_active or -- Don't run during the output routine
     tex.nest.ptr > 1 -- Don't run inside boxes
     then
     return head
     end

so I think that I'm only processing actual top-level paragraphs here.

There is no 'callback sequence handler' for the par builder (currently 
i see no need for it, also given the extra overhead involved) but this 
what what you can do:


\startluacode
 function builders.paragraphs.constructors.methods.preroll_a(head)
 local result, info = tex.linebreak(head)
 tex.prevdepth = info.prevdepth
 tex.prevgraf = info.prevgraf
 return result
 end
 function builders.paragraphs.constructors.methods.preroll_b(head)
 local result, info = tex.linebreak(nodes.nuts.copylist(head))
 inspect(info)
 return true
 end
\stopluacode

\defineparbuilder[preroll_a]
\defineparbuilder[preroll_b]

\starttext
 \setmainparbuilder[default]   \input tufte \par \input tufte \page
 \setmainparbuilder[preroll_a] \input tufte \par \input tufte \page
 \setmainparbuilder[preroll_b] \input tufte \par \input tufte \page
\stoptext


I think that that code is for replacing the linebreaker entirely, like 
with using "linebreak_filter"? My goal isn't to replace the linebreaker; 
I just want to be able to inspect the paragraph before it is broken, 
without modifying anything.


as long as you return true the built in will do the work but you can 
still do the preroll so basically nothing gets replaced .. it's just a 
more natural hook;l keep in mind that if someone replaces the linebreak 
your code woudl fail to do its work anyway



What I'm trying to do *very* roughly looks like the following:

     paragraphs = {}
     attribute = 1234

     function pre_linebreak_filter(head)
     if head.id ~= node.id"par" then
     return head
     end

     local nat_node, nat_info = tex.linebreak(node.copylist(head))
     node.freelist(nat_node)

     local long_node, long_info = tex.linebreak(
     node.copylist(head), {looseness = 1}
     )

     if long_info.prevgraf == nat_info.prevgraf + 1 then
     table.insert(paragraphs, long_node)
     end

     return head
     end

     function post_linebreak_filter(head)
     node.setattribute(head, attribute, #paragraphs)
     node.setattribute(node.slide(head), attribute, #paragraphs)

     return head
     end

     function pre_output_filter(head)
     if tex.outputpenalty ~= tex.widowpenalty then
     return head
     end

     -- Pick a paragraph from `paragraphs` somehow

     -- Replace that paragraph on the page with the one
     -- from `paragraphs`

     -- Move the last line of the page onto the top of
     -- tex.lists.contributehead

     return head
     end

(The full implementation is in the module "lua-widow-control" on CTAN, 
TeX Live, and modules.contextgarden.net, or directly at 
"https://github.com/gucci-on-fleek/lua-widow-control/blob/master/source/lua-widow-control.lua;. 
It's pretty long though, so I'm just trying to summarize here.)


This works pretty well with Plain LuaTeX, LuaLaTeX, OpTeX, MkIV, and 
MkXL before the latest upload, but something broke with the latest 
upload in MkXL. I understand that I'm mucking around with volatile 
interfaces, and I have no problem making a bunch of changes whenever the 
engine/format changes; the problem is that I'm not too sure what changed 
in the engine, so I don't know what I need to change in my code.


the tricky part is probably to make sure that it doesn't interfere with 
what other functions hooked into the callbacks are doing because who 
knows what gets injected in those lists


On the to do is a to add a 'prepare' helper that adds the mandate 
nodes (par fillers etc) 


Maybe that's all that I need? If that's the case, I have no problem 
coding my own "prepare helper" if you think that it'll be awhile before 
you get around to it; the problem is that I'm not entirely sure what 
nodes I would need to add. These new nodes aren't added until after 
"pre_linebreak_filter", and they're gone after the linebreaker runs, so 
I can't inspect a "regular" paragraph to see where these nodes belong.


there will be (untested on what you do)

  tex.preparelinebreak(par)

that will add the additional stuff needed (and bark if something is 
there already).


btw, a par builder - even in luatex - 

Re: [NTG-context] What is going wrong with this use of --mode for switching language?

2022-07-08 Thread Wolfgang Schuster via ntg-context

Gerben Wierda via ntg-context schrieb am 08.07.2022 um 12:21:

On 8 Jul 2022, at 11:57, Taco Hoekwater  wrote:

On 8 Jul 2022, at 11:42, Gerben Wierda via ntg-context  
wrote:

I have this minimal example:

\startmode[EL]
\setuplanguage[el][patterns={el}]\mainlanguage[el]

That (‘el’) is a non-existent language, so it never becomes active.

Aha. ‘EL’ is the official two-letter language code for the Greek language, so I 
assumed this was the language code as well.

So, what do I use for (modern) Greek?


\mainlanguage[gr] or \mainlanguage[greek]

Wolfgang

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] What is going wrong with this use of --mode for switching language?

2022-07-08 Thread Gerben Wierda via ntg-context


> On 8 Jul 2022, at 11:57, Taco Hoekwater  wrote:
> 
> 
> 
>> On 8 Jul 2022, at 11:42, Gerben Wierda via ntg-context  
>> wrote:
>> 
>> I have this minimal example:
>> 
>> \startmode[EL]
>> \setuplanguage[el][patterns={el}]\mainlanguage[el]
> 
> That (‘el’) is a non-existent language, so it never becomes active.

Aha. ‘EL’ is the official two-letter language code for the Greek language, so I 
assumed this was the language code as well.

So, what do I use for (modern) Greek?

G

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] What is going wrong with this use of --mode for switching language?

2022-07-08 Thread Taco Hoekwater via ntg-context


> On 8 Jul 2022, at 11:42, Gerben Wierda via ntg-context  
> wrote:
> 
> I have this minimal example:
> 
> \startmode[EL]
> \setuplanguage[el][patterns={el}]\mainlanguage[el]

That (‘el’) is a non-existent language, so it never becomes active.

Best wishes,
Taco

— 
Taco Hoekwater  E: t...@bittext.nl
genderfluid (all pronouns)



___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


[NTG-context] What is going wrong with this use of --mode for switching language?

2022-07-08 Thread Gerben Wierda via ntg-context
I have this minimal example:

\definemode[EN,FR,RU,PT,EL][keep]
\startmodeset
[EN]  {\disablemode[FR,RU,PT,EL]}
[RU]  {\disablemode[EN,FR,PT,EL]}
[FR]  {\disablemode[EN,RU,PT,EL]}
[PT]  {\disablemode[EN,FR,RU,EL]}
[EL]  {\disablemode[EN,FR,RU,PT]}
[default] {\enablemode[EN]}
\stopmodeset

\startmode[EN]
\setuplanguage[en][patterns={en}]\mainlanguage[en]
\stopmode
\startmode[RU]
\setuplanguage[ru][patterns={ru}]\mainlanguage[ru]
\stopmode
\startmode[EL]
\setuplanguage[el][patterns={el}]\mainlanguage[el]
\stopmode

\definelabelclass[phrase]

\setupphrasetext[en][sheettitle={EN Core}]
\setupphrasetext[ru][sheettitle={RU Ядро}]
\setupphrasetext[el][sheettitle={EL AΒασικό}]


\definefallbackfamily
  [archimate]
  [ss]
  [Helvetica]
  [preset=range:cyrillic,
   tf=style:light,
   it=style:lightoblique,
   bf=style:regular,
   bi=style:oblique,
   force=yes,
   rscale=1.0]
 \definefallbackfamily
  [archimate]
  [ss]
  [Helvetica]
  [preset=range:greek,
   tf=style:light,
   it=style:lightoblique,
   bf=style:regular,
   bi=style:oblique,
   force=yes]

\definefontfamily [archimate] [ss] [Optima]

\setupbodyfont[archimate]

\starttext
\phrasetext{sheettitle}
\stoptext


I run this with one of three modes:

context --mode=EN --result=test-en test.tex
context --mode=RU --result=test-ru test.tex
context --mode=EL --result=test-el test.tex

This works for EN, RU, but not for EL. When I run with “—mode=EL” I get EN. 
Why? I am either blind or something is wrong.


Gerben Wierda (LinkedIn )
R Enterprise Architecture  (main site)
Book: Chess and the Art of Enterprise Architecture 
Book: Mastering ArchiMate 
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___


Re: [NTG-context] upload

2022-07-08 Thread Max Chernoff via ntg-context
This is because you need to pass a list that conforms to what the 
builder expects and the callback that you use doesn't do that for you 
(after all, it also gets hbox content).


Isn't "processors/after" the same as "pre_linebreak_filter"? I thought 
that only "hpack_filter" gets \hbox content? Anyways, my actual function 
has this guard at the very start:


if (head.id ~= par_id and context) or -- Ensure that we were 
actually given a par

status.output_active or -- Don't run during the output routine
tex.nest.ptr > 1 -- Don't run inside boxes
then
return head
end

so I think that I'm only processing actual top-level paragraphs here.

There is no 'callback sequence handler' for the par builder (currently i 
see no need for it, also given the extra overhead involved) but this 
what what you can do:


\startluacode
 function builders.paragraphs.constructors.methods.preroll_a(head)
 local result, info = tex.linebreak(head)
 tex.prevdepth = info.prevdepth
 tex.prevgraf = info.prevgraf
 return result
 end
 function builders.paragraphs.constructors.methods.preroll_b(head)
 local result, info = tex.linebreak(nodes.nuts.copylist(head))
 inspect(info)
 return true
 end
\stopluacode

\defineparbuilder[preroll_a]
\defineparbuilder[preroll_b]

\starttext
 \setmainparbuilder[default]   \input tufte \par \input tufte \page
 \setmainparbuilder[preroll_a] \input tufte \par \input tufte \page
 \setmainparbuilder[preroll_b] \input tufte \par \input tufte \page
\stoptext


I think that that code is for replacing the linebreaker entirely, like 
with using "linebreak_filter"? My goal isn't to replace the linebreaker; 
I just want to be able to inspect the paragraph before it is broken, 
without modifying anything.


What I'm trying to do *very* roughly looks like the following:

paragraphs = {}
attribute = 1234

function pre_linebreak_filter(head)
if head.id ~= node.id"par" then
return head
end

local nat_node, nat_info = tex.linebreak(node.copylist(head))
node.freelist(nat_node)

local long_node, long_info = tex.linebreak(
node.copylist(head), {looseness = 1}
)

if long_info.prevgraf == nat_info.prevgraf + 1 then
table.insert(paragraphs, long_node)
end

return head
end

function post_linebreak_filter(head)
node.setattribute(head, attribute, #paragraphs)
node.setattribute(node.slide(head), attribute, #paragraphs)

return head
end

function pre_output_filter(head)
if tex.outputpenalty ~= tex.widowpenalty then
return head
end

-- Pick a paragraph from `paragraphs` somehow

-- Replace that paragraph on the page with the one
-- from `paragraphs`

-- Move the last line of the page onto the top of
-- tex.lists.contributehead

return head
end

(The full implementation is in the module "lua-widow-control" on CTAN, 
TeX Live, and modules.contextgarden.net, or directly at 
"https://github.com/gucci-on-fleek/lua-widow-control/blob/master/source/lua-widow-control.lua;. 
It's pretty long though, so I'm just trying to summarize here.)


This works pretty well with Plain LuaTeX, LuaLaTeX, OpTeX, MkIV, and 
MkXL before the latest upload, but something broke with the latest 
upload in MkXL. I understand that I'm mucking around with volatile 
interfaces, and I have no problem making a bunch of changes whenever the 
engine/format changes; the problem is that I'm not too sure what changed 
in the engine, so I don't know what I need to change in my code.


On the to do is a to add a 'prepare' helper that adds 
the mandate nodes (par fillers etc) 


Maybe that's all that I need? If that's the case, I have no problem 
coding my own "prepare helper" if you think that it'll be awhile before 
you get around to it; the problem is that I'm not entirely sure what 
nodes I would need to add. These new nodes aren't added until after 
"pre_linebreak_filter", and they're gone after the linebreaker runs, so 
I can't inspect a "regular" paragraph to see where these nodes belong.


but even then one has to be careful 
where linebreak hackery is applied.


Oh yes, I'm well aware :) Earlier versions of my module would silently 
eat entire paragraphs, which was very not good. Luckily that problem is 
fixed now.


And finally, thanks for all your work with LuaMetaTeX. This new engine 
is quite nice to work with and has some pretty cool new features.


Thanks,
-- Max
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  :