From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.text.pandoc/31150 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lyndon Drake Newsgroups: gmane.text.pandoc Subject: Re: Changing LaTeX output for citations inside footnotes Date: Sat, 30 Jul 2022 05:39:57 -0700 (PDT) Message-ID: <76a7fa0b-752b-496e-98a3-cc6ee8ef68b0n@googlegroups.com> References: <97765931b0a740ed8a84ba4337bed661@unibe.ch> <90c69f14-e16a-44d6-91ec-a6f6dca3ca45n@googlegroups.com> <8976ce00-3fbe-bf27-898f-0470cba1fec1@gmail.com> <0e10379f-d1c0-4024-b98a-5c7ba703f561n@googlegroups.com> <83a04bea-2e09-61d2-de0d-f399beb2ef79@gmail.com> Reply-To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_454_597707852.1659184797304" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28097"; mail-complaints-to="usenet@ciao.gmane.io" To: pandoc-discuss Original-X-From: pandoc-discuss+bncBCKOX6WY7EKBBHWNSSLQMGQEFISMASA-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Sat Jul 30 14:40:03 2022 Return-path: Envelope-to: gtp-pandoc-discuss@m.gmane-mx.org Original-Received: from mail-yw1-f192.google.com ([209.85.128.192]) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oHllC-00079U-DT for gtp-pandoc-discuss@m.gmane-mx.org; Sat, 30 Jul 2022 14:40:02 +0200 Original-Received: by mail-yw1-f192.google.com with SMTP id 00721157ae682-31f4e870a17sf59889567b3.9 for ; Sat, 30 Jul 2022 05:40:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:x-original-sender :mime-version:subject:references:in-reply-to:message-id:to:from:date :sender:from:to:cc; bh=2QsFikjStV1RTdFt7Shyp7D7PjK+oXCUoliuXAV5WEE=; b=FSfrEy3CNRoIdTQWobqh9s6LheDnrR5Kd0KhlaUVq42DXQQIB3+jnanil/cT3lakC6 swBo6zW1RkfIlrntQlsoffZoZI0ZctznyZUlXJDwOjf7DSL1q0GKSUqLOVyhLxtgttJh Nmo49gA+bqlODQMMj2h2FJRKuac9tCU0QtFyGRWQg3+mU3Rc5FD/4YOagvbEUFaWM/wk ugEop0/n4r7DMU+jIXqRV2PmE3H5MWC2wNckVnHL9SjAhw4SkjbFZYU5JpxKvDAqn/S0 zC4u1x/dC89dnCQAFo4BkZR3uX1/biz8tv9BI7/aBou5JhUC4CLoEG7MdzrE8Jwcgrv/ AZCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:x-original-sender :mime-version:subject:references:in-reply-to:message-id:to:from:date :from:to:cc; bh=2QsFikjStV1RTdFt7Shyp7D7PjK+oXCUoliuXAV5WEE=; b=a6Iv4JlnimSH9e1aI0fQKInVJ7OzsLMwuBfKqddTyZ3t6s/4bZUUbfvqrySdfxWpiu jFgaNfUKLJZJXlcqtKltjnKDVxcQLvxde5PabihSaiVl1TKUpLNK6xmBl2HI8YKukvsJ UMYW16brP0/SQykmteM1MZaMpY4PJ2CdmBSVAzC8s3rFyOvTLKd6XTaLN++H/f0Lrz1r zEvKQPjZ3cY09AJOzn/r+OKtk6BdzQbtT8CQNAa4BRugfvQe+K/p32G1+iYTRuMaK3HW GU+QQOZiwmSICOsqeyxmVOU/33E60R9d2ulOXG0VDk1yJgjk4UVvdLMDC/o/S48C+hit SHEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-sender:mime-version:subject:references:in-reply-to :message-id:to:from:date:x-gm-message-state:sender:from:to:cc; bh=2QsFikjStV1RTdFt7Shyp7D7PjK+oXCUoliuXAV5WEE=; b=P53UKBoec8ci/8rfuRYHKzuu9cSzBm+3YlXDccKkN3+SwvxJY7L8L21jKncLyO5Q7k VM5cNqVD9hJzE0vlM0fYtJ4om+qNCVLy2QYKl6FWs+hPVzPGty7+8TU5wSYwsrBK25gD WBiLEL/5jFbG/K3PW8KOgODINsIPwQ5SOWOtIt2A6r4BUnzmgNOd/EJY4yhHrO5IBs6v dr+skZxgpSBk6J5yrlB8nVv7ilCCtVL3UtAPjKdTJTUrcqWiRvi4wp4WxoUK7Vo4qmmO zLiVNsoWM2HkIudefuyYsOtxzrx1i0/0sdQWaJiDf0mSyGYm8zj1SQ9dCP+KQ6w0x+tG 7moA== Original-Sender: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org X-Gm-Message-State: ACgBeo0fr4lTS7HW340LYJ+THcsE8rO4bmu7tafaB0Q59zeBnq6qtH1O zP6sgtViPVMAJrn+ivSycQs= X-Google-Smtp-Source: AA6agR5kPJNFl257E3cmSgmD+7cy3xUVkOHU9F2jcr/d+45f1+lFwx0AMu69tcwBNuN7Cl3qadrQqA== X-Received: by 2002:a0d:cbd5:0:b0:322:c54b:37b8 with SMTP id n204-20020a0dcbd5000000b00322c54b37b8mr6540773ywd.422.1659184801264; Sat, 30 Jul 2022 05:40:01 -0700 (PDT) X-BeenThere: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Original-Received: by 2002:a81:9b42:0:b0:31e:dfc9:3ae7 with SMTP id s63-20020a819b42000000b0031edfc93ae7ls3301128ywg.7.-pod-prod-gmail; Sat, 30 Jul 2022 05:39:58 -0700 (PDT) X-Received: by 2002:a81:5b54:0:b0:323:e6d5:f382 with SMTP id p81-20020a815b54000000b00323e6d5f382mr6107246ywb.28.1659184797998; Sat, 30 Jul 2022 05:39:57 -0700 (PDT) In-Reply-To: <83a04bea-2e09-61d2-de0d-f399beb2ef79-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> X-Original-Sender: isenguard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Precedence: list Mailing-list: list pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org; contact pandoc-discuss+owners-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org List-ID: X-Google-Group-Id: 1007024079513 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Xref: news.gmane.io gmane.text.pandoc:31150 Archived-At: ------=_Part_454_597707852.1659184797304 Content-Type: multipart/alternative; boundary="----=_Part_455_1693806726.1659184797304" ------=_Part_455_1693806726.1659184797304 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Sukil, Thanks, you were quite correct about the second problem. I've amended that= =20 and it now works, at least in the sense that it is altering the output in= =20 the general way I want. On the first problem, I can just pandoc.stringify the prefix and suffix,=20 and concatenate. The problem with that is I will then lose any Markdown=20 formatting, which is not entirely uncommon in a prefix, and even=20 occasionally in a suffix. I can work around it for this document, I guess,= =20 by just being careful not to use any Markdown formatting in these=20 instances, but I'd love to find a way to take a set of Inlines and convert= =20 it to a format without adding a block. On Friday, 29 July 2022 at 19:04:51 UTC+1 suki...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > Hi, > > For your first problem, when you do pandoc.write, as a minimum a block is= =20 > created, which, I believe, is normally a paragraph. So, don't call=20 > pandoc.write. I guess you can concatenate the prefix, citation and suffix= =20 > and pass them to the pandoc.RawInline function.=20 > > > For your second problem, I am guessing you are using --citeproc in your= =20 > defaults file. If that is the case, try: 1) putting the defaults file aft= er=20 > the filter; or 2) specifying --citeproc manually, also after the filter. > > Hth, > > Sukil > > > El 29/07/2022 a las 16:58, Lyndon Drake escribi=C3=B3: > > Thanks for all the help - definitely getting somewhere now! > > I guess what I want to avoid is replicating in my not-great-Lua code all= =20 > the work Pandoc already has to take a string of Markdown and convert it t= o=20 > LaTeX. I'm using pandoc.write to attempt that, and it seems to be working= =20 > to some degree. The code as it is now is below. I have two problems:=20 > > 1. This Markdown input [@Haran1982 165 n. 9, 172] gets converted by my=20 > calling of pandoc.write into: > > ``` > \cite[165 > > n.~9, > > 172]{Haran1982} > ``` > > and I can't figure out why the blank lines are turning up. I imagine I=20 > need to do something more clever with the Inlines? > > > 2. Despite the fact that my output in the terminal shows that I am=20 > constructing the citetext variable as I am intending to, and I have this= =20 > line of code: > > return pandoc.RawInline('latex', citetext) > > The output .tex file still has the normal Pandoc citations. In other=20 > words, my writer is constructing a nice LaTeX string with what I want in= =20 > it, and then discards it in favour of the normal Pandoc code, which is a= =20 > little bit depressing. > > Can anyone spot what I'm missing now? > > Best, > Lyndon > > ``` > function Writer(doc, opts) > local filter =3D { > Note =3D function(el) > return el:walk { > Cite =3D function(el) > -- processing logic > local citetext =3D "" > if #el.citations > 1 then > if el.citations[1].mode =3D=3D "AuthorInText" the= n > citetext =3D '\\textcites*' > elseif el.citations[1].mode =3D=3D "SuppressAutho= r"=20 > then > citetext =3D '\\cites*' > elseif el.citations[1].mode =3D=3D "NormalCitatio= n"=20 > then > citetext =3D '\\cites' > end > else > if el.citations[1].mode =3D=3D "AuthorInText" the= n > citetext =3D '\\textcite*' > elseif el.citations[1].mode =3D=3D "SuppressAutho= r"=20 > then > citetext =3D '\\cite*' > elseif el.citations[1].mode =3D=3D "NormalCitatio= n"=20 > then > citetext =3D '\\cite' > end > end > for _, c in pairs(el.citations) do > if #c.prefix > 0 then > local doc =3D pandoc.Pandoc(c.prefix) > local citeprefix =3D pandoc.write(doc, 'latex= ') > citetext =3D citetext .. '[' .. citeprefix ..= ']' > end > if #c.suffix > 0 then > local doc =3D pandoc.Pandoc(c.suffix) > local citesuffix =3D pandoc.write(doc, 'latex= ') > citetext =3D citetext .. '[' .. citesuffix ..= ']' > end > citetext =3D citetext .. '{' .. c.id .. '}' > print(citetext) > end > return pandoc.RawInline('latex', citetext) > end > } > end > } > return pandoc.write(doc:walk(filter), 'latex', opts) > end > ``` > > On Friday, 29 July 2022 at 10:49:18 UTC+1 suki...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote: > >> I don't know, but the building blocks you'll need are `pandoc.stringify`= =20 >> which takes any object and converts it into a string, and `pandoc.RawBlo= ck`=20 >> or `pandoc.RawInline` which convert a string into a raw block or inline,= =20 >> and take the format as first argument and the string as second. >> >> Hth, >> >> Sukil >> >> >> El 29/07/2022 a las 10:58, Lyndon Drake escribi=C3=B3: >> >> So I have the citation prefix, which I guess I have to convert to a vali= d=20 >> LaTeX string. How can I take an Inlines and LaTeX-ify it to a string? >> >> On Friday, 29 July 2022 at 09:51:35 UTC+1 Lyndon Drake wrote: >> >>> Ah yep, that works. Next thing is I have to debug my obviously incorrec= t=20 >>> code :-) >>> >>> On Friday, 29 July 2022 at 06:44:22 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote: >>> >>>> That's the problem. This is a writer, not a filter. So you need to cal= l=20 >>>> it via=20 >>>> -t latex-footcite.lua=20 >>>> ________________________________________=20 >>>> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org im=20 >>>> Auftrag von Lyndon Drake =20 >>>> Gesendet: Freitag, 29. Juli 2022 07:15:08=20 >>>> An: pandoc-discuss=20 >>>> Betreff: Re: Changing LaTeX output for citations inside footnotes=20 >>>> >>>> My command line is:=20 >>>> >>>> pandoc -dbookends-latex --template=20 >>>> /Users/lyndon/.local/share/pandoc/templates/book.latex=20 >>>> --lua-filter=3D/Users/lyndon/.local/share/pandoc/filters/latex-footcit= e.lua=20 >>>> -s -o thesis_jeremiah_32.tex jer-32-thesis.md=20 >>>> >>>> It's definitely picking up the lua file because if I have a syntax=20 >>>> error, pandoc tells me. But I don't get any output.=20 >>>> >>>> On Thursday, 28 July 2022 at 21:32:06 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:= =20 >>>> How do you run this ?=20 >>>> I=E2=80=99ve tested with a minimal markdown file :=20 >>>> >>>> ```markdown=20 >>>> asdf=20 >>>> ```=20 >>>> >>>> Run with :=20 >>>> pandoc asdf.md -t mylatex.lua=20 >>>> >>>> Result :=20 >>>> got here=20 >>>> asdf=20 >>>> >>>> So, it prints the first print statement of the writer.=20 >>>> >>>> Denis=20 >>>> >>>> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Im=20 >>>> Auftrag von Lyndon Drake=20 >>>> Gesendet: Donnerstag, 28. Juli 2022 19:17=20 >>>> An: pandoc-discuss =20 >>>> Betreff: Re: Changing LaTeX output for citations inside footnotes=20 >>>> >>>> Thanks for this - exactly what I needed. I've added my attempt at the= =20 >>>> code below, but I must be missing some basic part of it because it doe= sn't=20 >>>> do anything. I added a couple of print statements that never get execu= ted:=20 >>>> >>>> ```=20 >>>> function Writer(doc, opts)=20 >>>> print "got here"=20 >>>> local filter =3D {=20 >>>> Note =3D function(el)=20 >>>> return el:walk {=20 >>>> Cite =3D function(el)=20 >>>> -- processing logic=20 >>>> print "got further"=20 >>>> local citation =3D ""=20 >>>> if #el.citations > 1 then=20 >>>> if citations[1].mode =3D=3D "AuthorInText" then=20 >>>> citation =3D '\\textcites*'=20 >>>> elseif citations[1].mode =3D=3D "SuppressAuthor" then=20 >>>> citation =3D '\\cites*'=20 >>>> elseif citations[1].mode =3D=3D "NormalCitation" then=20 >>>> citation =3D '\\cites'=20 >>>> end=20 >>>> else=20 >>>> if citations[1].mode =3D=3D "AuthorInText" then=20 >>>> citation =3D '\\textcite*'=20 >>>> elseif citations[1].mode =3D=3D "SuppressAuthor" then=20 >>>> citation =3D '\\cite*'=20 >>>> elseif citations[1].mode =3D=3D "NormalCitation" then=20 >>>> citation =3D '\\cite'=20 >>>> end=20 >>>> end=20 >>>> for c in el.citations do=20 >>>> if c.prefix ~=3D "" then=20 >>>> citation =3D citation .. '[' .. c.prefix .. ']'=20 >>>> end=20 >>>> if c.suffix ~=3D "" then=20 >>>> citation =3D citation .. '[' .. c.suffix .. ']'=20 >>>> end=20 >>>> citation =3D citation .. '{' .. c.id .. '}'=20 >>>> end=20 >>>> return pandoc.RawInline('latex', citation)=20 >>>> end=20 >>>> }=20 >>>> end=20 >>>> }=20 >>>> return pandoc.write(doc:walk(filter), 'latex', opts)=20 >>>> end=20 >>>> ```=20 >>>> >>>> Apologies for what must be a very basic question, but what am I missin= g=20 >>>> here?=20 >>>> On Wednesday, 27 July 2022 at 11:27:32 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:= =20 >>>> What kind of example do you need? I only know about the examples in th= e=20 >>>> documentation.=20 >>>> >>>> I think this here is a nice one :=20 >>>> >>>> https://pandoc.org/lua-filters.html#modifying-pandocs-manual.txt-for-m= an-pages=20 >>>> >>>> Or : the new style writer=20 >>>> https://pandoc.org/custom-writers.html#example-modified-markdown-write= r=20 >>>> >>>> So, something like this here could be start:=20 >>>> >>>> ```=20 >>>> function Writer(doc, opts)=20 >>>> local filter =3D {=20 >>>> Note =3D function(el)=20 >>>> return el:walk {=20 >>>> Cite =3D function(el)=20 >>>> -- processing logic=20 >>>> return pandoc.RawInline('latex', '\\cite[prenote][postnote]{key}')=20 >>>> end=20 >>>> }=20 >>>> end=20 >>>> }=20 >>>> return pandoc.write(doc:walk(filter), 'latex', opts)=20 >>>> end=20 >>>> ```=20 >>>> >>>> I don=E2=80=99t think you can get the current writer in Lua.=20 >>>> >>>> >>>> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Im=20 >>>> Auftrag von Lyndon Drake=20 >>>> Gesendet: Dienstag, 26. Juli 2022 11:00=20 >>>> An: pandoc-discuss =20 >>>> Betreff: Re: Changing LaTeX output for citations inside footnotes=20 >>>> >>>> Thanks for this. I can see how that could work.=20 >>>> >>>> Can you point me to another example that uses the walk function?=20 >>>> >>>> Regarding a new-style Lua writer, is there a way to get the current=20 >>>> LaTeX writer as Lua code? Or is it just the Haskell code? (I once knew= =20 >>>> Haskell but that was rather a long time ago.)=20 >>>> On Monday, 25 July 2022 at 22:02:38 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:=20 >>>> I can't come up with a code example now, bit you can use the walk=20 >>>> function (https://pandoc.org/lua-filters.html#type-block:walk) to=20 >>>> modify the citations with a given mode inside notes. You'll need to bu= ild=20 >>>> the citation via Pandoc.RawInline=20 >>>> Maybe that would be a good example of a new style Lua writer.=20 >>>> ________________________________________=20 >>>> Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org im=20 >>>> Auftrag von Lyndon Drake =20 >>>> Gesendet: Montag, 25. Juli 2022 21:46:28=20 >>>> An: pandoc-discuss=20 >>>> Betreff: Changing LaTeX output for citations inside footnotes=20 >>>> >>>> Hi,=20 >>>> >>>> So this is a slightly odd request, which really comes because of the= =20 >>>> unusual behaviour of the specific BibLaTeX bibliography style I'm usin= g. In=20 >>>> that style, \textcite inside a footnote produces an unwanted result. \= cite=20 >>>> produces the expected output. I have generally just gone through and= =20 >>>> hand-edited my Pandoc-produced LaTeX files when they get to the final = copy=20 >>>> stage, but that's painful, and I also thought that maybe this is possi= ble=20 >>>> to do in a Lua filter.=20 >>>> >>>> But I don't quite know where to start - obviously this is a bit=20 >>>> different from the internal Pandoc citations. I'm going to begin the f= ilter=20 >>>> with this:=20 >>>> >>>> if FORMAT:match 'latex' then =20 >>>> function=20 >>>> >>>> but what would the function be? If it is Footnote, then I don't really= =20 >>>> want the AST, I want the LaTeX that forms the footnote contents, and I= =20 >>>> suppose then I can just replace any occurrences of the string \textcit= e=20 >>>> with the string \cite?=20 >>>> >>>> Any help would be awesome!=20 >>>> >>>> Best,=20 >>>> Lyndon=20 >>>> >>>> --=20 >>>> You received this message because you are subscribed to the Google=20 >>>> Groups "pandoc-discuss" group.=20 >>>> To unsubscribe from this group and stop receiving emails from it, send= =20 >>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>>> pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.=20 >>>> To view this discussion on the web visit=20 >>>> https://groups.google.com/d/msgid/pandoc-discuss/bc06a6d8-9a34-4ca9-a0= 5d-2526b23c6f6dn%40googlegroups.com >>>> < >>>> https://groups.google.com/d/msgid/pandoc-discuss/bc06a6d8-9a34-4ca9-a0= 5d-2526b23c6f6dn%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>= .=20 >>>> >>>> --=20 >>>> You received this message because you are subscribed to the Google=20 >>>> Groups "pandoc-discuss" group.=20 >>>> To unsubscribe from this group and stop receiving emails from it, send= =20 >>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org=20 >>>> To view this discussion on the web visit=20 >>>> https://groups.google.com/d/msgid/pandoc-discuss/d25cee8b-7cb2-4fe9-b4= 4d-f288a8fef728n%40googlegroups.com >>>> < >>>> https://groups.google.com/d/msgid/pandoc-discuss/d25cee8b-7cb2-4fe9-b4= 4d-f288a8fef728n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>= .=20 >>>> >>>> --=20 >>>> You received this message because you are subscribed to the Google=20 >>>> Groups "pandoc-discuss" group.=20 >>>> To unsubscribe from this group and stop receiving emails from it, send= =20 >>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org=20 >>>> To view this discussion on the web visit=20 >>>> https://groups.google.com/d/msgid/pandoc-discuss/90c69f14-e16a-44d6-91= ec-a6f6dca3ca45n%40googlegroups.com >>>> < >>>> https://groups.google.com/d/msgid/pandoc-discuss/90c69f14-e16a-44d6-91= ec-a6f6dca3ca45n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>= .=20 >>>> >>>> >>>> --=20 >>>> You received this message because you are subscribed to the Google=20 >>>> Groups "pandoc-discuss" group.=20 >>>> To unsubscribe from this group and stop receiving emails from it, send= =20 >>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>>> pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.=20 >>>> To view this discussion on the web visit=20 >>>> https://groups.google.com/d/msgid/pandoc-discuss/c4609f20-77f3-4427-83= ae-6c79ba48ed5bn%40googlegroups.com >>>> < >>>> https://groups.google.com/d/msgid/pandoc-discuss/c4609f20-77f3-4427-83= ae-6c79ba48ed5bn%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>= .=20 >>>> >>>> >>> --=20 >> You received this message because you are subscribed to the Google Group= s=20 >> "pandoc-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n=20 >> email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> >> To view this discussion on the web visit=20 >> https://groups.google.com/d/msgid/pandoc-discuss/a1e38719-d239-44af-84b0= -67a1764dbb70n%40googlegroups.com=20 >> >> . >> >> --=20 > You received this message because you are subscribed to the Google Groups= =20 > "pandoc-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an= =20 > email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To view this discussion on the web visit=20 > https://groups.google.com/d/msgid/pandoc-discuss/0e10379f-d1c0-4024-b98a-= 5c7ba703f561n%40googlegroups.com=20 > > . > > --=20 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 e= mail 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/76a7fa0b-752b-496e-98a3-cc6ee8ef68b0n%40googlegroups.com. ------=_Part_455_1693806726.1659184797304 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Sukil,

Thanks, you were quite correct about the secon= d problem. I've amended that and it now works, at least in the sense that i= t is altering the output in the general way I want.

On the first problem, I can just pandoc.stringify the prefix and suffix, = and concatenate. The problem with that is I will then lose any Markdown for= matting, which is not entirely uncommon in a prefix, and even occasionally = in a suffix. I can work around it for this document, I guess, by just being= careful not to use any Markdown formatting in these instances, but I'd lov= e to find a way to take a set of Inlines and convert it to a format without= adding a block.

On Friday, 29 July 2022 at 19:04:51 UTC+1 suki...@gmai= l.com wrote:
=20 =20 =20

Hi,

For your first problem, when you do pandoc.write, as a minimum a block is created, which, I believe, is normally a paragraph. So, don't call pandoc.write. I guess you can concatenate the prefix, citation and suffix and pass them to the pandoc.RawInline function.


For your second problem, I am guessing you are using --citeproc in your defaults file. If that is the case, try: 1) putting the defaults file after the filter; or 2) specifying --citeproc manually, also after the filter.

Hth,

Sukil


El 29/07/2022 a las 16:58, Lyndon Drake escribi=C3=B3:
=20
Thanks for all the help - definitely getting somewhere now!

I guess what I want to avoid is replicating in my not-great-Lua code all the work Pandoc already has to take a string of Markdown and convert it to LaTeX. I'm using pandoc.write to attempt that, and it seems to be working to some degree. The code as it is now is below. I have two problems:

1. This Markdown input [@Haran1982 165 n. 9, 172] gets converted by my calling of pandoc.write into:

```
\cite[165

n.~9,

172]{Haran1982}
```

and I can't figure out why the blank lines are turning up. I imagine I need to do something more clever with the Inlines?


2. Despite the fact that my output in the terminal shows that I am constructing the citetext variable as I am intending to, and I have this line of code:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 return pandoc.RawInline('latex', citetext)

The output .tex file still has the normal Pandoc citations. In other words, my writer is constructing a nice LaTeX string with what I want in it, and then discards it in favour of the normal Pandoc code, which is a little bit depressing.

Can anyone spot what I'm missing now?

Best,
Lyndon

```
function Writer(doc, opts)
=C2=A0 =C2=A0 local filter =3D {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Note =3D function(el)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return el:walk {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Cite =3D = function(el)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 -- processing logic
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 local citetext =3D ""
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 if #el.citations > 1 then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 if el.citations[1].mode =3D=3D "AuthorInText" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\textcites*'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 elseif el.citations[1].mode =3D=3D "SuppressAuthor" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\cites*'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 elseif el.citations[1].mode =3D=3D "NormalCitation" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\cites'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 else
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 if el.citations[1].mode =3D=3D "AuthorInText" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\textcite*'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 elseif el.citations[1].mode =3D=3D "SuppressAuthor" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\cite*'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 elseif el.citations[1].mode =3D=3D "NormalCitation" then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D '\\cite'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 for _, c in pairs(el.citations) do
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 if #c.prefix > 0 then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 local doc =3D pandoc.Pandoc(c.prefix)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 local citeprefix =3D pandoc.write(doc, 'latex')
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D citetext .. '[' .. citeprefix .. ']'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 if #c.suffix > 0 then
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 local doc =3D pandoc.Pandoc(c.suffix)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 local citesuffix =3D pandoc.write(doc, 'latex')
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 citetext =3D citetext .. '[' .. citesuffix .. ']'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 citetext =3D citetext .. '{' .. c.id .. '}'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 print(citetext)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 return pandoc.RawInline('latex', citetext)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }
=C2=A0 =C2=A0 =C2=A0 =C2=A0 end
=C2=A0 =C2=A0 }
=C2=A0 =C2=A0 return pandoc.write(doc:walk(filter), 'latex= 9;, opts)
end
```

On Friday, 29 July 2022 at 10:49:18 UTC+1 suki...= @gmail.com wrote:

I don't know, but the building blocks you'll need ar= e `pandoc.stringify` which takes any object and converts it into a string, and `pandoc.RawBlock` or `pandoc.RawInline` which convert a string into a raw block or inline, and take the format as first argument and the string as second.

Hth,

Sukil


El 29/07/2022 a las 10:58, Lyndon Drake escribi=C3=B3:
So I have the citation prefix, which I guess I have to convert to a valid LaTeX string. How can I take an Inlines and LaTeX-ify it to a string?

On Friday, 29 July 2022 at 09:51:35 UTC+1 Lyndon Drake wrote:
Ah yep, that wo= rks. Next thing is I have to debug my obviously incorrect code :-)

On Friday, 29 July 2022 at 06:44:22 UTC+1 denis= ...@unibe.ch wrote:
That's = the problem. This is a writer, not a filter. So you need to call it via
-t latex-footcite.lua
________________________________________
Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<= /a> <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> im Auftrag von Lyndon Drake <i= sen...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Gesendet: Freitag, 29. Juli 2022 07:15:08
An: pandoc-discuss
Betreff: Re: Changing LaTeX output for citations inside footnotes

My command line is:

pandoc -dbookends-latex --template /Users/lyndon/.local/share/pandoc/templates/book.late= x --lua-filter=3D/Users/lyndon/.local/share/pandoc/filters/latex-footcite.lua -s -o thesis_jeremiah_32.tex jer-32-thesis.md

It's definitely picking up the lua file because i= f I have a syntax error, pandoc tells me. But I don't get any output.

On Thursday, 28 July 2022 at 21:32:06 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:
How do you run this ?
I=E2=80=99ve tested with a minimal markdown file :
```markdown
asdf
```

Run with :
pandoc asdf.md -t mylatex.lua

Result :
got here
asdf

So, it prints the first print statement of the writer.

Denis

Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<= /a> <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> Im Auftrag von Lyndon Drake
Gesendet: Donnerstag, 28. Juli 2022 19:17
An: pandoc-discuss <
pandoc-...= @googlegroups.com>
Betreff: Re: Changing LaTeX output for citations inside footnotes

Thanks for this - exactly what I needed. I've added my attempt at the code below, but I must be missing some basic part of it because it doesn't do anything. I added a couple of print statements that never get executed:

```
function Writer(doc, opts)
print "got here"
local filter =3D {
Note =3D function(el)
return el:walk {
Cite =3D function(el)
-- processing logic
print "got further"
local citation =3D ""
if #el.citations > 1 then
if citations[1].mode =3D=3D "AuthorInText" = then
citation =3D '\\textcites*'
elseif citations[1].mode =3D=3D "SuppressAuthor&= quot; then
citation =3D '\\cites*'
elseif citations[1].mode =3D=3D "NormalCitation&= quot; then
citation =3D '\\cites'
end
else
if citations[1].mode =3D=3D "AuthorInText" = then
citation =3D '\\textcite*'
elseif citations[1].mode =3D=3D "SuppressAuthor&= quot; then
citation =3D '\\cite*'
elseif citations[1].mode =3D=3D "NormalCitation&= quot; then
citation =3D '\\cite'
end
end
for c in el.citations do
if c.prefix ~=3D "" then
citation =3D citation .. '[' .. c.prefix .. &= #39;]'
end
if c.suffix ~=3D "" then
citation =3D citation .. '[' .. c.suffix .. &= #39;]'
end
citation =3D citation .. '{' .. c.id<= ;http://c.id> .. '}'
end
return pandoc.RawInline('latex', citation) end
}
end
}
return pandoc.write(doc:walk(filter), 'latex'= , opts)
end
```

Apologies for what must be a very basic question, but what am I missing here?
On Wednesday, 27 July 2022 at 11:27:32 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:
What kind of example do you need? I only know about the examples in the documentation.

I think this here is a nice one :
https://pandoc.org/lua-filters.html#modifying-pandocs-manual.txt-= for-man-pages

Or : the new style writer
http= s://pandoc.org/custom-writers.html#example-modified-markdown-writer

So, something like this here could be start:

```
function Writer(doc, opts)
local filter =3D {
Note =3D function(el)
return el:walk {
Cite =3D function(el)
-- processing logic
return pandoc.RawInline('latex', '\\cite[prenote][postnote]{key}')
end
}
end
}
return pandoc.write(doc:walk(filter), 'latex'= , opts)
end
```

I don=E2=80=99t think you can get the current writer = in Lua.


Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<= /a> <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> Im Auftrag von Lyndon Drake
Gesendet: Dienstag, 26. Juli 2022 11:00
An: pandoc-discuss <
pandoc-...= @googlegroups.com>
Betreff: Re: Changing LaTeX output for citations inside footnotes

Thanks for this. I can see how that could work.

Can you point me to another example that uses the walk function?

Regarding a new-style Lua writer, is there a way to get the current LaTeX writer as Lua code? Or is it just the Haskell code? (I once knew Haskell but that was rather a long time ago.)
On Monday, 25 July 2022 at 22:02:38 UTC+1 denis...-NSENcxR/0n0@public.gmane.org wrote:
I can't come up with a code example now, bit you can use the walk function (https://pandoc.= org/lua-filters.html#type-block:walk) to modify the citations with a given mode inside notes. You'll need to build the citation via Pandoc.RawInline
Maybe that would be a good example of a new style Lua writer.
________________________________________
Von: pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<= /a> <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> im Auftrag von Lyndon Drake <i= sen...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Gesendet: Montag, 25. Juli 2022 21:46:28
An: pandoc-discuss
Betreff: Changing LaTeX output for citations inside footnotes

Hi,

So this is a slightly odd request, which really comes because of the unusual behaviour of the specific BibLaTeX bibliography style I'm using. I= n that style, \textcite inside a footnote produces an unwanted result. \cite produces the expected output. I have generally just gone through and hand-edited my Pandoc-produced LaTeX files when they get to the final copy stage, but that's painful, and I also thought that maybe this is possible to do in a Lua filter.

But I don't quite know where to start - obviously this is a bit different from the internal Pandoc citations. I'm going to begin the filter with this:

if FORMAT:match 'latex' then <https://pandoc.org/lua-= filters.html#cb9-3> function

but what would the function be? If it is Footnote, then I don't really want the AST, I want the LaTe= X that forms the footnote contents, and I suppose then I can just replace any occurrences of the string \textcite with the string \cite?

Any help would be awesome!

Best,
Lyndon

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss&= quot; group.
To unsubscribe from this group and stop receiving emails from it, send an email to = pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<mailto:pandoc-= discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-disc= uss/bc06a6d8-9a34-4ca9-a05d-2526b23c6f6dn%40googlegroups.com<https://groups.google.com/d/msg= id/pandoc-discuss/bc06a6d8-9a34-4ca9-a05d-2526b23c6f6dn%40googlegroups.com?= utm_medium=3Demail&utm_source=3Dfooter>.
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss&= quot; 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-disc= uss/d25cee8b-7cb2-4fe9-b44d-f288a8fef728n%40googlegroups.com<https://groups.google.com/d/msg= id/pandoc-discuss/d25cee8b-7cb2-4fe9-b44d-f288a8fef728n%40googlegroups.com?= utm_medium=3Demail&utm_source=3Dfooter>.
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss&= quot; 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-disc= uss/90c69f14-e16a-44d6-91ec-a6f6dca3ca45n%40googlegroups.com<https://groups.google.com/d/msg= id/pandoc-discuss/90c69f14-e16a-44d6-91ec-a6f6dca3ca45n%40googlegroups.com?= utm_medium=3Demail&utm_source=3Dfooter>.

--
You received this message because you are subscribed to the Google Groups "pandoc-discuss&= quot; group.
To unsubscribe from this group and stop receiving emails from it, send an email to = pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org<mailto:pandoc-= discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-disc= uss/c4609f20-77f3-4427-83ae-6c79ba48ed5bn%40googlegroups.com<https://groups.google.com/d/msg= id/pandoc-discuss/c4609f20-77f3-4427-83ae-6c79ba48ed5bn%40googlegroups.com?= utm_medium=3Demail&utm_source=3Dfooter>.
--
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..= .@googlegroups.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-di= scus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.

--
You received this message because you are subscribed to the Google Groups &= quot;pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to pand= oc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d= /msgid/pandoc-discuss/76a7fa0b-752b-496e-98a3-cc6ee8ef68b0n%40googlegroups.= com.
------=_Part_455_1693806726.1659184797304-- ------=_Part_454_597707852.1659184797304--