* Lua filter to modify captions in tables @ 2022-07-16 12:21 Abhishek Ulayil [not found] ` <0abadbc7-8cc9-4d67-92e2-fbd636f6cf3fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Abhishek Ulayil @ 2022-07-16 12:21 UTC (permalink / raw) To: pandoc-discuss [-- Attachment #1.1: Type: text/plain, Size: 876 bytes --] Hi everyone, 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. Thanks in advance, -- 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/0abadbc7-8cc9-4d67-92e2-fbd636f6cf3fn%40googlegroups.com. [-- Attachment #1.2: Type: text/html, Size: 1602 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <0abadbc7-8cc9-4d67-92e2-fbd636f6cf3fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* Re: Lua filter to modify captions in tables [not found] ` <0abadbc7-8cc9-4d67-92e2-fbd636f6cf3fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> @ 2022-07-16 12:25 ` Albert Krewinkel [not found] ` <87a699dy1b.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Albert Krewinkel @ 2022-07-16 12:25 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Abhishek Ulayil <abhiman2000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 ``` ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <87a699dy1b.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: Lua filter to modify captions in tables [not found] ` <87a699dy1b.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2022-07-16 13:19 ` Abhishek Ulayil [not found] ` <83057d17-1bda-4ec8-a96f-9567f975033en-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2022-07-16 13:42 ` Albert Krewinkel 1 sibling, 1 reply; 5+ messages in thread From: Abhishek Ulayil @ 2022-07-16 13:19 UTC (permalink / raw) To: pandoc-discuss [-- Attachment #1.1: Type: text/plain, Size: 2353 bytes --] 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 <abhim...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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. [-- Attachment #1.2: Type: text/html, Size: 3305 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <83057d17-1bda-4ec8-a96f-9567f975033en-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* Re: Lua filter to modify captions in tables [not found] ` <83057d17-1bda-4ec8-a96f-9567f975033en-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> @ 2022-07-16 13:33 ` Albert Krewinkel 0 siblings, 0 replies; 5+ messages in thread From: Albert Krewinkel @ 2022-07-16 13:33 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Abhishek Ulayil <abhiman2000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > 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 Please do. For formal reasons, I hereby license the code under the CC0 license. (I'd use "public domain", but it doesn't exist in my jurisdiction.) Cheers! > On Saturday, 16 July 2022 at 18:17:53 UTC+5:30 Albert Krewinkel wrote: > > Abhishek Ulayil <abhim...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 > ``` -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Lua filter to modify captions in tables [not found] ` <87a699dy1b.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2022-07-16 13:19 ` Abhishek Ulayil @ 2022-07-16 13:42 ` Albert Krewinkel 1 sibling, 0 replies; 5+ messages in thread From: Albert Krewinkel @ 2022-07-16 13:42 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> writes: > 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. The current development version now accepts blocks instead of full caption elements. This means that the original version of the filter would now work as intended. -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-16 13:42 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-07-16 12:21 Lua filter to modify captions in tables Abhishek Ulayil [not found] ` <0abadbc7-8cc9-4d67-92e2-fbd636f6cf3fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2022-07-16 12:25 ` Albert Krewinkel [not found] ` <87a699dy1b.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2022-07-16 13:19 ` Abhishek Ulayil [not found] ` <83057d17-1bda-4ec8-a96f-9567f975033en-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2022-07-16 13:33 ` Albert Krewinkel 2022-07-16 13:42 ` Albert Krewinkel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).