public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: Ioan Muntean <imuntean-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: generate bibliography from citations keys in docx?
Date: Sun, 23 May 2021 20:02:25 -0700 (PDT)	[thread overview]
Message-ID: <bc948bae-0b65-4b2e-8cac-bea115c19134n@googlegroups.com> (raw)
In-Reply-To: <371930ea-0898-4ab1-a3dc-ad0af946fd30-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 8678 bytes --]

John and Andrzej
Thanks for your solution. I managed  to replicate it and it works! John, I 
have exactly the same idea as Andrzej, but in my word document generated by 
Better Bibtex citekeys I have multiple citation in one reference:
[@abi2021measurementpositivemuon; 
@lhcbcollaboration2021testleptonuniversality]
 I would like to do the same as above, but generate a \cite field in Latex 
like:
\cite {abi2021measurementpositivemuon, 
lhcbcollaboration2021testleptonuniversality}. Of course, when there is a 
page reference the lua filter needs to do some extra work. I may need to do 
a loop inside the field and search /skip the ";" sign
Thanks guys for your amazing ideas!
Ioan Muntean

On Friday, March 27, 2020 at 1:34:11 AM UTC-4 Andrzej Wodecki wrote:

> Many thanks, works perfectly :)
>
> You saved me hours of work...
>
> Have a nice day!
>
> Andy
>
>
> W dniu czwartek, 26 marca 2020 17:36:03 UTC+1 użytkownik John MacFarlane 
> napisał:
>
>>
>> Whoops, that was a big oversight!  Try this one: 
>>
>> function Str(el) 
>>   local citekey = el.text:match("[[]@(%w+)[]]") 
>>   if citekey then 
>>     local citation = pandoc.Citation(citekey, 'NormalCitation') 
>>     return pandoc.Cite({pandoc.Str(citekey)}, 
>>                        {citation}) 
>>   end 
>> end 
>>
>>
>>
>> Andrzej Wodecki <andrzej...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: 
>>
>> > Dear John, 
>> > 
>> > many many thanks, You helped me a lot. I *almost* there - and as always 
>> *almost 
>> > *makes a difference... 
>> > 
>> > At the moment, having 
>> > 
>> > *From [@andy2020] we can see that...* 
>> > 
>> > in in.docx, and Your snippet in cite.lua, when I run: 
>> > pandoc in.docx --lua-filter=cite.lua --filter pandoc-citeproc 
>> > --bibliography mylibrary.bib -o out.docx 
>> > 
>> > I get out.docx as: 
>> > 
>> > *(Kaelbling, Littman, and Moore 1996) Kaelbling, Leslie Pack, Michael 
>> L. 
>> > Littman, and Andrew W. Moore. 1996. “Reinforcement Learning: A Survey.” 
>> > Journal of Artificial Intelligence Research 4: 237–85.* 
>> > 
>> > So, the only thing left is citation [@andy2020], but all other texts 
>> are 
>> > gone... 
>> > 
>> > Sorry for bothering You, but *what should I do to just replace 
>> [@andy2020] 
>> > with reference and create Bibliography at the end, but having all other 
>> > texts intact?* 
>> > 
>> > Many thanks for the support, 
>> > 
>> > Andy 
>> > 
>> > PS. I spent some time on pandoc-lua page, but didn't make it... 
>> > 
>> > 
>> > W dniu środa, 25 marca 2020 21:21:51 UTC+1 użytkownik John MacFarlane 
>> > napisał: 
>> >> 
>> >> 
>> >> function Str(el) 
>> >>   local citekey = el.text:match("[[]@(%w+)[]]") 
>> >>   local citation = pandoc.Citation(citekey, 'NormalCitation') 
>> >>   return pandoc.Cite({pandoc.Str(citekey)}, 
>> >>                      {citation}) 
>> >> end 
>> >> 
>> >> Andrzej Wodecki <andrzej...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <javascript:>> writes: 
>> >> 
>> >> > DearJohn, 
>> >> > 
>> >> > many thanks. I've tried, and with: 
>> >> > 
>> >> > pandoc in.docx --filter pandoc-citeproc --bibliography mylibrary.bib 
>> -t 
>> >> > native 
>> >> > 
>> >> > I get 
>> >> > 
>> >> > [Para [Str "From",Space,Str "[@andy2020]",Space,Str ... 
>> >> > 
>> >> > as you suggested. I've looked at: 
>> https://pandoc.org/lua-filters.html 
>> >> > and successfully run the first example "smallcaps.lua". But here I'm 
>> >> stuck: 
>> >> > I don't know how to write the filter for 
>> >> > Str "[@ > Cite "[ 
>> >> > replacement. 
>> >> > 
>> >> > If its not a problem, I would appreciate any tip/help, or just a 
>> >> snippet, 
>> >> > 
>> >> > many thanks in advance, 
>> >> > 
>> >> > Andy 
>> >> > 
>> >> > 
>> >> > W dniu środa, 25 marca 2020 17:36:06 UTC+1 użytkownik John 
>> MacFarlane 
>> >> > napisał: 
>> >> >> 
>> >> >> 
>> >> >> You could use a lua filter. 
>> >> >> 
>> >> >> If you do `pandoc your.docx -t native` you'll see how pandoc 
>> >> >> parses these faux markdown citations. 
>> >> >> 
>> >> >> If they appear as 
>> >> >> 
>> >> >> Str "[@jones]" 
>> >> >> 
>> >> >> then you could use a filter to replace any Str elements 
>> >> >> fitting this pattern with a Cite element.  I can't explain 
>> >> >> the whole thing here -- if you want to pursue this, see 
>> >> >> the lua filter docs on the website. 
>> >> >> 
>> >> >> Andrzej Wodecki <andrzej...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <javascript:>> writes: 
>> >> >> 
>> >> >> > The reason I have citation keys in MS Word is a consequence of my 
>> >> >> original 
>> >> >> > workflow: 
>> >> >> > Scrivener > markdown > pandoc-citeproc > MS Word, BTW described 
>> here: 
>> >> >> > 
>> >> >> 
>> >> 
>> https://medium.com/@andrzej.wodecki/scrivener-for-scientific-writing-setup-af5edf4482b8 
>> >> >> > 
>> >> >> > But at the final stage of my writings I escaped from Scrivener 
>> >> (export 
>> >> >> to 
>> >> >> > MS Word), with only citation keys left in my doc. 
>> >> >> > If only I start from scratch in MS Word that wouldn't be a 
>> problem, 
>> >> >> but... 
>> >> >> > 
>> >> >> > My temporary workaround (very primitive, but works) is: 
>> >> >> > 1. docx > pandoc > markdown 
>> >> >> > 2. markdown: replace all \@ by @ 
>> >> >> > 3. markdown > pandoc-citeproc > docx 
>> >> >> > 
>> >> >> > Anyway, if you have any ideas for anything smarter would be nice 
>> to 
>> >> hear 
>> >> >> :) 
>> >> >> > 
>> >> >> > Yours, 
>> >> >> > 
>> >> >> > Andy 
>> >> >> > 
>> >> >> > 
>> >> >> > W dniu środa, 25 marca 2020 14:11:06 UTC+1 użytkownik Joseph 
>> napisał: 
>> >> >> >> 
>> >> >> >> 
>> >> >> >> On 3/25/20 8:01 AM, Andrzej Wodecki wrote: 
>> >> >> >> > Second trial   
>> >> >> >> > with in.docx: 
>> >> >> >> 
>> >> >> >> Pandoc doesn't expect to find markdown (including pandoc's 
>> citation 
>> >> >> >> syntax) in a Word file. That only works in markdown files (and 
>> >> perhaps 
>> >> >> org 
>> >> >> >> files). So when it sees a citation in word->markdown, it takes 
>> it 
>> >> >> >> literally, and escapes the brackets so it remains so in the 
>> >> markdown. 
>> >> >> >> 
>> >> >> >> Perhaps someone else can recommend a configuration that won't 
>> escape 
>> >> >> >> citation syntax, allowing you to go to markdown, and then from 
>> that 
>> >> >> back to 
>> >> >> >> Word. 
>> >> >> >> 
>> >> >> >> This seems convoluted though. If you're using Zotero, why not 
>> use 
>> >> the 
>> >> >> Word 
>> >> >> >> plugin for that? Or, why not stay in markdown as your source 
>> >> document? 
>> >> >> >> 
>> >> >> >> 
>> >> >> > 
>> >> >> > -- 
>> >> >> > 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-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <javascript:>. 
>> >> >> > To view this discussion on the web visit 
>> >> >> 
>> >> 
>> https://groups.google.com/d/msgid/pandoc-discuss/7e7dfd7e-1bf1-4557-a5f0-e686d48e2438%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-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <javascript:>. 
>> >> > To view this discussion on the web visit 
>> >> 
>> https://groups.google.com/d/msgid/pandoc-discuss/db7c031a-9b53-42e5-b073-f70fa0c16de1%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-...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org 
>>
> > To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/pandoc-discuss/23e7c785-0f67-4b15-92b6-5c05cf2be2f7%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/bc948bae-0b65-4b2e-8cac-bea115c19134n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 13679 bytes --]

      parent reply	other threads:[~2021-05-24  3:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-25 12:01 Andrzej Wodecki
     [not found] ` <4d035407-d692-4ada-ac1a-b2668c8c80bc-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-03-25 13:10   ` Joseph Reagle
     [not found]     ` <30f53079-9e7a-2046-f458-b23f9736ac48-T1oY19WcHSwdnm+yROfE0A@public.gmane.org>
2020-03-25 16:14       ` Andrzej Wodecki
     [not found]         ` <7e7dfd7e-1bf1-4557-a5f0-e686d48e2438-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-03-25 16:35           ` John MacFarlane
     [not found]             ` <m28sjotmsv.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2020-03-25 17:09               ` Andrzej Wodecki
     [not found]                 ` <db7c031a-9b53-42e5-b073-f70fa0c16de1-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-03-25 20:21                   ` John MacFarlane
     [not found]                     ` <m2wo78rxrl.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2020-03-26  6:13                       ` Andrzej Wodecki
     [not found]                         ` <23e7c785-0f67-4b15-92b6-5c05cf2be2f7-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2020-03-26 16:35                           ` John MacFarlane
     [not found]                             ` <m2imirm5uo.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2020-03-27  5:34                               ` Andrzej Wodecki
     [not found]                                 ` <371930ea-0898-4ab1-a3dc-ad0af946fd30-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-05-24  3:02                                   ` Ioan Muntean [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bc948bae-0b65-4b2e-8cac-bea115c19134n@googlegroups.com \
    --to=imuntean-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).