packages feed

pandoc-citeproc 0.13 → 0.13.0.1

raw patch · 9 files changed

+247/−487 lines, 9 filesdep ~pandoc-typesPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: pandoc-types

API changes (from Hackage documentation)

Files

changelog view
@@ -1,3 +1,9 @@+pandoc-citeproc (0.13.0.1)++  * Suppress empty footnotes.+  * Use walk instead of bottomUp.  This requires pandoc-types 1.17.3+    but gives a  speed boost.+ pandoc-citeproc (0.13)    * Made bibliography parsing more efficient.  (API change)
pandoc-citeproc.cabal view
@@ -1,5 +1,5 @@ name:               pandoc-citeproc-version:            0.13+version:            0.13.0.1 cabal-version:      >= 1.12 synopsis:           Supports using pandoc with citeproc @@ -108,7 +108,7 @@     ghc-prof-options: -fprof-auto-exported     build-depends:    containers, directory, mtl,                       bytestring, filepath,-                      pandoc-types >= 1.16 && < 1.18,+                      pandoc-types >= 1.17.3 && < 1.18,                       pandoc >= 1.16 && < 2.2,                       tagsoup,                       aeson >= 0.7 && < 1.3,@@ -155,7 +155,7 @@     ghc-options:      -funbox-strict-fields -Wall     ghc-prof-options: -fprof-auto-exported -rtsopts     build-depends:    base >= 4, pandoc-citeproc,-                      pandoc-types >= 1.16 && < 1.18,+                      pandoc-types >= 1.17.3 && < 1.18,                       pandoc >= 1.16 && < 2.2,                       aeson,                       aeson-pretty >= 0.8, yaml, bytestring, syb, attoparsec, text,@@ -180,7 +180,7 @@   else     Buildable:    False   build-depends:  base >= 4, aeson, directory, text, mtl,-                  pandoc-types >= 1.16 && < 1.18,+                  pandoc-types >= 1.17.3 && < 1.18,                   pandoc >= 1.16 && < 2.2,                   filepath, containers,                   bytestring, pandoc-citeproc, process, temporary >= 1.1,@@ -196,7 +196,7 @@                   Prelude   Hs-Source-Dirs: tests, prelude, compat   build-depends:  base >= 4, aeson, directory, text,-                  pandoc-types >= 1.16 && < 1.18, mtl,+                  pandoc-types >= 1.17.3 && < 1.18, mtl,                   pandoc >= 1.16 && < 2.2, filepath, containers,                   bytestring, pandoc-citeproc, process, temporary >= 1.1,                   yaml >= 0.8.8.7
src/Text/CSL/Input/Bibtex.hs view
@@ -41,7 +41,6 @@ import           Text.CSL.Util          (onBlocks, protectCase, safeRead,                                          splitStrWhen, trim, unTitlecase) import           Text.Pandoc.Definition-import           Text.Pandoc.Generic    (bottomUp) import qualified Text.Pandoc.UTF8       as UTF8 import qualified Text.Pandoc.Walk       as Walk import Text.Parsec hiding (State, many, (<|>))@@ -57,7 +56,8 @@ adjustSpans _ (Span ("",[],[]) xs) = xs adjustSpans lang (RawInline (Format "latex") s)   | s == "\\hyphen" || s == "\\hyphen " = [Str "-"]-  | otherwise = bottomUp (concatMap (adjustSpans lang)) $ parseRawLaTeX lang s+  | otherwise = Walk.walk (concatMap (adjustSpans lang))+                $ parseRawLaTeX lang s adjustSpans _ x = [x]  parseRawLaTeX :: Lang -> String -> [Inline]@@ -85,7 +85,7 @@ inlinesToFormatted :: [Inline] -> Bib Formatted inlinesToFormatted ils = do   lang <- gets localeLanguage-  return $ Formatted $ bottomUp (concatMap (adjustSpans lang)) ils+  return $ Formatted $ Walk.walk (concatMap (adjustSpans lang)) ils  data Item = Item{ identifier :: String                 , entryType  :: String
src/Text/CSL/Pandoc.hs view
@@ -60,12 +60,12 @@       moveNotes     = case lookupMeta "notes-after-punctuation" m1 of                            Just (MetaBool False) -> False                            _                     -> True-      Pandoc m3 bs  = bottomUp (mvPunct moveNotes style) . deNote .-                        topDown (processCite style cits_map) $ Pandoc m2 b2+      Pandoc m3 bs  = walk (mvPunct moveNotes style) . deNote .+                        walk (processCite style cits_map) $ Pandoc m2 b2       m             = case metanocites of                             Nothing -> m3                             Just x  -> setMeta "nocite" x m3-  in  Pandoc m $ bottomUp (concatMap removeNocaseSpans)+  in  Pandoc m $ walk (concatMap removeNocaseSpans)                $ insertRefs m biblioList bs  -- if document contains a Div with id="refs", insert@@ -272,34 +272,38 @@ isSpacy _         = False  mvPunct :: Bool -> Style -> [Inline] -> [Inline]-mvPunct _ _ (x : Space : xs)-  | isSpacy x = x : xs-mvPunct moveNotes _ (s : x : ys)+mvPunct moveNotes sty (x : Space : xs)+  | isSpacy x = x : mvPunct moveNotes sty xs+mvPunct moveNotes sty (s : x : ys)   | isSpacy s   , isNote x   , startWithPunct ys   = if moveNotes-       then Str (headInline ys) : x : tailInline ys-       else x : ys-mvPunct moveNotes _ (Cite cs ils : ys)+       then Str (headInline ys) : x :+            mvPunct moveNotes sty (tailInline ys)+       else x : mvPunct moveNotes sty ys+mvPunct moveNotes sty (Cite cs ils : ys)    | length ils > 1    , isNote (last ils)    , startWithPunct ys    , moveNotes    = Cite cs (init ils      ++ [Str (headInline ys) | not (endWithPunct False (init ils))]-     ++ [last ils]) : tailInline ys+     ++ [last ils]) : mvPunct moveNotes sty (tailInline ys) mvPunct moveNotes sty (q@(Quoted _ _) : w@(Str _) : x : ys)   | isNote x   , isPunctuationInQuote sty   , moveNotes-  = mvPunctInsideQuote q w ++ (x : ys)-mvPunct _ _ (s : x : ys) | isSpacy s, isNote x = x : ys-mvPunct _ _ (s : x@(Cite _ (Superscript _ : _)) : ys) | isSpacy s = x : ys-mvPunct _ _ (Cite cs ils : Str "." : ys)+  = mvPunctInsideQuote q w ++ (x : mvPunct moveNotes sty ys)+mvPunct moveNotes sty (s : x : ys) | isSpacy s, isNote x =+  x : mvPunct moveNotes sty ys+mvPunct moveNotes sty (s : x@(Cite _ (Superscript _ : _)) : ys)+  | isSpacy s = x : mvPunct moveNotes sty ys+mvPunct moveNotes sty (Cite cs ils : Str "." : ys)   | lastInline ils == "."-  = Cite cs ils : ys-mvPunct _ _ xs = xs+  = Cite cs ils : mvPunct moveNotes sty ys+mvPunct moveNotes sty (x:xs) = x : mvPunct moveNotes sty xs+mvPunct _ _ [] = []  endWithPunct :: Bool -> [Inline] -> Bool endWithPunct _ [] = True
src/Text/CSL/Proc.hs view
@@ -317,6 +317,7 @@     | otherwise = formatCits cs     where       isNote    = styleClass s == "note"+      toNote (Formatted []) = mempty       toNote (Formatted xs) = Formatted [Note [Para xs]]       combine (Formatted []) ys = ys       combine xs ys =
src/Text/CSL/Style.hs view
@@ -116,7 +116,6 @@                                          parseString, query, splitStrWhen,                                          tailInline, trimr, (.#:), (.#?),                                          AddYaml(..))-import           Text.Pandoc            (bottomUp) import qualified Text.Pandoc.Builder    as B import           Text.Pandoc.Definition hiding (Citation, Cite) import qualified Text.Pandoc.Walk       as Walk@@ -165,13 +164,13 @@ writeYAMLString ils =   trimr $ writeMarkdown         $ Pandoc nullMeta-          [Plain $ bottomUp (concatMap (adjustCSL False)) ils]+          [Plain $ Walk.walk (concatMap (adjustCSL False)) ils]  writeCSLString :: [Inline] -> String writeCSLString ils =   trimr $ writeMarkdown         $ Pandoc nullMeta-          [Plain $ bottomUp (concatMap (adjustCSL True)) ils]+          [Plain $ Walk.walk (concatMap (adjustCSL True)) ils]  -- If the first param is True, we use special rich text conventions -- for CSL JSON, described here:
stack.yaml view
@@ -13,4 +13,6 @@ - pandoc-2.1 - hslua-0.9.5 - skylighting-0.5.1+ghc-options:+   "$locals": -fhide-source-paths resolver: lts-10.2
+ tests/jats.csl view
@@ -0,0 +1,208 @@+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" default-locale="en-US">+  <info>+    <title>Journal Article Tag Suite</title>+    <title-short>JATS</title-short>+    <id>http://www.zotero.org/styles/journal-article-tag-suite</id>+    <link href="https://github.com/MartinPaulEve/JATS-CSL/blob/master/jats.csl" rel="self"/>+    <link rel="documentation" href="http://jats.nlm.nih.gov/archiving/tag-library/1.0/index.html"/>+    <author>+      <name>Martin Paul Eve</name>+      <email>martin@martineve.com</email>+    </author>+    <category citation-format="numeric"/>+    <category field="medicine"/>+    <category field="biology"/>+    <summary>Use this style to generate bibliographic data in Journal Article Tagging Suite (JATS) 1.0 XML format</summary>+    <updated>2014-06-21T17:41:26+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. Originally by Martin Fenner.</rights>+  </info>+  <locale xml:lang="en">+    <terms>+        <term name="et-al">{{jats}}&lt;etal/&gt;{{/jats}}</term>+    </terms>+  </locale>+  <macro name="citation-number">+    <text variable="citation-number" prefix="{{jats}}id=&quot;ref-{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}"/>+  </macro>+  <macro name="author">+    <names variable="author">+        <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">+            <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>+            <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;/given-names&gt;{{/jats}}"/>+      </name>+      <substitute>+        <names variable="editor"/>+      </substitute>+    </names>+  </macro>++  <macro name="editor">+    <names variable="editor" prefix="{{jats}}&lt;person-group person-group-type=&quot;editor&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/person-group&gt;{{/jats}}">+      <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">+        <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>+        <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;/given-names&gt;{{/jats}}"/>+      </name>+      <substitute>+        <names variable="editor"/>+      </substitute>+    </names>+  </macro>++  <macro name="editor">+    <group delimiter=": ">+      <names variable="editor">+        <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">+          <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>+          <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;given-names&gt;{{/jats}}"/>+        </name>+      </names>+    </group>+  </macro>+  <macro name="title">+    <choose>+      <if type="book" match="any">+        <group prefix="{{jats}}&lt;source&gt;{{/jats}}" suffix="{{jats}}&lt;/source&gt;{{/jats}}">+	        <text variable="title"/>+				</group>			+			</if>+      <else>+        <group prefix="{{jats}}&lt;article-title&gt;{{/jats}}" suffix="{{jats}}&lt;/article-title&gt;{{/jats}}">+	        <text variable="title"/>+				</group>+      </else>+    </choose>+  </macro>+  <macro name="container-title">+    <text variable="container-title" form="short" prefix="{{jats}}&lt;source&gt;{{/jats}}" suffix="{{jats}}&lt;/source&gt;{{/jats}}"/>+  </macro>+  <macro name="publisher">+    <text variable="publisher" prefix="{{jats}}&lt;publisher-name&gt;{{/jats}}" suffix="{{jats}}&lt;/publisher-name&gt;{{/jats}}"/>+    <text variable="publisher-place" prefix="{{jats}}&lt;publisher-loc&gt;{{/jats}}" suffix="{{jats}}&lt;/publisher-loc&gt;{{/jats}}"/>+  </macro>+  <macro name="link">+    <choose>+      <if match="any" variable="DOI">+        <group prefix="{{jats}}&lt;pub-id pub-id-type=&quot;doi&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/pub-id&gt;{{/jats}}">+          <text variable="DOI"/>+        </group>+      </if>+    </choose>+    <choose>+      <if match="any" variable="PMID">+        <group prefix="{{jats}}&lt;ext-link ext-link-type=&quot;pmid&quot; {{/jats}}" suffix="{{jats}}&lt;/ext-link&gt;{{/jats}}">+          <text variable="PMID" prefix="{{jats}}xlink:href=&quot;http://www.ncbi.nlm.nih.gov/pubmed/{{/jats}}" suffix="{{jats}}&quot; xlink:type=&quot;simple&quot;&gt;{{/jats}}"/>+          <text variable="PMID"/>+        </group>+      </if>+    </choose>+    <choose>+      <if variable="URL" match="any">+        <group prefix="{{jats}}&lt;ext-link ext-link-type=&quot;uri&quot; {{/jats}}" suffix="{{jats}}&lt;/ext-link&gt;{{/jats}}">+          <text variable="URL" prefix="{{jats}}xlink:href=&quot;{{/jats}}" suffix="{{jats}}&quot; xlink:type=&quot;simple&quot;&gt;{{/jats}}"/>+          <text variable="URL"/>+        </group>+      </if>+    </choose>+  </macro>+  <macro name="date">+    <choose>+      <if type="article-journal article-magazine article-newspaper report patent book" match="any">+        <group prefix="{{jats}}&lt;date&gt;{{/jats}}" suffix="{{jats}}&lt;/date&gt;{{/jats}}">+          <date variable="issued">+            <date-part name="day" form="numeric-leading-zeros" prefix="{{jats}}&lt;day&gt;{{/jats}}" suffix="{{jats}}&lt;/day&gt;{{/jats}}"/>+            <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}&lt;month&gt;{{/jats}}" suffix="{{jats}}&lt;/month&gt;{{/jats}}"/>+            <date-part name="year" prefix="{{jats}}&lt;year&gt;{{/jats}}" suffix="{{jats}}&lt;/year&gt;{{/jats}}"/>+          </date>+        </group>+      </if>+      <else>+        <group prefix="{{jats}}&lt;date-in-citation content-type=&quot;access-date&quot;{{/jats}}" suffix="{{jats}}&lt;/date-in-citation&gt;{{/jats}}">+          <date variable="accessed" prefix="{{jats}} iso-8601-date=&quot;{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}">+            <date-part name="year"/>+            <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}-{{/jats}}"/>+            <date-part name="day" form="numeric-leading-zeros" prefix="{{jats}}-{{/jats}}"/>+          </date>+          <date variable="accessed">+            <date-part name="day" prefix="{{jats}}&lt;day&gt;{{/jats}}" suffix="{{jats}}&lt;/day&gt;{{/jats}}"/>+            <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}&lt;month&gt;{{/jats}}" suffix="{{jats}}&lt;/month&gt;{{/jats}}"/>+            <date-part name="year" prefix="{{jats}}&lt;year&gt;{{/jats}}" suffix="{{jats}}&lt;/year&gt;{{/jats}}"/>+          </date>+        </group>+      </else>+    </choose>+  </macro>+  <macro name="location">+    <choose>+      <if type="article-journal article-magazine" match="any">+        <text variable="volume" prefix="{{jats}}&lt;volume&gt;{{/jats}}" suffix="{{jats}}&lt;/volume&gt;{{/jats}}"/>+        <text variable="issue" prefix="{{jats}}&lt;issue&gt;{{/jats}}" suffix="{{jats}}&lt;/issue&gt;{{/jats}}"/>+      </if>+    </choose>+    <choose>+      <if type="article-journal article-magazine article-newspaper chapter" match="any">+        <text variable="page-first" prefix="{{jats}}&lt;fpage&gt;{{/jats}}" suffix="{{jats}}&lt;/fpage&gt;{{/jats}}"/>+      </if>+    </choose>+  </macro>+  <macro name="publication-type">+    <group prefix="{{jats}} publication-type=&quot;{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}">+      <choose>+        <if type="article-journal article-magazine article-newspaper" match="any">+          <text value="journal"/>+        </if>+        <else-if type="book" match="any">+          <text value="book"/>+        </else-if>+        <else-if type="chapter" match="any">+          <text value="bookchapter"/>+        </else-if>+        <else-if type="dataset" match="any">+          <text value="dataset"/>+        </else-if>+        <else-if type="patent" match="any">+          <text value="patent"/>+        </else-if>+        <else-if type="report" match="any">+          <text value="report"/>+        </else-if>+        <else-if type="review" match="any">+          <text value="review"/>+        </else-if>+        <else>+          <text value="standard"/>+        </else>+      </choose>+    </group>+  </macro>+  <citation collapse="citation-number">+    <sort>+      <key variable="citation-number"/>+    </sort>+    <layout delimiter=",">+      <group prefix="{{jats}}&lt;xref ref-type=&quot;bibr&quot; rid=&quot;{{/jats}}" suffix="{{jats}}&lt;/xref&gt;{{/jats}}">+        <text variable="citation-number" prefix="{{jats}}ref-{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}"/>+        <text variable="citation-number"/>+      </group>+    </layout>+  </citation>+  <bibliography sort-separator="">+    <layout>+      <group prefix="{{jats}}&lt;ref {{/jats}}" suffix="{{jats}}&lt;/ref&gt;{{/jats}}">+        <text macro="citation-number"/>+        <group prefix="{{jats}}&lt;element-citation{{/jats}}" suffix="{{jats}}&lt;/element-citation&gt;{{/jats}}">+          <text macro="publication-type"/>+          <text macro="author" prefix="{{jats}}&lt;person-group person-group-type=&quot;author&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/person-group&gt;{{/jats}}"/>+          <text macro="title" />+          <text macro="container-title"/>+          <text macro="editor"/>+          <text macro="publisher"/>+          <text macro="date"/>+          <text macro="location"/>+          <text macro="link"/>+        </group>+      </group>+    </layout>+  </bibliography>+</style>+
− tests/modern-language-association-7th-edition.csl
@@ -1,460 +0,0 @@-<?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="never">-  <info>-    <title>Modern Language Association 7th edition</title>-    <title-short>MLA</title-short>-    <id>http://www.zotero.org/styles/modern-language-association-7th-edition</id>-    <link href="http://www.zotero.org/styles/modern-language-association-7th-edition" rel="self"/>-    <link href="http://owl.english.purdue.edu/owl/section/2/11/" rel="documentation"/>-    <author>-      <name>Ilouise S. Bradford</name>-      <email>isbradford@gmail.com</email>-    </author>-    <contributor>-      <name>Sarah Ficke</name>-      <email>sficke@email.unc.edu</email>-    </contributor>-    <contributor>-      <name>Sebastian Karcher</name>-      <email>karcher@u.northwestern.edu</email>-    </contributor>-    <contributor>-      <name>Christian Werthschulte</name>-      <email>Christian.Werthschulte@rub.de</email>-    </contributor>-    <contributor>-      <name>Simon Kornblith</name>-      <email>simon@simonster.com</email>-    </contributor>-    <contributor>-      <name>James Johnston</name>-      <email>thejamesjohnston@gmail.com</email>-    </contributor>-    <category citation-format="author"/>-    <category field="generic-base"/>-    <summary>This style adheres to the MLA 7th edition handbook and contains modifications to these types of sources: e-mail, forum posts, interviews, manuscripts, maps, presentations, TV broadcasts, and web pages.</summary>-    <updated>2017-04-27T18:03:35+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="month-01" form="short">Jan.</term>-      <term name="month-02" form="short">Feb.</term>-      <term name="month-03" form="short">Mar.</term>-      <term name="month-04" form="short">Apr.</term>-      <term name="month-05" form="short">May</term>-      <term name="month-06" form="short">June</term>-      <term name="month-07" form="short">July</term>-      <term name="month-08" form="short">Aug.</term>-      <term name="month-09" form="short">Sept.</term>-      <term name="month-10" form="short">Oct.</term>-      <term name="month-11" form="short">Nov.</term>-      <term name="month-12" form="short">Dec.</term>-      <term name="volume" form="short">-        <single>Vol.</single>-        <multiple>vols</multiple>-      </term>-      <term name="edition" form="short">ed</term>-      <term name="editor" form="verb-short">ed.</term>-      <term name="translator" form="verb-short">trans.</term>-      <term name="translator" form="short">trans.</term>-    </terms>-  </locale>-  <macro name="editor-translator">-    <names variable="editor translator" delimiter=". ">-      <label form="verb-short" text-case="capitalize-first" suffix=" "/>-      <name and="text" delimiter=", "/>-    </names>-  </macro>-  <macro name="author">-    <names variable="author">-      <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>-      <label form="short" prefix=", "/>-      <substitute>-        <names variable="editor"/>-        <names variable="translator"/>-        <text macro="title"/>-      </substitute>-    </names>-  </macro>-  <macro name="author-short">-    <names variable="author">-      <name form="short" and="text" delimiter=", " initialize-with=". "/>-      <substitute>-        <names variable="editor"/>-        <names variable="translator"/>-        <text macro="title-short"/>-      </substitute>-    </names>-  </macro>-  <macro name="access">-    <group delimiter=" ">-      <date variable="accessed">-        <date-part name="day" suffix=" "/>-        <date-part name="month" form="short" suffix=" "/>-        <date-part name="year"/>-      </date>-    </group>-  </macro>-  <macro name="issued-full-date">-    <choose>-      <if variable="issued">-        <date variable="issued">-          <date-part name="day" suffix=" "/>-          <date-part name="month" form="short" suffix=" " strip-periods="false"/>-          <date-part name="year"/>-        </date>-      </if>-      <else>-        <text term="no date" form="short"/>-      </else>-    </choose>-  </macro>-  <macro name="medium">-    <choose>-      <if type="motion_picture">-        <choose>-          <if variable="medium">-            <text variable="medium" prefix=" "/>-          </if>-          <else>-            <text value="Film" prefix=" "/>-          </else>-        </choose>-      </if>-      <else-if type="broadcast">-        <choose>-          <if variable="medium">-            <text variable="medium" prefix=" "/>-          </if>-          <else>-            <text value="Television" prefix=" "/>-          </else>-        </choose>-      </else-if>-      <else-if type="manuscript">-        <text value=""/>-      </else-if>-      <else-if type="personal_communication" match="any">-        <text value="" prefix=" "/>-      </else-if>-      <else-if type="speech" match="any">-        <text value=""/>-      </else-if>-      <else-if type="interview">-        <text variable="medium" prefix=" "/>-      </else-if>-      <else-if type="song">-        <choose>-          <if variable="medium">-            <text variable="medium" prefix=" "/>-          </if>-          <else>-            <text value="Audio Recording" prefix=" "/>-          </else>-        </choose>-      </else-if>-      <else-if type="graphic" variable="medium" match="all">-        <text variable="medium" prefix=" "/>-      </else-if>-      <else>-        <choose>-          <if variable="URL DOI" match="any">-            <text variable="source" prefix=" " suffix="." font-style="italic"/>-            <group>-              <text value="Web." prefix=" "/>-            </group>-            <text prefix=" " suffix="." macro="access"/>-          </if>-          <else>-            <text value="Print" prefix=" "/>-          </else>-        </choose>-      </else>-    </choose>-  </macro>-  <macro name="title">-    <choose>-      <if type="bill book graphic legal_case legislation manuscript motion_picture report song" match="any">-        <text variable="title" font-style="italic" text-case="title"/>-      </if>-      <else-if type="interview personal_communication" match="any">-        <text variable="title" text-case="title" quotes="false"/>-      </else-if>-      <else>-        <text variable="title" text-case="title" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="title-short">-    <choose>-      <if type="bill book graphic legal_case legislation manuscript motion_picture report song" match="any">-        <text variable="title" text-case="title" form="short" font-style="italic"/>-      </if>-      <else>-        <text variable="title" text-case="title" form="short" quotes="true"/>-      </else>-    </choose>-  </macro>-  <macro name="pages">-    <choose>-      <if variable="page">-        <text variable="page"/>-      </if>-      <else-if type="personal_communication interview" match="any">-        <text value=""/>-      </else-if>-      <else>-        <text value="n. pag"/>-      </else>-    </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"/>-      </else>-    </choose>-  </macro>-  <macro name="volume">-    <choose>-      <if is-numeric="volume">-        <group delimiter=" ">-          <text term="volume" form="short" strip-periods="false"/>-          <number variable="volume"/>-        </group>-      </if>-      <else>-        <text variable="volume"/>-      </else>-    </choose>-  </macro>-  <macro name="number-of-volumes-only">-    <choose>-      <if variable="volume" match="none">-        <choose>-          <if is-numeric="number-of-volumes">-            <group delimiter=" ">-              <number variable="number-of-volumes"/>-              <text term="volume" form="short" plural="true" strip-periods="true"/>-            </group>-          </if>-          <else>-            <text variable="number-of-volumes"/>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="number-of-volumes-optional">-    <choose>-      <if variable="volume">-        <choose>-          <if is-numeric="number-of-volumes">-            <group delimiter=" ">-              <number variable="number-of-volumes"/>-              <text term="volume" form="short" plural="true" strip-periods="true"/>-            </group>-          </if>-          <else>-            <text variable="number-of-volumes"/>-          </else>-        </choose>-      </if>-    </choose>-  </macro>-  <macro name="collection-title">-    <text variable="collection-title" text-case="title" prefix=" "/>-  </macro>-  <macro name="collection-number">-    <text variable="collection-number" prefix=" " suffix="."/>-  </macro>-  <macro name="publisher">-    <choose>-      <if variable="publisher">-        <text variable="publisher"/>-      </if>-      <else>-        <text value="N.p."/>-      </else>-    </choose>-  </macro>-  <macro name="publisher-year">-    <group delimiter=", ">-      <group delimiter=": ">-        <text variable="publisher-place"/>-        <text macro="publisher"/>-      </group>-      <date variable="issued">-        <date-part name="year"/>-      </date>-    </group>-  </macro>-  <citation et-al-min="2" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">-    <layout prefix="(" suffix=")" delimiter="; ">-      <group delimiter=" ">-        <choose>-          <if variable="author editor translator" match="any">-            <group delimiter=", ">-              <text macro="author-short"/>-              <choose>-                <if disambiguate="true">-                  <text macro="title-short"/>-                </if>-              </choose>-            </group>-          </if>-          <else>-            <text macro="title-short"/>-          </else>-        </choose>-        <text variable="locator"/>-      </group>-    </layout>-  </citation>-  <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" entry-spacing="0" subsequent-author-substitute="---">-    <sort>-      <key macro="author"/>-      <key variable="title"/>-    </sort>-    <layout suffix=".">-      <text macro="author" suffix="."/>-      <text macro="title" prefix=" " suffix="."/>-      <choose>-        <if type="bill book graphic legal_case legislation motion_picture report song" match="any">-          <text macro="editor-translator" prefix=" " suffix="."/>-          <text macro="edition" prefix=" " suffix="."/>-          <text macro="volume" prefix=" " suffix="."/>-          <text macro="number-of-volumes-only" prefix=" " suffix="."/>-          <text macro="publisher-year" prefix=" " suffix="."/>-        </if>-        <else-if type="chapter paper-conference" match="any">-          <group>-            <text variable="container-title" text-case="title" font-style="italic" prefix=" " suffix="."/>-            <text macro="editor-translator" prefix=" " suffix="."/>-            <text macro="edition" prefix=" " suffix="."/>-            <text macro="volume" prefix=" " suffix="."/>-            <text macro="number-of-volumes-only" prefix=" " suffix="."/>-            <text macro="publisher-year" prefix=" " suffix="."/>-          </group>-          <text variable="page" prefix=" " suffix="."/>-        </else-if>-        <else-if type="thesis">-          <text variable="genre" prefix=" " suffix="."/>-          <group delimiter=", ">-            <text macro="publisher" prefix=" "/>-            <date variable="issued" prefix=" " suffix=".">-              <date-part name="year"/>-            </date>-          </group>-          <text variable="archive_location" prefix=" " suffix="."/>-        </else-if>-        <else-if type="manuscript">-          <date variable="issued" prefix=" " suffix=".">-            <date-part name="year"/>-          </date>-          <text variable="genre" prefix=" " suffix="."/>-          <text variable="archive_location" prefix=" " suffix="."/>-          <text variable="publisher-place" prefix=" "/>-        </else-if>-        <else-if type="personal_communication">-          <date variable="issued" prefix=" " suffix=".">-            <date-part name="day" suffix=" "/>-            <date-part name="month" form="short" suffix=" "/>-            <date-part name="year"/>-          </date>-          <choose>-            <if variable="genre">-              <text prefix=" " suffix="." variable="genre"/>-            </if>-            <else>-              <text prefix=" " suffix="." value="E-mail"/>-            </else>-          </choose>-        </else-if>-        <else-if type="map">-          <text variable="genre" prefix=" " suffix="."/>-          <text variable="publisher-place" prefix=" " suffix=":"/>-          <text macro="publisher" prefix=" "/>-          <date variable="issued" prefix=" " suffix=",">-            <date-part name="year"/>-          </date>-        </else-if>-        <else-if type="speech">-          <text variable="event" prefix=" " suffix="."/>-          <text variable="publisher-place" prefix=" " suffix="."/>-          <date variable="issued" prefix=" " suffix=".">-            <date-part name="year"/>-          </date>-          <text variable="genre" prefix=" " suffix="."/>-        </else-if>-        <else-if type="webpage post-weblog" match="any">-          <text variable="genre" prefix=" " suffix="."/>-          <text variable="container-title" font-style="italic" prefix=" " suffix="."/>-          <group delimiter=", " prefix=" ">-            <text macro="publisher"/>-            <text macro="issued-full-date" suffix="."/>-          </group>-        </else-if>-        <else-if type="broadcast">-          <text variable="container-title" font-style="italic" prefix=" " suffix="."/>-          <text macro="publisher" prefix=" " suffix=","/>-          <date variable="issued" prefix=" " suffix=".">-            <date-part name="day" suffix=" "/>-            <date-part name="month" form="short" suffix=" " strip-periods="false"/>-            <date-part name="year"/>-          </date>-        </else-if>-        <else>-          <group prefix=" " suffix="." delimiter=": ">-            <group delimiter=" ">-              <text macro="editor-translator" suffix="."/>-              <text variable="container-title" font-style="italic"/>-              <choose>-                <if type="article-journal">-                  <group delimiter=" ">-                    <group delimiter=".">-                      <text variable="volume"/>-                      <text variable="issue"/>-                    </group>-                    <date variable="issued" prefix="(" suffix="):">-                      <date-part name="year"/>-                    </date>-                  </group>-                  <text macro="pages" prefix=" "/>-                </if>-                <else>-                  <group>-                    <date variable="issued">-                      <date-part name="day" suffix=" "/>-                      <date-part name="month" form="short" suffix=" " strip-periods="false"/>-                      <date-part name="year"/>-                    </date>-                    <choose>-                      <if variable="URL DOI" match="any">-                        <text variable="page" prefix=": "/>-                      </if>-                      <else>-                        <text macro="pages" prefix=": "/>-                      </else>-                    </choose>-                  </group>-                </else>-              </choose>-            </group>-          </group>-        </else>-      </choose>-      <text macro="medium" suffix="."/>-      <text macro="number-of-volumes-optional" suffix="." prefix=" "/>-      <text macro="collection-title"/>-      <text macro="collection-number"/>-    </layout>-  </bibliography>-</style>