summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2010-11-12 00:38:31 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2010-11-12 00:38:31 -0800
commitc44ff4c555925e083a5debf3fdf6e2feb459be05 (patch)
treebeaec1a1dfaca56f1eefa4c2bdd4ab0c2702a51a
parent79bab2d210ffadaf4f3b6a2a7ebc33ea546dd5e0 (diff)
Added material for citation tests.
Currently they fail with a multibyte error from citeproc-hs when it tries to read locale.
-rw-r--r--tests/RunTests.hs2
-rw-r--r--tests/biblio.bib26
-rw-r--r--tests/chicago-author-date.csl369
-rw-r--r--tests/ieee.csl129
-rw-r--r--tests/markdown-citations.plain36
-rw-r--r--tests/markdown-citations.txt28
-rw-r--r--tests/mhra.csl390
7 files changed, 980 insertions, 0 deletions
diff --git a/tests/RunTests.hs b/tests/RunTests.hs
index 1715400fd..f58221846 100644
--- a/tests/RunTests.hs
+++ b/tests/RunTests.hs
@@ -106,6 +106,7 @@ main = do
"latex-reader.latex" "latex-reader.native"
r11 <- runTest "native reader" ["-r", "native", "-w", "native", "-s"]
"testsuite.native" "testsuite.native"
+ r14 <- runTest "markdown reader (citations)" ["-r", "markdown", "-w", "plain", "--biblio", "biblio.bib", "--csl", "chicago-author-date.csl"] "markdown-citations.txt" "markdown-citations.plain"
r12s <- if runLhsTests
then mapM runLhsWriterTest lhsWriterFormats
else putStrLn "Skipping lhs writer tests because they presuppose highlighting support" >> return []
@@ -119,6 +120,7 @@ main = do
, r9 -- html
, r10 -- latex
, r11 -- native
+ , r14 -- citations
] ++ r12s ++ r13s
if all id results
then do
diff --git a/tests/biblio.bib b/tests/biblio.bib
new file mode 100644
index 000000000..d395eb5b8
--- /dev/null
+++ b/tests/biblio.bib
@@ -0,0 +1,26 @@
+@Book{item1,
+author="John Doe",
+title="First Book",
+year="2005",
+address="Cambridge",
+publisher="Cambridge University Press"
+}
+
+@Article{item2,
+author="John Doe",
+title="Article",
+year="2006",
+journal="Journal of Generic Studies",
+volume="6",
+pages="33-34"
+}
+
+@InCollection{item3,
+author="John Doe and Jenny Roe",
+title="Why Water Is Wet",
+booktitle="Third Book",
+editor="Sam Smith",
+publisher="Oxford University PresS",
+address="Oxford",
+year="2007"
+}
diff --git a/tests/chicago-author-date.csl b/tests/chicago-author-date.csl
new file mode 100644
index 000000000..f16f82305
--- /dev/null
+++ b/tests/chicago-author-date.csl
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">
+ <info>
+ <title>Chicago Manual of Style (Author-Date format)</title>
+ <id>http://www.zotero.org/styles/chicago-author-date</id>
+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>
+ <author>
+ <name>Julian Onions</name>
+ <email>julian.onions@gmail.com</email>
+ </author>
+ <category citation-format="author-date"/>
+ <category field="generic-base"/>
+ <updated>2009-12-04T20:22:16+00:00</updated>
+ <summary>The author-date variant of the Chicago style</summary>
+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
+ </info>
+ <macro name="secondary-contributors">
+ <choose>
+ <if match="none" type="chapter">
+ <group delimiter=". ">
+ <choose>
+ <if variable="author">
+ <names variable="editor">
+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ <choose>
+ <if match="any" variable="author editor">
+ <names variable="translator">
+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="container-contributors">
+ <choose>
+ <if type="chapter">
+ <group delimiter=", " prefix=",">
+ <choose>
+ <if variable="author">
+ <names variable="editor">
+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ <choose>
+ <if match="any" variable="author editor">
+ <names variable="translator">
+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </if>
+ </choose>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="anon">
+ <choose>
+ <if match="none" variable="author editor translator">
+ <text form="short" term="anonymous" text-case="capitalize-first" />
+ </if>
+ </choose>
+ </macro>
+ <macro name="editor">
+ <names variable="editor">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="short" prefix=", " suffix="." />
+ </names>
+ </macro>
+ <macro name="translator">
+ <names variable="translator">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="verb-short" prefix=", " suffix="." />
+ </names>
+ </macro>
+ <macro name="recipient">
+ <choose>
+ <if type="personal_communication">
+ <choose>
+ <if variable="genre">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ <else>
+ <text term="letter" text-case="capitalize-first" />
+ </else>
+ </choose>
+ </if>
+ </choose>
+ <names delimiter=", " variable="recipient">
+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />
+ <name and="text" delimiter=", " />
+ </names>
+ </macro>
+ <macro name="contributors">
+ <names variable="author">
+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />
+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />
+ <substitute>
+ <text macro="editor" />
+ <text macro="translator" />
+ </substitute>
+ </names>
+ <text macro="anon" />
+ <text macro="recipient" />
+ </macro>
+ <macro name="contributors-short">
+ <names variable="author">
+ <name and="text" delimiter=", " form="short" />
+ <substitute>
+ <names variable="editor" />
+ <names variable="translator" />
+ </substitute>
+ </names>
+ <text macro="anon" />
+ </macro>
+ <macro name="interviewer">
+ <names delimiter=", " variable="interviewer">
+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />
+ <name and="text" delimiter=", " />
+ </names>
+ </macro>
+ <macro name="archive">
+ <group delimiter=". ">
+ <text text-case="capitalize-first" variable="archive_location" />
+ <text variable="archive" />
+ <text variable="archive-place" />
+ </group>
+ </macro>
+ <macro name="access">
+ <group delimiter=". ">
+ <choose>
+ <if match="any" type="graphic report">
+ <text macro="archive" />
+ </if>
+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">
+ <text macro="archive" />
+ </else-if>
+ </choose>
+ <text prefix="doi:" variable="DOI" />
+ <text variable="URL" />
+ </group>
+ </macro>
+ <macro name="title">
+ <choose>
+ <if match="none" variable="title">
+ <choose>
+ <if match="none" type="personal_communication">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ </choose>
+ </if>
+ <else-if type="book">
+ <text font-style="italic" variable="title" />
+ </else-if>
+ <else>
+ <text variable="title" />
+ </else>
+ </choose>
+ </macro>
+ <macro name="edition">
+ <choose>
+ <if match="any" type="book chapter">
+ <choose>
+ <if is-numeric="edition">
+ <group delimiter=" ">
+ <number form="ordinal" variable="edition" />
+ <text form="short" suffix="." term="edition" />
+ </group>
+ </if>
+ <else>
+ <text suffix="." variable="edition" />
+ </else>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="locators">
+ <choose>
+ <if type="article-journal">
+ <text prefix=" " variable="volume" />
+ <text prefix=", no. " variable="issue" />
+ </if>
+ <else-if type="book">
+ <group delimiter=". " prefix=". ">
+ <group>
+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />
+ <number form="numeric" variable="volume" />
+ </group>
+ <group>
+ <number form="numeric" variable="number-of-volumes" />
+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="locators-chapter">
+ <choose>
+ <if type="chapter">
+ <group prefix=", ">
+ <text suffix=":" variable="volume" />
+ <text variable="page" />
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="locators-article">
+ <choose>
+ <if type="article-newspaper">
+ <group delimiter=", " prefix=", ">
+ <group>
+ <text suffix=" " variable="edition" />
+ <text prefix=" " term="edition" />
+ </group>
+ <group>
+ <text form="short" suffix=". " term="section" />
+ <text variable="section" />
+ </group>
+ </group>
+ </if>
+ <else-if type="article-journal">
+ <text prefix=": " variable="page" />
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="point-locators">
+ <group>
+ <choose>
+ <if locator="page" match="none">
+ <label form="short" suffix=" " variable="locator" />
+ </if>
+ </choose>
+ <text variable="locator" />
+ </group>
+ </macro>
+ <macro name="container-prefix">
+ <text term="in" text-case="capitalize-first" />
+ </macro>
+ <macro name="container-title">
+ <choose>
+ <if type="chapter">
+ <text macro="container-prefix" suffix=" " />
+ </if>
+ </choose>
+ <text font-style="italic" variable="container-title" />
+ </macro>
+ <macro name="publisher">
+ <group delimiter=": ">
+ <text variable="publisher-place" />
+ <text variable="publisher" />
+ </group>
+ </macro>
+ <macro name="date">
+ <date variable="issued">
+ <date-part name="year" />
+ </date>
+ </macro>
+ <macro name="day-month">
+ <date variable="issued">
+ <date-part name="month" />
+ <date-part name="day" prefix=" " />
+ </date>
+ </macro>
+ <macro name="collection-title">
+ <text variable="collection-title" />
+ <text prefix=" " variable="collection-number" />
+ </macro>
+ <macro name="event">
+ <group>
+ <text suffix=" " term="presented at" />
+ <text variable="event" />
+ </group>
+ </macro>
+ <macro name="description">
+ <group delimiter=". ">
+ <text macro="interviewer" />
+ <text text-case="capitalize-first" variable="medium" />
+ </group>
+ <choose>
+ <if match="none" variable="title"> </if>
+ <else-if type="thesis"> </else-if>
+ <else>
+ <text prefix=". " text-case="capitalize-first" variable="genre" />
+ </else>
+ </choose>
+ </macro>
+ <macro name="issue">
+ <choose>
+ <if type="article-journal">
+ <text macro="day-month" prefix=" (" suffix=")" />
+ </if>
+ <else-if type="speech">
+ <group delimiter=", " prefix=" ">
+ <text macro="event" />
+ <text macro="day-month" />
+ <text variable="event-place" />
+ </group>
+ </else-if>
+ <else-if match="any" type="article-newspaper article-magazine">
+ <text macro="day-month" prefix=", " />
+ </else-if>
+ <else>
+ <group delimiter=", " prefix=". ">
+ <choose>
+ <if type="thesis">
+ <text text-case="capitalize-first" variable="genre" />
+ </if>
+ </choose>
+ <text macro="publisher" />
+ <text macro="day-month" />
+ </group>
+ </else>
+ </choose>
+ </macro>
+ <citation
+ disambiguate-add-givenname="true"
+ disambiguate-add-names="true"
+ disambiguate-add-year-suffix="true"
+ et-al-min="4"
+ et-al-subsequent-min="4"
+ et-al-subsequent-use-first="1"
+ et-al-use-first="1">
+ <layout delimiter="; " prefix="(" suffix=")">
+ <group delimiter=", ">
+ <group delimiter=" ">
+ <text macro="contributors-short" />
+ <text macro="date" />
+ </group>
+ <text macro="point-locators" />
+ </group>
+ </layout>
+ </citation>
+ <bibliography
+ entry-spacing="0"
+ et-al-min="11"
+ et-al-use-first="7"
+ hanging-indent="true"
+ subsequent-author-substitute="---">
+ <sort>
+ <key macro="contributors" />
+ <key variable="issued" />
+ <key variable="title" />
+ </sort>
+ <layout suffix=".">
+ <text macro="contributors" suffix=". " />
+ <text macro="date" suffix=". " />
+ <text macro="title" />
+ <text macro="description" />
+ <text macro="secondary-contributors" prefix=". " />
+ <text macro="container-title" prefix=". " />
+ <text macro="container-contributors" />
+ <text macro="locators-chapter" />
+ <text macro="edition" prefix=". " />
+ <text macro="locators" />
+ <text macro="collection-title" prefix=". " />
+ <text macro="issue" />
+ <text macro="locators-article" />
+ <text macro="access" prefix=". " />
+ </layout>
+ </bibliography>
+</style>
diff --git a/tests/ieee.csl b/tests/ieee.csl
new file mode 100644
index 000000000..2e0af1795
--- /dev/null
+++ b/tests/ieee.csl
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="numeric" version="1.0">
+ <info>
+ <title>IEEE</title>
+ <id>http://www.zotero.org/styles/ieee</id>
+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>
+ <author>
+ <name>Michael Berkowitz</name>
+ <email>mberkowi@gmu.edu</email>
+ </author>
+ <contributor>
+ <name>Julian Onions</name>
+ <email>julian.onions@gmail.com</email>
+ </contributor>
+ <contributor>
+ <name>Rintze Zelle</name>
+ <uri>http://forums.zotero.org/account/831/</uri>
+ </contributor>
+ <category field="engineering"/>
+ <category field="generic-base"/>
+ <category citation-format="numeric"/>
+ <updated>2010-02-06T06:35:40+00:00</updated>
+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>
+ </info>
+ <macro name="author">
+ <names variable="author">
+ <name initialize-with="." delimiter=", " and="text"/>
+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ </substitute>
+ </names>
+ </macro>
+ <macro name="editor">
+ <names variable="editor">
+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>
+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="title">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <text variable="title" font-style="italic"/>
+ </if>
+ <else>
+ <text variable="title" quotes="true"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="publisher">
+ <text variable="publisher-place" suffix=": " prefix=" "/>
+ <text variable="publisher" suffix=", "/>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </macro>
+ <macro name="access">
+ <text variable="URL"/>
+ </macro>
+ <macro name="page">
+ <group>
+ <label variable="page" form="short" suffix=". " strip-periods="true"/>
+ <text variable="page"/>
+ </group>
+ </macro>
+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">
+ <sort>
+ <key variable="citation-number"/>
+ </sort>
+ <layout delimiter=",">
+ <text variable="citation-number" prefix="[" suffix="]"/>
+ </layout>
+ </citation>
+ <bibliography entry-spacing="0" second-field-align="flush">
+ <layout suffix=".">
+ <text variable="citation-number" prefix="[" suffix="]"/>
+ <text macro="author" prefix=" " suffix=", "/>
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text macro="publisher"/>
+ </group>
+ </if>
+ <else-if type="chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="container-title" font-style="italic"/>
+ <text macro="editor"/>
+ <text macro="publisher"/>
+ <text macro="page"/>
+ </group>
+ </else-if>
+ <else-if type="patent">
+ <text macro="title" suffix=", "/>
+ <text variable="number" prefix="U.S. Patent "/>
+ <date variable="issued" prefix=", ">
+ <date-part name="month" suffix=" "/>
+ <date-part name="day" suffix=", "/>
+ <date-part name="year"/>
+ </date>
+ </else-if>
+ <else-if type="thesis">
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="genre"/>
+ <text variable="publisher"/>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </group>
+ </else-if>
+ <else>
+ <group delimiter=", ">
+ <text macro="title"/>
+ <text variable="container-title" font-style="italic"/>
+ <text variable="volume" prefix=" vol. "/>
+ <date variable="issued">
+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>
+ <date-part name="year"/>
+ </date>
+ <text macro="page"/>
+ </group>
+ </else>
+ </choose>
+ </layout>
+ </bibliography>
+</style> \ No newline at end of file
diff --git a/tests/markdown-citations.plain b/tests/markdown-citations.plain
new file mode 100644
index 000000000..8521e8c0b
--- /dev/null
+++ b/tests/markdown-citations.plain
@@ -0,0 +1,36 @@
+Pandoc with citeproc-hs
+=======================
+
+[@nonexistent]
+
+@nonexistent
+
+Doe (2005) says blah. Doe (2005, 30) says blah. Doe (2005; 2006,
+30; see also Doe and Roe 2007) says blah.
+
+In a note.[^1] A citation group
+(see Doe 2005, 34-35; also Doe and Roe 2007, chap. 3). Another one
+(see Doe 2005, 34-35). And another one in a note.[^2]
+
+Now some modifiers.[^3]
+
+References
+==========
+
+Doe, John. 2005. First Book. Cambridge: Cambridge University Press.
+
+---. 2006. Article. Journal of Generic Studies 6: 33-34.
+
+Doe, John, and Jenny Roe. 2007. Why Water Is Wet. Sam Smith Ed.
+Third Book. Oxford: Oxford University Press.
+
+[^1]:
+ A citation without locators [Doe and Roe (2007)].
+
+[^2]:
+ Some citations (see Doe 2006, chap. 3; Doe and Roe 2007; Doe
+ 2005).
+
+[^3]:
+ Like a citation without author: (2005), and now Doe with a
+ locator (2006, 44).
diff --git a/tests/markdown-citations.txt b/tests/markdown-citations.txt
new file mode 100644
index 000000000..59206f0a4
--- /dev/null
+++ b/tests/markdown-citations.txt
@@ -0,0 +1,28 @@
+# Pandoc with citeproc-hs
+
+[@nonexistent]
+
+@nonexistent
+
+@item1 says blah.
+@item1 [p. 30] says blah.
+@item1 [-@item2, p. 30; see also @item3] says blah.
+
+In a note.[^1] A citation group [see
+@item1, p. 34-35; also @item3, chap. 3]. Another one [see
+@item1, p. 34-35]. And another one in a note.[^2]
+
+Now some modifiers.[^3]
+
+[^1]:
+ A citation without locators [@item3].
+
+[^2]:
+ Some citations [see @item2, chap. 3; @item3; @item1].
+
+[^3]:
+ Like a citation without author: [-@item1], and now Doe with a
+ locator [-@item2, p. 44].
+
+# References
+
diff --git a/tests/mhra.csl b/tests/mhra.csl
new file mode 100644
index 000000000..4749cdcd7
--- /dev/null
+++ b/tests/mhra.csl
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">
+ <info>
+ <title>Modern Humanities Research Association (Note with Bibliography)</title>
+ <id>http://www.zotero.org/styles/mhra</id>
+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>
+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>
+ <author>
+ <name>Rintze Zelle</name>
+ <uri>http://forums.zotero.org/account/831/</uri>
+ </author>
+ <contributor>
+ <name>Sebastian Karcher</name>
+ </contributor>
+ <summary>MHRA format with full notes and bibliography</summary>
+ <category field="generic-base"/>
+ <category citation-format="note"/>
+ <updated>2009-12-15T12:42:52+00:00</updated>
+ </info>
+ <locale xml:lang="en">
+ <terms>
+ <term name="et-al">and others</term>
+ <term name="editor" form="verb-short">ed. by</term>
+ <term name="edition" form="short">edn</term>
+ <term name="translator" form="verb-short">trans. by</term>
+ </terms>
+ </locale>
+ <macro name="author">
+ <names variable="author">
+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ <text macro="title-note"/>
+ </substitute>
+ </names>
+ </macro>
+ <macro name="contributors-note">
+ <names variable="author">
+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ <text macro="recipient-note"/>
+ </macro>
+ <macro name="title-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song" match="any">
+ <text variable="title" font-style="italic"/>
+ </if>
+ <else>
+ <text variable="title" prefix="‘" suffix="’"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="editor-translator">
+ <group delimiter=", ">
+ <names variable="editor" delimiter=", ">
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ <choose>
+ <if variable="author editor" match="any">
+ <names variable="translator" delimiter=", ">
+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>
+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>
+ </names>
+ </if>
+ </choose>
+ </group>
+ </macro>
+ <macro name="collection-title">
+ <text variable="collection-title"/>
+ <text variable="collection-number" prefix=", "/>
+ </macro>
+ <macro name="locators-note">
+ <choose>
+ <if type="article-journal">
+ <text variable="volume"/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="edition-note"/>
+ <group>
+ <number variable="number-of-volumes" form="numeric"/>
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="volume">
+ <choose>
+ <if type="article-journal">
+ <text variable="volume"/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <group delimiter=", ">
+ <text macro="edition-note"/>
+ <group>
+ <number variable="number-of-volumes" form="numeric"/>
+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>
+ </group>
+ </group>
+ </else-if>
+ </choose>
+ </macro>
+ <macro name="issue-note">
+ <choose>
+ <if type="article-journal">
+ <choose>
+ <if variable="volume">
+ <text macro="issued" prefix=" (" suffix=")"/>
+ </if>
+ <else>
+ <text macro="issued" prefix=", "/>
+ </else>
+ </choose>
+ </if>
+ <else-if variable="publisher-place publisher" match="any">
+ <group prefix=" (" suffix=")" delimiter=", ">
+ <group delimiter=" ">
+ <choose>
+ <if variable="title" match="none"/>
+ <else-if type="thesis speech" match="any">
+ <text variable="genre" prefix="unpublished "/>
+ </else-if>
+ </choose>
+ <text macro="event"/>
+ </group>
+ <text macro="publisher"/>
+ <text macro="issued"/>
+ </group>
+ </else-if>
+ <else>
+ <text macro="issued" prefix=", "/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="locators-specific-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <choose>
+ <if is-numeric="volume">
+ <number variable="volume" form="roman" font-variant="small-caps"/>
+ </if>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="container-title-note">
+ <choose>
+ <if type="chapter paper-conference" match="any">
+ <text term="in" text-case="lowercase" suffix=" "/>
+ </if>
+ </choose>
+ <text variable="container-title" font-style="italic"/>
+ </macro>
+ <macro name="edition-note">
+ <choose>
+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">
+ <choose>
+ <if is-numeric="edition">
+ <group delimiter=" ">
+ <number variable="edition" form="ordinal"/>
+ <text term="edition" form="short" strip-periods="true"/>
+ </group>
+ </if>
+ <else>
+ <text variable="edition"/>
+ </else>
+ </choose>
+ </if>
+ </choose>
+ </macro>
+ <macro name="editor-note">
+ <names variable="editor">
+ <name and="text" sort-separator=", " delimiter=", "/>
+ <label form="short" prefix=", " suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="translator-note">
+ <names variable="translator">
+ <name and="text" sort-separator=", " delimiter=", "/>
+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>
+ </names>
+ </macro>
+ <macro name="recipient-note">
+ <names variable="recipient" delimiter=", ">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="recipient-short">
+ <names variable="recipient">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name form="short" and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="contributors-short">
+ <names variable="author">
+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>
+ <substitute>
+ <names variable="editor"/>
+ <names variable="translator"/>
+ </substitute>
+ </names>
+ <text macro="recipient-short"/>
+ </macro>
+ <macro name="interviewer-note">
+ <names variable="interviewer" delimiter=", ">
+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>
+ <name and="text" delimiter=", "/>
+ </names>
+ </macro>
+ <macro name="locators-newspaper">
+ <choose>
+ <if type="article-newspaper">
+ <group delimiter=", ">
+ <group>
+ <text variable="edition" suffix=" "/>
+ <text term="edition" prefix=" "/>
+ </group>
+ <group>
+ <text term="section" suffix=" "/>
+ <text variable="section"/>
+ </group>
+ </group>
+ </if>
+ </choose>
+ </macro>
+ <macro name="event">
+ <group>
+ <text term="presented at" suffix=" "/>
+ <text variable="event"/>
+ </group>
+ </macro>
+ <macro name="publisher">
+ <group delimiter=": ">
+ <text variable="publisher-place"/>
+ <text variable="publisher"/>
+ </group>
+ </macro>
+ <macro name="issued">
+ <choose>
+ <if type="graphic report article-newspaper" match="any">
+ <date variable="issued">
+ <date-part name="day" suffix=" "/>
+ <date-part name="month" suffix=" "/>
+ <date-part name="year"/>
+ </date>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </else-if>
+ <else>
+ <date variable="issued">
+ <date-part name="year"/>
+ </date>
+ </else>
+ </choose>
+ </macro>
+ <macro name="pages">
+ <choose>
+ <if type="article-journal">
+ <text variable="page" prefix=", "/>
+ </if>
+ <else>
+ <choose>
+ <if variable="volume">
+ <text variable="page" prefix=", "/>
+ </if>
+ <else>
+ <label variable="page" form="short" prefix=", " suffix=" "/>
+ <text variable="page"/>
+ </else>
+ </choose>
+ </else>
+ </choose>
+ </macro>
+ <macro name="point-locators">
+ <text macro="pages"/>
+ <choose>
+ <if variable="page">
+ <group prefix=" (" suffix=")">
+ <label variable="locator" form="short" suffix=" "/>
+ <text variable="locator"/>
+ </group>
+ </if>
+ <else>
+ <label variable="locator" form="short" prefix=", " suffix=" "/>
+ <text variable="locator"/>
+ </else>
+ </choose>
+ </macro>
+ <macro name="archive-note">
+ <group delimiter=", ">
+ <text variable="archive_location"/>
+ <text variable="archive"/>
+ <text variable="archive-place"/>
+ </group>
+ </macro>
+ <macro name="access-note">
+ <group delimiter=", ">
+ <choose>
+ <if type="graphic report" match="any">
+ <text macro="archive-note" prefix=", "/>
+ </if>
+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">
+ <text macro="archive-note" prefix=", "/>
+ </else-if>
+ </choose>
+ </group>
+ <choose>
+ <if variable="DOI">
+ <text variable="DOI" prefix=" &lt;doi:" suffix="&gt;"/>
+ </if>
+ <else>
+ <text variable="URL" prefix=" &lt;" suffix="&gt;"/>
+ <choose>
+ <if variable="accessed">
+ <group prefix=" [" suffix="]">
+ <text term="accessed" text-case="lowercase"/>
+ <date variable="accessed">
+ <date-part name="day" prefix=" "/>
+ <date-part name="month" prefix=" "/>
+ <date-part name="year" prefix=" "/>
+ </date>
+ </group>
+ </if>
+ </choose>
+ </else>
+ </choose>
+ </macro>
+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite">
+ <layout prefix="" suffix="." delimiter="; ">
+ <choose>
+ <if position="subsequent">
+ <group delimiter=", ">
+ <text macro="contributors-short"/>
+ <choose>
+ <if disambiguate="true">
+ <text variable="title" form="short"/>
+ </if>
+ </choose>
+ </group>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="point-locators"/>
+ </if>
+ <else>
+ <group delimiter=", ">
+ <text macro="contributors-note"/>
+ <text macro="title-note"/>
+ <text macro="container-title-note"/>
+ <text macro="editor-translator"/>
+ <text macro="collection-title"/>
+ <text macro="locators-note"/>
+ </group>
+ <text macro="issue-note"/>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="locators-newspaper" prefix=", "/>
+ <text macro="point-locators"/>
+ <text macro="access-note"/>
+ </else>
+ </choose>
+ </layout>
+ </citation>
+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">
+ <sort>
+ <key macro="author"/>
+ <key variable="title"/>
+ </sort>
+ <layout suffix=".">
+ <group delimiter=", ">
+ <text macro="author"/>
+ <text macro="title-note"/>
+ <text macro="container-title-note"/>
+ <text macro="editor-translator"/>
+ <text macro="collection-title"/>
+ <text macro="volume"/>
+ </group>
+ <text macro="issue-note"/>
+ <text macro="locators-specific-note" prefix=", "/>
+ <text macro="locators-newspaper" prefix=", "/>
+ <text macro="pages"/>
+ <text macro="access-note"/>
+ </layout>
+ </bibliography>
+</style> \ No newline at end of file