From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.text.pandoc/31455 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "'Mark Johnno' via pandoc-discuss" Newsgroups: gmane.text.pandoc Subject: Re: AW: Fw: Fixing lua filter to number paragraphs Date: Sat, 24 Sep 2022 14:29:48 +0000 Message-ID: References: <78BBgUlgdEJOaNOIxhfkTKPgf07yZREVfvlbeq1kqYQ59CCPSpaXEX4T_806rUzuPjbb5aIvpmynEu04PsBHsJTnWtkNNiG5dZQYfDGsO0Y=@proton.me> , <9c110d41d7b24b39b98b999c78d6210b@unibe.ch> Reply-To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31828"; mail-complaints-to="usenet@ciao.gmane.io" To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Original-X-From: pandoc-discuss+bncBCIZTRNTTYMBBY5IXSMQMGQERI3SYTQ-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Sat Sep 24 16:29:58 2022 Return-path: Envelope-to: gtp-pandoc-discuss@m.gmane-mx.org Original-Received: from mail-wm1-f55.google.com ([209.85.128.55]) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oc6AI-00088h-S6 for gtp-pandoc-discuss@m.gmane-mx.org; Sat, 24 Sep 2022 16:29:58 +0200 Original-Received: by mail-wm1-f55.google.com with SMTP id 84-20020a1c0257000000b003b4be28d7e3sf4308966wmc.0 for ; Sat, 24 Sep 2022 07:29:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1664029798; cv=pass; d=google.com; s=arc-20160816; b=Cj0qgB5I321QJlGla71+0W4XfOpgMBEWga7LYnwfyxyc7VcL5nYfivUCotWLOp59jp AvSSS4zKn4gU0EVvmECcTSrmyAp/Jr/cuiaxZbvDNcS5KQL67EVLNIX/4laQxWmRIHUn Ugbi1/3LKvc50pJdhjFnR0ZtUWxxYj4aP5QbpRTFnwpKGubJ2FPR+GDyfbTcBiP9dp6m wVy5hTtPMh1/lKTOKmarob8oQOCraHtU3n5RmpOWr2Saq0lXh5gBOHMVsJpI7capIMC2 J/98P/xsQgHWrDsn10bECq6HtV4M2QE+NctZM5lmmv1ya6zpUr7ldBByGfQUG0SEtEdP /k2Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:content-transfer-encoding :mime-version:feedback-id:references:in-reply-to:message-id:subject :from:to:date:dkim-signature; bh=cICqAuqPhPR5ubYtmLTdVednKBE2mg5xTIK6gzofmu0=; b=HdDlI5adjeD6wqOmqyAfUK5oWAMBXxm4BG7h5InjGORXKdvE+M8yu9SpeFVoRXDvRa Py4q2HLoNdS0jyfI8FZ7a1EPOtcrEFIfPbwcBCDmODgnQAuV8+/2ZrZG06q/uInt9L8f +1a6PDiAci5v4VhoMUKbz45lGNzSaW5QGMl0mFow/sDCyzOU4pzXFc8ZJPlBJirJRSwI CPfMJhd/YkofWcpH8taFpf6Rvf5YNQBrSX8wJmRzWwROAXbLfjy9RU1IV8hC1o4qmDmN UNzYHl0yXvuCFskDUTVapEoSbR8q079i0SlxKrKd9YUwW/DzmD2FPacKpK27ZCKUELv6 dQUg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b="Smv/mgO9"; spf=pass (google.com: domain of lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org designates 185.70.43.25 as permitted sender) smtp.mailfrom=lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me 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-authentication-results:x-original-sender :content-transfer-encoding:mime-version:feedback-id:references :in-reply-to:message-id:subject:from:to:date:from:to:cc:subject:date; bh=cICqAuqPhPR5ubYtmLTdVednKBE2mg5xTIK6gzofmu0=; b=PmByUSXCci80glTwiFOOmGAmK6j0y1LxK+7RSRkuYdRgryYy659hQqdDDwG07LSBUW jyPFDWfA3QKM1HiuwEntEaS/bCFOvEOVvyGF/ZZi2W8/H1KfotTKEL+E7GYy6eSJv1aX 3wehkp2q6Gnl6GAoRWMS13uqOwGDNcLvvXUtqhCyY3zF3qqMXsIWZqECMQ3o1bRmuz7t x477SdUFQcgiy2cDPqmz9Dz97GjslTtAgLXIqUCbiatTu9CTNxEfKiBeqbiaT8JYI1gP 3FVWBP4bCX2jPp2DTNEwUP8je3OxrmTHyiqPE565NSyqk2sX3UdWSuI45gXMMid8YLZ5 1IhQ== 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-authentication-results:x-original-sender :content-transfer-encoding:mime-version:feedback-id:references :in-reply-to:message-id:subject:from:to:date:x-gm-message-state:from :to:cc:subject:date; bh=cICqAuqPhPR5ubYtmLTdVednKBE2mg5xTIK6gzofmu0=; b=qH9adiGpPoLonRNPvhDanCG9YRpSro6aStxL27L5HswkyEyHCGa+eotEE+v9B59kuT jYNaD5ad+JcBelQmI2yoN4crS5C2/AvbVBA2XVnxnu0KppFmBT0NB/0n2/DoJV+Rtfle HdvAeaRLIDxUueI3gX0kdRPSxXqqkStHtJUGOJjDDUnI2p/w7Zn1qKDE7eEzsGusfE1k SC82nn2bE5ICxjwjA609RmCHSj4ZFdGvUM2wmy6YB4AjFInu/00ub1ImBQ07Z7Py2CvB ysB+7rVnF3Bz2u1Z0W+6rNv91UvWF1JGQRj X-Gm-Message-State: ACrzQf3zRQ1qmT5pJ2OHIMM0Q2n8PmalkweSwfpHmK3wJByuz8hnET4H 9KMp+whWJsapZ0PkvHB9ETA= X-Google-Smtp-Source: AMsMyM7e8p2fkdVqz5Q6C9p1UxBc9JoxfK6Ajx/LqELPkgFwZNdGGU8jbR177qBtcMK6N7USGnxkxg== X-Received: by 2002:a5d:4571:0:b0:22a:bc4c:3c24 with SMTP id a17-20020a5d4571000000b0022abc4c3c24mr8468793wrc.254.1664029798409; Sat, 24 Sep 2022 07:29:58 -0700 (PDT) X-BeenThere: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org Original-Received: by 2002:a05:600c:c5:b0:3b3:1ac5:fc2c with SMTP id u5-20020a05600c00c500b003b31ac5fc2cls6662016wmm.1.-pod-prod-gmail; Sat, 24 Sep 2022 07:29:54 -0700 (PDT) X-Received: by 2002:a05:600c:35c3:b0:3b4:a686:45c6 with SMTP id r3-20020a05600c35c300b003b4a68645c6mr16973077wmq.86.1664029794275; Sat, 24 Sep 2022 07:29:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664029794; cv=none; d=google.com; s=arc-20160816; b=GMn8Fjyvx5m3jCclYPXJ5G4e0iBvupQvbQX6EFwK8Ts+Y/60gm5OpzA9uKZ/UkGdw2 485rWhIAIpMeG+stVjLtbOplg+zoCfadAwQ/RlYgLzHu3uhm/M8I/SM0DPqzlQPQ2Hnz eyt4g3v2aEnRSJHTjkGcJHMgHS5+zfuKAr3PaT7jLeYQX5GB1Gb4m7WZVjwOMy7SdC/G fQrxaYaL0Ev3FURXL9AcvP2UjZU6S2O4GyyGA/DEeR01ZjRMru7oGGfw5TtWLmZoJ65n cWNgtV43X4AceQmHjJaGxeeZdpsnfMjYXIryPI3EyJI+KF6wP/Jvr3psnI1pUM4H53HI 92Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:feedback-id:references :in-reply-to:message-id:subject:from:to:dkim-signature:date; bh=+UQovfW3/O7TNV4oNr2u5c5qfQ8dYYJgLcr5rdGLvmI=; b=XaaTECwyo2NIuOxnoK/f6BF5zKFoIATYy2aDl+EnjmxtiN2OhuQCO1iQccMMBmf7sP 0XBzRLLGLvBNFepgNBoJ7L+zH3csU0VMMINN78OeU8pSEjBCDdziWNyFtjGUzztud5P+ XNCWtOq6NYO0yErOG8IfXvwAufNEqBQheNlTNjx0onfFercRGfetWzQg69sWwhP/yAVU Q9f8+65icUN7XrPqa2J75f7/6k6UCPbhCuaEnkzY16bbzsEe7kpkUOgqGi9UmzuPgh5W qcFlmueSkPt+RgMFJ1A0IeMjHUPpPzsi/8Rg5zWo07WgiCrz7h4NtYaf8WjvXnCHzfki ZjBQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b="Smv/mgO9"; spf=pass (google.com: domain of lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org designates 185.70.43.25 as permitted sender) smtp.mailfrom=lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me Original-Received: from mail-4325.protonmail.ch (mail-4325.protonmail.ch. [185.70.43.25]) by gmr-mx.google.com with ESMTPS id by18-20020a056000099200b0022a69378414si390698wrb.0.2022.09.24.07.29.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Sep 2022 07:29:54 -0700 (PDT) Received-SPF: pass (google.com: domain of lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org designates 185.70.43.25 as permitted sender) client-ip=185.70.43.25; In-Reply-To: <9c110d41d7b24b39b98b999c78d6210b-NSENcxR/0n0@public.gmane.org> Feedback-ID: 55774685:user:proton X-Original-Sender: lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@proton.me header.s=protonmail header.b="Smv/mgO9"; spf=pass (google.com: domain of lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org designates 185.70.43.25 as permitted sender) smtp.mailfrom=lua8ds-6EK1v4hiKcSzQB+pC5nmwQ@public.gmane.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=proton.me X-Original-From: Mark Johnno 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:31455 Archived-At: Adding: addTexPreamble("\\usepackage{xcolor}") and switching \\color (on the following line) to 'gray' from 'lightgray' fi= xed the issue; Pandoc issued error "! LaTeX Error: Undefined color 'Lightgr= ay'". When I tried adding addTexPreamble("\\usepackage{color}") instead of xcolor= , pandoc issued "Undefined color" for both gray and lightgray (black worked= fine.) Anyway, the filter works fine with 'xcolor' and 'gray'. Thanks a lot for yo= ur help, and for replying so quickly. ------- Original Message ------- On Saturday, September 24th, 2022 at 8:04 AM, wrote: > Or maybe the xcolor package. > ________________________________________ > Von: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org im A= uftrag von Bastien DUMONT bastien.dumont-VwIFZPTo/vqsTnJN9+BGXg@public.gmane.org > > Gesendet: Samstag, 24. September 2022 07:39:08 > An: 'Mark Johnno' via pandoc-discuss > Betreff: Re: Fw: Fixing lua filter to number paragraphs > > The error means that the command \color is not defined, i.e. the package = that defines it is not loaded. It should be fixed by adding this after addT= exPreamble("\\reversemarginpar"): > > addTexPreamble("\\usepackage{\\color}") > > Le Friday 23 September 2022 =C3=A0 11:09:42PM, 'Mark Johnno' via pandoc-d= iscuss a =C3=A9crit : > > > Hi, I have been using a lua filter for a few months with no issue, howe= ver, for the last few days, I've not been able to produce a PDF. I can't fi= nd hints online. I am hoping someone can help me. > > > > That is the error message I get: > > > > ! Undefined control sequence. > > ... \hspace {\z@ }\ignorespaces \color > > > > {lightgray}\tiny {[1]}\end... > > l.72 \paragraphnumber{[1]} > > > > I had some error messages in the past, usually due to missing squared b= rackets which I resolved by using --trace to check where parsing was slowin= g down (that is where the brackets were missing), but this time --trace doe= s not provide any hints. > > > > I can convert the document from .md to .pdf (without the filter); that = is the command I use: > > > > $ pandoc file.md --pdf-engine=3Dxelatex -o file.pdf > > > > ...but when I add count-para.lua filter: > > > > $ pandoc file.md --pdf-engine=3Dxelatex --lua-filter=3Dcount-para.lua -= o file.pdf > > > > I get the error message mentioned above. > > > > I also tried with another document. I get the same error message. > > > > I tried contacting the author of the filter, in vain. > > > > Do you have a hint about how I could troubleshoot or fix this issue? > > > > Does the filter need to be updated? > > > > $ pandoc -v > > pandoc 2.5 > > Compiled with pandoc-types 1.17.5.4, texmath 0.11.2.2, skylighting 0.7.= 7 > > > > I use Trisquel GNU/Linux 10.0.1. > > > > This is the filter: > > > > --[[ > > Make all 'regular' paragraphs into a div and assign a numeric ID > > Format this number in the margin > > Copyright =C2=A9 2021 Michael Cysouw > > Permission to use, copy, modify, and/or distribute this software for an= y > > purpose with or without fee is hereby granted, provided that the above > > copyright notice and this permission notice appear in all copies. > > THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIE= S > > WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF > > MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR > > ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES > > WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN > > ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF > > OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. > > ]] > > > > local count =3D 0 > > local chapter =3D 0 > > local indexUserID =3D {} > > > > ------------------------------ > > -- Options with default values > > ------------------------------ > > > > local resetAtChapter =3D false > > local enclosing =3D "[]" > > local chapterSep =3D "." > > local refName =3D "paragraph " > > local addPageNr =3D true > > > > function getUserSettings (meta) > > > > if meta.resetAtChapter ~=3D nil then > > resetAtChapter =3D meta.resetAtChapter > > end > > > > if meta.enclosing ~=3D nil then > > enclosing =3D pandoc.utils.stringify(meta.enclosing) > > end > > > > if meta.chapterSep ~=3D nil then > > chapterSep =3D pandoc.utils.stringify(meta.chapterSep) > > end > > > > if meta.refName ~=3D nil then > > refName =3D pandoc.utils.stringify(meta.refName) > > if FORMAT:match "latex" then > > if refName =3D=3D "#" then refName =3D "\\#" end > > end > > end > > > > if meta.addPageNr ~=3D nil then > > addPageNr =3D meta.addPageNr > > end > > > > end > > > > ------------------------ > > -- Add global formatting > > ------------------------ > > > > function addFormatting (meta) > > > > local tmp =3D pandoc.MetaList{meta['header-includes']} > > if meta['header-includes'] ~=3D nil then > > tmp =3D meta['header-includes'] > > end > > > > if FORMAT:match "html" then > > local css =3D [[ > > > > > > ]] > > tmp[#tmp+1] =3D pandoc.MetaBlocks(pandoc.RawBlock("html", css)) > > end > > > > function addTexPreamble (tex) > > tmp[#tmp+1] =3D pandoc.MetaBlocks(pandoc.RawBlock("tex", tex)) > > end > > > > if FORMAT:match "latex" then > > addTexPreamble("\\usepackage{marginnote}") > > addTexPreamble("\\reversemarginpar") > > addTexPreamble("\\newcommand{\\paragraphnumber}[1]{\\marginnote{\\color= {lightgray}\\tiny{#1}}[0pt]}") > > end > > > > meta['header-includes'] =3D tmp > > return(meta) > > end > > > > ------------------------- > > -- count Para and add Div > > ------------------------- > > > > function countPara (doc) > > > > for i=3D1,#doc.blocks do > > > > -- optionally reset counter > > if doc.blocks[i].tag =3D=3D "Header" > > and doc.blocks[i].level =3D=3D 1 > > and doc.blocks[i].classes[1] ~=3D "unnumbered" > > and resetAtChapter > > then > > chapter =3D chapter + 1 > > count =3D 0 > > end > > > > -- get Para, but not if there is an Image inside > > if doc.blocks[i].tag =3D=3D "Para" > > and doc.blocks[i].content[1].tag ~=3D "Image" > > then > > > > -- count paragraphs > > count =3D count + 1 > > local ID =3D count > > if resetAtChapter then > > ID =3D chapter..chapterSep..count > > end > > > > -- format number to insert > > local number =3D ID > > if enclosing:len() =3D=3D 1 then > > number =3D enclosing..ID..enclosing > > else > > number =3D enclosing:sub(1,1)..ID..enclosing:sub(2,2) > > end > > > > -- check for user-inserted ids at the start of the paragraph > > local firstElem =3D pandoc.utils.stringify(doc.blocks[i].content[1]) > > local userID =3D firstElem:match("{#(.*)}") > > if userID ~=3D nil then > > -- add to index > > indexUserID[userID] =3D ID > > -- remove reference from text > > table.remove(doc.blocks[i].content, 1) > > -- remove possible space > > if doc.blocks[i].content[1].tag =3D=3D "Space" then > > table.remove(doc.blocks[i].content, 1) > > end > > end > > > > -- insert number > > if FORMAT:match "latex" then > > -- use marginnote for formatting number in margin > > local texCount =3D "\\paragraphnumber{"..number.."}" > > if userID ~=3D nil then > > -- add target for link to the number > > texCount =3D "\\hypertarget{"..userID.."}{\n"..texCount.."\\label{"..us= erID.."}}" > > end > > table.insert(doc.blocks[i].content, 1, pandoc.RawInline("tex", texCount= )) > > else > > table.insert(doc.blocks[i].content, 1, pandoc.Space()) > > table.insert(doc.blocks[i].content, 1, pandoc.Span(number, pandoc.Attr(= ID, {"paragraph-number"}))) > > end > > > > end > > end > > return doc > > end > > > > ------------------------------ > > -- set in-text cross-references > > ------------------------------ > > > > function setCrossRefs (cite) > > > > local userID =3D cite.citations[1].id > > local paraID =3D indexUserID[userID] > > > > -- ignore other "cite" elements > > if paraID ~=3D nil then > > > > -- make in-document cross-references > > if FORMAT:match "latex" then > > > > local texInsert =3D refName.."\\hyperlink{"..userID.."}{"..paraID.."}" > > if addPageNr then > > texInsert =3D texInsert.." on page~\\pageref{"..userID.."}" > > end > > return pandoc.RawInline("tex", texInsert) > > > > else > > return pandoc.Link(refName..paraID, "#"..paraID) > > end > > > > end > > end > > > > -------------------- > > -- basic Pandoc loop > > -------------------- > > > > return { > > { Meta =3D addFormatting }, > > { Meta =3D getUserSettings }, > > { Pandoc =3D countPara }, > > { Cite =3D setCrossRefs } > > } > > > > -- > > You received this message because you are subscribed to the Google Grou= ps "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/ms= gid/pandoc-discuss/e2suTdCtcLJ3u0PBmkSX9YRRukwnvuWJPhOFU1iL8lR84w_f8f9j1Urj= pHEW_3oHRO5aC_mDpkazLs5dfMXA1EKkXvf4eZs3_tgIXsFq1uU%3D%40proton.me. > > > -- > 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/msgi= d/pandoc-discuss/Yy6X/FXIPVN1zij3%40localhost. > > -- > 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/msgi= d/pandoc-discuss/9c110d41d7b24b39b98b999c78d6210b%40unibe.ch. --=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/axV6QnqR5SkO9D_rwl31egbgvuBl-BmXlRk7xZoo9RA9vIgCBDP26_hB222b= tu1xx6XACuL_rBVbkf5SMquJfQ25dKwdtM2UrYWVBz0KaJE%3D%40proton.me.