diff options
Diffstat (limited to 'paper/lua-filters/section-refs')
-rw-r--r-- | paper/lua-filters/section-refs/Makefile | 26 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/README.md | 19 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/bibliography.bib | 70 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/expected_default.native | 25 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/expected_no_citeproc.native | 7 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/expected_refs_name.native | 27 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/expected_section_level.native | 31 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/sample.md | 18 | ||||
-rw-r--r-- | paper/lua-filters/section-refs/section-refs.lua | 138 |
9 files changed, 0 insertions, 361 deletions
diff --git a/paper/lua-filters/section-refs/Makefile b/paper/lua-filters/section-refs/Makefile deleted file mode 100644 index dcceb70..0000000 --- a/paper/lua-filters/section-refs/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -OPTIONS_test_default := -t native \ - -M bibliography=bibliography.bib \ - -F pandoc-citeproc \ - --lua-filter=section-refs.lua - -OPTIONS_test_no_citeproc := -t native \ - --lua-filter=section-refs.lua - -OPTIONS_test_refs_name := -t native \ - -M bibliography=bibliography.bib \ - -M reference-section-title="Works Cited" \ - -F pandoc-citeproc \ - --lua-filter=section-refs.lua - -OPTIONS_test_section_level := -t native \ - -M bibliography=bibliography.bib \ - -M reference-section-title="Works Cited" \ - -M section-refs-level=2\ - -F pandoc-citeproc \ - --lua-filter=section-refs.lua - -.PHONY: test -test: test_default test_no_citeproc test_refs_name test_section_level - -test_%: expected_%.native sample.md bibliography.bib - @pandoc sample.md $(OPTIONS_$@) | diff --strip-trailing-cr -u $< - diff --git a/paper/lua-filters/section-refs/README.md b/paper/lua-filters/section-refs/README.md deleted file mode 100644 index 941bc36..0000000 --- a/paper/lua-filters/section-refs/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# section-refs - -This filter allows the user to put bibliographies at the end of each -section, containing only those references in the section. It works on -the output of `pandoc-citeproc`, and so must be run after -`pandoc-citeproc`. For example: - -~~~ -pandoc input.md -F pandoc-citerproc --lua-filter section-refs.lua -~~~ - -It allows curstomization through two metadata fields: -`reference-section-title` and `section-refs-level` (default 1). The -`section-refs-level` variable controls what level the biblography will -occur at the end of. The header of the generated references section will -be one level higher than `section-refs-level` (so if it occurs at the -end of a level-1 section, it will receive a level-2 header, and so on). - -This filter requires pandoc version >= 2.1. diff --git a/paper/lua-filters/section-refs/bibliography.bib b/paper/lua-filters/section-refs/bibliography.bib deleted file mode 100644 index 7ce54d5..0000000 --- a/paper/lua-filters/section-refs/bibliography.bib +++ /dev/null @@ -1,70 +0,0 @@ -@BOOK{ainsworth:sheppard, - title = {Jack Sheppard: A Romance}, - author = {William Harrison Ainsworth}, - address = {London}, - publisher = {George Routledge \& Sons}, - year = {1900}, - shorttitle = {Jack Sheppard}, -} - -@Article{altick:aldine, - author = {Richard D. Altick}, - title = {From Aldine to Everyman: Cheap Reprint Series of the - English Classics 1830--1906}, - journal = {Studies in Bibliography}, - year = 1958, - volume = 11, - pages = {3--24} -} - -@BOOK{cohen:jokes, - title = {Jokes: Philosophical Thoughts on Joking Matters}, - publisher = {University of Chicago Press}, - year = 1999, - author = {Ted Cohen}, - address = {Chicago}, - shorttitle = {Jokes} -} - -@Book{dames:physiology, - author = {Nicholas Dames}, - title = {The Physiology of the Novel: Reading, Neural - Science, and the Form of Victorian Fiction}, - publisher = {Oxford University Press}, - year = 2007, - address = {Oxford}, - shorttitle = {Physiology} -} - -@Book{kant:critique2, - author = {Immanuel Kant}, - editor = {Mary Gregor}, - translator = {Mary Gregor}, - title = {Critique of Practical Reason}, - publisher = {Cambridge University Press}, - year = 2001, - address = {Cambridge, UK}, - shorttitle = {Practical} -} - -@Book{lukacs:european, - author = {Georg Luk{\'a}cs}, - title = {Studies in European Realism: A Sociological Survey - of the Writings of Balzac, Stendhal, Zola, Tolstoy, - Gorki, and Others}, - publisher = {The Merlin Press}, - year = 1989, - translator = {Edith Bone}, - address = {London}, - shorttitle = {Studies} -} - -@Book{trollope:autobiography, - author = {Anthony Trollope}, - editor = {Michael Sadleir and Frederick Page}, - title = {An Autobiography}, - publisher = {Oxford University Press}, - year = 1999, - address = {Oxford}, - origdate = 1883 -} diff --git a/paper/lua-filters/section-refs/expected_default.native b/paper/lua-filters/section-refs/expected_default.native deleted file mode 100644 index b1c6945..0000000 --- a/paper/lua-filters/section-refs/expected_default.native +++ /dev/null @@ -1,25 +0,0 @@ -[Header 1 ("here-is-one-section",[],[]) [Str "Here",Space,Str "is",Space,Str "one",Space,Str "section"] -,Header 2 ("a-subsection",[],[]) [Str "A",Space,Str "subsection"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "ainsworth:sheppard", citationPrefix = [], citationSuffix = [Space,Str "27"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1}] [Str "(Ainsworth",Space,Str "1900,",Space,Str "27)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 2}] [Str "(Dames",Space,Str "2007)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "kant:critique2", citationPrefix = [], citationSuffix = [Space,Str "29"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 3}] [Str "(Kant",Space,Str "2001,",Space,Str "29)"],Str "."] -,Header 2 ("another-subsection.",[],[]) [Str "Another",Space,Str "subsection."] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "altick:aldine", citationPrefix = [], citationSuffix = [Space,Str "20"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 4}] [Str "(Altick",Space,Str "1958,",Space,Str "20)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "repeated",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 5}] [Str "(Dames",Space,Str "2007)"],Str "."] -,Div ("refs-1",["references"],[]) - [Div ("ref-ainsworth:sheppard",[],[]) - [Para [Str "Ainsworth,",Space,Str "William",Space,Str "Harrison.",Space,Str "1900.",Space,Emph [Str "Jack",Space,Str "Sheppard:",Space,Str "A",Space,Str "Romance"],Str ".",Space,Str "London:",Space,Str "George",Space,Str "Routledge",Space,Str "&",Space,Str "Sons."]] - ,Div ("ref-altick:aldine",[],[]) - [Para [Str "Altick,",Space,Str "Richard",Space,Str "D.",Space,Str "1958.",Space,Str "\8220From",Space,Str "Aldine",Space,Str "to",Space,Str "Everyman:",Space,Str "Cheap",Space,Str "Reprint",Space,Str "Series",Space,Str "of",Space,Str "the",Space,Str "English",Space,Str "Classics",Space,Str "1830\8211\&1906.\8221",Space,Emph [Str "Studies",Space,Str "in",Space,Str "Bibliography"],Space,Str "11:",Space,Str "3\8211\&24."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]] - ,Div ("ref-kant:critique2",[],[]) - [Para [Str "Kant,",Space,Str "Immanuel.",Space,Str "2001.",Space,Emph [Str "Critique",Space,Str "of",Space,Str "Practical",Space,Str "Reason"],Str ".",Space,Str "Edited",Space,Str "and",Space,Str "translated",Space,Str "by",Space,Str "Mary",Space,Str "Gregor.",Space,Str "Cambridge,",Space,Str "UK:",Space,Str "Cambridge",Space,Str "University",Space,Str "Press."]]] -,Header 1 ("here-is-another-section",[],[]) [Str "Here",Space,Str "is",Space,Str "another",Space,Str "section"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "lukacs:european", citationPrefix = [], citationSuffix = [Space,Str "125"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 6}] [Str "(Luk",Str "\225cs",Space,Str "1989,",Space,Str "125)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "cohen:jokes", citationPrefix = [], citationSuffix = [Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 7}] [Str "(Cohen",Space,Str "1999,",Space,Str "3)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "trollope:autobiography", citationPrefix = [], citationSuffix = [Space,Str "392"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 8}] [Str "(Trollope",Space,Str "[1883]",Space,Str "1999,",Space,Str "392)"],Str "."] -,Div ("refs-2",["references"],[]) - [Div ("ref-cohen:jokes",[],[]) - [Para [Str "Cohen,",Space,Str "Ted.",Space,Str "1999.",Space,Emph [Str "Jokes:",Space,Str "Philosophical",Space,Str "Thoughts",Space,Str "on",Space,Str "Joking",Space,Str "Matters"],Str ".",Space,Str "Chicago:",Space,Str "University",Space,Str "of",Space,Str "Chicago",Space,Str "Press."]] - ,Div ("ref-lukacs:european",[],[]) - [Para [Str "Luk",Str "\225cs,",Space,Str "Georg.",Space,Str "1989.",Space,Emph [Str "Studies",Space,Str "in",Space,Str "European",Space,Str "Realism:",Space,Str "A",Space,Str "Sociological",Space,Str "Survey",Space,Str "of",Space,Str "the",Space,Str "Writings",Space,Str "of",Space,Str "Balzac,",Space,Str "Stendhal,",Space,Str "Zola,",Space,Str "Tolstoy,",Space,Str "Gorki,",Space,Str "and",Space,Str "Others"],Str ".",Space,Str "Translated",Space,Str "by",Space,Str "Edith",Space,Str "Bone.",Space,Str "London:",Space,Str "The",Space,Str "Merlin",Space,Str "Press."]] - ,Div ("ref-trollope:autobiography",[],[]) - [Para [Str "Trollope,",Space,Str "Anthony.",Space,Str "(1883)",Space,Str "1999.",Space,Emph [Str "An",Space,Str "Autobiography"],Str ".",Space,Str "Edited",Space,Str "by",Space,Str "Michael",Space,Str "Sadleir",Space,Str "and",Space,Str "Frederick",Space,Str "Page.",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]]]] diff --git a/paper/lua-filters/section-refs/expected_no_citeproc.native b/paper/lua-filters/section-refs/expected_no_citeproc.native deleted file mode 100644 index 2219b6e..0000000 --- a/paper/lua-filters/section-refs/expected_no_citeproc.native +++ /dev/null @@ -1,7 +0,0 @@ -[Header 1 ("here-is-one-section",[],[]) [Str "Here",Space,Str "is",Space,Str "one",Space,Str "section"] -,Header 2 ("a-subsection",[],[]) [Str "A",Space,Str "subsection"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "ainsworth:sheppard", citationPrefix = [], citationSuffix = [Space,Str "27"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@ainsworth:sheppard",Space,Str "27]"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@dames:physiology]"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "kant:critique2", citationPrefix = [], citationSuffix = [Space,Str "29"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@kant:critique2",Space,Str "29]"],Str "."] -,Header 2 ("another-subsection.",[],[]) [Str "Another",Space,Str "subsection."] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "altick:aldine", citationPrefix = [], citationSuffix = [Space,Str "20"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@altick:aldine",Space,Str "20]"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "repeated",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@dames:physiology]"],Str "."] -,Header 1 ("here-is-another-section",[],[]) [Str "Here",Space,Str "is",Space,Str "another",Space,Str "section"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "lukacs:european", citationPrefix = [], citationSuffix = [Space,Str "125"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@lukacs:european",Space,Str "125]"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "cohen:jokes", citationPrefix = [], citationSuffix = [Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@cohen:jokes",Space,Str "3]"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "trollope:autobiography", citationPrefix = [], citationSuffix = [Space,Str "392"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@trollope:autobiography",Space,Str "392]"],Str "."]] diff --git a/paper/lua-filters/section-refs/expected_refs_name.native b/paper/lua-filters/section-refs/expected_refs_name.native deleted file mode 100644 index 0d026ed..0000000 --- a/paper/lua-filters/section-refs/expected_refs_name.native +++ /dev/null @@ -1,27 +0,0 @@ -[Header 1 ("here-is-one-section",[],[]) [Str "Here",Space,Str "is",Space,Str "one",Space,Str "section"] -,Header 2 ("a-subsection",[],[]) [Str "A",Space,Str "subsection"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "ainsworth:sheppard", citationPrefix = [], citationSuffix = [Space,Str "27"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1}] [Str "(Ainsworth",Space,Str "1900,",Space,Str "27)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 2}] [Str "(Dames",Space,Str "2007)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "kant:critique2", citationPrefix = [], citationSuffix = [Space,Str "29"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 3}] [Str "(Kant",Space,Str "2001,",Space,Str "29)"],Str "."] -,Header 2 ("another-subsection.",[],[]) [Str "Another",Space,Str "subsection."] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "altick:aldine", citationPrefix = [], citationSuffix = [Space,Str "20"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 4}] [Str "(Altick",Space,Str "1958,",Space,Str "20)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "repeated",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 5}] [Str "(Dames",Space,Str "2007)"],Str "."] -,Div ("refs-1",["references"],[]) - [Header 2 ("bibliography-1",["unnumbered"],[]) [Str "Works",Space,Str "Cited"] - ,Div ("ref-ainsworth:sheppard",[],[]) - [Para [Str "Ainsworth,",Space,Str "William",Space,Str "Harrison.",Space,Str "1900.",Space,Emph [Str "Jack",Space,Str "Sheppard:",Space,Str "A",Space,Str "Romance"],Str ".",Space,Str "London:",Space,Str "George",Space,Str "Routledge",Space,Str "&",Space,Str "Sons."]] - ,Div ("ref-altick:aldine",[],[]) - [Para [Str "Altick,",Space,Str "Richard",Space,Str "D.",Space,Str "1958.",Space,Str "\8220From",Space,Str "Aldine",Space,Str "to",Space,Str "Everyman:",Space,Str "Cheap",Space,Str "Reprint",Space,Str "Series",Space,Str "of",Space,Str "the",Space,Str "English",Space,Str "Classics",Space,Str "1830\8211\&1906.\8221",Space,Emph [Str "Studies",Space,Str "in",Space,Str "Bibliography"],Space,Str "11:",Space,Str "3\8211\&24."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]] - ,Div ("ref-kant:critique2",[],[]) - [Para [Str "Kant,",Space,Str "Immanuel.",Space,Str "2001.",Space,Emph [Str "Critique",Space,Str "of",Space,Str "Practical",Space,Str "Reason"],Str ".",Space,Str "Edited",Space,Str "and",Space,Str "translated",Space,Str "by",Space,Str "Mary",Space,Str "Gregor.",Space,Str "Cambridge,",Space,Str "UK:",Space,Str "Cambridge",Space,Str "University",Space,Str "Press."]]] -,Header 1 ("here-is-another-section",[],[]) [Str "Here",Space,Str "is",Space,Str "another",Space,Str "section"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "lukacs:european", citationPrefix = [], citationSuffix = [Space,Str "125"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 6}] [Str "(Luk",Str "\225cs",Space,Str "1989,",Space,Str "125)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "cohen:jokes", citationPrefix = [], citationSuffix = [Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 7}] [Str "(Cohen",Space,Str "1999,",Space,Str "3)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "trollope:autobiography", citationPrefix = [], citationSuffix = [Space,Str "392"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 8}] [Str "(Trollope",Space,Str "[1883]",Space,Str "1999,",Space,Str "392)"],Str "."] -,Div ("refs-2",["references"],[]) - [Header 2 ("bibliography-2",["unnumbered"],[]) [Str "Works",Space,Str "Cited"] - ,Div ("ref-cohen:jokes",[],[]) - [Para [Str "Cohen,",Space,Str "Ted.",Space,Str "1999.",Space,Emph [Str "Jokes:",Space,Str "Philosophical",Space,Str "Thoughts",Space,Str "on",Space,Str "Joking",Space,Str "Matters"],Str ".",Space,Str "Chicago:",Space,Str "University",Space,Str "of",Space,Str "Chicago",Space,Str "Press."]] - ,Div ("ref-lukacs:european",[],[]) - [Para [Str "Luk",Str "\225cs,",Space,Str "Georg.",Space,Str "1989.",Space,Emph [Str "Studies",Space,Str "in",Space,Str "European",Space,Str "Realism:",Space,Str "A",Space,Str "Sociological",Space,Str "Survey",Space,Str "of",Space,Str "the",Space,Str "Writings",Space,Str "of",Space,Str "Balzac,",Space,Str "Stendhal,",Space,Str "Zola,",Space,Str "Tolstoy,",Space,Str "Gorki,",Space,Str "and",Space,Str "Others"],Str ".",Space,Str "Translated",Space,Str "by",Space,Str "Edith",Space,Str "Bone.",Space,Str "London:",Space,Str "The",Space,Str "Merlin",Space,Str "Press."]] - ,Div ("ref-trollope:autobiography",[],[]) - [Para [Str "Trollope,",Space,Str "Anthony.",Space,Str "(1883)",Space,Str "1999.",Space,Emph [Str "An",Space,Str "Autobiography"],Str ".",Space,Str "Edited",Space,Str "by",Space,Str "Michael",Space,Str "Sadleir",Space,Str "and",Space,Str "Frederick",Space,Str "Page.",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]]]] diff --git a/paper/lua-filters/section-refs/expected_section_level.native b/paper/lua-filters/section-refs/expected_section_level.native deleted file mode 100644 index 1d3c89e..0000000 --- a/paper/lua-filters/section-refs/expected_section_level.native +++ /dev/null @@ -1,31 +0,0 @@ -[Header 1 ("here-is-one-section",[],[]) [Str "Here",Space,Str "is",Space,Str "one",Space,Str "section"] -,Div ("refs-1",["references"],[]) - [Header 3 ("bibliography-1",["unnumbered"],[]) [Str "Works",Space,Str "Cited"]] -,Header 2 ("a-subsection",[],[]) [Str "A",Space,Str "subsection"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "ainsworth:sheppard", citationPrefix = [], citationSuffix = [Space,Str "27"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 1}] [Str "(Ainsworth",Space,Str "1900,",Space,Str "27)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 2}] [Str "(Dames",Space,Str "2007)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "kant:critique2", citationPrefix = [], citationSuffix = [Space,Str "29"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 3}] [Str "(Kant",Space,Str "2001,",Space,Str "29)"],Str "."] -,Div ("refs-2",["references"],[]) - [Header 3 ("bibliography-2",["unnumbered"],[]) [Str "Works",Space,Str "Cited"] - ,Div ("ref-ainsworth:sheppard",[],[]) - [Para [Str "Ainsworth,",Space,Str "William",Space,Str "Harrison.",Space,Str "1900.",Space,Emph [Str "Jack",Space,Str "Sheppard:",Space,Str "A",Space,Str "Romance"],Str ".",Space,Str "London:",Space,Str "George",Space,Str "Routledge",Space,Str "&",Space,Str "Sons."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]] - ,Div ("ref-kant:critique2",[],[]) - [Para [Str "Kant,",Space,Str "Immanuel.",Space,Str "2001.",Space,Emph [Str "Critique",Space,Str "of",Space,Str "Practical",Space,Str "Reason"],Str ".",Space,Str "Edited",Space,Str "and",Space,Str "translated",Space,Str "by",Space,Str "Mary",Space,Str "Gregor.",Space,Str "Cambridge,",Space,Str "UK:",Space,Str "Cambridge",Space,Str "University",Space,Str "Press."]]] -,Header 2 ("another-subsection.",[],[]) [Str "Another",Space,Str "subsection."] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "altick:aldine", citationPrefix = [], citationSuffix = [Space,Str "20"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 4}] [Str "(Altick",Space,Str "1958,",Space,Str "20)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "repeated",SoftBreak,Cite [Citation {citationId = "dames:physiology", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 5}] [Str "(Dames",Space,Str "2007)"],Str "."] -,Div ("refs-3",["references"],[]) - [Header 3 ("bibliography-3",["unnumbered"],[]) [Str "Works",Space,Str "Cited"] - ,Div ("ref-altick:aldine",[],[]) - [Para [Str "Altick,",Space,Str "Richard",Space,Str "D.",Space,Str "1958.",Space,Str "\8220From",Space,Str "Aldine",Space,Str "to",Space,Str "Everyman:",Space,Str "Cheap",Space,Str "Reprint",Space,Str "Series",Space,Str "of",Space,Str "the",Space,Str "English",Space,Str "Classics",Space,Str "1830\8211\&1906.\8221",Space,Emph [Str "Studies",Space,Str "in",Space,Str "Bibliography"],Space,Str "11:",Space,Str "3\8211\&24."]] - ,Div ("ref-dames:physiology",[],[]) - [Para [Str "Dames,",Space,Str "Nicholas.",Space,Str "2007.",Space,Emph [Str "The",Space,Str "Physiology",Space,Str "of",Space,Str "the",Space,Str "Novel:",Space,Str "Reading,",Space,Str "Neural",Space,Str "Science,",Space,Str "and",Space,Str "the",Space,Str "Form",Space,Str "of",Space,Str "Victorian",Space,Str "Fiction"],Str ".",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]]] -,Header 1 ("here-is-another-section",[],[]) [Str "Here",Space,Str "is",Space,Str "another",Space,Str "section"] -,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Cite [Citation {citationId = "lukacs:european", citationPrefix = [], citationSuffix = [Space,Str "125"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 6}] [Str "(Luk",Str "\225cs",Space,Str "1989,",Space,Str "125)"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Str "else",SoftBreak,Cite [Citation {citationId = "cohen:jokes", citationPrefix = [], citationSuffix = [Space,Str "3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 7}] [Str "(Cohen",Space,Str "1999,",Space,Str "3)"],Str ".",Space,Str "Finally,",Space,Str "we",Space,Str "want",Space,Str "to",Space,Str "make",Space,Str "sure",Space,Str "that",Space,Str "we",Space,Str "have",Space,Str "one",Space,Str "last",SoftBreak,Str "citation",Space,Str "here",Space,Cite [Citation {citationId = "trollope:autobiography", citationPrefix = [], citationSuffix = [Space,Str "392"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 8}] [Str "(Trollope",Space,Str "[1883]",Space,Str "1999,",Space,Str "392)"],Str "."] -,Div ("refs-4",["references"],[]) - [Header 3 ("bibliography-4",["unnumbered"],[]) [Str "Works",Space,Str "Cited"] - ,Div ("ref-cohen:jokes",[],[]) - [Para [Str "Cohen,",Space,Str "Ted.",Space,Str "1999.",Space,Emph [Str "Jokes:",Space,Str "Philosophical",Space,Str "Thoughts",Space,Str "on",Space,Str "Joking",Space,Str "Matters"],Str ".",Space,Str "Chicago:",Space,Str "University",Space,Str "of",Space,Str "Chicago",Space,Str "Press."]] - ,Div ("ref-lukacs:european",[],[]) - [Para [Str "Luk",Str "\225cs,",Space,Str "Georg.",Space,Str "1989.",Space,Emph [Str "Studies",Space,Str "in",Space,Str "European",Space,Str "Realism:",Space,Str "A",Space,Str "Sociological",Space,Str "Survey",Space,Str "of",Space,Str "the",Space,Str "Writings",Space,Str "of",Space,Str "Balzac,",Space,Str "Stendhal,",Space,Str "Zola,",Space,Str "Tolstoy,",Space,Str "Gorki,",Space,Str "and",Space,Str "Others"],Str ".",Space,Str "Translated",Space,Str "by",Space,Str "Edith",Space,Str "Bone.",Space,Str "London:",Space,Str "The",Space,Str "Merlin",Space,Str "Press."]] - ,Div ("ref-trollope:autobiography",[],[]) - [Para [Str "Trollope,",Space,Str "Anthony.",Space,Str "(1883)",Space,Str "1999.",Space,Emph [Str "An",Space,Str "Autobiography"],Str ".",Space,Str "Edited",Space,Str "by",Space,Str "Michael",Space,Str "Sadleir",Space,Str "and",Space,Str "Frederick",Space,Str "Page.",Space,Str "Oxford:",Space,Str "Oxford",Space,Str "University",Space,Str "Press."]]]] diff --git a/paper/lua-filters/section-refs/sample.md b/paper/lua-filters/section-refs/sample.md deleted file mode 100644 index 00ddb86..0000000 --- a/paper/lua-filters/section-refs/sample.md +++ /dev/null @@ -1,18 +0,0 @@ -# Here is one section - -## A subsection - -Here is something [@ainsworth:sheppard 27]. And here is something else -[@dames:physiology]. Finally, we want to make sure that we have one last -citation here [@kant:critique2 29]. - -## Another subsection. - -Here is something [@altick:aldine 20]. And here is something repeated -[@dames:physiology]. - -# Here is another section - -Here is something [@lukacs:european 125]. And here is something else -[@cohen:jokes 3]. Finally, we want to make sure that we have one last -citation here [@trollope:autobiography 392]. diff --git a/paper/lua-filters/section-refs/section-refs.lua b/paper/lua-filters/section-refs/section-refs.lua deleted file mode 100644 index 68e61d0..0000000 --- a/paper/lua-filters/section-refs/section-refs.lua +++ /dev/null @@ -1,138 +0,0 @@ -function is_ref_div (blk) - return (blk.t == "Div" and blk.identifier == "refs") -end - -function is_ref_header (blk) - return (blk.t == "Header" and blk.identifier == "bibliography") -end - -function get_all_refs (blks) - for _, b in pairs(blks) do - if is_ref_div(b) then - return b.content - end - end -end - -function remove_all_refs (blks) - local out = {} - for _, b in pairs(blks) do - if not (is_ref_div(b) or is_ref_header(b)) then - table.insert(out, b) - end - end - return out -end - --- We return a {number, ref} pair so we can sort in the individual --- bibliographies. -function citation_to_numbered_ref (citation, all_refs) - local div_id = "ref-" .. citation.id - for i, d in ipairs(all_refs) do - if d.t == "Div" and d.identifier == div_id then - return {i, d} - end - end -end - - -function get_partial_refs (blocks, all_refs) - local cites = {} - local citegetter = { - Cite = function (el) - for _, c in pairs(el.citations) do - table.insert(cites, c) - end - end - } - - for _, b in pairs(blocks) do - pandoc.walk_block(b, citegetter) - end - - - -- first we make a list of the {number, ref} pairs so we can sort - -- them. Then after sorting, we're going to make a new list with - -- only the second element. - local numbered_refs = {} - for _, c in pairs(cites) do - local r = citation_to_numbered_ref(c, all_refs) - if r then - table.insert(numbered_refs, r) - end - end - - table.sort(numbered_refs, function(x, y) return x[1] < y[1] end) - - local refs = {} - for _, nr in pairs(numbered_refs) do - table.insert(refs, nr[2]) - end - - return refs -end - -function add_section_refs (blks, lvl, refs_title, all_refs) - local output_blks = {} - local section = {} - local refs_num = 0 - - local go = function () - refs_num = refs_num + 1 - local section_refs = get_partial_refs(section, all_refs) - if refs_title then - local hdr = pandoc.Header(lvl + 1, - refs_title, - pandoc.Attr("bibliography-" .. tostring(refs_num), - {"unnumbered"})) - table.insert(section_refs, 1, hdr) - end - local refs_div = pandoc.Div(section_refs, - pandoc.Attr("refs-" .. tostring(refs_num), - {"references"})) - table.insert(section, refs_div) - for _, x in pairs(section) do - table.insert(output_blks, x) - end - end - - -- to avoid putting a bib after an intro paragraph. - local seen_hdr_before = false - for _, b in pairs(blks) do - if b.t == "Header" and b.level <= lvl then - if seen_hdr_before then - go() - section = {b} - else - seen_hdr_before = true - table.insert(section, b) - end - else - table.insert(section, b) - end - end - go() - return output_blks -end - -function Pandoc(doc) - if PANDOC_VERSION == nil then -- if pandoc_version < 2.1 - io.stderr:write("WARNING: pandoc >= 2.1 required for section-refs filter\n") - return doc - end - local refs_title = doc.meta["reference-section-title"] - -- if we get it from a command-line field, read it in as md. - if type(refs_title) == "string" then - refs_title = pandoc.read(refs_title, "markdown").blocks[1].content - end - local lvl = tonumber(doc.meta["section-refs-level"]) or 1 - local all_refs = get_all_refs(doc.blocks) - -- we only want to do something if there are refs to work - -- with. This way, if this is run without pandoc-citeproc, it will - -- just return the same document. - if all_refs then - local unreffed = remove_all_refs(doc.blocks) - local output = add_section_refs(unreffed, lvl, refs_title, all_refs) - return pandoc.Pandoc(output, doc.meta) - end -end |