IT HAS BEEN SOLVED :) Using the lua.filter here: https://gist.github.com/tarleb/a0646da1834318d4f71a780edaf9f870 and this filter: function Span (span) if span.classes:includes 'mark' then return {pandoc.RawInline('latex', '\\hl{')} .. span.content .. {pandoc.RawInline('latex', '}') } end end And now it works, but only because I updated pandoc. In the version that Linux Mint's repo had it wouldn't work. On Tuesday, December 6, 2022 at 11:55:17 a.m. UTC+1 - wrote: > OK, so I have markdown text that includes ==highlighted== words like that. > I would like to convert ==highlighting== either to \hl{highlighting} so > LaTeX can handle it, or to highlighting, i.e. remove the symbols, so that > they just don't appear. > > Thanks to you, I now have a working filter that looks like this: > > return { > { > Str = function (elem) > if elem.text == "highlighting" then > return pandoc.Emph {pandoc.Str "highlighting"} > > else > return elem > end > end, > } > } > > This filter takes all instances of highlighting and turns them into > *highlighting*. However, ONLY if that's a whole word. If it's > ==highlighting== it doesn't touch it because that's seemingly technically > another word as it contains other characters. In my case I would like to > replace only the "==" but since they're attached to other characters, i.e. > the actual word, the filter doesn't touch them. > > That's where I'm at right now. I'm now looking for a modification of that > filter so it also applies to parts of a word. > Any ideas on that? > > Thanks! > > On Tuesday, December 6, 2022 at 11:00:09 a.m. UTC+1 denis...-NSENcxR/0n0@public.gmane.org > wrote: > >> Sorry, I haven’t been following from the beginning. Can you provide a >> complete example. What’s your input ? What’s the desired output ? >> >> >> >> *Von:* pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org *Im >> Auftrag von *paulschi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org >> *Gesendet:* Dienstag, 6. Dezember 2022 01:03 >> *An:* pandoc-discuss >> *Betreff:* Re: How do I replace a string in all text that pandoc >> converts, i.e. how do I do this with a filter? >> >> >> >> I've narrowed it down! The issue isn't the characters but that they're >> technically "part" of the word. How do I replace PART of a word? >> >> Thanks! >> >> >> >> On Tuesday, December 6, 2022 at 12:52:05 a.m. UTC+1 - wrote: >> >> Barring that, can't I use something like "> = string.gsub("Hello banana", >> "banana", "Lua user")", if so how would I do that? I got that example from >> http://lua-users.org/wiki/StringLibraryTutorial >> >> On Tuesday, December 6, 2022 at 12:51:09 a.m. UTC+1 - wrote: >> >> I just tried that, thanks! That works :) But this doesn't appear to work >> for characters, like "==" which was the original goal. Am I missing some >> sort of escape characters? >> >> On Tuesday, December 6, 2022 at 12:49:46 a.m. UTC+1 denis...-NSENcxR/0n0@public.gmane.org >> wrote: >> >> You are matching against the whole paragraph (para). So, when the first >> element in your paragraph matches your search string, you'll replace the >> whole paragraph with the return value of your function. (Which is a block >> element, not an inline element.) >> >> Use the example from here instead: >> https://pandoc.org/lua-filters.html#macro-substitution >> ________________________________________ >> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org im >> Auftrag von paulschi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org >> Gesendet: Dienstag, 6. Dezember 2022 00:32:23 >> An: pandoc-discuss >> Betreff: Re: How do I replace a string in all text that pandoc converts, >> i.e. how do I do this with a filter? >> >> YES! that works! But can you tell me why it replaces the whole line? >> Can't I do this in running text? >> Thanks! >> return { >> { >> Para = function (elem) >> if elem.content[1].text == "{{helloworld}}" then >> return pandoc.RawBlock('latex','abc') >> else >> return elem >> end >> end, >> } >> } >> >> >> >> >> On Tuesday, December 6, 2022 at 12:09:13 a.m. UTC+1 denis...-NSENcxR/0n0@public.gmane.org >> wrote: >> Just your example filter: >> >> ```lua >> return { >> { >> Para = function (elem) >> if elem.content[1].text == "{{helloworld}}" then >> return pandoc.RawBlock('html','
abc
') >> else >> return elem >> end >> end, >> } >> } >> ``` >> >> The problematic line is this: return >> pandoc.RawBlock('html','
abc
') >> This adds a raw block that will only come in to effect when your output >> format is html. >> >> If your target ist latex, you’ll need something like this: return >> pandoc.RawBlock('latex','\\whatever{abc}') >> >> ```cmd >> pandoc test.md -L filter.lua -t latex >> asf >> >> \whatever{abc} >> >> asf >> ``` >> >> >> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Im >> Auftrag von paulschi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org >> Gesendet: Dienstag, 6. Dezember 2022 00:04 >> An: pandoc-discuss >> Betreff: Re: How do I replace a string in all text that pandoc converts, >> i.e. how do I do this with a filter? >> >> No, my intended output is a PDF file. Does that change anything? Could >> you tell me what exactly you put in filter.lua? >> Thanks! >> >> On Monday, December 5, 2022 at 11:56:39 p.m. UTC+1 denis...-NSENcxR/0n0@public.gmane.org >> wrote: >> What exactly are you doing? Your output format is html? I’ve just tested >> this and it seems to work. >> >> ```cmd >> C:\Users\denis\Downloads\filter>cat test.md >> asf >> >> {{helloworld}} >> >> asf >> C:\Users\denis\Downloads\filter>pandoc test.md >>

asf

>>

{{helloworld}}

>>

asf

>> >> C:\Users\denis\Downloads\filter>pandoc test.md -L filter.lua >>

asf

>>
abc
>>

asf

>> ``` >> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Im >> Auftrag von paulschi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org >> Gesendet: Montag, 5. Dezember 2022 18:58 >> An: pandoc-discuss >> Betreff: Re: How do I replace a string in all text that pandoc converts, >> i.e. how do I do this with a filter? >> >> I've tried this: >> >> return { >> { >> Para = function (elem) >> if elem.content[1].text == "{{helloworld}}" then >> return pandoc.RawBlock('html','
abc
') >> else >> return elem >> end >> end, >> } >> } >> >> but that only gets rid of {{helloworld}}, it doesn't replace it with >> anything. Sadly this doens't work for "==", i.e. those don't disappear. >> On Monday, December 5, 2022 at 6:49:08 p.m. UTC+1 - wrote: >> I've been trying to replace markdown/Obsidian highlights "==" either with >> something that LaTeX can use e.g. \hl or just delete it/replace it with >> nothing, but I can't figure out how to do this. >> >> I've tried this: >> function Str (str) >> str.text = string.upper(str.text) >> return str >> end >> >> But I can't even figure out where I'm meant to put my own text? >> >> How do I rpelace == with " "? >> >> Thanks! >> -- >> 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-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/3ae58adb-8789-4398-8ab0-fe1e6928e292n%40googlegroups.com >> < >> https://groups.google.com/d/msgid/pandoc-discuss/3ae58adb-8789-4398-8ab0-fe1e6928e292n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> -- >> 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-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/e9cb34ca-b760-4ef6-9432-91d37f5e45c5n%40googlegroups.com >> < >> https://groups.google.com/d/msgid/pandoc-discuss/e9cb34ca-b760-4ef6-9432-91d37f5e45c5n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> >> -- >> 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-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org. >> >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/7cabb17e-9a2b-4251-bd95-c5415140c9adn%40googlegroups.com >> < >> https://groups.google.com/d/msgid/pandoc-discuss/7cabb17e-9a2b-4251-bd95-c5415140c9adn%40googlegroups.com?utm_medium=email&utm_source=footer>. >> >> >> -- >> 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-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/6d25bb08-224d-4f01-8eba-3f1c55d19e83n%40googlegroups.com >> >> . >> > -- 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/282dc553-743a-4623-9f68-897468f97a7bn%40googlegroups.com.