Thanks albert, The filter works as intended, with your permission may I include it in my github repo containing lua filters : https://github.com/Abhi-1U/tex-lua-filters On Saturday, 16 July 2022 at 18:17:53 UTC+5:30 Albert Krewinkel wrote: > > Abhishek Ulayil writes: > > > I was working on a lua filter to change the Table caption to add > > numbering > > > > ``` > > tables = 0 > > function Table(el) > > tables = tables + 1 > > local caption = "Table " .. tostring(tables) .. ": " .. > > pandoc.utils.stringify(el.caption) > > print(caption) > > > > el.caption = caption --facing problem here > > return el > > end > > ``` > > > > I am facing a problem to set the caption back to the element, > > > > what will be the correct way to set the caption. > > Captions consist of two parts, the normal (long) caption and a shorter > (short) description that can be used in a list of tables, for example. > The problematic line should be changed to > > el.caption.long = caption > > As you noticed, it's not very user-friendly though, and we should > definitely improve that. > > You'll probably want to keep the markup in the caption. I'm attaching a > version that's a bit longer, but will preserve the caption's markup. > > HTH! > > > ``` > tables = 0 > function Table(el) > tables = tables + 1 > local label = pandoc.Inlines("Table " .. tostring(tables)) > local caption = el.caption.long > if not caption[1] then > -- Table has no caption, just add the label > caption = pandoc.Blocks{label} > elseif caption[1].tag == 'Plain' or caption[1].tag == 'Para' then > -- Prepend label to paragraph > label:extend{pandoc.Str ':', pandoc.Space()} > caption[1].content = label .. caption[1].content > else > -- Add label as plain block element > label:extend{pandoc.Str ':', pandoc.Space()} > caption:insert(1, pandoc.Plain(label)) > end > > el.caption.long = caption > return el > end > ``` > -- You received this message because you are subscribed to the Google Groups "pandoc-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/83057d17-1bda-4ec8-a96f-9567f975033en%40googlegroups.com.