Added material for citation tests.

Currently they fail with a multibyte error from citeproc-hs
when it tries to read locale.
This commit is contained in:
John MacFarlane 2010-11-12 00:38:31 -08:00
parent 79bab2d210
commit c44ff4c555
7 changed files with 980 additions and 0 deletions

View file

@ -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

26
tests/biblio.bib Normal file
View file

@ -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"
}

View file

@ -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>

129
tests/ieee.csl Normal file
View file

@ -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>

View file

@ -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).

View file

@ -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

390
tests/mhra.csl Normal file
View file

@ -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>