packages feed

citeproc 0.4 → 0.4.0.1

raw patch · 19 files changed

+3917/−3801 lines, 19 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,13 @@ # citeproc changelog +## 0.4.0.1++  * Fix bug introduced by the fix to #61 (#74).+    In certain circumstances, we could get doubled "et al.".+  * Depend on unicode-collation unconditionally (#71).  It is necessary+    even when text-icu is used, because of Text.Collate.Lang.+  * Rename tests in extra/ so they fall into categories.+ ## 0.4    * We now use Lang from unicode-collation rather than defining our own.
citeproc.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                citeproc-version:             0.4+version:             0.4.0.1 synopsis:            Generates citations and bibliography from CSL styles. description:         citeproc parses CSL style files and uses them to                      generate a list of formatted citations and bibliography@@ -27,7 +27,8 @@                      test/overrides/*.txt tested-with:         GHC == 8.0.2, GHC == 8.2.2,                      GHC == 8.4.4, GHC == 8.6.5,-                     GHC == 8.8.3, GHC == 8.10.1+                     GHC == 8.8.3, GHC == 8.10.1,+                     GHC == 9.0.1  source-repository    head   type:              git@@ -77,11 +78,10 @@                      , filepath                      , file-embed                      , pandoc-types >= 1.22 && < 1.23+                     , unicode-collation >= 0.1.3 && < 0.2                      -- , pretty-show   if flag(icu)      build-depends:    text-icu-  else-     build-depends:    unicode-collation >= 0.1.3 && < 0.2    ghc-options:         -Wall                        -Wincomplete-record-updates
src/Citeproc/Eval.hs view
@@ -1987,12 +1987,16 @@                               lookupTerm emptyTerm { termName = "and"                                                    , termForm = Long }                   Nothing -> return Nothing+  let finalNameIsOthers = (lastMay names >>= nameLiteral) == Just "others"+        -- bibtex conversions often have this, and we want to render it "et al"   let etAlUseLast = nameEtAlUseLast nameFormat   let etAlThreshold = case etAlMin of                         Just x | numnames >= x                           -> case (disamb >>= disambEtAlNames, etAlUseFirst) of                                (Just n, Just m) -> Just (max m n)                                (_, y) -> y+                               | numnames < x+                               , finalNameIsOthers -> Just (numnames - 1)                         _ -> Nothing   let beforeLastDelim =         case mbAndTerm of@@ -2052,16 +2056,9 @@                   | otherwise   ->                       Formatted mempty{ formatPrefix = Just beforeEtAl }                       . (:[]) <$> lookupTerm' emptyTerm{ termName = "et-al" }-  let finalNameIsOthers = (lastMay names >>= nameLiteral) == Just "others"-        -- bibtex conversions often have this, and we want to render it "et al"   let addNameAndDelim name idx        | etAlThreshold == Just 0 = NullOutput        | idx == 1    = name-       | idx == numnames-       , finalNameIsOthers =-         if inSortKey-            then NullOutput-            else etAl        | idx == numnames        , etAlUseLast        , maybe False (idx - 1 >=) etAlThreshold
src/Citeproc/Locale.hs view
@@ -77,7 +77,7 @@     ("zh", Just "CN")     ] --- | Retrieves the "primary dialect" corresponding to a langage,+-- | Retrieves the "primary dialect" corresponding to a language, -- e.g. "lt-LT" for "lt". getPrimaryDialect :: Lang -> Maybe Lang getPrimaryDialect lang =
− test/extra/issue19.txt
@@ -1,244 +0,0 @@->>===== MODE =====>>-bibliography-<<===== MODE =====<<----->>===== RESULT =====>>-<div class="csl-bib-body">-  <div class="csl-entry">Díaz-León, E. (2013). What Is Social Construction? Eur J Philos 1–16.</div>-  <div class="csl-entry">Díaz-León, E. (2015). In Defence of Historical Constructivism about Races. Ergo, an Open Access Journal of Philosophy <i>2</i>.</div>-  <div class="csl-entry">Díaz-León, E. (2016). &#60;i&#62;Wo&#62; as a Politically Significant Term: A Solution to the Puzzle. Hypatia 245–258.</div>-</div>-<<===== RESULT =====<<--->>===== CSL =====>>-<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="en-US" demote-non-dropping-particle="sort-only" page-range-format="expanded">-  <info>-    <title>Cell</title>-    <id>http://www.zotero.org/styles/cell</id>-    <link href="http://www.zotero.org/styles/cell" rel="self"/>-    <link href="http://www.cell.com/authors" rel="documentation"/>-    <author>-      <name>Adam Mark</name>-      <email>a.mark@uoguelph.ca</email>-    </author>-    <contributor>-      <name>Julian Onions</name>-      <email>julian.onions@gmail.com</email>-    </contributor>-    <contributor>-      <name>Aurimas Vinckevicius</name>-      <email>aurimas.dev@gmail.com</email>-    </contributor>-    <category citation-format="author-date"/>-    <category field="biology"/>-    <issn>0092-8674</issn>-    <eissn>1097-4172</eissn>-    <summary>The Cell journal style. Original by Julian Onions.</summary>-    <updated>2013-01-26T22:06:38+00:00</updated>-    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-  </info>-  <macro name="author-short">-    <names variable="author">-      <name form="short" and="text"/>-    </names>-  </macro>-  <macro name="author-count">-    <names variable="author">-      <name form="count"/>-    </names>-  </macro>-  <macro name="author">-    <names variable="author">-      <name name-as-sort-order="all" initialize-with="." and="text" delimiter-precedes-last="always"/>-    </names>-  </macro>-  <macro name="issued">-    <date variable="issued">-      <date-part name="year"/>-    </date>-  </macro>-  <macro name="publisher">-    <group prefix="(" delimiter=": " suffix=")">-      <text variable="publisher-place"/>-      <text variable="publisher"/>-    </group>-  </macro>-  <macro name="editor">-    <names variable="editor">-      <name initialize-with="." and="text" delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">-    <sort>-      <key macro="author-short" names-min="1" names-use-first="1"/>-      <key macro="author-count" names-min="3" names-use-first="3"/>-      <key macro="author" names-min="3" names-use-first="1"/>-      <key macro="issued"/>-      <key variable="title"/>-    </sort>-    <layout prefix="(" suffix=")" delimiter="; ">-      <group delimiter=", ">-        <text macro="author-short"/>-        <text macro="issued"/>-      </group>-    </layout>-  </citation>-  <bibliography et-al-min="11" et-al-use-first="10">-    <sort>-      <key macro="author-short" names-min="1" names-use-first="1"/>-      <key macro="author-count" names-min="3" names-use-first="3"/>-      <key macro="author" names-min="3" names-use-first="1"/>-      <key macro="issued"/>-    </sort>-    <layout suffix=".">-      <group delimiter=" ">-        <text macro="author"/>-        <text macro="issued" prefix="(" suffix=")."/>-        <choose>-          <if type="article article-magazine article-newspaper article-journal review" match="any">-            <text variable="title" suffix="."/>-            <text variable="container-title" form="short" text-case="title"/>-            <group delimiter=", ">-              <text variable="volume" font-style="italic"/>-              <text variable="page"/>-            </group>-          </if>-          <else-if type="chapter paper-conference" match="any">-            <text variable="title" suffix="."/>-            <text variable="container-title" prefix="In " suffix="," text-case="title"/>-            <text macro="editor"/>-            <text macro="publisher" suffix=","/>-            <label variable="page" form="short"/>-            <text variable="page"/>-          </else-if>-          <else-if type="thesis">-            <text variable="title" suffix="."/>-            <text variable="genre" suffix="."/>-            <text variable="publisher"/>-          </else-if>-          <else>-            <text variable="title"/>-            <text macro="publisher"/>-          </else>-        </choose>-      </group>-    </layout>-  </bibliography>-</style>-<<===== CSL =====<<----->>===== INPUT =====>>-[-  {-    "id": "diaz2013",-    "type": "article-journal",-    "title": "What Is Social Construction?",-    "container-title": "European Journal of Philosophy",-    "page": "1-16",-    "URL": "http://onlinelibrary.wiley.com/doi/10.1111/ejop.12033/abstract",-    "DOI": "10.1111/ejop.12033",-    "ISSN": "1468-0378",-    "language": "en",-    "author": [-      {-        "family": "Díaz-León",-        "given": "Esa"-      }-    ],-    "issued": {-      "date-parts": [-        [-          2013,-          5,-          1-        ]-      ]-    },-    "accessed": {-      "date-parts": [-        [-          2015,-          11,-          14-        ]-      ]-    },-    "container-title-short": "Eur J Philos"-  },-  {-    "id": "diaz2015",-    "type": "article-journal",-    "title": "In Defence of Historical Constructivism about Races",-    "container-title": "Ergo, an Open Access Journal of Philosophy",-    "volume": "2",-    "URL": "http://hdl.handle.net/2027/spo.12405314.0002.021",-    "DOI": "10.3998/ergo.12405314.0002.021",-    "ISSN": "2330-4014",-    "author": [-      {-        "family": "Díaz-León",-        "given": "Esa"-      }-    ],-    "issued": {-      "date-parts": [-        [-          2015-        ]-      ]-    }-  },-  {-    "id": "diaz2016",-    "type": "article-journal",-    "title": "<i>Wo> as a Politically Significant Term: A Solution to the Puzzle",-    "container-title": "Hypatia",-    "page": "245-258",-    "URL": "http://onlinelibrary.wiley.com.uaccess.univie.ac.at/doi/10.1111/hypa.12234/abstract",-    "DOI": "10.1111/hypa.12234",-    "ISSN": "1527-2001",-    "title-short": "<i>Woman</i> as a Politically Significant Term",-    "language": "en",-    "author": [-      {-        "family": "Díaz-León",-        "given": "Esa"-      }-    ],-    "issued": {-      "date-parts": [-        [-          2016,-          2,-          1-        ]-      ]-    },-    "accessed": {-      "date-parts": [-        [-          2016,-          2,-          18-        ]-      ]-    },-    "container-title-short": "Hypatia"-  }-]-<<===== INPUT =====<<--->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
− test/extra/issue22.txt
@@ -1,540 +0,0 @@->>===== MODE =====>>-citation-<<===== MODE =====<<-->>===== RESULT =====>>-<sup>1</sup>-<<===== RESULT =====<<-->>===== CSL =====>>-<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">-  <info>-    <title>Vancouver (superscript)</title>-    <id>http://www.zotero.org/styles/vancouver-superscript</id>-    <link href="http://www.zotero.org/styles/vancouver-superscript" rel="self"/>-    <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>-    <author>-      <name>Michael Berkowitz</name>-      <email>mberkowi@gmu.edu</email>-    </author>-    <contributor>-      <name>Sean Takats</name>-      <email>stakats@gmu.edu</email>-    </contributor>-    <contributor>-      <name>Sebastian Karcher</name>-    </contributor>-    <category citation-format="numeric"/>-    <category field="medicine"/>-    <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>-    <updated>2012-09-27T22:06:38+00:00</updated>-    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-  </info>-  <locale xml:lang="en">-    <date form="text" delimiter=" ">-      <date-part name="year"/>-      <date-part name="month" form="short" strip-periods="true"/>-      <date-part name="day"/>-    </date>-    <terms>-      <term name="collection-editor" form="long">-        <single>editor</single>-        <multiple>editors</multiple>-      </term>-      <term name="presented at">presented at</term>-      <term name="available at">available from</term>-      <term name="section" form="short">sect.</term>-    </terms>-  </locale>-  <locale xml:lang="fr">-    <date form="text" delimiter=" ">-      <date-part name="day"/>-      <date-part name="month" form="short" strip-periods="true"/>-      <date-part name="year"/>-    </date>-  </locale>-  <macro name="author">-    <names variable="author">-      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>-      <label form="long" prefix=", "/>-      <substitute>-        <names variable="editor"/>-      </substitute>-    </names>-  </macro>-  <macro name="editor">-    <names variable="editor" suffix=".">-      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>-      <label form="long" prefix=", "/>-    </names>-  </macro>-  <macro name="chapter-marker">-    <choose>-      <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">-        <text term="in" text-case="capitalize-first"/>-      </if>-    </choose>-  </macro>-  <macro name="publisher">-    <choose>-      <!--discard publisher info for articles-->-      <if type="article-journal article-magazine article-newspaper" match="none">-        <group delimiter=": " suffix=";">-          <choose>-            <if type="thesis">-              <text variable="publisher-place" prefix="[" suffix="]"/>-            </if>-            <else-if type="speech"/>-            <else>-              <text variable="publisher-place"/>-            </else>-          </choose>-          <text variable="publisher"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="access">-    <choose>-      <if variable="URL">-        <group delimiter=": ">-          <text term="available at" text-case="capitalize-first"/>-          <text variable="URL"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="accessed-date">-    <choose>-      <if variable="URL">-        <group prefix="[" suffix="]" delimiter=" ">-          <text term="cited" text-case="lowercase"/>-          <date variable="accessed" form="text"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="container-title">-    <choose>-      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">-        <group suffix="." delimiter=" ">-          <choose>-            <if type="article-journal review review-book" match="any">-              <text variable="container-title" form="short" strip-periods="true"/>-            </if>-            <else>-              <text variable="container-title" strip-periods="true"/>-            </else>-          </choose>-          <choose>-            <if variable="URL">-              <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>-            </if>-          </choose>-        </group>-        <text macro="edition" prefix=" "/>-      </if>-      <!--add event-name and event-place once they become available-->-      <else-if type="bill legislation" match="any">-        <group delimiter=", ">-          <group delimiter=". ">-            <text variable="container-title"/>-            <group delimiter=" ">-              <text term="section" form="short" text-case="capitalize-first"/>-              <text variable="section"/>-            </group>-          </group>-          <text variable="number"/>-        </group>-      </else-if>-      <else-if type="speech">-        <group delimiter=": " suffix=";">-          <group delimiter=" ">-            <text variable="genre" text-case="capitalize-first"/>-            <text term="presented at"/>-          </group>-          <text variable="event"/>-        </group>-      </else-if>-      <else>-        <group delimiter=", " suffix=".">-          <choose>-            <if variable="collection-title" match="none">-              <group delimiter=" ">-                <label variable="volume" form="short" text-case="capitalize-first"/>-                <text variable="volume"/>-              </group>-            </if>-          </choose>-          <text variable="container-title"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="title">-    <text variable="title"/>-    <choose>-      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">-        <choose>-          <if variable="URL">-            <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>-          </if>-        </choose>-        <text macro="edition" prefix=". "/>-      </if>-    </choose>-    <choose>-      <if type="thesis">-        <text variable="genre" prefix=" [" suffix="]"/>-      </if>-    </choose>-  </macro>-  <macro name="edition">-    <choose>-      <if is-numeric="edition">-        <group delimiter=" ">-          <number variable="edition" form="ordinal"/>-          <text term="edition" form="short"/>-        </group>-      </if>-      <else>-        <text variable="edition" suffix="."/>-      </else>-    </choose>-  </macro>-  <macro name="date">-    <choose>-      <if type="article-journal article-magazine article-newspaper review review-book" match="any">-        <group suffix=";" delimiter=" ">-          <date variable="issued" form="text"/>-          <text macro="accessed-date"/>-        </group>-      </if>-      <else-if type="bill legislation" match="any">-        <group delimiter=", ">-          <date variable="issued" delimiter=" ">-            <date-part name="month" form="short" strip-periods="true"/>-            <date-part name="day"/>-          </date>-          <date variable="issued">-            <date-part name="year"/>-          </date>-        </group>-      </else-if>-      <else-if type="report">-        <date variable="issued" delimiter=" ">-          <date-part name="year"/>-          <date-part name="month" form="short" strip-periods="true"/>-        </date>-        <text macro="accessed-date" prefix=" "/>-      </else-if>-      <else-if type="patent">-        <group suffix=".">-          <group delimiter=", ">-            <text variable="number"/>-            <date variable="issued">-              <date-part name="year"/>-            </date>-          </group>-          <text macro="accessed-date" prefix=" "/>-        </group>-      </else-if>-      <else-if type="speech">-        <group delimiter="; ">-          <group delimiter=" ">-            <date variable="issued" delimiter=" ">-              <date-part name="year"/>-              <date-part name="month" form="short" strip-periods="true"/>-              <date-part name="day"/>-            </date>-            <text macro="accessed-date"/>-          </group>-          <text variable="event-place"/>-        </group>-      </else-if>-      <else>-        <group suffix=".">-          <date variable="issued">-            <date-part name="year"/>-          </date>-          <text macro="accessed-date" prefix=" "/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="pages">-    <choose>-      <if type="article-journal article-magazine article-newspaper review review-book" match="any">-        <text variable="page" prefix=":"/>-      </if>-      <else-if type="book" match="any">-        <text variable="number-of-pages" prefix=" "/>-        <choose>-          <if is-numeric="number-of-pages">-            <label variable="number-of-pages" form="short" prefix=" " plural="never"/>-          </if>-        </choose>-      </else-if>-      <else>-        <group prefix=" " delimiter=" ">-          <label variable="page" form="short" plural="never"/>-          <text variable="page"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="journal-location">-    <choose>-      <if type="article-journal article-magazine review review-book" match="any">-        <text variable="volume"/>-        <text variable="issue" prefix="(" suffix=")"/>-      </if>-    </choose>-  </macro>-  <macro name="collection-details">-    <choose>-      <if type="article-journal article-magazine article-newspaper review review-book" match="none">-        <choose>-          <if variable="collection-title">-            <group delimiter=" " prefix="(" suffix=")">-              <names variable="collection-editor" suffix=".">-                <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>-                <label form="long" prefix=", "/>-              </names>-              <group delimiter="; ">-                <text variable="collection-title"/>-                <group delimiter=" ">-                  <label variable="volume" form="short"/>-                  <text variable="volume"/>-                </group>-              </group>-            </group>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="report-details">-    <choose>-      <if type="report">-        <text variable="number" prefix="Report No.: "/>-      </if>-    </choose>-  </macro>-  <citation collapse="citation-number">-    <sort>-      <key variable="citation-number"/>-    </sort>-    <layout delimiter="," vertical-align="sup">-      <text variable="citation-number"/>-    </layout>-  </citation>-  <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">-    <layout>-      <text variable="citation-number" suffix=". "/>-      <group delimiter=". " suffix=". ">-        <text macro="author"/>-        <text macro="title"/>-      </group>-      <group delimiter=" " suffix=". ">-        <group delimiter=": ">-          <text macro="chapter-marker"/>-          <group delimiter=" ">-            <text macro="editor"/>-            <text macro="container-title"/>-          </group>-        </group>-        <text macro="publisher"/>-        <group>-          <text macro="date"/>-          <text macro="journal-location"/>-          <text macro="pages"/>-        </group>-      </group>-      <text macro="collection-details" suffix=". "/>-      <text macro="report-details" suffix=". "/>-      <text macro="access"/>-    </layout>-  </bibliography>-</style>-<<===== CSL =====<<-->>===== INPUT =====>>-[-  {-    "URL": "https://global.ihs.com/doc_detail.cfm?&rid=TIA&item_s_key=00125234&item_key_date=870024&input_doc_number=232&input_doc_title=&org_code=TIA",-    "author": [-      {-        "literal": "Telecommunications Industry Association"-      }-    ],-    "edition": "Revision F",-    "id": "tia232",-    "issued": {-      "date-parts": [-        [-          1997,-          10-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "54",-    "publisher": "Telecommunications Industry Association",-    "title": "TIA-232 Interface Between Data Terminal Equipment and Data Circuit- Terminating Equipment Employing Serial Binary Data Interchange",-    "title-short": "TIA-232-F",-    "type": "book"-  },-  {-    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-1:ed-1:v1:en",-    "author": [-      {-        "literal": "ISO/IEC Joint Technical Committee 1"-      }-    ],-    "id": "iso/iec11172-1",-    "issued": {-      "date-parts": [-        [-          1993,-          8-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "6",-    "publisher": "International Organization for Standardization",-    "title": "ISO/IEC 11172-1 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 1: Systems",-    "title-short": "ISO/IEC 11172-1:1993(E)",-    "type": "book"-  },-  {-    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-2:ed-1:v1:en",-    "author": [-      {-        "literal": "ISO/IEC Joint Technical Committee 1"-      }-    ],-    "id": "iso/iec11172-2",-    "issued": {-      "date-parts": [-        [-          1993,-          8-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "112",-    "publisher": "International Organization for Standardization",-    "title": "ISO/IEC 11172-2 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 2: Video",-    "title-short": "ISO/IEC 11172-2:1993(E)",-    "type": "book"-  },-  {-    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-3:ed-1:v1:en",-    "author": [-      {-        "literal": "ISO/IEC Joint Technical Committee 1"-      }-    ],-    "id": "iso/iec11172-3",-    "issued": {-      "date-parts": [-        [-          1993,-          8-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "150",-    "publisher": "International Organization for Standardization",-    "title": "ISO/IEC 11172-3 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 3: Audio",-    "title-short": "ISO/IEC 11172-3:1993(E)",-    "type": "book"-  },-  {-    "URL": "https://www.iso.org/standard/75928.html",-    "author": [-      {-        "literal": "ISO/IEC Joint Technical Committee 1"-      }-    ],-    "edition": "7",-    "id": "iso/iec13818-1",-    "issued": {-      "date-parts": [-        [-          2019,-          7-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "288",-    "publisher": "International Organization for Standardization",-    "title": "ISO/IEC 13818-1 Information technology — Generic coding of moving pictures and associated audio information — Part 1: Systems",-    "title-short": "ISO/IEC 13818-1:2019(E)",-    "type": "book"-  },-  {-    "URL": "https://gwg.nga.mil/misb/docs/standards/ST1602.1.pdf",-    "author": [-      {-        "literal": "Motion Imagery Standards Board"-      }-    ],-    "edition": "1",-    "id": "misbst1602",-    "issued": {-      "date-parts": [-        [-          2018,-          11-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "19",-    "publisher": "Motion Imagery Standards Board",-    "title": "MISB ST 1602 Composite Imaging Local Set",-    "title-short": "MISB ST 1602",-    "type": "book"-  },-  {-    "URL": "https://www.gwg.nga.mil/misb/docs/standards/ST0603.5.pdf",-    "author": [-      {-        "literal": "Motion Imagery Standards Board"-      }-    ],-    "edition": "5",-    "id": "msibst0603",-    "issued": {-      "date-parts": [-        [-          2017,-          10-        ]-      ]-    },-    "language": "en",-    "number-of-pages": "8",-    "title": "MISB ST 0603 MISP Time System and Timestamps",-    "title-short": "MISB ST 0603",-    "type": "book"-  }-]-<<===== INPUT =====<<--->>===== CITATION-ITEMS =====>>-[[{"id":"misbst1602"}]]-<<===== CITATION-ITEMS =====<<-->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
− test/extra/issue27.txt
@@ -1,690 +0,0 @@->>===== MODE =====>>-bibliography-<<===== MODE =====<<----->>===== RESULT =====>>-<div class="csl-bib-body">-  <div class="csl-entry">Doe, John. n.d. <i>Fruits (Apples, Pears, Oranges) and Veggies</i>.</div>-</div>-<<===== RESULT =====<<--->>===== CSL =====>>--<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">-  <info>-    <title>Chicago Manual of Style 17th edition (author-date)</title>-    <id>http://www.zotero.org/styles/chicago-author-date</id>-    <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>-    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>-    <author>-      <name>Julian Onions</name>-      <email>julian.onions@gmail.com</email>-    </author>-    <contributor>-      <name>Sebastian Karcher</name>-    </contributor>-    <contributor>-      <name>Richard Karnesky</name>-      <email>karnesky+zotero@gmail.com</email>-      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>-    </contributor>-    <contributor>-      <name>Andrew Dunning</name>-      <email>andrew.dunning@utoronto.ca</email>-      <uri>https://orcid.org/0000-0003-0464-5036</uri>-    </contributor>-    <contributor>-      <name>Matthew Roth</name>-      <email>matthew.g.roth@yale.edu</email>-      <uri> https://orcid.org/0000-0001-7902-6331</uri>-    </contributor>-    <category citation-format="author-date"/>-    <category field="generic-base"/>-    <summary>The author-date variant of the Chicago style</summary>-    <updated>2018-01-24T12:00:00+00:00</updated>-    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-  </info>-  <locale xml:lang="en">-    <terms>-      <term name="editor" form="verb-short">ed.</term>-      <term name="container-author" form="verb">by</term>-      <term name="translator" form="verb-short">trans.</term>-      <term name="editortranslator" form="verb">edited and translated by</term>-      <term name="translator" form="short">trans.</term>-    </terms>-  </locale>-  <macro name="secondary-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">-        <group delimiter=". ">-          <names variable="editor translator" delimiter=". ">-            <label form="verb" text-case="capitalize-first" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-          <names variable="director" delimiter=". ">-            <label form="verb" text-case="capitalize-first" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="container-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <group prefix=", " delimiter=", ">-          <names variable="container-author" delimiter=", ">-            <label form="verb" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-          <names variable="editor translator" delimiter=", ">-            <label form="verb" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="editor">-    <names variable="editor">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <macro name="translator">-    <names variable="translator">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <macro name="recipient">-    <choose>-      <if type="personal_communication">-        <choose>-          <if variable="genre">-            <text variable="genre" text-case="capitalize-first"/>-          </if>-          <else>-            <text term="letter" text-case="capitalize-first"/>-          </else>-        </choose>-      </if>-    </choose>-    <names variable="recipient" delimiter=", ">-      <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="substitute-title">-    <choose>-      <if type="article-magazine article-newspaper review review-book" match="any">-        <text macro="container-title"/>-      </if>-    </choose>-  </macro>-  <macro name="contributors">-    <group delimiter=". ">-      <names variable="author">-        <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-        <label form="short" prefix=", "/>-        <substitute>-          <names variable="editor"/>-          <names variable="translator"/>-          <names variable="director"/>-          <text macro="substitute-title"/>-          <text macro="title"/>-        </substitute>-      </names>-      <text macro="recipient"/>-    </group>-  </macro>-  <macro name="contributors-short">-    <names variable="author">-      <name form="short" and="text" delimiter=", " initialize-with=". "/>-      <substitute>-        <names variable="editor"/>-        <names variable="translator"/>-        <names variable="director"/>-        <text macro="substitute-title"/>-        <text macro="title"/>-      </substitute>-    </names>-  </macro>-  <macro name="interviewer">-    <names variable="interviewer" delimiter=", ">-      <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="archive">-    <group delimiter=". ">-      <text variable="archive_location" text-case="capitalize-first"/>-      <text variable="archive"/>-      <text variable="archive-place"/>-    </group>-  </macro>-  <macro name="access">-    <group delimiter=". ">-      <choose>-        <if type="graphic report" match="any">-          <text macro="archive"/>-        </if>-        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">-          <text macro="archive"/>-        </else-if>-      </choose>-      <choose>-        <if type="webpage post-weblog" match="any">-          <date variable="issued" form="text"/>-        </if>-      </choose>-      <choose>-        <if variable="issued" match="none">-          <group delimiter=" ">-            <text term="accessed" text-case="capitalize-first"/>-            <date variable="accessed" form="text"/>-          </group>-        </if>-      </choose>-      <choose>-        <if type="legal_case" match="none">-          <choose>-            <if variable="DOI">-              <text variable="DOI" prefix="https://doi.org/"/>-            </if>-            <else>-              <text variable="URL"/>-            </else>-          </choose>-        </if>-      </choose>-    </group>-  </macro>-  <macro name="title">-    <choose>-      <if variable="title" match="none">-        <choose>-          <if type="personal_communication" match="none">-            <text variable="genre" text-case="capitalize-first"/>-          </if>-        </choose>-      </if>-      <else-if type="bill book graphic legislation motion_picture song" match="any">-        <text variable="title" text-case="title" font-style="italic"/>-        <group prefix=" (" suffix=")" delimiter=" ">-          <text term="version"/>-          <text variable="version"/>-        </group>-      </else-if>-      <else-if variable="reviewed-author">-        <choose>-          <if variable="reviewed-title">-            <group delimiter=". ">-              <text variable="title" text-case="title" quotes="true"/>-              <group delimiter=", ">-                <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>-                <names variable="reviewed-author">-                  <label form="verb-short" text-case="lowercase" suffix=" "/>-                  <name and="text" delimiter=", "/>-                </names>-              </group>-            </group>-          </if>-          <else>-            <group delimiter=", ">-              <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>-              <names variable="reviewed-author">-                <label form="verb-short" text-case="lowercase" suffix=" "/>-                <name and="text" delimiter=", "/>-              </names>-            </group>-          </else>-        </choose>-      </else-if>-      <else-if type="legal_case interview patent" match="any">-        <text variable="title"/>-      </else-if>-      <else>-        <text variable="title" text-case="title" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="edition">-    <choose>-      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" " prefix=". ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short" strip-periods="true"/>-            </group>-          </if>-          <else>-            <text variable="edition" text-case="capitalize-first" prefix=". "/>-          </else>-        </choose>-      </if>-      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" " prefix=", ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short"/>-            </group>-          </if>-          <else>-            <text variable="edition" prefix=", "/>-          </else>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators">-    <choose>-      <if type="article-journal">-        <choose>-          <if variable="volume">-            <text variable="volume" prefix=" "/>-            <group prefix=" (" suffix=")">-              <choose>-                <if variable="issue">-                  <text variable="issue"/>-                </if>-                <else>-                  <date variable="issued">-                    <date-part name="month"/>-                  </date>-                </else>-              </choose>-            </group>-          </if>-          <else-if variable="issue">-            <group delimiter=" " prefix=", ">-              <text term="issue" form="short"/>-              <text variable="issue"/>-              <date variable="issued" prefix="(" suffix=")">-                <date-part name="month"/>-              </date>-            </group>-          </else-if>-          <else>-            <date variable="issued" prefix=", ">-              <date-part name="month"/>-            </date>-          </else>-        </choose>-      </if>-      <else-if type="legal_case">-        <text variable="volume" prefix=", "/>-        <text variable="container-title" prefix=" "/>-        <text variable="page" prefix=" "/>-      </else-if>-      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">-        <group prefix=". " delimiter=". ">-          <group>-            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>-            <number variable="volume" form="numeric"/>-          </group>-          <group>-            <number variable="number-of-volumes" form="numeric"/>-            <text term="volume" form="short" prefix=" " plural="true"/>-          </group>-        </group>-      </else-if>-      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if variable="page" match="none">-            <group prefix=". ">-              <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>-              <number variable="volume" form="numeric"/>-            </group>-          </if>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-chapter">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if variable="page">-            <group prefix=", ">-              <text variable="volume" suffix=":"/>-              <text variable="page"/>-            </group>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-article">-    <choose>-      <if type="article-newspaper">-        <group prefix=", " delimiter=", ">-          <group delimiter=" ">-            <text variable="edition"/>-            <text term="edition"/>-          </group>-          <group>-            <text term="section" form="short" suffix=" "/>-            <text variable="section"/>-          </group>-        </group>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume issue" match="any">-            <text variable="page" prefix=": "/>-          </if>-          <else>-            <text variable="page" prefix=", "/>-          </else>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="point-locators">-    <choose>-      <if variable="locator">-        <choose>-          <if locator="page" match="none">-            <choose>-              <if type="bill book graphic legal_case legislation motion_picture report song" match="any">-                <choose>-                  <if variable="volume">-                    <group>-                      <text term="volume" form="short" suffix=" "/>-                      <number variable="volume" form="numeric"/>-                      <label variable="locator" form="short" prefix=", " suffix=" "/>-                    </group>-                  </if>-                  <else>-                    <label variable="locator" form="short" suffix=" "/>-                  </else>-                </choose>-              </if>-              <else>-                <label variable="locator" form="short" suffix=" "/>-              </else>-            </choose>-          </if>-          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">-            <number variable="volume" form="numeric" suffix=":"/>-          </else-if>-        </choose>-        <text variable="locator"/>-      </if>-    </choose>-  </macro>-  <macro name="container-prefix">-    <text term="in" text-case="capitalize-first"/>-  </macro>-  <macro name="container-title">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <text macro="container-prefix" suffix=" "/>-      </if>-    </choose>-    <choose>-      <if type="webpage">-        <text variable="container-title" text-case="title"/>-      </if>-      <else-if type="legal_case" match="none">-        <group delimiter=" ">-          <text variable="container-title" text-case="title" font-style="italic"/>-          <choose>-            <if type="post-weblog">-              <text value="(blog)"/>-            </if>-          </choose>-        </group>-      </else-if>-    </choose>-  </macro>-  <macro name="publisher">-    <group delimiter=": ">-      <text variable="publisher-place"/>-      <text variable="publisher"/>-    </group>-  </macro>-  <macro name="date">-    <choose>-      <if variable="issued">-        <group delimiter=" ">-          <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>-          <date variable="issued">-            <date-part name="year"/>-          </date>-        </group>-      </if>-      <else-if variable="status">-        <text variable="status" text-case="capitalize-first"/>-      </else-if>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="date-in-text">-    <choose>-      <if variable="issued">-        <group delimiter=" ">-          <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>-          <date variable="issued">-            <date-part name="year"/>-          </date>-        </group>-      </if>-      <else-if variable="status">-        <text variable="status"/>-      </else-if>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="day-month">-    <date variable="issued">-      <date-part name="month"/>-      <date-part name="day" prefix=" "/>-    </date>-  </macro>-  <macro name="collection-title">-    <choose>-      <if match="none" type="article-journal">-        <choose>-          <if match="none" is-numeric="collection-number">-            <group delimiter=", ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </if>-          <else>-            <group delimiter=" ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="collection-title-journal">-    <choose>-      <if type="article-journal">-        <group delimiter=" ">-          <text variable="collection-title"/>-          <text variable="collection-number"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="event">-    <group>-      <text term="presented at" suffix=" "/>-      <text variable="event"/>-    </group>-  </macro>-  <macro name="description">-    <choose>-      <if type="interview">-        <group delimiter=". ">-          <text macro="interviewer"/>-          <text variable="medium" text-case="capitalize-first"/>-        </group>-      </if>-      <else-if type="patent">-        <group delimiter=" " prefix=". ">-          <text variable="authority"/>-          <text variable="number"/>-        </group>-      </else-if>-      <else>-        <text variable="medium" text-case="capitalize-first" prefix=". "/>-      </else>-    </choose>-    <choose>-      <if variable="title" match="none"/>-      <else-if type="thesis personal_communication speech" match="any"/>-      <else>-        <group delimiter=" " prefix=". ">-          <text variable="genre" text-case="capitalize-first"/>-          <choose>-            <if type="report">-              <text variable="number"/>-            </if>-          </choose>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="issue">-    <choose>-      <if type="legal_case">-        <text variable="authority" prefix=". "/>-      </if>-      <else-if type="speech">-        <group prefix=". " delimiter=", ">-          <group delimiter=" ">-            <text variable="genre" text-case="capitalize-first"/>-            <text macro="event"/>-          </group>-          <text variable="event-place"/>-          <text macro="day-month"/>-        </group>-      </else-if>-      <else-if type="article-newspaper article-magazine personal_communication" match="any">-        <date variable="issued" form="text" prefix=", "/>-      </else-if>-      <else-if type="patent">-        <group delimiter=", " prefix=", ">-          <group delimiter=" ">-            <!--Needs Localization-->-            <text value="filed"/>-            <date variable="submitted" form="text"/>-          </group>-          <group delimiter=" ">-            <choose>-              <if variable="issued submitted" match="all">-                <text term="and"/>-              </if>-            </choose>-            <!--Needs Localization-->-            <text value="issued"/>-            <date variable="issued" form="text"/>-          </group>-        </group>-      </else-if>-      <else-if type="article-journal" match="any"/>-      <else>-        <group prefix=". " delimiter=", ">-          <choose>-            <if type="thesis">-              <text variable="genre" text-case="capitalize-first"/>-            </if>-          </choose>-          <text macro="publisher"/>-        </group>-      </else>-    </choose>-  </macro>-  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">-    <layout prefix="(" suffix=")" delimiter="; ">-      <group delimiter=", ">-        <choose>-          <if variable="issued accessed" match="any">-            <group delimiter=" ">-              <text macro="contributors-short"/>-              <text macro="date-in-text"/>-            </group>-          </if>-          <!---comma before forthcoming and n.d.-->-          <else>-            <group delimiter=", ">-              <text macro="contributors-short"/>-              <text macro="date-in-text"/>-            </group>-          </else>-        </choose>-        <text macro="point-locators"/>-      </group>-    </layout>-  </citation>-  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">-    <sort>-      <key macro="contributors"/>-      <key variable="issued"/>-      <key variable="title"/>-    </sort>-    <layout suffix=".">-      <group delimiter=". ">-        <text macro="contributors"/>-        <text macro="date"/>-        <text macro="title"/>-      </group>-      <text macro="description"/>-      <text macro="secondary-contributors" prefix=". "/>-      <text macro="container-title" prefix=". "/>-      <text macro="container-contributors"/>-      <text macro="edition"/>-      <text macro="locators-chapter"/>-      <text macro="collection-title-journal" prefix=", " suffix=", "/>-      <text macro="locators"/>-      <text macro="collection-title" prefix=". "/>-      <text macro="issue"/>-      <text macro="locators-article"/>-      <text macro="access" prefix=". "/>-    </layout>-  </bibliography>-</style>-<<===== CSL =====<<----->>===== INPUT =====>>-[-  {-    "author": [-      {-        "family": "Doe",-        "given": "John"-      }-    ],-    "id": "doeA",-    "title": "Fruits (apples, pears, oranges) and veggies",-    "type": "book"-  }-]-<<===== INPUT =====<<--->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
− test/extra/issue37.txt
@@ -1,56 +0,0 @@->>===== MODE =====>>-citation-<<===== MODE =====<<-->>===== RESULT =====>>-J. Doe-<<===== RESULT =====<<-->>===== CSL =====>>-<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0.1" name-form="long" initialize-with=".&#xa0;"> <!-- with a non-breakable space after the dot in initialize-with value -->-    <citation>-    <layout>-      <names variable="author">-        <name>-          <name-part name="given" form="short"/>-        </name>-      </names>-    </layout>-    </citation>-    <bibliography/>-</style>-<<===== CSL =====<<-->>==== CITATION-ITEMS ====>>-[-    [-        {-            "id": "doeA"-        }-    ]-]-<<==== CITATION-ITEMS ====<<--->>===== INPUT =====>>-[-  {-    "author": [-      {-        "family": "Doe",-        "given": "John"-      }-    ],-    "id": "doeA",-    "title": "Fruits",-    "type": "book"-  }-]-<<===== INPUT =====<<--->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
− test/extra/issue38.txt
@@ -1,721 +0,0 @@->>===== MODE =====>>-citation-<<===== MODE =====<<----->>===== RESULT =====>>-(Díaz-León 2016; 2015, 333)-(Díaz-León 2016, 333; 2015)-<<===== RESULT =====<<--->>===== CSL =====>>--<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">-  <info>-    <title>Chicago Manual of Style 17th edition (author-date)</title>-    <id>http://www.zotero.org/styles/chicago-author-date</id>-    <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>-    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>-    <author>-      <name>Julian Onions</name>-      <email>julian.onions@gmail.com</email>-    </author>-    <contributor>-      <name>Sebastian Karcher</name>-    </contributor>-    <contributor>-      <name>Richard Karnesky</name>-      <email>karnesky+zotero@gmail.com</email>-      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>-    </contributor>-    <contributor>-      <name>Andrew Dunning</name>-      <email>andrew.dunning@utoronto.ca</email>-      <uri>https://orcid.org/0000-0003-0464-5036</uri>-    </contributor>-    <contributor>-      <name>Matthew Roth</name>-      <email>matthew.g.roth@yale.edu</email>-      <uri> https://orcid.org/0000-0001-7902-6331</uri>-    </contributor>-    <category citation-format="author-date"/>-    <category field="generic-base"/>-    <summary>The author-date variant of the Chicago style</summary>-    <updated>2018-01-24T12:00:00+00:00</updated>-    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-  </info>-  <locale xml:lang="en">-    <terms>-      <term name="editor" form="verb-short">ed.</term>-      <term name="container-author" form="verb">by</term>-      <term name="translator" form="verb-short">trans.</term>-      <term name="editortranslator" form="verb">edited and translated by</term>-      <term name="translator" form="short">trans.</term>-    </terms>-  </locale>-  <macro name="secondary-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">-        <group delimiter=". ">-          <names variable="editor translator" delimiter=". ">-            <label form="verb" text-case="capitalize-first" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-          <names variable="director" delimiter=". ">-            <label form="verb" text-case="capitalize-first" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="container-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <group prefix=", " delimiter=", ">-          <names variable="container-author" delimiter=", ">-            <label form="verb" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-          <names variable="editor translator" delimiter=", ">-            <label form="verb" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="editor">-    <names variable="editor">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <macro name="translator">-    <names variable="translator">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <macro name="recipient">-    <choose>-      <if type="personal_communication">-        <choose>-          <if variable="genre">-            <text variable="genre" text-case="capitalize-first"/>-          </if>-          <else>-            <text term="letter" text-case="capitalize-first"/>-          </else>-        </choose>-      </if>-    </choose>-    <names variable="recipient" delimiter=", ">-      <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="substitute-title">-    <choose>-      <if type="article-magazine article-newspaper review review-book" match="any">-        <text macro="container-title"/>-      </if>-    </choose>-  </macro>-  <macro name="contributors">-    <group delimiter=". ">-      <names variable="author">-        <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-        <label form="short" prefix=", "/>-        <substitute>-          <names variable="editor"/>-          <names variable="translator"/>-          <names variable="director"/>-          <text macro="substitute-title"/>-          <text macro="title"/>-        </substitute>-      </names>-      <text macro="recipient"/>-    </group>-  </macro>-  <macro name="contributors-short">-    <names variable="author">-      <name form="short" and="text" delimiter=", " initialize-with=". "/>-      <substitute>-        <names variable="editor"/>-        <names variable="translator"/>-        <names variable="director"/>-        <text macro="substitute-title"/>-        <text macro="title"/>-      </substitute>-    </names>-  </macro>-  <macro name="interviewer">-    <names variable="interviewer" delimiter=", ">-      <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="archive">-    <group delimiter=". ">-      <text variable="archive_location" text-case="capitalize-first"/>-      <text variable="archive"/>-      <text variable="archive-place"/>-    </group>-  </macro>-  <macro name="access">-    <group delimiter=". ">-      <choose>-        <if type="graphic report" match="any">-          <text macro="archive"/>-        </if>-        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">-          <text macro="archive"/>-        </else-if>-      </choose>-      <choose>-        <if type="webpage post-weblog" match="any">-          <date variable="issued" form="text"/>-        </if>-      </choose>-      <choose>-        <if variable="issued" match="none">-          <group delimiter=" ">-            <text term="accessed" text-case="capitalize-first"/>-            <date variable="accessed" form="text"/>-          </group>-        </if>-      </choose>-      <choose>-        <if type="legal_case" match="none">-          <choose>-            <if variable="DOI">-              <text variable="DOI" prefix="https://doi.org/"/>-            </if>-            <else>-              <text variable="URL"/>-            </else>-          </choose>-        </if>-      </choose>-    </group>-  </macro>-  <macro name="title">-    <choose>-      <if variable="title" match="none">-        <choose>-          <if type="personal_communication" match="none">-            <text variable="genre" text-case="capitalize-first"/>-          </if>-        </choose>-      </if>-      <else-if type="bill book graphic legislation motion_picture song" match="any">-        <text variable="title" text-case="title" font-style="italic"/>-        <group prefix=" (" suffix=")" delimiter=" ">-          <text term="version"/>-          <text variable="version"/>-        </group>-      </else-if>-      <else-if variable="reviewed-author">-        <choose>-          <if variable="reviewed-title">-            <group delimiter=". ">-              <text variable="title" text-case="title" quotes="true"/>-              <group delimiter=", ">-                <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>-                <names variable="reviewed-author">-                  <label form="verb-short" text-case="lowercase" suffix=" "/>-                  <name and="text" delimiter=", "/>-                </names>-              </group>-            </group>-          </if>-          <else>-            <group delimiter=", ">-              <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>-              <names variable="reviewed-author">-                <label form="verb-short" text-case="lowercase" suffix=" "/>-                <name and="text" delimiter=", "/>-              </names>-            </group>-          </else>-        </choose>-      </else-if>-      <else-if type="legal_case interview patent" match="any">-        <text variable="title"/>-      </else-if>-      <else>-        <text variable="title" text-case="title" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="edition">-    <choose>-      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" " prefix=". ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short" strip-periods="true"/>-            </group>-          </if>-          <else>-            <text variable="edition" text-case="capitalize-first" prefix=". "/>-          </else>-        </choose>-      </if>-      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" " prefix=", ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short"/>-            </group>-          </if>-          <else>-            <text variable="edition" prefix=", "/>-          </else>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators">-    <choose>-      <if type="article-journal">-        <choose>-          <if variable="volume">-            <text variable="volume" prefix=" "/>-            <group prefix=" (" suffix=")">-              <choose>-                <if variable="issue">-                  <text variable="issue"/>-                </if>-                <else>-                  <date variable="issued">-                    <date-part name="month"/>-                  </date>-                </else>-              </choose>-            </group>-          </if>-          <else-if variable="issue">-            <group delimiter=" " prefix=", ">-              <text term="issue" form="short"/>-              <text variable="issue"/>-              <date variable="issued" prefix="(" suffix=")">-                <date-part name="month"/>-              </date>-            </group>-          </else-if>-          <else>-            <date variable="issued" prefix=", ">-              <date-part name="month"/>-            </date>-          </else>-        </choose>-      </if>-      <else-if type="legal_case">-        <text variable="volume" prefix=", "/>-        <text variable="container-title" prefix=" "/>-        <text variable="page" prefix=" "/>-      </else-if>-      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">-        <group prefix=". " delimiter=". ">-          <group>-            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>-            <number variable="volume" form="numeric"/>-          </group>-          <group>-            <number variable="number-of-volumes" form="numeric"/>-            <text term="volume" form="short" prefix=" " plural="true"/>-          </group>-        </group>-      </else-if>-      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if variable="page" match="none">-            <group prefix=". ">-              <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>-              <number variable="volume" form="numeric"/>-            </group>-          </if>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-chapter">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if variable="page">-            <group prefix=", ">-              <text variable="volume" suffix=":"/>-              <text variable="page"/>-            </group>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-article">-    <choose>-      <if type="article-newspaper">-        <group prefix=", " delimiter=", ">-          <group delimiter=" ">-            <text variable="edition"/>-            <text term="edition"/>-          </group>-          <group>-            <text term="section" form="short" suffix=" "/>-            <text variable="section"/>-          </group>-        </group>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume issue" match="any">-            <text variable="page" prefix=": "/>-          </if>-          <else>-            <text variable="page" prefix=", "/>-          </else>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="point-locators">-    <choose>-      <if variable="locator">-        <choose>-          <if locator="page" match="none">-            <choose>-              <if type="bill book graphic legal_case legislation motion_picture report song" match="any">-                <choose>-                  <if variable="volume">-                    <group>-                      <text term="volume" form="short" suffix=" "/>-                      <number variable="volume" form="numeric"/>-                      <label variable="locator" form="short" prefix=", " suffix=" "/>-                    </group>-                  </if>-                  <else>-                    <label variable="locator" form="short" suffix=" "/>-                  </else>-                </choose>-              </if>-              <else>-                <label variable="locator" form="short" suffix=" "/>-              </else>-            </choose>-          </if>-          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">-            <number variable="volume" form="numeric" suffix=":"/>-          </else-if>-        </choose>-        <text variable="locator"/>-      </if>-    </choose>-  </macro>-  <macro name="container-prefix">-    <text term="in" text-case="capitalize-first"/>-  </macro>-  <macro name="container-title">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <text macro="container-prefix" suffix=" "/>-      </if>-    </choose>-    <choose>-      <if type="webpage">-        <text variable="container-title" text-case="title"/>-      </if>-      <else-if type="legal_case" match="none">-        <group delimiter=" ">-          <text variable="container-title" text-case="title" font-style="italic"/>-          <choose>-            <if type="post-weblog">-              <text value="(blog)"/>-            </if>-          </choose>-        </group>-      </else-if>-    </choose>-  </macro>-  <macro name="publisher">-    <group delimiter=": ">-      <text variable="publisher-place"/>-      <text variable="publisher"/>-    </group>-  </macro>-  <macro name="date">-    <choose>-      <if variable="issued">-        <group delimiter=" ">-          <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>-          <date variable="issued">-            <date-part name="year"/>-          </date>-        </group>-      </if>-      <else-if variable="status">-        <text variable="status" text-case="capitalize-first"/>-      </else-if>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="date-in-text">-    <choose>-      <if variable="issued">-        <group delimiter=" ">-          <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>-          <date variable="issued">-            <date-part name="year"/>-          </date>-        </group>-      </if>-      <else-if variable="status">-        <text variable="status"/>-      </else-if>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="day-month">-    <date variable="issued">-      <date-part name="month"/>-      <date-part name="day" prefix=" "/>-    </date>-  </macro>-  <macro name="collection-title">-    <choose>-      <if match="none" type="article-journal">-        <choose>-          <if match="none" is-numeric="collection-number">-            <group delimiter=", ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </if>-          <else>-            <group delimiter=" ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="collection-title-journal">-    <choose>-      <if type="article-journal">-        <group delimiter=" ">-          <text variable="collection-title"/>-          <text variable="collection-number"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="event">-    <group>-      <text term="presented at" suffix=" "/>-      <text variable="event"/>-    </group>-  </macro>-  <macro name="description">-    <choose>-      <if type="interview">-        <group delimiter=". ">-          <text macro="interviewer"/>-          <text variable="medium" text-case="capitalize-first"/>-        </group>-      </if>-      <else-if type="patent">-        <group delimiter=" " prefix=". ">-          <text variable="authority"/>-          <text variable="number"/>-        </group>-      </else-if>-      <else>-        <text variable="medium" text-case="capitalize-first" prefix=". "/>-      </else>-    </choose>-    <choose>-      <if variable="title" match="none"/>-      <else-if type="thesis personal_communication speech" match="any"/>-      <else>-        <group delimiter=" " prefix=". ">-          <text variable="genre" text-case="capitalize-first"/>-          <choose>-            <if type="report">-              <text variable="number"/>-            </if>-          </choose>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="issue">-    <choose>-      <if type="legal_case">-        <text variable="authority" prefix=". "/>-      </if>-      <else-if type="speech">-        <group prefix=". " delimiter=", ">-          <group delimiter=" ">-            <text variable="genre" text-case="capitalize-first"/>-            <text macro="event"/>-          </group>-          <text variable="event-place"/>-          <text macro="day-month"/>-        </group>-      </else-if>-      <else-if type="article-newspaper article-magazine personal_communication" match="any">-        <date variable="issued" form="text" prefix=", "/>-      </else-if>-      <else-if type="patent">-        <group delimiter=", " prefix=", ">-          <group delimiter=" ">-            <!--Needs Localization-->-            <text value="filed"/>-            <date variable="submitted" form="text"/>-          </group>-          <group delimiter=" ">-            <choose>-              <if variable="issued submitted" match="all">-                <text term="and"/>-              </if>-            </choose>-            <!--Needs Localization-->-            <text value="issued"/>-            <date variable="issued" form="text"/>-          </group>-        </group>-      </else-if>-      <else-if type="article-journal" match="any"/>-      <else>-        <group prefix=". " delimiter=", ">-          <choose>-            <if type="thesis">-              <text variable="genre" text-case="capitalize-first"/>-            </if>-          </choose>-          <text macro="publisher"/>-        </group>-      </else>-    </choose>-  </macro>-  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">-    <layout prefix="(" suffix=")" delimiter="; ">-      <group delimiter=", ">-        <choose>-          <if variable="issued accessed" match="any">-            <group delimiter=" ">-              <text macro="contributors-short"/>-              <text macro="date-in-text"/>-            </group>-          </if>-          <!---comma before forthcoming and n.d.-->-          <else>-            <group delimiter=", ">-              <text macro="contributors-short"/>-              <text macro="date-in-text"/>-            </group>-          </else>-        </choose>-        <text macro="point-locators"/>-      </group>-    </layout>-  </citation>-  <bibliography/>-</style>-<<===== CSL =====<<--->>===== CITATION-ITEMS =====>>-[ [ {"id":"diaz2016"},-{"id":"diaz2015","locator":"333","label":"page"} ],-  [ {"id":"diaz2016","locator":"333","label":"page"},-    {"id":"diaz2015"} ]-]-<<===== CITATION-ITEMS =====<<---->>===== INPUT =====>>-[-  {-    "id": "diaz2015",-    "type": "article-journal",-    "title": "In Defence of Historical Constructivism about Races",-    "container-title": "Ergo, an Open Access Journal of Philosophy",-    "volume": "2",-    "URL": "http://hdl.handle.net/2027/spo.12405314.0002.021",-    "DOI": "10.3998/ergo.12405314.0002.021",-    "ISSN": "2330-4014",-    "author": [-      {-        "family": "Díaz-León",-        "given": "Esa"-      }-    ],-    "issued": {-      "date-parts": [-        [-          2015-        ]-      ]-    }-  },-  {-    "id": "diaz2016",-    "type": "article-journal",-    "title": "<i>Woman</i> as a Politically Significant Term: A Solution to the Puzzle",-    "container-title": "Hypatia",-    "page": "245-258",-    "URL": "http://onlinelibrary.wiley.com.uaccess.univie.ac.at/doi/10.1111/hypa.12234/abstract",-    "DOI": "10.1111/hypa.12234",-    "ISSN": "1527-2001",-    "title-short": "<i>Woman</i> as a Politically Significant Term",-    "language": "en",-    "author": [-      {-        "family": "Díaz-León",-        "given": "Esa"-      }-    ],-    "issued": {-      "date-parts": [-        [-          2016,-          2,-          1-        ]-      ]-    },-    "accessed": {-      "date-parts": [-        [-          2016,-          2,-          18-        ]-      ]-    },-    "container-title-short": "Hypatia"-  }-]-<<===== INPUT =====<<--->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
− test/extra/issue61.txt
@@ -1,66 +0,0 @@-Special treatment for literal "others" when it occurs as-the last name in the list, using localized et al.-->>===== MODE =====>>-bibliography-<<===== MODE =====<<--->>===== RESULT =====>>-<div class="csl-bib-body">-  <div class="csl-entry">John Doe et al.</div>-</div>-<<===== RESULT =====<<--->>===== CSL =====>>-<style -      xmlns="http://purl.org/net/xbiblio/csl"-      class="note"-      version="1.0">-  <info>-    <id />-    <title />-    <updated>2009-08-10T04:49:00+09:00</updated>-  </info>-  <citation>-    <layout>-      <text value="Oops"/>-    </layout>-  </citation>-  <bibliography>-    <layout>-      <group delimiter=", ">-        <names variable="author">-          <name et-al-min="5" et-al-use-first="5"/>-        </names>-      </group>-    </layout>-  </bibliography>-</style>-<<===== CSL =====<<--->>===== INPUT =====>>-[-    {-        "author": [-            {-                "family": "Doe",-                "given": "John"-            },-            {-                "literal": "others"-            }-        ],-        "id": "ITEM-1",-        "type": "book"-    }-]-<<===== INPUT =====<<--->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-
+ test/extra/issue_19.txt view
@@ -0,0 +1,244 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+  <div class="csl-entry">Díaz-León, E. (2013). What Is Social Construction? Eur J Philos 1–16.</div>+  <div class="csl-entry">Díaz-León, E. (2015). In Defence of Historical Constructivism about Races. Ergo, an Open Access Journal of Philosophy <i>2</i>.</div>+  <div class="csl-entry">Díaz-León, E. (2016). &#60;i&#62;Wo&#62; as a Politically Significant Term: A Solution to the Puzzle. Hypatia 245–258.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="en-US" demote-non-dropping-particle="sort-only" page-range-format="expanded">+  <info>+    <title>Cell</title>+    <id>http://www.zotero.org/styles/cell</id>+    <link href="http://www.zotero.org/styles/cell" rel="self"/>+    <link href="http://www.cell.com/authors" rel="documentation"/>+    <author>+      <name>Adam Mark</name>+      <email>a.mark@uoguelph.ca</email>+    </author>+    <contributor>+      <name>Julian Onions</name>+      <email>julian.onions@gmail.com</email>+    </contributor>+    <contributor>+      <name>Aurimas Vinckevicius</name>+      <email>aurimas.dev@gmail.com</email>+    </contributor>+    <category citation-format="author-date"/>+    <category field="biology"/>+    <issn>0092-8674</issn>+    <eissn>1097-4172</eissn>+    <summary>The Cell journal style. Original by Julian Onions.</summary>+    <updated>2013-01-26T22:06:38+00:00</updated>+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+  </info>+  <macro name="author-short">+    <names variable="author">+      <name form="short" and="text"/>+    </names>+  </macro>+  <macro name="author-count">+    <names variable="author">+      <name form="count"/>+    </names>+  </macro>+  <macro name="author">+    <names variable="author">+      <name name-as-sort-order="all" initialize-with="." and="text" delimiter-precedes-last="always"/>+    </names>+  </macro>+  <macro name="issued">+    <date variable="issued">+      <date-part name="year"/>+    </date>+  </macro>+  <macro name="publisher">+    <group prefix="(" delimiter=": " suffix=")">+      <text variable="publisher-place"/>+      <text variable="publisher"/>+    </group>+  </macro>+  <macro name="editor">+    <names variable="editor">+      <name initialize-with="." and="text" delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+    <sort>+      <key macro="author-short" names-min="1" names-use-first="1"/>+      <key macro="author-count" names-min="3" names-use-first="3"/>+      <key macro="author" names-min="3" names-use-first="1"/>+      <key macro="issued"/>+      <key variable="title"/>+    </sort>+    <layout prefix="(" suffix=")" delimiter="; ">+      <group delimiter=", ">+        <text macro="author-short"/>+        <text macro="issued"/>+      </group>+    </layout>+  </citation>+  <bibliography et-al-min="11" et-al-use-first="10">+    <sort>+      <key macro="author-short" names-min="1" names-use-first="1"/>+      <key macro="author-count" names-min="3" names-use-first="3"/>+      <key macro="author" names-min="3" names-use-first="1"/>+      <key macro="issued"/>+    </sort>+    <layout suffix=".">+      <group delimiter=" ">+        <text macro="author"/>+        <text macro="issued" prefix="(" suffix=")."/>+        <choose>+          <if type="article article-magazine article-newspaper article-journal review" match="any">+            <text variable="title" suffix="."/>+            <text variable="container-title" form="short" text-case="title"/>+            <group delimiter=", ">+              <text variable="volume" font-style="italic"/>+              <text variable="page"/>+            </group>+          </if>+          <else-if type="chapter paper-conference" match="any">+            <text variable="title" suffix="."/>+            <text variable="container-title" prefix="In " suffix="," text-case="title"/>+            <text macro="editor"/>+            <text macro="publisher" suffix=","/>+            <label variable="page" form="short"/>+            <text variable="page"/>+          </else-if>+          <else-if type="thesis">+            <text variable="title" suffix="."/>+            <text variable="genre" suffix="."/>+            <text variable="publisher"/>+          </else-if>+          <else>+            <text variable="title"/>+            <text macro="publisher"/>+          </else>+        </choose>+      </group>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<+++++>>===== INPUT =====>>+[+  {+    "id": "diaz2013",+    "type": "article-journal",+    "title": "What Is Social Construction?",+    "container-title": "European Journal of Philosophy",+    "page": "1-16",+    "URL": "http://onlinelibrary.wiley.com/doi/10.1111/ejop.12033/abstract",+    "DOI": "10.1111/ejop.12033",+    "ISSN": "1468-0378",+    "language": "en",+    "author": [+      {+        "family": "Díaz-León",+        "given": "Esa"+      }+    ],+    "issued": {+      "date-parts": [+        [+          2013,+          5,+          1+        ]+      ]+    },+    "accessed": {+      "date-parts": [+        [+          2015,+          11,+          14+        ]+      ]+    },+    "container-title-short": "Eur J Philos"+  },+  {+    "id": "diaz2015",+    "type": "article-journal",+    "title": "In Defence of Historical Constructivism about Races",+    "container-title": "Ergo, an Open Access Journal of Philosophy",+    "volume": "2",+    "URL": "http://hdl.handle.net/2027/spo.12405314.0002.021",+    "DOI": "10.3998/ergo.12405314.0002.021",+    "ISSN": "2330-4014",+    "author": [+      {+        "family": "Díaz-León",+        "given": "Esa"+      }+    ],+    "issued": {+      "date-parts": [+        [+          2015+        ]+      ]+    }+  },+  {+    "id": "diaz2016",+    "type": "article-journal",+    "title": "<i>Wo> as a Politically Significant Term: A Solution to the Puzzle",+    "container-title": "Hypatia",+    "page": "245-258",+    "URL": "http://onlinelibrary.wiley.com.uaccess.univie.ac.at/doi/10.1111/hypa.12234/abstract",+    "DOI": "10.1111/hypa.12234",+    "ISSN": "1527-2001",+    "title-short": "<i>Woman</i> as a Politically Significant Term",+    "language": "en",+    "author": [+      {+        "family": "Díaz-León",+        "given": "Esa"+      }+    ],+    "issued": {+      "date-parts": [+        [+          2016,+          2,+          1+        ]+      ]+    },+    "accessed": {+      "date-parts": [+        [+          2016,+          2,+          18+        ]+      ]+    },+    "container-title-short": "Hypatia"+  }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_22.txt view
@@ -0,0 +1,540 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+<sup>1</sup>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">+  <info>+    <title>Vancouver (superscript)</title>+    <id>http://www.zotero.org/styles/vancouver-superscript</id>+    <link href="http://www.zotero.org/styles/vancouver-superscript" rel="self"/>+    <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>+    <author>+      <name>Michael Berkowitz</name>+      <email>mberkowi@gmu.edu</email>+    </author>+    <contributor>+      <name>Sean Takats</name>+      <email>stakats@gmu.edu</email>+    </contributor>+    <contributor>+      <name>Sebastian Karcher</name>+    </contributor>+    <category citation-format="numeric"/>+    <category field="medicine"/>+    <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>+    <updated>2012-09-27T22:06:38+00:00</updated>+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+  </info>+  <locale xml:lang="en">+    <date form="text" delimiter=" ">+      <date-part name="year"/>+      <date-part name="month" form="short" strip-periods="true"/>+      <date-part name="day"/>+    </date>+    <terms>+      <term name="collection-editor" form="long">+        <single>editor</single>+        <multiple>editors</multiple>+      </term>+      <term name="presented at">presented at</term>+      <term name="available at">available from</term>+      <term name="section" form="short">sect.</term>+    </terms>+  </locale>+  <locale xml:lang="fr">+    <date form="text" delimiter=" ">+      <date-part name="day"/>+      <date-part name="month" form="short" strip-periods="true"/>+      <date-part name="year"/>+    </date>+  </locale>+  <macro name="author">+    <names variable="author">+      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+      <label form="long" prefix=", "/>+      <substitute>+        <names variable="editor"/>+      </substitute>+    </names>+  </macro>+  <macro name="editor">+    <names variable="editor" suffix=".">+      <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+      <label form="long" prefix=", "/>+    </names>+  </macro>+  <macro name="chapter-marker">+    <choose>+      <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+        <text term="in" text-case="capitalize-first"/>+      </if>+    </choose>+  </macro>+  <macro name="publisher">+    <choose>+      <!--discard publisher info for articles-->+      <if type="article-journal article-magazine article-newspaper" match="none">+        <group delimiter=": " suffix=";">+          <choose>+            <if type="thesis">+              <text variable="publisher-place" prefix="[" suffix="]"/>+            </if>+            <else-if type="speech"/>+            <else>+              <text variable="publisher-place"/>+            </else>+          </choose>+          <text variable="publisher"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="access">+    <choose>+      <if variable="URL">+        <group delimiter=": ">+          <text term="available at" text-case="capitalize-first"/>+          <text variable="URL"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="accessed-date">+    <choose>+      <if variable="URL">+        <group prefix="[" suffix="]" delimiter=" ">+          <text term="cited" text-case="lowercase"/>+          <date variable="accessed" form="text"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="container-title">+    <choose>+      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">+        <group suffix="." delimiter=" ">+          <choose>+            <if type="article-journal review review-book" match="any">+              <text variable="container-title" form="short" strip-periods="true"/>+            </if>+            <else>+              <text variable="container-title" strip-periods="true"/>+            </else>+          </choose>+          <choose>+            <if variable="URL">+              <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>+            </if>+          </choose>+        </group>+        <text macro="edition" prefix=" "/>+      </if>+      <!--add event-name and event-place once they become available-->+      <else-if type="bill legislation" match="any">+        <group delimiter=", ">+          <group delimiter=". ">+            <text variable="container-title"/>+            <group delimiter=" ">+              <text term="section" form="short" text-case="capitalize-first"/>+              <text variable="section"/>+            </group>+          </group>+          <text variable="number"/>+        </group>+      </else-if>+      <else-if type="speech">+        <group delimiter=": " suffix=";">+          <group delimiter=" ">+            <text variable="genre" text-case="capitalize-first"/>+            <text term="presented at"/>+          </group>+          <text variable="event"/>+        </group>+      </else-if>+      <else>+        <group delimiter=", " suffix=".">+          <choose>+            <if variable="collection-title" match="none">+              <group delimiter=" ">+                <label variable="volume" form="short" text-case="capitalize-first"/>+                <text variable="volume"/>+              </group>+            </if>+          </choose>+          <text variable="container-title"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="title">+    <text variable="title"/>+    <choose>+      <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">+        <choose>+          <if variable="URL">+            <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>+          </if>+        </choose>+        <text macro="edition" prefix=". "/>+      </if>+    </choose>+    <choose>+      <if type="thesis">+        <text variable="genre" prefix=" [" suffix="]"/>+      </if>+    </choose>+  </macro>+  <macro name="edition">+    <choose>+      <if is-numeric="edition">+        <group delimiter=" ">+          <number variable="edition" form="ordinal"/>+          <text term="edition" form="short"/>+        </group>+      </if>+      <else>+        <text variable="edition" suffix="."/>+      </else>+    </choose>+  </macro>+  <macro name="date">+    <choose>+      <if type="article-journal article-magazine article-newspaper review review-book" match="any">+        <group suffix=";" delimiter=" ">+          <date variable="issued" form="text"/>+          <text macro="accessed-date"/>+        </group>+      </if>+      <else-if type="bill legislation" match="any">+        <group delimiter=", ">+          <date variable="issued" delimiter=" ">+            <date-part name="month" form="short" strip-periods="true"/>+            <date-part name="day"/>+          </date>+          <date variable="issued">+            <date-part name="year"/>+          </date>+        </group>+      </else-if>+      <else-if type="report">+        <date variable="issued" delimiter=" ">+          <date-part name="year"/>+          <date-part name="month" form="short" strip-periods="true"/>+        </date>+        <text macro="accessed-date" prefix=" "/>+      </else-if>+      <else-if type="patent">+        <group suffix=".">+          <group delimiter=", ">+            <text variable="number"/>+            <date variable="issued">+              <date-part name="year"/>+            </date>+          </group>+          <text macro="accessed-date" prefix=" "/>+        </group>+      </else-if>+      <else-if type="speech">+        <group delimiter="; ">+          <group delimiter=" ">+            <date variable="issued" delimiter=" ">+              <date-part name="year"/>+              <date-part name="month" form="short" strip-periods="true"/>+              <date-part name="day"/>+            </date>+            <text macro="accessed-date"/>+          </group>+          <text variable="event-place"/>+        </group>+      </else-if>+      <else>+        <group suffix=".">+          <date variable="issued">+            <date-part name="year"/>+          </date>+          <text macro="accessed-date" prefix=" "/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="pages">+    <choose>+      <if type="article-journal article-magazine article-newspaper review review-book" match="any">+        <text variable="page" prefix=":"/>+      </if>+      <else-if type="book" match="any">+        <text variable="number-of-pages" prefix=" "/>+        <choose>+          <if is-numeric="number-of-pages">+            <label variable="number-of-pages" form="short" prefix=" " plural="never"/>+          </if>+        </choose>+      </else-if>+      <else>+        <group prefix=" " delimiter=" ">+          <label variable="page" form="short" plural="never"/>+          <text variable="page"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="journal-location">+    <choose>+      <if type="article-journal article-magazine review review-book" match="any">+        <text variable="volume"/>+        <text variable="issue" prefix="(" suffix=")"/>+      </if>+    </choose>+  </macro>+  <macro name="collection-details">+    <choose>+      <if type="article-journal article-magazine article-newspaper review review-book" match="none">+        <choose>+          <if variable="collection-title">+            <group delimiter=" " prefix="(" suffix=")">+              <names variable="collection-editor" suffix=".">+                <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+                <label form="long" prefix=", "/>+              </names>+              <group delimiter="; ">+                <text variable="collection-title"/>+                <group delimiter=" ">+                  <label variable="volume" form="short"/>+                  <text variable="volume"/>+                </group>+              </group>+            </group>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="report-details">+    <choose>+      <if type="report">+        <text variable="number" prefix="Report No.: "/>+      </if>+    </choose>+  </macro>+  <citation collapse="citation-number">+    <sort>+      <key variable="citation-number"/>+    </sort>+    <layout delimiter="," vertical-align="sup">+      <text variable="citation-number"/>+    </layout>+  </citation>+  <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">+    <layout>+      <text variable="citation-number" suffix=". "/>+      <group delimiter=". " suffix=". ">+        <text macro="author"/>+        <text macro="title"/>+      </group>+      <group delimiter=" " suffix=". ">+        <group delimiter=": ">+          <text macro="chapter-marker"/>+          <group delimiter=" ">+            <text macro="editor"/>+            <text macro="container-title"/>+          </group>+        </group>+        <text macro="publisher"/>+        <group>+          <text macro="date"/>+          <text macro="journal-location"/>+          <text macro="pages"/>+        </group>+      </group>+      <text macro="collection-details" suffix=". "/>+      <text macro="report-details" suffix=". "/>+      <text macro="access"/>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+  {+    "URL": "https://global.ihs.com/doc_detail.cfm?&rid=TIA&item_s_key=00125234&item_key_date=870024&input_doc_number=232&input_doc_title=&org_code=TIA",+    "author": [+      {+        "literal": "Telecommunications Industry Association"+      }+    ],+    "edition": "Revision F",+    "id": "tia232",+    "issued": {+      "date-parts": [+        [+          1997,+          10+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "54",+    "publisher": "Telecommunications Industry Association",+    "title": "TIA-232 Interface Between Data Terminal Equipment and Data Circuit- Terminating Equipment Employing Serial Binary Data Interchange",+    "title-short": "TIA-232-F",+    "type": "book"+  },+  {+    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-1:ed-1:v1:en",+    "author": [+      {+        "literal": "ISO/IEC Joint Technical Committee 1"+      }+    ],+    "id": "iso/iec11172-1",+    "issued": {+      "date-parts": [+        [+          1993,+          8+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "6",+    "publisher": "International Organization for Standardization",+    "title": "ISO/IEC 11172-1 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 1: Systems",+    "title-short": "ISO/IEC 11172-1:1993(E)",+    "type": "book"+  },+  {+    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-2:ed-1:v1:en",+    "author": [+      {+        "literal": "ISO/IEC Joint Technical Committee 1"+      }+    ],+    "id": "iso/iec11172-2",+    "issued": {+      "date-parts": [+        [+          1993,+          8+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "112",+    "publisher": "International Organization for Standardization",+    "title": "ISO/IEC 11172-2 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 2: Video",+    "title-short": "ISO/IEC 11172-2:1993(E)",+    "type": "book"+  },+  {+    "URL": "https://www.iso.org/obp/ui/#iso:std:iso-iec:11172:-3:ed-1:v1:en",+    "author": [+      {+        "literal": "ISO/IEC Joint Technical Committee 1"+      }+    ],+    "id": "iso/iec11172-3",+    "issued": {+      "date-parts": [+        [+          1993,+          8+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "150",+    "publisher": "International Organization for Standardization",+    "title": "ISO/IEC 11172-3 Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 3: Audio",+    "title-short": "ISO/IEC 11172-3:1993(E)",+    "type": "book"+  },+  {+    "URL": "https://www.iso.org/standard/75928.html",+    "author": [+      {+        "literal": "ISO/IEC Joint Technical Committee 1"+      }+    ],+    "edition": "7",+    "id": "iso/iec13818-1",+    "issued": {+      "date-parts": [+        [+          2019,+          7+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "288",+    "publisher": "International Organization for Standardization",+    "title": "ISO/IEC 13818-1 Information technology — Generic coding of moving pictures and associated audio information — Part 1: Systems",+    "title-short": "ISO/IEC 13818-1:2019(E)",+    "type": "book"+  },+  {+    "URL": "https://gwg.nga.mil/misb/docs/standards/ST1602.1.pdf",+    "author": [+      {+        "literal": "Motion Imagery Standards Board"+      }+    ],+    "edition": "1",+    "id": "misbst1602",+    "issued": {+      "date-parts": [+        [+          2018,+          11+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "19",+    "publisher": "Motion Imagery Standards Board",+    "title": "MISB ST 1602 Composite Imaging Local Set",+    "title-short": "MISB ST 1602",+    "type": "book"+  },+  {+    "URL": "https://www.gwg.nga.mil/misb/docs/standards/ST0603.5.pdf",+    "author": [+      {+        "literal": "Motion Imagery Standards Board"+      }+    ],+    "edition": "5",+    "id": "msibst0603",+    "issued": {+      "date-parts": [+        [+          2017,+          10+        ]+      ]+    },+    "language": "en",+    "number-of-pages": "8",+    "title": "MISB ST 0603 MISP Time System and Timestamps",+    "title-short": "MISB ST 0603",+    "type": "book"+  }+]+<<===== INPUT =====<<+++>>===== CITATION-ITEMS =====>>+[[{"id":"misbst1602"}]]+<<===== CITATION-ITEMS =====<<++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_27.txt view
@@ -0,0 +1,690 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+  <div class="csl-entry">Doe, John. n.d. <i>Fruits (Apples, Pears, Oranges) and Veggies</i>.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>++<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+  <info>+    <title>Chicago Manual of Style 17th edition (author-date)</title>+    <id>http://www.zotero.org/styles/chicago-author-date</id>+    <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+    <author>+      <name>Julian Onions</name>+      <email>julian.onions@gmail.com</email>+    </author>+    <contributor>+      <name>Sebastian Karcher</name>+    </contributor>+    <contributor>+      <name>Richard Karnesky</name>+      <email>karnesky+zotero@gmail.com</email>+      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+    </contributor>+    <contributor>+      <name>Andrew Dunning</name>+      <email>andrew.dunning@utoronto.ca</email>+      <uri>https://orcid.org/0000-0003-0464-5036</uri>+    </contributor>+    <contributor>+      <name>Matthew Roth</name>+      <email>matthew.g.roth@yale.edu</email>+      <uri> https://orcid.org/0000-0001-7902-6331</uri>+    </contributor>+    <category citation-format="author-date"/>+    <category field="generic-base"/>+    <summary>The author-date variant of the Chicago style</summary>+    <updated>2018-01-24T12:00:00+00:00</updated>+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+  </info>+  <locale xml:lang="en">+    <terms>+      <term name="editor" form="verb-short">ed.</term>+      <term name="container-author" form="verb">by</term>+      <term name="translator" form="verb-short">trans.</term>+      <term name="editortranslator" form="verb">edited and translated by</term>+      <term name="translator" form="short">trans.</term>+    </terms>+  </locale>+  <macro name="secondary-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">+        <group delimiter=". ">+          <names variable="editor translator" delimiter=". ">+            <label form="verb" text-case="capitalize-first" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+          <names variable="director" delimiter=". ">+            <label form="verb" text-case="capitalize-first" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="container-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <group prefix=", " delimiter=", ">+          <names variable="container-author" delimiter=", ">+            <label form="verb" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+          <names variable="editor translator" delimiter=", ">+            <label form="verb" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="editor">+    <names variable="editor">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <macro name="translator">+    <names variable="translator">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <macro name="recipient">+    <choose>+      <if type="personal_communication">+        <choose>+          <if variable="genre">+            <text variable="genre" text-case="capitalize-first"/>+          </if>+          <else>+            <text term="letter" text-case="capitalize-first"/>+          </else>+        </choose>+      </if>+    </choose>+    <names variable="recipient" delimiter=", ">+      <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="substitute-title">+    <choose>+      <if type="article-magazine article-newspaper review review-book" match="any">+        <text macro="container-title"/>+      </if>+    </choose>+  </macro>+  <macro name="contributors">+    <group delimiter=". ">+      <names variable="author">+        <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+        <label form="short" prefix=", "/>+        <substitute>+          <names variable="editor"/>+          <names variable="translator"/>+          <names variable="director"/>+          <text macro="substitute-title"/>+          <text macro="title"/>+        </substitute>+      </names>+      <text macro="recipient"/>+    </group>+  </macro>+  <macro name="contributors-short">+    <names variable="author">+      <name form="short" and="text" delimiter=", " initialize-with=". "/>+      <substitute>+        <names variable="editor"/>+        <names variable="translator"/>+        <names variable="director"/>+        <text macro="substitute-title"/>+        <text macro="title"/>+      </substitute>+    </names>+  </macro>+  <macro name="interviewer">+    <names variable="interviewer" delimiter=", ">+      <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="archive">+    <group delimiter=". ">+      <text variable="archive_location" text-case="capitalize-first"/>+      <text variable="archive"/>+      <text variable="archive-place"/>+    </group>+  </macro>+  <macro name="access">+    <group delimiter=". ">+      <choose>+        <if type="graphic report" match="any">+          <text macro="archive"/>+        </if>+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+          <text macro="archive"/>+        </else-if>+      </choose>+      <choose>+        <if type="webpage post-weblog" match="any">+          <date variable="issued" form="text"/>+        </if>+      </choose>+      <choose>+        <if variable="issued" match="none">+          <group delimiter=" ">+            <text term="accessed" text-case="capitalize-first"/>+            <date variable="accessed" form="text"/>+          </group>+        </if>+      </choose>+      <choose>+        <if type="legal_case" match="none">+          <choose>+            <if variable="DOI">+              <text variable="DOI" prefix="https://doi.org/"/>+            </if>+            <else>+              <text variable="URL"/>+            </else>+          </choose>+        </if>+      </choose>+    </group>+  </macro>+  <macro name="title">+    <choose>+      <if variable="title" match="none">+        <choose>+          <if type="personal_communication" match="none">+            <text variable="genre" text-case="capitalize-first"/>+          </if>+        </choose>+      </if>+      <else-if type="bill book graphic legislation motion_picture song" match="any">+        <text variable="title" text-case="title" font-style="italic"/>+        <group prefix=" (" suffix=")" delimiter=" ">+          <text term="version"/>+          <text variable="version"/>+        </group>+      </else-if>+      <else-if variable="reviewed-author">+        <choose>+          <if variable="reviewed-title">+            <group delimiter=". ">+              <text variable="title" text-case="title" quotes="true"/>+              <group delimiter=", ">+                <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+                <names variable="reviewed-author">+                  <label form="verb-short" text-case="lowercase" suffix=" "/>+                  <name and="text" delimiter=", "/>+                </names>+              </group>+            </group>+          </if>+          <else>+            <group delimiter=", ">+              <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+              <names variable="reviewed-author">+                <label form="verb-short" text-case="lowercase" suffix=" "/>+                <name and="text" delimiter=", "/>+              </names>+            </group>+          </else>+        </choose>+      </else-if>+      <else-if type="legal_case interview patent" match="any">+        <text variable="title"/>+      </else-if>+      <else>+        <text variable="title" text-case="title" quotes="true"/>+      </else>+    </choose>+  </macro>+  <macro name="edition">+    <choose>+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" " prefix=". ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short" strip-periods="true"/>+            </group>+          </if>+          <else>+            <text variable="edition" text-case="capitalize-first" prefix=". "/>+          </else>+        </choose>+      </if>+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" " prefix=", ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short"/>+            </group>+          </if>+          <else>+            <text variable="edition" prefix=", "/>+          </else>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators">+    <choose>+      <if type="article-journal">+        <choose>+          <if variable="volume">+            <text variable="volume" prefix=" "/>+            <group prefix=" (" suffix=")">+              <choose>+                <if variable="issue">+                  <text variable="issue"/>+                </if>+                <else>+                  <date variable="issued">+                    <date-part name="month"/>+                  </date>+                </else>+              </choose>+            </group>+          </if>+          <else-if variable="issue">+            <group delimiter=" " prefix=", ">+              <text term="issue" form="short"/>+              <text variable="issue"/>+              <date variable="issued" prefix="(" suffix=")">+                <date-part name="month"/>+              </date>+            </group>+          </else-if>+          <else>+            <date variable="issued" prefix=", ">+              <date-part name="month"/>+            </date>+          </else>+        </choose>+      </if>+      <else-if type="legal_case">+        <text variable="volume" prefix=", "/>+        <text variable="container-title" prefix=" "/>+        <text variable="page" prefix=" "/>+      </else-if>+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+        <group prefix=". " delimiter=". ">+          <group>+            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+            <number variable="volume" form="numeric"/>+          </group>+          <group>+            <number variable="number-of-volumes" form="numeric"/>+            <text term="volume" form="short" prefix=" " plural="true"/>+          </group>+        </group>+      </else-if>+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if variable="page" match="none">+            <group prefix=". ">+              <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+              <number variable="volume" form="numeric"/>+            </group>+          </if>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-chapter">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if variable="page">+            <group prefix=", ">+              <text variable="volume" suffix=":"/>+              <text variable="page"/>+            </group>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-article">+    <choose>+      <if type="article-newspaper">+        <group prefix=", " delimiter=", ">+          <group delimiter=" ">+            <text variable="edition"/>+            <text term="edition"/>+          </group>+          <group>+            <text term="section" form="short" suffix=" "/>+            <text variable="section"/>+          </group>+        </group>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume issue" match="any">+            <text variable="page" prefix=": "/>+          </if>+          <else>+            <text variable="page" prefix=", "/>+          </else>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="point-locators">+    <choose>+      <if variable="locator">+        <choose>+          <if locator="page" match="none">+            <choose>+              <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+                <choose>+                  <if variable="volume">+                    <group>+                      <text term="volume" form="short" suffix=" "/>+                      <number variable="volume" form="numeric"/>+                      <label variable="locator" form="short" prefix=", " suffix=" "/>+                    </group>+                  </if>+                  <else>+                    <label variable="locator" form="short" suffix=" "/>+                  </else>+                </choose>+              </if>+              <else>+                <label variable="locator" form="short" suffix=" "/>+              </else>+            </choose>+          </if>+          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+            <number variable="volume" form="numeric" suffix=":"/>+          </else-if>+        </choose>+        <text variable="locator"/>+      </if>+    </choose>+  </macro>+  <macro name="container-prefix">+    <text term="in" text-case="capitalize-first"/>+  </macro>+  <macro name="container-title">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <text macro="container-prefix" suffix=" "/>+      </if>+    </choose>+    <choose>+      <if type="webpage">+        <text variable="container-title" text-case="title"/>+      </if>+      <else-if type="legal_case" match="none">+        <group delimiter=" ">+          <text variable="container-title" text-case="title" font-style="italic"/>+          <choose>+            <if type="post-weblog">+              <text value="(blog)"/>+            </if>+          </choose>+        </group>+      </else-if>+    </choose>+  </macro>+  <macro name="publisher">+    <group delimiter=": ">+      <text variable="publisher-place"/>+      <text variable="publisher"/>+    </group>+  </macro>+  <macro name="date">+    <choose>+      <if variable="issued">+        <group delimiter=" ">+          <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+          <date variable="issued">+            <date-part name="year"/>+          </date>+        </group>+      </if>+      <else-if variable="status">+        <text variable="status" text-case="capitalize-first"/>+      </else-if>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+  </macro>+  <macro name="date-in-text">+    <choose>+      <if variable="issued">+        <group delimiter=" ">+          <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+          <date variable="issued">+            <date-part name="year"/>+          </date>+        </group>+      </if>+      <else-if variable="status">+        <text variable="status"/>+      </else-if>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+  </macro>+  <macro name="day-month">+    <date variable="issued">+      <date-part name="month"/>+      <date-part name="day" prefix=" "/>+    </date>+  </macro>+  <macro name="collection-title">+    <choose>+      <if match="none" type="article-journal">+        <choose>+          <if match="none" is-numeric="collection-number">+            <group delimiter=", ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </if>+          <else>+            <group delimiter=" ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="collection-title-journal">+    <choose>+      <if type="article-journal">+        <group delimiter=" ">+          <text variable="collection-title"/>+          <text variable="collection-number"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="event">+    <group>+      <text term="presented at" suffix=" "/>+      <text variable="event"/>+    </group>+  </macro>+  <macro name="description">+    <choose>+      <if type="interview">+        <group delimiter=". ">+          <text macro="interviewer"/>+          <text variable="medium" text-case="capitalize-first"/>+        </group>+      </if>+      <else-if type="patent">+        <group delimiter=" " prefix=". ">+          <text variable="authority"/>+          <text variable="number"/>+        </group>+      </else-if>+      <else>+        <text variable="medium" text-case="capitalize-first" prefix=". "/>+      </else>+    </choose>+    <choose>+      <if variable="title" match="none"/>+      <else-if type="thesis personal_communication speech" match="any"/>+      <else>+        <group delimiter=" " prefix=". ">+          <text variable="genre" text-case="capitalize-first"/>+          <choose>+            <if type="report">+              <text variable="number"/>+            </if>+          </choose>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="issue">+    <choose>+      <if type="legal_case">+        <text variable="authority" prefix=". "/>+      </if>+      <else-if type="speech">+        <group prefix=". " delimiter=", ">+          <group delimiter=" ">+            <text variable="genre" text-case="capitalize-first"/>+            <text macro="event"/>+          </group>+          <text variable="event-place"/>+          <text macro="day-month"/>+        </group>+      </else-if>+      <else-if type="article-newspaper article-magazine personal_communication" match="any">+        <date variable="issued" form="text" prefix=", "/>+      </else-if>+      <else-if type="patent">+        <group delimiter=", " prefix=", ">+          <group delimiter=" ">+            <!--Needs Localization-->+            <text value="filed"/>+            <date variable="submitted" form="text"/>+          </group>+          <group delimiter=" ">+            <choose>+              <if variable="issued submitted" match="all">+                <text term="and"/>+              </if>+            </choose>+            <!--Needs Localization-->+            <text value="issued"/>+            <date variable="issued" form="text"/>+          </group>+        </group>+      </else-if>+      <else-if type="article-journal" match="any"/>+      <else>+        <group prefix=". " delimiter=", ">+          <choose>+            <if type="thesis">+              <text variable="genre" text-case="capitalize-first"/>+            </if>+          </choose>+          <text macro="publisher"/>+        </group>+      </else>+    </choose>+  </macro>+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">+    <layout prefix="(" suffix=")" delimiter="; ">+      <group delimiter=", ">+        <choose>+          <if variable="issued accessed" match="any">+            <group delimiter=" ">+              <text macro="contributors-short"/>+              <text macro="date-in-text"/>+            </group>+          </if>+          <!---comma before forthcoming and n.d.-->+          <else>+            <group delimiter=", ">+              <text macro="contributors-short"/>+              <text macro="date-in-text"/>+            </group>+          </else>+        </choose>+        <text macro="point-locators"/>+      </group>+    </layout>+  </citation>+  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">+    <sort>+      <key macro="contributors"/>+      <key variable="issued"/>+      <key variable="title"/>+    </sort>+    <layout suffix=".">+      <group delimiter=". ">+        <text macro="contributors"/>+        <text macro="date"/>+        <text macro="title"/>+      </group>+      <text macro="description"/>+      <text macro="secondary-contributors" prefix=". "/>+      <text macro="container-title" prefix=". "/>+      <text macro="container-contributors"/>+      <text macro="edition"/>+      <text macro="locators-chapter"/>+      <text macro="collection-title-journal" prefix=", " suffix=", "/>+      <text macro="locators"/>+      <text macro="collection-title" prefix=". "/>+      <text macro="issue"/>+      <text macro="locators-article"/>+      <text macro="access" prefix=". "/>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<+++++>>===== INPUT =====>>+[+  {+    "author": [+      {+        "family": "Doe",+        "given": "John"+      }+    ],+    "id": "doeA",+    "title": "Fruits (apples, pears, oranges) and veggies",+    "type": "book"+  }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_37.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+J. Doe+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0.1" name-form="long" initialize-with=".&#xa0;"> <!-- with a non-breakable space after the dot in initialize-with value -->+    <citation>+    <layout>+      <names variable="author">+        <name>+          <name-part name="given" form="short"/>+        </name>+      </names>+    </layout>+    </citation>+    <bibliography/>+</style>+<<===== CSL =====<<++>>==== CITATION-ITEMS ====>>+[+    [+        {+            "id": "doeA"+        }+    ]+]+<<==== CITATION-ITEMS ====<<+++>>===== INPUT =====>>+[+  {+    "author": [+      {+        "family": "Doe",+        "given": "John"+      }+    ],+    "id": "doeA",+    "title": "Fruits",+    "type": "book"+  }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_38.txt view
@@ -0,0 +1,721 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Díaz-León 2016; 2015, 333)+(Díaz-León 2016, 333; 2015)+<<===== RESULT =====<<+++>>===== CSL =====>>++<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+  <info>+    <title>Chicago Manual of Style 17th edition (author-date)</title>+    <id>http://www.zotero.org/styles/chicago-author-date</id>+    <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+    <author>+      <name>Julian Onions</name>+      <email>julian.onions@gmail.com</email>+    </author>+    <contributor>+      <name>Sebastian Karcher</name>+    </contributor>+    <contributor>+      <name>Richard Karnesky</name>+      <email>karnesky+zotero@gmail.com</email>+      <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+    </contributor>+    <contributor>+      <name>Andrew Dunning</name>+      <email>andrew.dunning@utoronto.ca</email>+      <uri>https://orcid.org/0000-0003-0464-5036</uri>+    </contributor>+    <contributor>+      <name>Matthew Roth</name>+      <email>matthew.g.roth@yale.edu</email>+      <uri> https://orcid.org/0000-0001-7902-6331</uri>+    </contributor>+    <category citation-format="author-date"/>+    <category field="generic-base"/>+    <summary>The author-date variant of the Chicago style</summary>+    <updated>2018-01-24T12:00:00+00:00</updated>+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+  </info>+  <locale xml:lang="en">+    <terms>+      <term name="editor" form="verb-short">ed.</term>+      <term name="container-author" form="verb">by</term>+      <term name="translator" form="verb-short">trans.</term>+      <term name="editortranslator" form="verb">edited and translated by</term>+      <term name="translator" form="short">trans.</term>+    </terms>+  </locale>+  <macro name="secondary-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">+        <group delimiter=". ">+          <names variable="editor translator" delimiter=". ">+            <label form="verb" text-case="capitalize-first" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+          <names variable="director" delimiter=". ">+            <label form="verb" text-case="capitalize-first" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="container-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <group prefix=", " delimiter=", ">+          <names variable="container-author" delimiter=", ">+            <label form="verb" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+          <names variable="editor translator" delimiter=", ">+            <label form="verb" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="editor">+    <names variable="editor">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <macro name="translator">+    <names variable="translator">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <macro name="recipient">+    <choose>+      <if type="personal_communication">+        <choose>+          <if variable="genre">+            <text variable="genre" text-case="capitalize-first"/>+          </if>+          <else>+            <text term="letter" text-case="capitalize-first"/>+          </else>+        </choose>+      </if>+    </choose>+    <names variable="recipient" delimiter=", ">+      <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="substitute-title">+    <choose>+      <if type="article-magazine article-newspaper review review-book" match="any">+        <text macro="container-title"/>+      </if>+    </choose>+  </macro>+  <macro name="contributors">+    <group delimiter=". ">+      <names variable="author">+        <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+        <label form="short" prefix=", "/>+        <substitute>+          <names variable="editor"/>+          <names variable="translator"/>+          <names variable="director"/>+          <text macro="substitute-title"/>+          <text macro="title"/>+        </substitute>+      </names>+      <text macro="recipient"/>+    </group>+  </macro>+  <macro name="contributors-short">+    <names variable="author">+      <name form="short" and="text" delimiter=", " initialize-with=". "/>+      <substitute>+        <names variable="editor"/>+        <names variable="translator"/>+        <names variable="director"/>+        <text macro="substitute-title"/>+        <text macro="title"/>+      </substitute>+    </names>+  </macro>+  <macro name="interviewer">+    <names variable="interviewer" delimiter=", ">+      <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="archive">+    <group delimiter=". ">+      <text variable="archive_location" text-case="capitalize-first"/>+      <text variable="archive"/>+      <text variable="archive-place"/>+    </group>+  </macro>+  <macro name="access">+    <group delimiter=". ">+      <choose>+        <if type="graphic report" match="any">+          <text macro="archive"/>+        </if>+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+          <text macro="archive"/>+        </else-if>+      </choose>+      <choose>+        <if type="webpage post-weblog" match="any">+          <date variable="issued" form="text"/>+        </if>+      </choose>+      <choose>+        <if variable="issued" match="none">+          <group delimiter=" ">+            <text term="accessed" text-case="capitalize-first"/>+            <date variable="accessed" form="text"/>+          </group>+        </if>+      </choose>+      <choose>+        <if type="legal_case" match="none">+          <choose>+            <if variable="DOI">+              <text variable="DOI" prefix="https://doi.org/"/>+            </if>+            <else>+              <text variable="URL"/>+            </else>+          </choose>+        </if>+      </choose>+    </group>+  </macro>+  <macro name="title">+    <choose>+      <if variable="title" match="none">+        <choose>+          <if type="personal_communication" match="none">+            <text variable="genre" text-case="capitalize-first"/>+          </if>+        </choose>+      </if>+      <else-if type="bill book graphic legislation motion_picture song" match="any">+        <text variable="title" text-case="title" font-style="italic"/>+        <group prefix=" (" suffix=")" delimiter=" ">+          <text term="version"/>+          <text variable="version"/>+        </group>+      </else-if>+      <else-if variable="reviewed-author">+        <choose>+          <if variable="reviewed-title">+            <group delimiter=". ">+              <text variable="title" text-case="title" quotes="true"/>+              <group delimiter=", ">+                <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+                <names variable="reviewed-author">+                  <label form="verb-short" text-case="lowercase" suffix=" "/>+                  <name and="text" delimiter=", "/>+                </names>+              </group>+            </group>+          </if>+          <else>+            <group delimiter=", ">+              <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+              <names variable="reviewed-author">+                <label form="verb-short" text-case="lowercase" suffix=" "/>+                <name and="text" delimiter=", "/>+              </names>+            </group>+          </else>+        </choose>+      </else-if>+      <else-if type="legal_case interview patent" match="any">+        <text variable="title"/>+      </else-if>+      <else>+        <text variable="title" text-case="title" quotes="true"/>+      </else>+    </choose>+  </macro>+  <macro name="edition">+    <choose>+      <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" " prefix=". ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short" strip-periods="true"/>+            </group>+          </if>+          <else>+            <text variable="edition" text-case="capitalize-first" prefix=". "/>+          </else>+        </choose>+      </if>+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" " prefix=", ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short"/>+            </group>+          </if>+          <else>+            <text variable="edition" prefix=", "/>+          </else>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators">+    <choose>+      <if type="article-journal">+        <choose>+          <if variable="volume">+            <text variable="volume" prefix=" "/>+            <group prefix=" (" suffix=")">+              <choose>+                <if variable="issue">+                  <text variable="issue"/>+                </if>+                <else>+                  <date variable="issued">+                    <date-part name="month"/>+                  </date>+                </else>+              </choose>+            </group>+          </if>+          <else-if variable="issue">+            <group delimiter=" " prefix=", ">+              <text term="issue" form="short"/>+              <text variable="issue"/>+              <date variable="issued" prefix="(" suffix=")">+                <date-part name="month"/>+              </date>+            </group>+          </else-if>+          <else>+            <date variable="issued" prefix=", ">+              <date-part name="month"/>+            </date>+          </else>+        </choose>+      </if>+      <else-if type="legal_case">+        <text variable="volume" prefix=", "/>+        <text variable="container-title" prefix=" "/>+        <text variable="page" prefix=" "/>+      </else-if>+      <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+        <group prefix=". " delimiter=". ">+          <group>+            <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+            <number variable="volume" form="numeric"/>+          </group>+          <group>+            <number variable="number-of-volumes" form="numeric"/>+            <text term="volume" form="short" prefix=" " plural="true"/>+          </group>+        </group>+      </else-if>+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if variable="page" match="none">+            <group prefix=". ">+              <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+              <number variable="volume" form="numeric"/>+            </group>+          </if>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-chapter">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if variable="page">+            <group prefix=", ">+              <text variable="volume" suffix=":"/>+              <text variable="page"/>+            </group>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-article">+    <choose>+      <if type="article-newspaper">+        <group prefix=", " delimiter=", ">+          <group delimiter=" ">+            <text variable="edition"/>+            <text term="edition"/>+          </group>+          <group>+            <text term="section" form="short" suffix=" "/>+            <text variable="section"/>+          </group>+        </group>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume issue" match="any">+            <text variable="page" prefix=": "/>+          </if>+          <else>+            <text variable="page" prefix=", "/>+          </else>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="point-locators">+    <choose>+      <if variable="locator">+        <choose>+          <if locator="page" match="none">+            <choose>+              <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+                <choose>+                  <if variable="volume">+                    <group>+                      <text term="volume" form="short" suffix=" "/>+                      <number variable="volume" form="numeric"/>+                      <label variable="locator" form="short" prefix=", " suffix=" "/>+                    </group>+                  </if>+                  <else>+                    <label variable="locator" form="short" suffix=" "/>+                  </else>+                </choose>+              </if>+              <else>+                <label variable="locator" form="short" suffix=" "/>+              </else>+            </choose>+          </if>+          <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+            <number variable="volume" form="numeric" suffix=":"/>+          </else-if>+        </choose>+        <text variable="locator"/>+      </if>+    </choose>+  </macro>+  <macro name="container-prefix">+    <text term="in" text-case="capitalize-first"/>+  </macro>+  <macro name="container-title">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <text macro="container-prefix" suffix=" "/>+      </if>+    </choose>+    <choose>+      <if type="webpage">+        <text variable="container-title" text-case="title"/>+      </if>+      <else-if type="legal_case" match="none">+        <group delimiter=" ">+          <text variable="container-title" text-case="title" font-style="italic"/>+          <choose>+            <if type="post-weblog">+              <text value="(blog)"/>+            </if>+          </choose>+        </group>+      </else-if>+    </choose>+  </macro>+  <macro name="publisher">+    <group delimiter=": ">+      <text variable="publisher-place"/>+      <text variable="publisher"/>+    </group>+  </macro>+  <macro name="date">+    <choose>+      <if variable="issued">+        <group delimiter=" ">+          <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+          <date variable="issued">+            <date-part name="year"/>+          </date>+        </group>+      </if>+      <else-if variable="status">+        <text variable="status" text-case="capitalize-first"/>+      </else-if>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+  </macro>+  <macro name="date-in-text">+    <choose>+      <if variable="issued">+        <group delimiter=" ">+          <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+          <date variable="issued">+            <date-part name="year"/>+          </date>+        </group>+      </if>+      <else-if variable="status">+        <text variable="status"/>+      </else-if>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+  </macro>+  <macro name="day-month">+    <date variable="issued">+      <date-part name="month"/>+      <date-part name="day" prefix=" "/>+    </date>+  </macro>+  <macro name="collection-title">+    <choose>+      <if match="none" type="article-journal">+        <choose>+          <if match="none" is-numeric="collection-number">+            <group delimiter=", ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </if>+          <else>+            <group delimiter=" ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="collection-title-journal">+    <choose>+      <if type="article-journal">+        <group delimiter=" ">+          <text variable="collection-title"/>+          <text variable="collection-number"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="event">+    <group>+      <text term="presented at" suffix=" "/>+      <text variable="event"/>+    </group>+  </macro>+  <macro name="description">+    <choose>+      <if type="interview">+        <group delimiter=". ">+          <text macro="interviewer"/>+          <text variable="medium" text-case="capitalize-first"/>+        </group>+      </if>+      <else-if type="patent">+        <group delimiter=" " prefix=". ">+          <text variable="authority"/>+          <text variable="number"/>+        </group>+      </else-if>+      <else>+        <text variable="medium" text-case="capitalize-first" prefix=". "/>+      </else>+    </choose>+    <choose>+      <if variable="title" match="none"/>+      <else-if type="thesis personal_communication speech" match="any"/>+      <else>+        <group delimiter=" " prefix=". ">+          <text variable="genre" text-case="capitalize-first"/>+          <choose>+            <if type="report">+              <text variable="number"/>+            </if>+          </choose>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="issue">+    <choose>+      <if type="legal_case">+        <text variable="authority" prefix=". "/>+      </if>+      <else-if type="speech">+        <group prefix=". " delimiter=", ">+          <group delimiter=" ">+            <text variable="genre" text-case="capitalize-first"/>+            <text macro="event"/>+          </group>+          <text variable="event-place"/>+          <text macro="day-month"/>+        </group>+      </else-if>+      <else-if type="article-newspaper article-magazine personal_communication" match="any">+        <date variable="issued" form="text" prefix=", "/>+      </else-if>+      <else-if type="patent">+        <group delimiter=", " prefix=", ">+          <group delimiter=" ">+            <!--Needs Localization-->+            <text value="filed"/>+            <date variable="submitted" form="text"/>+          </group>+          <group delimiter=" ">+            <choose>+              <if variable="issued submitted" match="all">+                <text term="and"/>+              </if>+            </choose>+            <!--Needs Localization-->+            <text value="issued"/>+            <date variable="issued" form="text"/>+          </group>+        </group>+      </else-if>+      <else-if type="article-journal" match="any"/>+      <else>+        <group prefix=". " delimiter=", ">+          <choose>+            <if type="thesis">+              <text variable="genre" text-case="capitalize-first"/>+            </if>+          </choose>+          <text macro="publisher"/>+        </group>+      </else>+    </choose>+  </macro>+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">+    <layout prefix="(" suffix=")" delimiter="; ">+      <group delimiter=", ">+        <choose>+          <if variable="issued accessed" match="any">+            <group delimiter=" ">+              <text macro="contributors-short"/>+              <text macro="date-in-text"/>+            </group>+          </if>+          <!---comma before forthcoming and n.d.-->+          <else>+            <group delimiter=", ">+              <text macro="contributors-short"/>+              <text macro="date-in-text"/>+            </group>+          </else>+        </choose>+        <text macro="point-locators"/>+      </group>+    </layout>+  </citation>+  <bibliography/>+</style>+<<===== CSL =====<<+++>>===== CITATION-ITEMS =====>>+[ [ {"id":"diaz2016"},+{"id":"diaz2015","locator":"333","label":"page"} ],+  [ {"id":"diaz2016","locator":"333","label":"page"},+    {"id":"diaz2015"} ]+]+<<===== CITATION-ITEMS =====<<++++>>===== INPUT =====>>+[+  {+    "id": "diaz2015",+    "type": "article-journal",+    "title": "In Defence of Historical Constructivism about Races",+    "container-title": "Ergo, an Open Access Journal of Philosophy",+    "volume": "2",+    "URL": "http://hdl.handle.net/2027/spo.12405314.0002.021",+    "DOI": "10.3998/ergo.12405314.0002.021",+    "ISSN": "2330-4014",+    "author": [+      {+        "family": "Díaz-León",+        "given": "Esa"+      }+    ],+    "issued": {+      "date-parts": [+        [+          2015+        ]+      ]+    }+  },+  {+    "id": "diaz2016",+    "type": "article-journal",+    "title": "<i>Woman</i> as a Politically Significant Term: A Solution to the Puzzle",+    "container-title": "Hypatia",+    "page": "245-258",+    "URL": "http://onlinelibrary.wiley.com.uaccess.univie.ac.at/doi/10.1111/hypa.12234/abstract",+    "DOI": "10.1111/hypa.12234",+    "ISSN": "1527-2001",+    "title-short": "<i>Woman</i> as a Politically Significant Term",+    "language": "en",+    "author": [+      {+        "family": "Díaz-León",+        "given": "Esa"+      }+    ],+    "issued": {+      "date-parts": [+        [+          2016,+          2,+          1+        ]+      ]+    },+    "accessed": {+      "date-parts": [+        [+          2016,+          2,+          18+        ]+      ]+    },+    "container-title-short": "Hypatia"+  }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_61.txt view
@@ -0,0 +1,66 @@+Special treatment for literal "others" when it occurs as+the last name in the list, using localized et al.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+  <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style +      xmlns="http://purl.org/net/xbiblio/csl"+      class="note"+      version="1.0">+  <info>+    <id />+    <title />+    <updated>2009-08-10T04:49:00+09:00</updated>+  </info>+  <citation>+    <layout>+      <text value="Oops"/>+    </layout>+  </citation>+  <bibliography>+    <layout>+      <group delimiter=", ">+        <names variable="author">+          <name et-al-min="5" et-al-use-first="5"/>+        </names>+      </group>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+    {+        "author": [+            {+                "family": "Doe",+                "given": "John"+            },+            {+                "literal": "others"+            }+        ],+        "id": "ITEM-1",+        "type": "book"+    }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_74.txt view
@@ -0,0 +1,111 @@+Special treatment for literal "others" when it occurs as+the last name in the list, using localized et al.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+  <div class="csl-entry">S Gosling, H Müller Schmied, R Betts, J Chang, P Ciais, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style +      xmlns="http://purl.org/net/xbiblio/csl"+      class="note"+      version="1.0">+  <info>+    <id />+    <title />+    <updated>2009-08-10T04:49:00+09:00</updated>+  </info>+  <citation>+    <layout>+      <text value="Oops"/>+    </layout>+  </citation>+  <bibliography>+    <layout>+      <group delimiter=", ">+        <names variable="author">+          <name et-al-min="5" et-al-use-first="5"/>+        </names>+      </group>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+  {+    "author": [+      {+        "family": "Gosling",+        "given": "S"+      },+      {+        "family": "Müller Schmied",+        "given": "H"+      },+      {+        "family": "Betts",+        "given": "R"+      },+      {+        "family": "Chang",+        "given": "J"+      },+      {+        "family": "Ciais",+        "given": "P"+      },+      {+        "family": "Dankers",+        "given": "R"+      },+      {+        "family": "Döll",+        "given": "P"+      },+      {+        "family": "Eisner",+        "given": "S"+      },+      {+        "family": "Flörke",+        "given": "M"+      },+      {+        "family": "Gerten",+        "given": "D"+      },+      {+        "literal": "others"+      }+    ],+    "container-title": "GFZ Data Services",+    "id": "gosling2017isimip2a",+    "issued": {+      "date-parts": [+        [+          2017+        ]+      ]+    },+    "title": "ISIMIP2a simulation data from water (global) sector",+    "type": "article-journal"+  }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/issue_pandoc6813.txt view
@@ -0,0 +1,1472 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+Doe, <i>Title A</i>.+Doe, <i>Title B</i>.+Doe, <i>Title B</i>.+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+  <info>+    <title>Chicago Manual of Style 17th edition (note)</title>+    <id>http://www.zotero.org/styles/chicago-note-bibliography</id>+    <link href="http://www.zotero.org/styles/chicago-note-bibliography" rel="self"/>+    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+    <author>+      <name>Julian Onions</name>+      <email>julian.onions@gmail.com</email>+    </author>+    <contributor>+      <name>Simon Kornblith</name>+      <email>simon@simonster.com</email>+    </contributor>+    <contributor>+      <name>Elena Razlogova</name>+      <email>elena.razlogova@gmail.com</email>+    </contributor>+    <contributor>+      <name>Frank Bennett</name>+      <email>biercenator@gmail.com</email>+    </contributor>+    <contributor>+      <name>Andrew Dunning</name>+      <email>andrew.dunning@utoronto.ca</email>+    </contributor>+    <contributor>+      <name>Sebastian Karcher</name>+    </contributor>+    <contributor>+      <name>Brenton M. Wiernik</name>+    </contributor>+    <category citation-format="note"/>+    <category field="generic-base"/>+    <summary>Chicago format with short notes and bibliography</summary>+    <updated>2017-10-12T12:00:00+00:00</updated>+    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+  </info>+  <locale xml:lang="en">+    <terms>+      <term name="editor" form="verb-short">ed.</term>+      <term name="translator" form="verb-short">trans.</term>+      <term name="translator" form="short">trans.</term>+      <term name="editortranslator" form="verb-short">ed. and trans.</term>+      <term name="editortranslator" form="verb">Edited and translated by</term>+      <term name="translator" form="short">trans.</term>+    </terms>+  </locale>+  <macro name="editor-translator">+    <group delimiter=", ">+      <group delimiter=" ">+        <choose>+          <if variable="container-author reviewed-author" match="any">+            <group>+              <names variable="container-author reviewed-author">+                <label form="verb-short" text-case="lowercase" suffix=" "/>+                <name and="text" delimiter=", "/>+              </names>+            </group>+          </if>+        </choose>+      </group>+      <names variable="editor translator" delimiter=", ">+        <label form="verb-short" text-case="lowercase" suffix=" "/>+        <name and="text" delimiter=", "/>+      </names>+    </group>+  </macro>+  <macro name="secondary-contributors-note">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">+        <text macro="editor-translator"/>+      </if>+    </choose>+  </macro>+  <macro name="container-contributors-note">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <text macro="editor-translator"/>+      </if>+    </choose>+  </macro>+  <macro name="secondary-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">+        <names variable="editor translator" delimiter=". ">+          <label form="verb" text-case="capitalize-first" suffix=" "/>+          <name and="text" delimiter=", "/>+        </names>+      </if>+    </choose>+  </macro>+  <macro name="container-contributors">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <group delimiter=", ">+          <choose>+            <if variable="author">+              <choose>+                <if variable="container-author" match="any">+                  <names variable="container-author">+                    <label form="verb-short" text-case="lowercase" suffix=" "/>+                    <name and="text" delimiter=", "/>+                  </names>+                </if>+              </choose>+              <!--This includes page numers after the container author, e.g. for Introductions -->+              <choose>+                <if variable="container-author author" match="all">+                  <group delimiter=". ">+                    <text variable="page"/>+                    <names variable="editor translator" delimiter=", ">+                      <label form="verb" suffix=" "/>+                      <name and="text" delimiter=", "/>+                    </names>+                  </group>+                </if>+                <else>+                  <names variable="editor translator" delimiter=", ">+                    <label form="verb" text-case="lowercase" suffix=" "/>+                    <name and="text" delimiter=", "/>+                  </names>+                </else>+              </choose>+            </if>+          </choose>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="recipient-note">+    <names variable="recipient" delimiter=", ">+      <label form="verb" text-case="lowercase" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="contributors-note">+    <group delimiter=" ">+      <names variable="author">+        <name and="text" sort-separator=", " delimiter=", "/>+        <label form="short" prefix=", "/>+        <substitute>+          <names variable="editor"/>+          <names variable="translator"/>+        </substitute>+      </names>+      <text macro="recipient-note"/>+    </group>+  </macro>+  <macro name="editor">+    <names variable="editor">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="short" prefix=", "/>+    </names>+  </macro>+  <macro name="translator">+    <names variable="translator">+      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <label form="verb-short" prefix=", "/>+    </names>+  </macro>+  <macro name="recipient">+    <group delimiter=" ">+      <choose>+        <if type="personal_communication">+          <choose>+            <if variable="genre">+              <text variable="genre" text-case="capitalize-first"/>+            </if>+            <else>+              <text term="letter" text-case="capitalize-first"/>+            </else>+          </choose>+        </if>+      </choose>+      <text macro="recipient-note"/>+    </group>+  </macro>+  <macro name="contributors">+    <group delimiter=". ">+      <names variable="author">+        <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+        <substitute>+          <text macro="editor"/>+          <text macro="translator"/>+          <choose>+            <if type="webpage post-weblog" match="any">+              <text variable="container-title"/>+            </if>+          </choose>+        </substitute>+      </names>+      <text macro="recipient"/>+    </group>+  </macro>+  <macro name="recipient-short">+    <names variable="recipient">+      <label form="verb" text-case="lowercase" suffix=" "/>+      <name form="short" and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="contributors-short">+    <group delimiter=" ">+      <names variable="author">+        <name form="short" and="text" delimiter=", "/>+        <substitute>+          <names variable="editor"/>+          <names variable="translator"/>+        </substitute>+      </names>+      <text macro="recipient-short"/>+    </group>+  </macro>+  <macro name="contributors-sort">+    <names variable="author">+      <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+      <substitute>+        <names variable="editor"/>+        <names variable="translator"/>+        <text macro="title"/>+      </substitute>+    </names>+  </macro>+  <macro name="interviewer-note">+    <names variable="interviewer" delimiter=", ">+      <label form="verb" text-case="lowercase" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="interviewer">+    <names variable="interviewer" delimiter=", ">+      <label form="verb" text-case="capitalize-first" suffix=" "/>+      <name and="text" delimiter=", "/>+    </names>+  </macro>+  <macro name="title-note">+    <choose>+      <if variable="title" match="none">+        <text variable="genre"/>+      </if>+      <else-if type="book graphic map motion_picture song" match="any">+        <text variable="title" text-case="title" font-style="italic"/>+        <group delimiter=" " prefix=", ">+          <text term="version"/>+          <text variable="version"/>+        </group>+      </else-if>+      <else-if type="legal_case interview patent" match="any">+        <text variable="title"/>+      </else-if>+      <else-if variable="reviewed-author">+        <text variable="title" font-style="italic" prefix="review of "/>+      </else-if>+      <else>+        <text variable="title" text-case="title" quotes="true"/>+      </else>+    </choose>+  </macro>+  <macro name="title">+    <choose>+      <if variable="title" match="none">+        <choose>+          <if type="personal_communication" match="none">+            <text variable="genre" text-case="capitalize-first"/>+          </if>+        </choose>+      </if>+      <else-if type="book graphic motion_picture song" match="any">+        <text variable="title" text-case="title" font-style="italic"/>+        <group prefix=" (" suffix=")" delimiter=" ">+          <text term="version"/>+          <text variable="version"/>+        </group>+      </else-if>+      <else-if variable="reviewed-author">+        <group delimiter=", ">+          <text variable="title" font-style="italic" prefix="Review of "/>+          <names variable="reviewed-author">+            <label form="verb-short" text-case="lowercase" suffix=" "/>+            <name and="text" delimiter=", "/>+          </names>+        </group>+      </else-if>+      <else-if type="bill legislation legal_case interview patent" match="any">+        <text variable="title"/>+      </else-if>+      <else>+        <text variable="title" text-case="title" quotes="true"/>+      </else>+    </choose>+  </macro>+  <macro name="title-short">+    <choose>+      <if variable="title" match="none">+        <choose>+          <if type="interview">+            <text term="interview"/>+          </if>+          <else-if type="manuscript speech" match="any">+            <text variable="genre" form="short"/>+          </else-if>+        </choose>+      </if>+      <else-if type="book graphic motion_picture song" match="any">+        <text variable="title" text-case="title" form="short" font-style="italic"/>+      </else-if>+      <else-if type="legal_case" variable="title-short" match="all">+        <text variable="title" font-style="italic" form="short"/>+      </else-if>+      <else-if type="patent interview" match="any">+        <text variable="title" form="short"/>+      </else-if>+      <else-if type="legal_case bill legislation" match="any">+        <text variable="title"/>+      </else-if>+      <else>+        <text variable="title" text-case="title" form="short" quotes="true"/>+      </else>+    </choose>+  </macro>+  <macro name="date-disambiguate">+    <choose>+      <if disambiguate="true" type="personal_communication" match="any">+        <text macro="issued"/>+      </if>+    </choose>+  </macro>+  <macro name="description-note">+    <group delimiter=", ">+      <text macro="interviewer-note"/>+      <text variable="medium"/>+      <choose>+        <if variable="title" match="none"/>+        <else-if type="manuscript thesis speech" match="any"/>+        <else-if type="patent">+          <group delimiter=" ">+            <text variable="authority"/>+            <text variable="number"/>+          </group>+        </else-if>+        <else>+          <text variable="genre"/>+        </else>+      </choose>+      <choose>+        <if type="map">+          <text variable="scale"/>+        </if>+        <else-if type="graphic">+          <text variable="dimensions"/>+        </else-if>+      </choose>+    </group>+  </macro>+  <macro name="description">+    <group delimiter=", ">+      <group delimiter=". ">+        <text macro="interviewer"/>+        <text variable="medium" text-case="capitalize-first"/>+      </group>+      <choose>+        <if variable="title" match="none"/>+        <else-if type="thesis speech" match="any"/>+        <else-if type="patent">+          <group delimiter=" ">+            <text variable="authority"/>+            <text variable="number"/>+          </group>+        </else-if>+        <else>+          <text variable="genre" text-case="capitalize-first"/>+        </else>+      </choose>+      <choose>+        <if type="map">+          <text variable="scale"/>+        </if>+        <else-if type="graphic">+          <text variable="dimensions"/>+        </else-if>+      </choose>+    </group>+  </macro>+  <macro name="container-title-note">+    <group delimiter=" ">+      <choose>+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+          <text term="in"/>+        </if>+      </choose>+      <choose>+        <if type="webpage">+          <text variable="container-title"/>+        </if>+        <else-if type="post-weblog">+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>+        </else-if>+        <else-if type="bill legislation legal_case" match="none">+          <text variable="container-title" text-case="title" font-style="italic"/>+        </else-if>+      </choose>+    </group>+  </macro>+  <macro name="container-title">+    <group delimiter=" ">+      <choose>+        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+          <text term="in" text-case="capitalize-first"/>+        </if>+      </choose>+      <choose>+        <if type="webpage">+          <text variable="container-title"/>+        </if>+        <else-if type="post-weblog">+          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>+        </else-if>+        <else-if type="bill legislation legal_case" match="none">+          <text variable="container-title" text-case="title" font-style="italic"/>+        </else-if>+      </choose>+    </group>+  </macro>+  <macro name="collection-title">+    <choose>+      <if match="none" type="article-journal">+        <choose>+          <if match="none" is-numeric="collection-number">+            <group delimiter=", ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </if>+          <else>+            <group delimiter=" ">+              <text variable="collection-title" text-case="title"/>+              <text variable="collection-number"/>+            </group>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="collection-title-journal">+    <choose>+      <if type="article-journal">+        <group delimiter=" ">+          <text variable="collection-title"/>+          <text variable="collection-number"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="edition-note">+    <choose>+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short"/>+            </group>+          </if>+          <else>+            <text variable="edition"/>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="edition">+    <choose>+      <if type="book chapter graphic motion_picture paper-conference report song" match="any">+        <choose>+          <if is-numeric="edition">+            <group delimiter=" ">+              <number variable="edition" form="ordinal"/>+              <text term="edition" form="short"/>+            </group>+          </if>+          <else>+            <text variable="edition" text-case="capitalize-first" suffix="."/>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-note-join-with-space">+    <choose>+      <if type="article-journal" variable="volume" match="all">+        <choose>+          <if match="none" variable="collection-title">+            <text macro="locators-note"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-note-join-with-comma">+    <choose>+      <if type="article-journal" match="none">+        <text macro="locators-note"/>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume" match="none">+            <text macro="locators-note"/>+          </if>+          <else-if match="any" variable="collection-title">+            <text macro="locators-note"/>+          </else-if>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-note">+    <choose>+      <if type="article-journal">+        <group delimiter=", ">+          <text macro="collection-title-journal"/>+          <text variable="volume"/>+          <group delimiter=" ">+            <text term="issue" form="short"/>+            <text variable="issue"/>+          </group>+        </group>+      </if>+      <else-if type="bill legislation legal_case" match="any">+        <text macro="legal-cites"/>+      </else-if>+      <else-if type="book chapter graphic motion_picture paper-conference report song" match="any">+        <group delimiter=", ">+          <text macro="edition-note"/>+          <group delimiter=" ">+            <text term="volume" form="short"/>+            <number variable="volume" form="numeric"/>+          </group>+          <choose>+            <if variable="locator" match="none">+              <group delimiter=" ">+                <number variable="number-of-volumes" form="numeric"/>+                <text term="volume" form="short" plural="true"/>+              </group>+            </if>+          </choose>+        </group>+      </else-if>+    </choose>+  </macro>+  <macro name="legal-cites">+    <choose>+      <if type="legal_case" match="any">+        <group delimiter=" ">+          <choose>+            <if variable="container-title">+              <text variable="volume"/>+              <text variable="container-title"/>+              <group delimiter=" ">+                <!--change to label variable="section" as that becomes available -->+                <text term="section" form="symbol"/>+                <text variable="section"/>+              </group>+              <text variable="page"/>+            </if>+            <else>+              <text variable="number" prefix="No. "/>+            </else>+          </choose>+        </group>+      </if>+      <else-if type="bill legislation" match="any">+        <group delimiter=", ">+          <choose>+            <if variable="number">+              <!--There's a public law number-->+              <text variable="number" prefix="Pub. L. No. "/>+              <group delimiter=" ">+                <!--change to label variable="section" as that becomes available -->+                <text term="section" form="symbol"/>+                <text variable="section"/>+              </group>+              <group delimiter=" ">+                <text variable="volume"/>+                <text variable="container-title"/>+                <text variable="page-first"/>+              </group>+            </if>+            <else>+              <group delimiter=" ">+                <text variable="volume"/>+                <text variable="container-title"/>+                <!--change to label variable="section" as that becomes available -->+                <text term="section" form="symbol"/>+                <text variable="section"/>+              </group>+            </else>+          </choose>+        </group>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-join-with-space">+    <choose>+      <if type="article-journal" variable="volume" match="all">+        <choose>+          <if match="none" variable="collection-title">+            <text macro="locators"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-join-with-comma">+    <choose>+      <if type="bill chapter legislation legal_case paper-conference" match="any">+        <text macro="locators"/>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume" match="none">+            <text macro="locators"/>+          </if>+          <else-if match="any" variable="collection-title">+            <text macro="locators"/>+          </else-if>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-join-with-period">+    <choose>+      <if type="bill legislation legal_case article-journal chapter paper-conference" match="none">+        <text macro="locators"/>+      </if>+    </choose>+  </macro>+  <macro name="locators">+    <choose>+      <if type="article-journal">+        <group delimiter=", ">+          <text macro="collection-title-journal"/>+          <text variable="volume"/>+          <group delimiter=" ">+            <text term="issue" form="short"/>+            <text variable="issue"/>+          </group>+        </group>+      </if>+      <else-if type="bill legislation legal_case" match="any">+        <text macro="legal-cites"/>+      </else-if>+      <else-if type="book graphic motion_picture report song" match="any">+        <group delimiter=". ">+          <text macro="edition"/>+          <group delimiter=" ">+            <text term="volume" form="short" text-case="capitalize-first"/>+            <number variable="volume" form="numeric"/>+          </group>+          <group delimiter=" ">+            <number variable="number-of-volumes" form="numeric"/>+            <text term="volume" form="short" plural="true"/>+          </group>+        </group>+      </else-if>+      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <group delimiter=". ">+          <text macro="edition"/>+          <choose>+            <if variable="page" match="none">+              <group delimiter=" ">+                <text term="volume" form="short" text-case="capitalize-first"/>+                <number variable="volume" form="numeric"/>+              </group>+            </if>+          </choose>+        </group>+      </else-if>+    </choose>+  </macro>+  <macro name="locators-newspaper">+    <choose>+      <if type="article-newspaper">+        <group delimiter=", ">+          <group delimiter=" ">+            <number variable="edition"/>+            <text term="edition"/>+          </group>+          <group delimiter=" ">+            <text term="section" form="short"/>+            <text variable="section"/>+          </group>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="event-note">+    <text variable="event"/>+  </macro>+  <macro name="event">+    <choose>+      <if variable="title">+        <group delimiter=" ">+          <choose>+            <if variable="genre">+              <text term="presented at"/>+            </if>+            <else>+              <text term="presented at" text-case="capitalize-first"/>+            </else>+          </choose>+          <text variable="event"/>+        </group>+      </if>+      <else>+        <group delimiter=" ">+          <text term="presented at" text-case="capitalize-first"/>+          <text variable="event"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="originally-published">+    <group delimiter=", ">+      <group delimiter=": ">+        <text variable="original-publisher-place"/>+        <text variable="original-publisher"/>+      </group>+      <choose>+        <if is-uncertain-date="original-date">+          <date variable="original-date" form="numeric" date-parts="year" prefix="[" suffix="?]"/>+        </if>+        <else>+          <date variable="original-date" form="numeric" date-parts="year"/>+        </else>+      </choose>+    </group>+  </macro>+  <macro name="reprint-note">+    <!--needs localization-->+    <choose>+      <if variable="original-date issued" match="all">+        <choose>+          <!--for whatever reason in notes, when we have both original and new publishers, reprint doesn't appear-->+          <if variable="original-publisher original-publisher-place" match="none">+            <text value="repr."/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="reprint">+    <!--needs localization-->+    <choose>+      <if variable="original-date issued" match="all">+        <text value="reprint" text-case="capitalize-first"/>+      </if>+    </choose>+  </macro>+  <macro name="publisher">+    <choose>+      <if type="thesis">+        <text variable="publisher"/>+      </if>+      <else-if type="speech">+        <text variable="event-place"/>+      </else-if>+      <else>+        <group delimiter=": ">+          <text variable="publisher-place"/>+          <text variable="publisher"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="issued">+    <choose>+      <if variable="issued">+        <choose>+          <if type="legal_case">+            <group delimiter=" ">+              <text variable="authority"/>+              <choose>+                <if variable="container-title" match="any">+                  <!--Only print year for cases published in reporters-->+                  <date variable="issued" form="numeric" date-parts="year"/>+                </if>+                <else>+                  <date variable="issued" form="text"/>+                </else>+              </choose>+            </group>+          </if>+          <else-if type="book bill chapter  legislation motion_picture paper-conference song thesis" match="any">+            <choose>+              <if is-uncertain-date="issued">+                <date variable="issued" form="numeric" date-parts="year" prefix="[" suffix="?]"/>+              </if>+              <else>+                <date variable="issued" form="numeric" date-parts="year"/>+              </else>+            </choose>+          </else-if>+          <else-if type="patent">+            <group delimiter=", ">+              <group delimiter=" ">+                <!--Needs Localization-->+                <text value="filed"/>+                <date variable="submitted" form="text"/>+              </group>+              <group delimiter=" ">+                <choose>+                  <if variable="issued submitted" match="all">+                    <text term="and"/>+                  </if>+                </choose>+                <!--Needs Localization-->+                <text value="issued"/>+                <date variable="issued" form="text"/>+              </group>+            </group>+          </else-if>+          <else>+            <choose>+              <if is-uncertain-date="issued">+                <date variable="issued" form="text" prefix="[" suffix="?]"/>+              </if>+              <else>+                <date variable="issued" form="text"/>+              </else>+            </choose>+          </else>+        </choose>+      </if>+      <else-if variable="status">+        <text variable="status"/>+      </else-if>+      <else-if variable="accessed URL" match="all"/>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+  </macro>+  <macro name="point-locators-subsequent">+    <choose>+      <if type="legal_case" variable="locator" match="all">+        <choose>+          <if locator="page">+            <group delimiter=":">+              <text variable="volume"/>+              <text variable="locator"/>+            </group>+          </if>+          <else>+            <group delimiter=" ">+              <label variable="locator" form="short"/>+              <text variable="locator"/>+            </group>+          </else>+        </choose>+      </if>+      <else-if variable="locator">+        <choose>+          <if locator="page" match="none">+            <group delimiter=" ">+              <choose>+                <if type="book graphic motion_picture report song" match="any">+                  <choose>+                    <if variable="volume">+                      <group delimiter=", ">+                        <group delimiter=" ">+                          <text term="volume" form="short"/>+                          <number variable="volume" form="numeric"/>+                        </group>+                        <label variable="locator" form="short"/>+                      </group>+                    </if>+                    <else>+                      <label variable="locator" form="short"/>+                    </else>+                  </choose>+                </if>+                <else>+                  <label variable="locator" form="short"/>+                </else>+              </choose>+              <text variable="locator"/>+            </group>+          </if>+          <else-if type="book graphic motion_picture report song" match="any">+            <group delimiter=":">+              <number variable="volume" form="numeric"/>+              <text variable="locator"/>+            </group>+          </else-if>+          <else>+            <text variable="locator"/>+          </else>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="point-locators-join-with-colon">+    <choose>+      <if type="article-journal">+        <choose>+          <if variable="locator page" match="any">+            <choose>+              <if variable="volume issue" match="any">+                <text macro="point-locators"/>+              </if>+            </choose>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="point-locators-join-with-comma">+    <choose>+      <if type="article-journal" match="none">+        <text macro="point-locators"/>+      </if>+      <else-if variable="volume issue" match="none">+        <text macro="point-locators"/>+      </else-if>+    </choose>+  </macro>+  <macro name="point-locators">+    <choose>+      <if variable="locator" match="none">+        <choose>+          <if type="article-journal chapter paper-conference" match="any">+            <text variable="page"/>+          </if>+        </choose>+      </if>+      <else-if type="article-journal">+        <group delimiter=" ">+          <choose>+            <if locator="page" match="none">+              <label variable="locator" form="short" suffix=" "/>+            </if>+          </choose>+          <text variable="locator"/>+        </group>+      </else-if>+      <else-if type="legal_case"/>+      <else>+        <group delimiter=" ">+          <choose>+            <if locator="page" match="none">+              <label variable="locator" form="short"/>+            </if>+          </choose>+          <text variable="locator"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="locators-chapter">+    <choose>+      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+        <choose>+          <if variable="author container-author" match="all"/>+          <else>+            <choose>+              <if variable="page">+                <text variable="volume" suffix=":"/>+                <text variable="page"/>+              </if>+            </choose>+          </else>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-journal-join-with-colon">+    <choose>+      <if type="article-journal">+        <choose>+          <if variable="volume issue" match="any">+            <text variable="page"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="locators-journal-join-with-comma">+    <choose>+      <if type="article-journal">+        <choose>+          <if variable="volume issue" match="none">+            <text variable="page"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="archive-note">+    <choose>+      <if type="thesis">+        <group delimiter=" ">+          <text variable="archive"/>+          <text variable="archive_location" prefix="(" suffix=")"/>+        </group>+      </if>+      <else>+        <group delimiter=", ">+          <text variable="archive_location"/>+          <text variable="archive"/>+          <text variable="archive-place"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="archive">+    <choose>+      <if type="thesis">+        <group delimiter=" ">+          <text variable="archive"/>+          <text variable="archive_location" prefix="(" suffix=")"/>+        </group>+      </if>+      <else>+        <group delimiter=". ">+          <text variable="archive_location" text-case="capitalize-first"/>+          <text variable="archive"/>+          <text variable="archive-place"/>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="issue-note-join-with-space">+    <choose>+      <if type="article-journal bill legislation legal_case manuscript thesis" variable="publisher-place event-place publisher" match="any">+        <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->+        <choose>+          <if type="article-newspaper" match="none">+            <choose>+              <if type="article-journal" match="none">+                <text macro="issue-note"/>+              </if>+              <else-if variable="issue volume" match="any">+                <text macro="issue-note"/>+              </else-if>+            </choose>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="issue-note-join-with-comma">+    <choose>+      <if type="article-journal bill legislation legal_case manuscript speech thesis" variable="publisher-place publisher" match="none">+        <text macro="issue-note"/>+      </if>+      <else-if type="article-newspaper">+        <text macro="issue-note"/>+      </else-if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume issue" match="none">+            <text macro="issue-note"/>+          </if>+        </choose>+      </else-if>+    </choose>+  </macro>+  <macro name="issue-map-graphic">+    <!--See CMoS 17th ed. 14.235 and 14.237-->+    <choose>+      <if type="graphic map" match="any">+        <choose>+          <if variable="publisher publisher-place" match="none">+            <text macro="issued"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="issue-note">+    <choose>+      <if type="bill legislation legal_case" match="any">+        <text macro="issued" prefix="(" suffix=")"/>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="volume issue" match="any">+            <text macro="issued" prefix="(" suffix=")"/>+          </if>+          <else>+            <text macro="issued"/>+          </else>+        </choose>+      </else-if>+      <else-if type="article-newspaper">+        <text macro="issued"/>+      </else-if>+      <else-if type="manuscript thesis speech" match="any">+        <group delimiter=", " prefix="(" suffix=")">+          <choose>+            <if variable="title" match="any">+              <text variable="genre"/>+            </if>+          </choose>+          <text variable="event"/>+          <text variable="event-place"/>+          <text variable="publisher"/>+          <text macro="issued"/>+        </group>+      </else-if>+      <else-if variable="publisher-place event-place publisher" match="any">+        <group prefix="(" suffix=")" delimiter=", ">+          <text macro="event-note"/>+          <group delimiter="; ">+            <text macro="originally-published"/>+            <group delimiter=", ">+              <text macro="reprint-note"/>+              <text macro="publisher"/>+            </group>+          </group>+          <text macro="issued"/>+        </group>+      </else-if>+      <else>+        <text macro="issued"/>+      </else>+    </choose>+  </macro>+  <macro name="issue-join-with-space">+    <choose>+      <if type="article-journal" match="any">+        <choose>+          <if variable="issue volume" match="any">+            <text macro="issue"/>+          </if>+        </choose>+      </if>+      <else-if type="bill legislation legal_case" match="any">+        <text macro="issue"/>+      </else-if>+    </choose>+  </macro>+  <macro name="issue-join-with-period">+    <choose>+      <if type="article-journal bill legislation legal_case" match="none">+        <choose>+          <if type="speech" variable="publisher publisher-place" match="any">+            <text macro="issue"/>+          </if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="issue-join-with-comma">+    <choose>+      <if type="bill legislation legal_case" match="none">+        <choose>+          <if type="article-journal" match="none">+            <choose>+              <if type="speech" variable="publisher publisher-place" match="none">+                <text macro="issue"/>+              </if>+            </choose>+          </if>+          <else-if variable="volume issue" match="none">+            <text macro="issue"/>+          </else-if>+        </choose>+      </if>+    </choose>+  </macro>+  <macro name="issue">+    <choose>+      <if type="bill legislation legal_case" match="any">+        <text macro="issued" prefix="(" suffix=")"/>+      </if>+      <else-if type="article-journal">+        <choose>+          <if variable="issue volume" match="any">+            <text macro="issued" prefix="(" suffix=")"/>+          </if>+          <else>+            <text macro="issued"/>+          </else>+        </choose>+      </else-if>+      <else-if type="speech">+        <group delimiter=", ">+          <group delimiter=" ">+            <choose>+              <if variable="title" match="none"/>+              <else>+                <text variable="genre" text-case="capitalize-first"/>+              </else>+            </choose>+            <text macro="event"/>+          </group>+          <text variable="event-place"/>+          <text macro="issued"/>+        </group>+      </else-if>+      <!--Chicago doesn't use publisher/place for Newspapers -->+      <else-if type="article-newspaper">+        <text macro="issued"/>+      </else-if>+      <else-if variable="publisher-place publisher" match="any">+        <group delimiter=", ">+          <choose>+            <if type="thesis">+              <text variable="genre" text-case="capitalize-first"/>+            </if>+          </choose>+          <group delimiter=". ">+            <text macro="originally-published"/>+            <group delimiter=", ">+              <text macro="reprint"/>+              <text macro="publisher"/>+            </group>+          </group>+          <text macro="issued"/>+        </group>+      </else-if>+      <!--location for data for maps and artwork is different-->+      <else-if type="graphic map" match="none">+        <text macro="issued"/>+      </else-if>+    </choose>+  </macro>+  <macro name="access-note">+    <group delimiter=", ">+      <choose>+        <if type="graphic report" match="any">+          <text macro="archive-note"/>+        </if>+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+          <text macro="archive-note"/>+        </else-if>+      </choose>+      <choose>+        <if variable="issued" match="none">+          <group delimiter=" ">+            <text term="accessed"/>+            <date variable="accessed" form="text"/>+          </group>+        </if>+      </choose>+      <choose>+        <if type="legal_case" match="none">+          <choose>+            <if variable="DOI">+              <text variable="DOI" prefix="https://doi.org/"/>+            </if>+            <else>+              <text variable="URL"/>+            </else>+          </choose>+        </if>+      </choose>+    </group>+  </macro>+  <macro name="access">+    <group delimiter=". ">+      <choose>+        <if type="graphic report" match="any">+          <text macro="archive"/>+        </if>+        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+          <text macro="archive"/>+        </else-if>+      </choose>+      <choose>+        <if variable="issued" match="none">+          <group delimiter=" ">+            <text term="accessed" text-case="capitalize-first"/>+            <date variable="accessed" form="text"/>+          </group>+        </if>+      </choose>+      <choose>+        <if type="legal_case" match="none">+          <choose>+            <if variable="DOI">+              <text variable="DOI" prefix="https://doi.org/"/>+            </if>+            <else>+              <text variable="URL"/>+            </else>+          </choose>+        </if>+      </choose>+    </group>+  </macro>+  <macro name="case-locator-subsequent">+    <choose>+      <if type="legal_case">+        <group delimiter=" ">+          <text variable="volume"/>+          <text variable="container-title"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="case-pinpoint-subsequent">+    <choose>+      <if type="legal_case">+        <group delimiter=" ">+          <choose>+            <if locator="page">+              <text term="at"/>+              <text variable="locator"/>+            </if>+            <else>+              <label variable="locator"/>+              <text variable="locator"/>+            </else>+          </choose>+        </group>+      </if>+    </choose>+  </macro>+  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+    <layout suffix="." delimiter="; ">+      <choose>+        <if position="ibid ibid-with-locator" match="any">+          <group delimiter=", ">+            <text macro="contributors-short"/>+            <group delimiter=" ">+              <group delimiter=", ">+                <choose>+                  <if variable="author editor translator" match="none">+                    <text macro="title-short"/>+                  </if>+                </choose>+                <text macro="case-locator-subsequent"/>+              </group>+              <text macro="case-pinpoint-subsequent"/>+            </group>+            <choose>+              <if match="none" type="legal_case">+                <text macro="point-locators-subsequent"/>+              </if>+            </choose>+          </group>+        </if>+        <else>+          <group delimiter=", ">+            <text macro="contributors-short"/>+            <group delimiter=" ">+              <group delimiter=", ">+                <text macro="title-short"/>+                <!--if title & author are the same: -->+                <text macro="date-disambiguate"/>+                <text macro="case-locator-subsequent"/>+              </group>+              <text macro="case-pinpoint-subsequent"/>+            </group>+            <choose>+              <if match="none" type="legal_case">+                <text macro="point-locators-subsequent"/>+              </if>+            </choose>+          </group>+        </else>+      </choose>+    </layout>+  </citation>+  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">+    <sort>+      <key macro="contributors-sort"/>+      <key variable="title"/>+      <key variable="genre"/>+      <key variable="issued"/>+    </sort>+    <layout suffix=".">+      <group delimiter=". ">+        <group delimiter=": ">+          <group delimiter=", ">+            <group delimiter=" ">+              <group delimiter=". ">+                <group delimiter=" ">+                  <group delimiter=", ">+                    <group delimiter=". ">+                      <group delimiter=". ">+                        <text macro="contributors"/>+                        <text macro="title"/>+                        <text macro="issue-map-graphic"/>+                      </group>+                      <text macro="description"/>+                      <text macro="secondary-contributors"/>+                      <group delimiter=", ">+                        <text macro="container-title"/>+                        <text macro="container-contributors"/>+                      </group>+                      <text macro="locators-join-with-period"/>+                    </group>+                    <text macro="locators-join-with-comma"/>+                    <text macro="locators-chapter"/>+                  </group>+                  <text macro="locators-join-with-space"/>+                </group>+                <text macro="collection-title"/>+                <text macro="issue-join-with-period"/>+              </group>+              <text macro="issue-join-with-space"/>+            </group>+            <text macro="issue-join-with-comma"/>+            <text macro="locators-journal-join-with-comma"/>+            <text macro="locators-newspaper"/>+          </group>+          <text macro="locators-journal-join-with-colon"/>+        </group>+        <text macro="access"/>+      </group>+    </layout>+  </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+  {+    "author": [+      {+        "family": "Doe",+        "given": "John"+      }+    ],+    "id": "doeA",+    "title": "Title A",+    "type": "book"+  },+  {+    "author": [+      {+        "family": "Doe",+        "given": "John"+      }+    ],+    "id": "doeB",+    "title": "Title B",+    "type": "book"+  }+]+<<===== INPUT =====<<+++>>===== CITATIONS =====>>+[ {"citationItems": [{"id":"doeA"}],+     "citationNoteNumber": 1},+  {"citationItems": [{"id":"doeB"}],+     "citationNoteNumber": 1},+  {"citationItems": [{"id":"doeB"}],+     "citationNoteNumber": 2}+]+<<===== CITATION-ITEMS =====<<++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
− test/extra/pandoc6813.txt
@@ -1,1472 +0,0 @@->>===== MODE =====>>-citation-<<===== MODE =====<<-->>===== RESULT =====>>-Doe, <i>Title A</i>.-Doe, <i>Title B</i>.-Doe, <i>Title B</i>.-<<===== RESULT =====<<-->>===== CSL =====>>-<?xml version="1.0" encoding="utf-8"?>-<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">-  <info>-    <title>Chicago Manual of Style 17th edition (note)</title>-    <id>http://www.zotero.org/styles/chicago-note-bibliography</id>-    <link href="http://www.zotero.org/styles/chicago-note-bibliography" rel="self"/>-    <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>-    <author>-      <name>Julian Onions</name>-      <email>julian.onions@gmail.com</email>-    </author>-    <contributor>-      <name>Simon Kornblith</name>-      <email>simon@simonster.com</email>-    </contributor>-    <contributor>-      <name>Elena Razlogova</name>-      <email>elena.razlogova@gmail.com</email>-    </contributor>-    <contributor>-      <name>Frank Bennett</name>-      <email>biercenator@gmail.com</email>-    </contributor>-    <contributor>-      <name>Andrew Dunning</name>-      <email>andrew.dunning@utoronto.ca</email>-    </contributor>-    <contributor>-      <name>Sebastian Karcher</name>-    </contributor>-    <contributor>-      <name>Brenton M. Wiernik</name>-    </contributor>-    <category citation-format="note"/>-    <category field="generic-base"/>-    <summary>Chicago format with short notes and bibliography</summary>-    <updated>2017-10-12T12:00:00+00:00</updated>-    <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-  </info>-  <locale xml:lang="en">-    <terms>-      <term name="editor" form="verb-short">ed.</term>-      <term name="translator" form="verb-short">trans.</term>-      <term name="translator" form="short">trans.</term>-      <term name="editortranslator" form="verb-short">ed. and trans.</term>-      <term name="editortranslator" form="verb">Edited and translated by</term>-      <term name="translator" form="short">trans.</term>-    </terms>-  </locale>-  <macro name="editor-translator">-    <group delimiter=", ">-      <group delimiter=" ">-        <choose>-          <if variable="container-author reviewed-author" match="any">-            <group>-              <names variable="container-author reviewed-author">-                <label form="verb-short" text-case="lowercase" suffix=" "/>-                <name and="text" delimiter=", "/>-              </names>-            </group>-          </if>-        </choose>-      </group>-      <names variable="editor translator" delimiter=", ">-        <label form="verb-short" text-case="lowercase" suffix=" "/>-        <name and="text" delimiter=", "/>-      </names>-    </group>-  </macro>-  <macro name="secondary-contributors-note">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">-        <text macro="editor-translator"/>-      </if>-    </choose>-  </macro>-  <macro name="container-contributors-note">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <text macro="editor-translator"/>-      </if>-    </choose>-  </macro>-  <macro name="secondary-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">-        <names variable="editor translator" delimiter=". ">-          <label form="verb" text-case="capitalize-first" suffix=" "/>-          <name and="text" delimiter=", "/>-        </names>-      </if>-    </choose>-  </macro>-  <macro name="container-contributors">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <group delimiter=", ">-          <choose>-            <if variable="author">-              <choose>-                <if variable="container-author" match="any">-                  <names variable="container-author">-                    <label form="verb-short" text-case="lowercase" suffix=" "/>-                    <name and="text" delimiter=", "/>-                  </names>-                </if>-              </choose>-              <!--This includes page numers after the container author, e.g. for Introductions -->-              <choose>-                <if variable="container-author author" match="all">-                  <group delimiter=". ">-                    <text variable="page"/>-                    <names variable="editor translator" delimiter=", ">-                      <label form="verb" suffix=" "/>-                      <name and="text" delimiter=", "/>-                    </names>-                  </group>-                </if>-                <else>-                  <names variable="editor translator" delimiter=", ">-                    <label form="verb" text-case="lowercase" suffix=" "/>-                    <name and="text" delimiter=", "/>-                  </names>-                </else>-              </choose>-            </if>-          </choose>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="recipient-note">-    <names variable="recipient" delimiter=", ">-      <label form="verb" text-case="lowercase" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="contributors-note">-    <group delimiter=" ">-      <names variable="author">-        <name and="text" sort-separator=", " delimiter=", "/>-        <label form="short" prefix=", "/>-        <substitute>-          <names variable="editor"/>-          <names variable="translator"/>-        </substitute>-      </names>-      <text macro="recipient-note"/>-    </group>-  </macro>-  <macro name="editor">-    <names variable="editor">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-    </names>-  </macro>-  <macro name="translator">-    <names variable="translator">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="verb-short" prefix=", "/>-    </names>-  </macro>-  <macro name="recipient">-    <group delimiter=" ">-      <choose>-        <if type="personal_communication">-          <choose>-            <if variable="genre">-              <text variable="genre" text-case="capitalize-first"/>-            </if>-            <else>-              <text term="letter" text-case="capitalize-first"/>-            </else>-          </choose>-        </if>-      </choose>-      <text macro="recipient-note"/>-    </group>-  </macro>-  <macro name="contributors">-    <group delimiter=". ">-      <names variable="author">-        <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-        <substitute>-          <text macro="editor"/>-          <text macro="translator"/>-          <choose>-            <if type="webpage post-weblog" match="any">-              <text variable="container-title"/>-            </if>-          </choose>-        </substitute>-      </names>-      <text macro="recipient"/>-    </group>-  </macro>-  <macro name="recipient-short">-    <names variable="recipient">-      <label form="verb" text-case="lowercase" suffix=" "/>-      <name form="short" and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="contributors-short">-    <group delimiter=" ">-      <names variable="author">-        <name form="short" and="text" delimiter=", "/>-        <substitute>-          <names variable="editor"/>-          <names variable="translator"/>-        </substitute>-      </names>-      <text macro="recipient-short"/>-    </group>-  </macro>-  <macro name="contributors-sort">-    <names variable="author">-      <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <substitute>-        <names variable="editor"/>-        <names variable="translator"/>-        <text macro="title"/>-      </substitute>-    </names>-  </macro>-  <macro name="interviewer-note">-    <names variable="interviewer" delimiter=", ">-      <label form="verb" text-case="lowercase" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="interviewer">-    <names variable="interviewer" delimiter=", ">-      <label form="verb" text-case="capitalize-first" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="title-note">-    <choose>-      <if variable="title" match="none">-        <text variable="genre"/>-      </if>-      <else-if type="book graphic map motion_picture song" match="any">-        <text variable="title" text-case="title" font-style="italic"/>-        <group delimiter=" " prefix=", ">-          <text term="version"/>-          <text variable="version"/>-        </group>-      </else-if>-      <else-if type="legal_case interview patent" match="any">-        <text variable="title"/>-      </else-if>-      <else-if variable="reviewed-author">-        <text variable="title" font-style="italic" prefix="review of "/>-      </else-if>-      <else>-        <text variable="title" text-case="title" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="title">-    <choose>-      <if variable="title" match="none">-        <choose>-          <if type="personal_communication" match="none">-            <text variable="genre" text-case="capitalize-first"/>-          </if>-        </choose>-      </if>-      <else-if type="book graphic motion_picture song" match="any">-        <text variable="title" text-case="title" font-style="italic"/>-        <group prefix=" (" suffix=")" delimiter=" ">-          <text term="version"/>-          <text variable="version"/>-        </group>-      </else-if>-      <else-if variable="reviewed-author">-        <group delimiter=", ">-          <text variable="title" font-style="italic" prefix="Review of "/>-          <names variable="reviewed-author">-            <label form="verb-short" text-case="lowercase" suffix=" "/>-            <name and="text" delimiter=", "/>-          </names>-        </group>-      </else-if>-      <else-if type="bill legislation legal_case interview patent" match="any">-        <text variable="title"/>-      </else-if>-      <else>-        <text variable="title" text-case="title" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="title-short">-    <choose>-      <if variable="title" match="none">-        <choose>-          <if type="interview">-            <text term="interview"/>-          </if>-          <else-if type="manuscript speech" match="any">-            <text variable="genre" form="short"/>-          </else-if>-        </choose>-      </if>-      <else-if type="book graphic motion_picture song" match="any">-        <text variable="title" text-case="title" form="short" font-style="italic"/>-      </else-if>-      <else-if type="legal_case" variable="title-short" match="all">-        <text variable="title" font-style="italic" form="short"/>-      </else-if>-      <else-if type="patent interview" match="any">-        <text variable="title" form="short"/>-      </else-if>-      <else-if type="legal_case bill legislation" match="any">-        <text variable="title"/>-      </else-if>-      <else>-        <text variable="title" text-case="title" form="short" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="date-disambiguate">-    <choose>-      <if disambiguate="true" type="personal_communication" match="any">-        <text macro="issued"/>-      </if>-    </choose>-  </macro>-  <macro name="description-note">-    <group delimiter=", ">-      <text macro="interviewer-note"/>-      <text variable="medium"/>-      <choose>-        <if variable="title" match="none"/>-        <else-if type="manuscript thesis speech" match="any"/>-        <else-if type="patent">-          <group delimiter=" ">-            <text variable="authority"/>-            <text variable="number"/>-          </group>-        </else-if>-        <else>-          <text variable="genre"/>-        </else>-      </choose>-      <choose>-        <if type="map">-          <text variable="scale"/>-        </if>-        <else-if type="graphic">-          <text variable="dimensions"/>-        </else-if>-      </choose>-    </group>-  </macro>-  <macro name="description">-    <group delimiter=", ">-      <group delimiter=". ">-        <text macro="interviewer"/>-        <text variable="medium" text-case="capitalize-first"/>-      </group>-      <choose>-        <if variable="title" match="none"/>-        <else-if type="thesis speech" match="any"/>-        <else-if type="patent">-          <group delimiter=" ">-            <text variable="authority"/>-            <text variable="number"/>-          </group>-        </else-if>-        <else>-          <text variable="genre" text-case="capitalize-first"/>-        </else>-      </choose>-      <choose>-        <if type="map">-          <text variable="scale"/>-        </if>-        <else-if type="graphic">-          <text variable="dimensions"/>-        </else-if>-      </choose>-    </group>-  </macro>-  <macro name="container-title-note">-    <group delimiter=" ">-      <choose>-        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-          <text term="in"/>-        </if>-      </choose>-      <choose>-        <if type="webpage">-          <text variable="container-title"/>-        </if>-        <else-if type="post-weblog">-          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>-        </else-if>-        <else-if type="bill legislation legal_case" match="none">-          <text variable="container-title" text-case="title" font-style="italic"/>-        </else-if>-      </choose>-    </group>-  </macro>-  <macro name="container-title">-    <group delimiter=" ">-      <choose>-        <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-          <text term="in" text-case="capitalize-first"/>-        </if>-      </choose>-      <choose>-        <if type="webpage">-          <text variable="container-title"/>-        </if>-        <else-if type="post-weblog">-          <text variable="container-title" text-case="title" font-style="italic" suffix=" (blog)"/>-        </else-if>-        <else-if type="bill legislation legal_case" match="none">-          <text variable="container-title" text-case="title" font-style="italic"/>-        </else-if>-      </choose>-    </group>-  </macro>-  <macro name="collection-title">-    <choose>-      <if match="none" type="article-journal">-        <choose>-          <if match="none" is-numeric="collection-number">-            <group delimiter=", ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </if>-          <else>-            <group delimiter=" ">-              <text variable="collection-title" text-case="title"/>-              <text variable="collection-number"/>-            </group>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="collection-title-journal">-    <choose>-      <if type="article-journal">-        <group delimiter=" ">-          <text variable="collection-title"/>-          <text variable="collection-number"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="edition-note">-    <choose>-      <if type="book chapter graphic motion_picture paper-conference report song" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short"/>-            </group>-          </if>-          <else>-            <text variable="edition"/>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="edition">-    <choose>-      <if type="book chapter graphic motion_picture paper-conference report song" match="any">-        <choose>-          <if is-numeric="edition">-            <group delimiter=" ">-              <number variable="edition" form="ordinal"/>-              <text term="edition" form="short"/>-            </group>-          </if>-          <else>-            <text variable="edition" text-case="capitalize-first" suffix="."/>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-note-join-with-space">-    <choose>-      <if type="article-journal" variable="volume" match="all">-        <choose>-          <if match="none" variable="collection-title">-            <text macro="locators-note"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-note-join-with-comma">-    <choose>-      <if type="article-journal" match="none">-        <text macro="locators-note"/>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume" match="none">-            <text macro="locators-note"/>-          </if>-          <else-if match="any" variable="collection-title">-            <text macro="locators-note"/>-          </else-if>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-note">-    <choose>-      <if type="article-journal">-        <group delimiter=", ">-          <text macro="collection-title-journal"/>-          <text variable="volume"/>-          <group delimiter=" ">-            <text term="issue" form="short"/>-            <text variable="issue"/>-          </group>-        </group>-      </if>-      <else-if type="bill legislation legal_case" match="any">-        <text macro="legal-cites"/>-      </else-if>-      <else-if type="book chapter graphic motion_picture paper-conference report song" match="any">-        <group delimiter=", ">-          <text macro="edition-note"/>-          <group delimiter=" ">-            <text term="volume" form="short"/>-            <number variable="volume" form="numeric"/>-          </group>-          <choose>-            <if variable="locator" match="none">-              <group delimiter=" ">-                <number variable="number-of-volumes" form="numeric"/>-                <text term="volume" form="short" plural="true"/>-              </group>-            </if>-          </choose>-        </group>-      </else-if>-    </choose>-  </macro>-  <macro name="legal-cites">-    <choose>-      <if type="legal_case" match="any">-        <group delimiter=" ">-          <choose>-            <if variable="container-title">-              <text variable="volume"/>-              <text variable="container-title"/>-              <group delimiter=" ">-                <!--change to label variable="section" as that becomes available -->-                <text term="section" form="symbol"/>-                <text variable="section"/>-              </group>-              <text variable="page"/>-            </if>-            <else>-              <text variable="number" prefix="No. "/>-            </else>-          </choose>-        </group>-      </if>-      <else-if type="bill legislation" match="any">-        <group delimiter=", ">-          <choose>-            <if variable="number">-              <!--There's a public law number-->-              <text variable="number" prefix="Pub. L. No. "/>-              <group delimiter=" ">-                <!--change to label variable="section" as that becomes available -->-                <text term="section" form="symbol"/>-                <text variable="section"/>-              </group>-              <group delimiter=" ">-                <text variable="volume"/>-                <text variable="container-title"/>-                <text variable="page-first"/>-              </group>-            </if>-            <else>-              <group delimiter=" ">-                <text variable="volume"/>-                <text variable="container-title"/>-                <!--change to label variable="section" as that becomes available -->-                <text term="section" form="symbol"/>-                <text variable="section"/>-              </group>-            </else>-          </choose>-        </group>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-join-with-space">-    <choose>-      <if type="article-journal" variable="volume" match="all">-        <choose>-          <if match="none" variable="collection-title">-            <text macro="locators"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-join-with-comma">-    <choose>-      <if type="bill chapter legislation legal_case paper-conference" match="any">-        <text macro="locators"/>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume" match="none">-            <text macro="locators"/>-          </if>-          <else-if match="any" variable="collection-title">-            <text macro="locators"/>-          </else-if>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-join-with-period">-    <choose>-      <if type="bill legislation legal_case article-journal chapter paper-conference" match="none">-        <text macro="locators"/>-      </if>-    </choose>-  </macro>-  <macro name="locators">-    <choose>-      <if type="article-journal">-        <group delimiter=", ">-          <text macro="collection-title-journal"/>-          <text variable="volume"/>-          <group delimiter=" ">-            <text term="issue" form="short"/>-            <text variable="issue"/>-          </group>-        </group>-      </if>-      <else-if type="bill legislation legal_case" match="any">-        <text macro="legal-cites"/>-      </else-if>-      <else-if type="book graphic motion_picture report song" match="any">-        <group delimiter=". ">-          <text macro="edition"/>-          <group delimiter=" ">-            <text term="volume" form="short" text-case="capitalize-first"/>-            <number variable="volume" form="numeric"/>-          </group>-          <group delimiter=" ">-            <number variable="number-of-volumes" form="numeric"/>-            <text term="volume" form="short" plural="true"/>-          </group>-        </group>-      </else-if>-      <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <group delimiter=". ">-          <text macro="edition"/>-          <choose>-            <if variable="page" match="none">-              <group delimiter=" ">-                <text term="volume" form="short" text-case="capitalize-first"/>-                <number variable="volume" form="numeric"/>-              </group>-            </if>-          </choose>-        </group>-      </else-if>-    </choose>-  </macro>-  <macro name="locators-newspaper">-    <choose>-      <if type="article-newspaper">-        <group delimiter=", ">-          <group delimiter=" ">-            <number variable="edition"/>-            <text term="edition"/>-          </group>-          <group delimiter=" ">-            <text term="section" form="short"/>-            <text variable="section"/>-          </group>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="event-note">-    <text variable="event"/>-  </macro>-  <macro name="event">-    <choose>-      <if variable="title">-        <group delimiter=" ">-          <choose>-            <if variable="genre">-              <text term="presented at"/>-            </if>-            <else>-              <text term="presented at" text-case="capitalize-first"/>-            </else>-          </choose>-          <text variable="event"/>-        </group>-      </if>-      <else>-        <group delimiter=" ">-          <text term="presented at" text-case="capitalize-first"/>-          <text variable="event"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="originally-published">-    <group delimiter=", ">-      <group delimiter=": ">-        <text variable="original-publisher-place"/>-        <text variable="original-publisher"/>-      </group>-      <choose>-        <if is-uncertain-date="original-date">-          <date variable="original-date" form="numeric" date-parts="year" prefix="[" suffix="?]"/>-        </if>-        <else>-          <date variable="original-date" form="numeric" date-parts="year"/>-        </else>-      </choose>-    </group>-  </macro>-  <macro name="reprint-note">-    <!--needs localization-->-    <choose>-      <if variable="original-date issued" match="all">-        <choose>-          <!--for whatever reason in notes, when we have both original and new publishers, reprint doesn't appear-->-          <if variable="original-publisher original-publisher-place" match="none">-            <text value="repr."/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="reprint">-    <!--needs localization-->-    <choose>-      <if variable="original-date issued" match="all">-        <text value="reprint" text-case="capitalize-first"/>-      </if>-    </choose>-  </macro>-  <macro name="publisher">-    <choose>-      <if type="thesis">-        <text variable="publisher"/>-      </if>-      <else-if type="speech">-        <text variable="event-place"/>-      </else-if>-      <else>-        <group delimiter=": ">-          <text variable="publisher-place"/>-          <text variable="publisher"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="issued">-    <choose>-      <if variable="issued">-        <choose>-          <if type="legal_case">-            <group delimiter=" ">-              <text variable="authority"/>-              <choose>-                <if variable="container-title" match="any">-                  <!--Only print year for cases published in reporters-->-                  <date variable="issued" form="numeric" date-parts="year"/>-                </if>-                <else>-                  <date variable="issued" form="text"/>-                </else>-              </choose>-            </group>-          </if>-          <else-if type="book bill chapter  legislation motion_picture paper-conference song thesis" match="any">-            <choose>-              <if is-uncertain-date="issued">-                <date variable="issued" form="numeric" date-parts="year" prefix="[" suffix="?]"/>-              </if>-              <else>-                <date variable="issued" form="numeric" date-parts="year"/>-              </else>-            </choose>-          </else-if>-          <else-if type="patent">-            <group delimiter=", ">-              <group delimiter=" ">-                <!--Needs Localization-->-                <text value="filed"/>-                <date variable="submitted" form="text"/>-              </group>-              <group delimiter=" ">-                <choose>-                  <if variable="issued submitted" match="all">-                    <text term="and"/>-                  </if>-                </choose>-                <!--Needs Localization-->-                <text value="issued"/>-                <date variable="issued" form="text"/>-              </group>-            </group>-          </else-if>-          <else>-            <choose>-              <if is-uncertain-date="issued">-                <date variable="issued" form="text" prefix="[" suffix="?]"/>-              </if>-              <else>-                <date variable="issued" form="text"/>-              </else>-            </choose>-          </else>-        </choose>-      </if>-      <else-if variable="status">-        <text variable="status"/>-      </else-if>-      <else-if variable="accessed URL" match="all"/>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="point-locators-subsequent">-    <choose>-      <if type="legal_case" variable="locator" match="all">-        <choose>-          <if locator="page">-            <group delimiter=":">-              <text variable="volume"/>-              <text variable="locator"/>-            </group>-          </if>-          <else>-            <group delimiter=" ">-              <label variable="locator" form="short"/>-              <text variable="locator"/>-            </group>-          </else>-        </choose>-      </if>-      <else-if variable="locator">-        <choose>-          <if locator="page" match="none">-            <group delimiter=" ">-              <choose>-                <if type="book graphic motion_picture report song" match="any">-                  <choose>-                    <if variable="volume">-                      <group delimiter=", ">-                        <group delimiter=" ">-                          <text term="volume" form="short"/>-                          <number variable="volume" form="numeric"/>-                        </group>-                        <label variable="locator" form="short"/>-                      </group>-                    </if>-                    <else>-                      <label variable="locator" form="short"/>-                    </else>-                  </choose>-                </if>-                <else>-                  <label variable="locator" form="short"/>-                </else>-              </choose>-              <text variable="locator"/>-            </group>-          </if>-          <else-if type="book graphic motion_picture report song" match="any">-            <group delimiter=":">-              <number variable="volume" form="numeric"/>-              <text variable="locator"/>-            </group>-          </else-if>-          <else>-            <text variable="locator"/>-          </else>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="point-locators-join-with-colon">-    <choose>-      <if type="article-journal">-        <choose>-          <if variable="locator page" match="any">-            <choose>-              <if variable="volume issue" match="any">-                <text macro="point-locators"/>-              </if>-            </choose>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="point-locators-join-with-comma">-    <choose>-      <if type="article-journal" match="none">-        <text macro="point-locators"/>-      </if>-      <else-if variable="volume issue" match="none">-        <text macro="point-locators"/>-      </else-if>-    </choose>-  </macro>-  <macro name="point-locators">-    <choose>-      <if variable="locator" match="none">-        <choose>-          <if type="article-journal chapter paper-conference" match="any">-            <text variable="page"/>-          </if>-        </choose>-      </if>-      <else-if type="article-journal">-        <group delimiter=" ">-          <choose>-            <if locator="page" match="none">-              <label variable="locator" form="short" suffix=" "/>-            </if>-          </choose>-          <text variable="locator"/>-        </group>-      </else-if>-      <else-if type="legal_case"/>-      <else>-        <group delimiter=" ">-          <choose>-            <if locator="page" match="none">-              <label variable="locator" form="short"/>-            </if>-          </choose>-          <text variable="locator"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="locators-chapter">-    <choose>-      <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">-        <choose>-          <if variable="author container-author" match="all"/>-          <else>-            <choose>-              <if variable="page">-                <text variable="volume" suffix=":"/>-                <text variable="page"/>-              </if>-            </choose>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-journal-join-with-colon">-    <choose>-      <if type="article-journal">-        <choose>-          <if variable="volume issue" match="any">-            <text variable="page"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="locators-journal-join-with-comma">-    <choose>-      <if type="article-journal">-        <choose>-          <if variable="volume issue" match="none">-            <text variable="page"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="archive-note">-    <choose>-      <if type="thesis">-        <group delimiter=" ">-          <text variable="archive"/>-          <text variable="archive_location" prefix="(" suffix=")"/>-        </group>-      </if>-      <else>-        <group delimiter=", ">-          <text variable="archive_location"/>-          <text variable="archive"/>-          <text variable="archive-place"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="archive">-    <choose>-      <if type="thesis">-        <group delimiter=" ">-          <text variable="archive"/>-          <text variable="archive_location" prefix="(" suffix=")"/>-        </group>-      </if>-      <else>-        <group delimiter=". ">-          <text variable="archive_location" text-case="capitalize-first"/>-          <text variable="archive"/>-          <text variable="archive-place"/>-        </group>-      </else>-    </choose>-  </macro>-  <macro name="issue-note-join-with-space">-    <choose>-      <if type="article-journal bill legislation legal_case manuscript thesis" variable="publisher-place event-place publisher" match="any">-        <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->-        <choose>-          <if type="article-newspaper" match="none">-            <choose>-              <if type="article-journal" match="none">-                <text macro="issue-note"/>-              </if>-              <else-if variable="issue volume" match="any">-                <text macro="issue-note"/>-              </else-if>-            </choose>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="issue-note-join-with-comma">-    <choose>-      <if type="article-journal bill legislation legal_case manuscript speech thesis" variable="publisher-place publisher" match="none">-        <text macro="issue-note"/>-      </if>-      <else-if type="article-newspaper">-        <text macro="issue-note"/>-      </else-if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume issue" match="none">-            <text macro="issue-note"/>-          </if>-        </choose>-      </else-if>-    </choose>-  </macro>-  <macro name="issue-map-graphic">-    <!--See CMoS 17th ed. 14.235 and 14.237-->-    <choose>-      <if type="graphic map" match="any">-        <choose>-          <if variable="publisher publisher-place" match="none">-            <text macro="issued"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="issue-note">-    <choose>-      <if type="bill legislation legal_case" match="any">-        <text macro="issued" prefix="(" suffix=")"/>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="volume issue" match="any">-            <text macro="issued" prefix="(" suffix=")"/>-          </if>-          <else>-            <text macro="issued"/>-          </else>-        </choose>-      </else-if>-      <else-if type="article-newspaper">-        <text macro="issued"/>-      </else-if>-      <else-if type="manuscript thesis speech" match="any">-        <group delimiter=", " prefix="(" suffix=")">-          <choose>-            <if variable="title" match="any">-              <text variable="genre"/>-            </if>-          </choose>-          <text variable="event"/>-          <text variable="event-place"/>-          <text variable="publisher"/>-          <text macro="issued"/>-        </group>-      </else-if>-      <else-if variable="publisher-place event-place publisher" match="any">-        <group prefix="(" suffix=")" delimiter=", ">-          <text macro="event-note"/>-          <group delimiter="; ">-            <text macro="originally-published"/>-            <group delimiter=", ">-              <text macro="reprint-note"/>-              <text macro="publisher"/>-            </group>-          </group>-          <text macro="issued"/>-        </group>-      </else-if>-      <else>-        <text macro="issued"/>-      </else>-    </choose>-  </macro>-  <macro name="issue-join-with-space">-    <choose>-      <if type="article-journal" match="any">-        <choose>-          <if variable="issue volume" match="any">-            <text macro="issue"/>-          </if>-        </choose>-      </if>-      <else-if type="bill legislation legal_case" match="any">-        <text macro="issue"/>-      </else-if>-    </choose>-  </macro>-  <macro name="issue-join-with-period">-    <choose>-      <if type="article-journal bill legislation legal_case" match="none">-        <choose>-          <if type="speech" variable="publisher publisher-place" match="any">-            <text macro="issue"/>-          </if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="issue-join-with-comma">-    <choose>-      <if type="bill legislation legal_case" match="none">-        <choose>-          <if type="article-journal" match="none">-            <choose>-              <if type="speech" variable="publisher publisher-place" match="none">-                <text macro="issue"/>-              </if>-            </choose>-          </if>-          <else-if variable="volume issue" match="none">-            <text macro="issue"/>-          </else-if>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="issue">-    <choose>-      <if type="bill legislation legal_case" match="any">-        <text macro="issued" prefix="(" suffix=")"/>-      </if>-      <else-if type="article-journal">-        <choose>-          <if variable="issue volume" match="any">-            <text macro="issued" prefix="(" suffix=")"/>-          </if>-          <else>-            <text macro="issued"/>-          </else>-        </choose>-      </else-if>-      <else-if type="speech">-        <group delimiter=", ">-          <group delimiter=" ">-            <choose>-              <if variable="title" match="none"/>-              <else>-                <text variable="genre" text-case="capitalize-first"/>-              </else>-            </choose>-            <text macro="event"/>-          </group>-          <text variable="event-place"/>-          <text macro="issued"/>-        </group>-      </else-if>-      <!--Chicago doesn't use publisher/place for Newspapers -->-      <else-if type="article-newspaper">-        <text macro="issued"/>-      </else-if>-      <else-if variable="publisher-place publisher" match="any">-        <group delimiter=", ">-          <choose>-            <if type="thesis">-              <text variable="genre" text-case="capitalize-first"/>-            </if>-          </choose>-          <group delimiter=". ">-            <text macro="originally-published"/>-            <group delimiter=", ">-              <text macro="reprint"/>-              <text macro="publisher"/>-            </group>-          </group>-          <text macro="issued"/>-        </group>-      </else-if>-      <!--location for data for maps and artwork is different-->-      <else-if type="graphic map" match="none">-        <text macro="issued"/>-      </else-if>-    </choose>-  </macro>-  <macro name="access-note">-    <group delimiter=", ">-      <choose>-        <if type="graphic report" match="any">-          <text macro="archive-note"/>-        </if>-        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">-          <text macro="archive-note"/>-        </else-if>-      </choose>-      <choose>-        <if variable="issued" match="none">-          <group delimiter=" ">-            <text term="accessed"/>-            <date variable="accessed" form="text"/>-          </group>-        </if>-      </choose>-      <choose>-        <if type="legal_case" match="none">-          <choose>-            <if variable="DOI">-              <text variable="DOI" prefix="https://doi.org/"/>-            </if>-            <else>-              <text variable="URL"/>-            </else>-          </choose>-        </if>-      </choose>-    </group>-  </macro>-  <macro name="access">-    <group delimiter=". ">-      <choose>-        <if type="graphic report" match="any">-          <text macro="archive"/>-        </if>-        <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">-          <text macro="archive"/>-        </else-if>-      </choose>-      <choose>-        <if variable="issued" match="none">-          <group delimiter=" ">-            <text term="accessed" text-case="capitalize-first"/>-            <date variable="accessed" form="text"/>-          </group>-        </if>-      </choose>-      <choose>-        <if type="legal_case" match="none">-          <choose>-            <if variable="DOI">-              <text variable="DOI" prefix="https://doi.org/"/>-            </if>-            <else>-              <text variable="URL"/>-            </else>-          </choose>-        </if>-      </choose>-    </group>-  </macro>-  <macro name="case-locator-subsequent">-    <choose>-      <if type="legal_case">-        <group delimiter=" ">-          <text variable="volume"/>-          <text variable="container-title"/>-        </group>-      </if>-    </choose>-  </macro>-  <macro name="case-pinpoint-subsequent">-    <choose>-      <if type="legal_case">-        <group delimiter=" ">-          <choose>-            <if locator="page">-              <text term="at"/>-              <text variable="locator"/>-            </if>-            <else>-              <label variable="locator"/>-              <text variable="locator"/>-            </else>-          </choose>-        </group>-      </if>-    </choose>-  </macro>-  <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">-    <layout suffix="." delimiter="; ">-      <choose>-        <if position="ibid ibid-with-locator" match="any">-          <group delimiter=", ">-            <text macro="contributors-short"/>-            <group delimiter=" ">-              <group delimiter=", ">-                <choose>-                  <if variable="author editor translator" match="none">-                    <text macro="title-short"/>-                  </if>-                </choose>-                <text macro="case-locator-subsequent"/>-              </group>-              <text macro="case-pinpoint-subsequent"/>-            </group>-            <choose>-              <if match="none" type="legal_case">-                <text macro="point-locators-subsequent"/>-              </if>-            </choose>-          </group>-        </if>-        <else>-          <group delimiter=", ">-            <text macro="contributors-short"/>-            <group delimiter=" ">-              <group delimiter=", ">-                <text macro="title-short"/>-                <!--if title & author are the same: -->-                <text macro="date-disambiguate"/>-                <text macro="case-locator-subsequent"/>-              </group>-              <text macro="case-pinpoint-subsequent"/>-            </group>-            <choose>-              <if match="none" type="legal_case">-                <text macro="point-locators-subsequent"/>-              </if>-            </choose>-          </group>-        </else>-      </choose>-    </layout>-  </citation>-  <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="&#8212;&#8212;&#8212;" entry-spacing="0">-    <sort>-      <key macro="contributors-sort"/>-      <key variable="title"/>-      <key variable="genre"/>-      <key variable="issued"/>-    </sort>-    <layout suffix=".">-      <group delimiter=". ">-        <group delimiter=": ">-          <group delimiter=", ">-            <group delimiter=" ">-              <group delimiter=". ">-                <group delimiter=" ">-                  <group delimiter=", ">-                    <group delimiter=". ">-                      <group delimiter=". ">-                        <text macro="contributors"/>-                        <text macro="title"/>-                        <text macro="issue-map-graphic"/>-                      </group>-                      <text macro="description"/>-                      <text macro="secondary-contributors"/>-                      <group delimiter=", ">-                        <text macro="container-title"/>-                        <text macro="container-contributors"/>-                      </group>-                      <text macro="locators-join-with-period"/>-                    </group>-                    <text macro="locators-join-with-comma"/>-                    <text macro="locators-chapter"/>-                  </group>-                  <text macro="locators-join-with-space"/>-                </group>-                <text macro="collection-title"/>-                <text macro="issue-join-with-period"/>-              </group>-              <text macro="issue-join-with-space"/>-            </group>-            <text macro="issue-join-with-comma"/>-            <text macro="locators-journal-join-with-comma"/>-            <text macro="locators-newspaper"/>-          </group>-          <text macro="locators-journal-join-with-colon"/>-        </group>-        <text macro="access"/>-      </group>-    </layout>-  </bibliography>-</style>-<<===== CSL =====<<-->>===== INPUT =====>>-[-  {-    "author": [-      {-        "family": "Doe",-        "given": "John"-      }-    ],-    "id": "doeA",-    "title": "Title A",-    "type": "book"-  },-  {-    "author": [-      {-        "family": "Doe",-        "given": "John"-      }-    ],-    "id": "doeB",-    "title": "Title B",-    "type": "book"-  }-]-<<===== INPUT =====<<--->>===== CITATIONS =====>>-[ {"citationItems": [{"id":"doeA"}],-     "citationNoteNumber": 1},-  {"citationItems": [{"id":"doeB"}],-     "citationNoteNumber": 1},-  {"citationItems": [{"id":"doeB"}],-     "citationNoteNumber": 2}-]-<<===== CITATION-ITEMS =====<<-->>===== VERSION =====>>-1.0-<<===== VERSION =====<<-