packages feed

citeproc 0.8.0.1 → 0.8.0.2

raw patch · 8 files changed

+504/−327 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,10 @@ # citeproc changelog +## 0.8.0.2++  * Fix missing locator after collapsing and grouping with year+    suffix (#96).+ ## 0.8.0.1    * Fix disambiguation edge case (#116). We weren't properly
citeproc.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                citeproc-version:             0.8.0.1+version:             0.8.0.2 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
locales/it-IT.xml view
@@ -2,13 +2,11 @@ <locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="it-IT">   <info>     <translator>-      <name>FI App Development</name>-    </translator>-    <translator>-      <name>Monica Thuegaz</name>+      <name>Filippo Vomiero</name>+      <email>filippo.vomiero@unipd.it</email>     </translator>     <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>-    <updated>2012-07-04T23:31:02+00:00</updated>+    <updated>2022-07-07T17:56:02+01:00</updated>   </info>   <style-options punctuation-in-quote="false"/>   <date form="text">@@ -24,31 +22,31 @@   <terms>     <term name="advance-online-publication">advance online publication</term>     <term name="album">album</term>-    <term name="audio-recording">audio recording</term>+    <term name="audio-recording">registrazione audio</term>     <term name="film">film</term>-    <term name="henceforth">henceforth</term>+    <term name="henceforth">d'ora in poi</term>     <term name="loc-cit">loc. cit.</term> <!-- like ibid., the abbreviated form is the regular form  -->-    <term name="no-place">no place</term>-    <term name="no-place" form="short">n.p.</term>-    <term name="no-publisher">no publisher</term> <!-- sine nomine -->-    <term name="no-publisher" form="short">n.p.</term>-    <term name="on">on</term>+    <term name="no-place">sine loco</term>+    <term name="no-place" form="short">s.l.</term>+    <term name="no-publisher">sine nomine</term> <!-- sine nomine -->+    <term name="no-publisher" form="short">s.n.</term>+    <term name="on">su</term>     <term name="op-cit">op. cit.</term> <!-- like ibid., the abbreviated form is the regular form  -->-    <term name="original-work-published">original work published</term>+    <term name="original-work-published">opera originale pubblicata</term>     <term name="personal-communication">comunicazione personale</term>     <term name="podcast">podcast</term>-    <term name="podcast-episode">podcast episode</term>+    <term name="podcast-episode">episodio di podcast</term>     <term name="preprint">preprint</term>-    <term name="radio-broadcast">radio broadcast</term>-    <term name="radio-series">radio series</term>-    <term name="radio-series-episode">radio series episode</term>-    <term name="special-issue">special issue</term>-    <term name="special-section">special section</term>-    <term name="television-broadcast">television broadcast</term>-    <term name="television-series">television series</term>-    <term name="television-series-episode">television series episode</term>+    <term name="radio-broadcast">trasmissione radiofonica</term>+    <term name="radio-series">serie radiofonica</term>+    <term name="radio-series-episode">episodio di serie radiofonica</term>+    <term name="special-issue">edizione speciale</term>+    <term name="special-section">sezione speciale</term>+    <term name="television-broadcast">trasmissione televisiva</term>+    <term name="television-series">serie televisiva</term>+    <term name="television-series-episode">episodio di serie televisiva</term>     <term name="video">video</term>-    <term name="working-paper">working paper</term>+    <term name="working-paper">documento di lavoro</term>     <term name="accessed">consultato</term>     <term name="and">e</term>     <term name="and others">e altri</term>@@ -77,17 +75,17 @@     <term name="internet">internet</term>     <term name="interview">intervista</term>     <term name="letter">lettera</term>-    <term name="no date">senza data</term>+    <term name="no date">sine data</term>     <term name="no date" form="short">s.d.</term>     <term name="online">online</term>     <term name="presented at">presentato al</term>     <term name="reference">-      <single>reference</single>-      <multiple>references</multiple>+      <single>riferimento</single>+      <multiple>riferimenti</multiple>     </term>     <term name="reference" form="short">-      <single>ref.</single>-      <multiple>refs.</multiple>+      <single>rif.</single>+      <multiple>rif.</multiple>     </term>     <term name="retrieved">recuperato</term>     <term name="scale">scala</term>@@ -95,67 +93,67 @@      <!-- LONG ITEM TYPE FORMS -->     <term name="article">preprint</term>-    <term name="article-journal">journal article</term>-    <term name="article-magazine">magazine article</term>-    <term name="article-newspaper">newspaper article</term>-    <term name="bill">bill</term>-    <term name="book">book</term>+    <term name="article-journal">articolo di rivista</term>+    <term name="article-magazine">articolo di rivista generalista</term>+    <term name="article-newspaper">articolo di giornale</term>+    <term name="bill">proposta di legge</term>+    <term name="book">libro</term>     <term name="broadcast">broadcast</term>-    <term name="chapter">book chapter</term>-    <term name="classic">classic</term>-    <term name="collection">collection</term>+    <term name="chapter">capitolo di libro</term>+    <term name="classic">classico</term>+    <term name="collection">collezione</term>     <term name="dataset">dataset</term>-    <term name="document">document</term>-    <term name="entry">entry</term>-    <term name="entry-dictionary">dictionary entry</term>-    <term name="entry-encyclopedia">encyclopedia entry</term>-    <term name="event">event</term>+    <term name="document">documento</term>+    <term name="entry">voce</term>+    <term name="entry-dictionary">voce di dizionario</term>+    <term name="entry-encyclopedia">voce di enciclopedia</term>+    <term name="event">evento</term>     <!-- figure is in the list of locator terms -->-    <term name="graphic">graphic</term>-    <term name="hearing">hearing</term>-    <term name="interview">interview</term>-    <term name="legal_case">legal case</term>-    <term name="legislation">legislation</term>-    <term name="manuscript">manuscript</term>-    <term name="map">map</term>-    <term name="motion_picture">video recording</term>-    <term name="musical_score">musical score</term>-    <term name="pamphlet">pamphlet</term>-    <term name="paper-conference">conference paper</term>-    <term name="patent">patent</term>-    <term name="performance">performance</term>-    <term name="periodical">periodical</term>+    <term name="graphic">opera d'arte</term>+    <term name="hearing">udienza</term>+    <term name="interview">intervista</term>+    <term name="legal_case">causa</term>+    <term name="legislation">legislazione</term>+    <term name="manuscript">manoscritto</term>+    <term name="map">mappa</term>+    <term name="motion_picture">film</term>+    <term name="musical_score">spartito musicale</term>+    <term name="pamphlet">opuscolo</term>+    <term name="paper-conference">atto di convegno</term>+    <term name="patent">brevetto</term>+    <term name="performance">esecuzione</term>+    <term name="periodical">periodico</term>     <term name="personal_communication">comunicazione personale</term>-    <term name="post">post</term>-    <term name="post-weblog">blog post</term>-    <term name="regulation">regulation</term>+    <term name="post">messaggio</term>+    <term name="post-weblog">messaggio di blog</term>+    <term name="regulation">decreto</term>     <term name="report">report</term>     <term name="review">review</term>-    <term name="review-book">book review</term>+    <term name="review-book">recensione di libro</term>     <term name="software">software</term>-    <term name="song">audio recording</term>-    <term name="speech">presentation</term>-    <term name="standard">standard</term>-    <term name="thesis">thesis</term>-    <term name="treaty">treaty</term>-    <term name="webpage">webpage</term>+    <term name="song">registrazione audio</term>+    <term name="speech">presentazione</term>+    <term name="standard">norma</term>+    <term name="thesis">tesi</term>+    <term name="treaty">trattato</term>+    <term name="webpage">pagina web</term>      <!-- SHORT ITEM TYPE FORMS -->-    <term name="article-journal" form="short">journal art.</term>-    <term name="article-magazine" form="short">mag. art.</term>-    <term name="article-newspaper" form="short">newspaper art.</term>-    <term name="book" form="short">bk.</term>-    <term name="chapter" form="short">bk. chap.</term>+    <term name="article-journal" form="short">art. di riv.</term>+    <term name="article-magazine" form="short">art. di riv</term>+    <term name="article-newspaper" form="short">art. di g.</term>+    <term name="book" form="short">l.</term>+    <term name="chapter" form="short">c. di l.</term>     <term name="document" form="short">doc.</term>     <!-- figure is in the list of locator terms -->-    <term name="graphic" form="short">graph.</term>+    <term name="graphic" form="short">op. d'arte</term>     <term name="interview" form="short">interv.</term>-    <term name="manuscript" form="short">MS</term>-    <term name="motion_picture" form="short">video rec.</term>+    <term name="manuscript" form="short">ms.</term>+    <term name="motion_picture" form="short">film</term>     <term name="report" form="short">rep.</term>     <term name="review" form="short">rev.</term>-    <term name="review-book" form="short">bk. rev.</term>-    <term name="song" form="short">audio rec.</term>+    <term name="review-book" form="short">rec. di l.</term>+    <term name="song" form="short">reg. audio</term>      <!-- HISTORICAL ERA TERMS -->     <term name="ad">d.C.</term>@@ -212,48 +210,48 @@      <!-- LONG LOCATOR FORMS -->     <term name="act">			 -      <single>act</single>-      <multiple>acts</multiple>						 +      <single>atto</single>+      <multiple>atto</multiple>						      </term>     <term name="appendix">			 -      <single>appendix</single>-      <multiple>appendices</multiple>						 +      <single>appendice</single>+      <multiple>appendici</multiple>						      </term>     <term name="article-locator">			 -      <single>article</single>-      <multiple>articles</multiple>						 +      <single>articolo</single>+      <multiple>articoli</multiple>						      </term>     <term name="canon">			 -      <single>canon</single>-      <multiple>canons</multiple>						 +      <single>canone</single>+      <multiple>canoni</multiple>						      </term>     <term name="elocation">			 -      <single>location</single>-      <multiple>locations</multiple>						 +      <single>indirizzo</single>+      <multiple>indirizzi</multiple>						      </term>     <term name="equation">			 -      <single>equation</single>-      <multiple>equations</multiple>						 +      <single>equazione</single>+      <multiple>equazioni</multiple>						      </term>     <term name="rule">			 -      <single>rule</single>-      <multiple>rules</multiple>						 +      <single>regola</single>+      <multiple>regole</multiple>						      </term>     <term name="scene">			 -      <single>scene</single>-      <multiple>scenes</multiple>						 +      <single>scena</single>+      <multiple>scene</multiple>						      </term>     <term name="table">			 -      <single>table</single>-      <multiple>tables</multiple>						 +      <single>tavola</single>+      <multiple>tavole</multiple>						      </term>     <term name="timestamp"> <!-- generally blank -->       <single></single>       <multiple></multiple>						      </term>     <term name="title-locator">			 -      <single>title</single>-      <multiple>titles</multiple>						 +      <single>titolo</single>+      <multiple>titoli</multiple>						      </term>     <term name="book">       <single>libro</single>@@ -276,8 +274,8 @@       <multiple>fogli</multiple>     </term>     <term name="issue" gender="masculine">-      <single>numero</single>-      <multiple>numeri</multiple>+      <single>fascicolo</single>+      <multiple>fascicoli</multiple>     </term>     <term name="line">       <single>riga</single>@@ -300,16 +298,16 @@       <multiple>pagine</multiple>     </term>     <term name="paragraph">-      <single>capoverso</single>-      <multiple>capoversi</multiple>+      <single>paragrafo</single>+      <multiple>paragrafi</multiple>     </term>     <term name="part">       <single>parte</single>       <multiple>parti</multiple>     </term>     <term name="section">-      <single>paragrafo</single>-      <multiple>paragrafi</multiple>+      <single>sezione</single>+      <multiple>sezioni</multiple>     </term>     <term name="sub-verbo">       <single>sub verbo</single>@@ -327,11 +325,11 @@     <!-- SHORT LOCATOR FORMS -->     <term name="appendix">			        <single>app.</single>-      <multiple>apps.</multiple>						 +      <multiple>app.</multiple>						      </term>     <term name="article-locator">			        <single>art.</single>-      <multiple>arts.</multiple>+      <multiple>art.</multiple>     </term>     <term name="elocation">			        <single>loc.</single>@@ -339,19 +337,19 @@     </term>     <term name="equation">			        <single>eq.</single>-      <multiple>eqs.</multiple>+      <multiple>eq.</multiple>     </term>     <term name="rule">			        <single>r.</single>-      <multiple>rr.</multiple>						 +      <multiple>r.</multiple>						      </term>     <term name="scene">			        <single>sc.</single>-      <multiple>scs.</multiple>						 +      <multiple>sc.</multiple>						      </term>     <term name="table">			 -      <single>tbl.</single>-      <multiple>tbls.</multiple>						 +      <single>tab.</single>+      <multiple>tab.</multiple>						      </term>     <term name="timestamp"> <!-- generally blank -->       <single></single>@@ -369,21 +367,21 @@     <term name="column" form="short">col.</term>     <term name="figure" form="short">fig.</term>     <term name="folio" form="short">fgl.</term>-    <term name="issue" form="short">n.</term>-    <term name="line" form="short">l.</term>+    <term name="issue" form="short">fasc.</term>+    <term name="line" form="short">r.</term>     <term name="note" form="short">n.</term>     <term name="opus" form="short">op.</term>     <term name="page" form="short">-      <single>pag.</single>-      <multiple>pagg.</multiple>+      <single>p.</single>+      <multiple>pp.</multiple>     </term>     <term name="number-of-pages" form="short">-      <single>pag.</single>-      <multiple>pagg.</multiple>+      <single>p.</single>+      <multiple>pp.</multiple>     </term>-    <term name="paragraph" form="short">cpv.</term>+    <term name="paragraph" form="short">par.</term>     <term name="part" form="short">pt.</term>-    <term name="section" form="short">par.</term>+    <term name="section" form="short">sez.</term>     <term name="sub-verbo" form="short">       <single>s.v.</single>       <multiple>s.vv.</multiple>@@ -409,68 +407,68 @@      <!-- LONG ROLE FORMS -->     <term name="chair">-      <single>chair</single>-      <multiple>chairs</multiple>+      <single>presidente</single>+      <multiple>presidenti</multiple>     </term>     <term name="compiler">-      <single>compiler</single>-      <multiple>compilers</multiple>+      <single>compilatore</single>+      <multiple>compilatori</multiple>     </term>     <term name="contributor">-      <single>contributor</single>-      <multiple>contributors</multiple>+      <single>collaboratore</single>+      <multiple>collaboratori</multiple>     </term>     <term name="curator">-      <single>curator</single>-      <multiple>curators</multiple>+      <single>curatore</single>+      <multiple>curatori</multiple>     </term>     <term name="executive-producer">-      <single>executive producer</single>-      <multiple>executive producers</multiple>+      <single>produttore esecutivo</single>+      <multiple>produttori esecutivi</multiple>     </term>     <term name="guest">-      <single>guest</single>-      <multiple>guests</multiple>+      <single>ospite</single>+      <multiple>ospiti</multiple>     </term>     <term name="host">-      <single>host</single>-      <multiple>hosts</multiple>+      <single>conduttore</single>+      <multiple>conduttori</multiple>     </term>     <term name="narrator">-      <single>narrator</single>-      <multiple>narrators</multiple>+      <single>narratore</single>+      <multiple>narratori</multiple>     </term>     <term name="organizer">-      <single>organizer</single>-      <multiple>organizers</multiple>+      <single>organizzatore</single>+      <multiple>organizzatori</multiple>     </term>     <term name="performer">-      <single>performer</single>-      <multiple>performers</multiple>+      <single>esecutore</single>+      <multiple>esecutori</multiple>     </term>     <term name="producer">-      <single>producer</single>-      <multiple>producers</multiple>+      <single>produttore</single>+      <multiple>produttori</multiple>     </term>     <term name="script-writer">-      <single>writer</single>-      <multiple>writers</multiple>+      <single>sceneggiatore</single>+      <multiple>sceneggiatori</multiple>     </term>     <term name="series-creator">-      <single>series creator</single>-      <multiple>series creators</multiple>+      <single>autore della serie</single>+      <multiple>autori della serie</multiple>     </term>     <term name="director">-      <single>director</single>-      <multiple>directors</multiple>+      <single>regista</single>+      <multiple>registi</multiple>     </term>     <term name="editor">       <single>curatore</single>       <multiple>curatori</multiple>     </term>     <term name="editorial-director">-      <single>editor</single>-      <multiple>editors</multiple>+      <single>direttore editoriale</single>+      <multiple>direttori editoriali</multiple>     </term>     <term name="illustrator">       <single>illustratore</single>@@ -488,55 +486,55 @@     <!-- SHORT ROLE FORMS -->     <term name="compiler" form="short">       <single>comp.</single>-      <multiple>comps.</multiple>+      <multiple>comp.</multiple>     </term>     <term name="contributor" form="short">-      <single>contrib.</single>-      <multiple>contribs.</multiple>+      <single>collab.</single>+      <multiple>collab.</multiple>     </term>     <term name="curator" form="short">       <single>cur.</single>-      <multiple>curs.</multiple>+      <multiple>cur.</multiple>     </term>     <term name="executive-producer" form="short">-      <single>exec. prod.</single>-      <multiple>exec. prods.</multiple>+      <single>prod.es.</single>+      <multiple>prod. es.</multiple>     </term>     <term name="narrator" form="short">       <single>narr.</single>-      <multiple>narrs.</multiple>+      <multiple>narr.</multiple>     </term>     <term name="organizer" form="short">       <single>org.</single>-      <multiple>orgs.</multiple>+      <multiple>org.</multiple>     </term>     <term name="performer" form="short">-      <single>perf.</single>-      <multiple>perfs.</multiple>+      <single>esec.</single>+      <multiple>esec.</multiple>     </term>     <term name="producer" form="short">       <single>prod.</single>-      <multiple>prods.</multiple>+      <multiple>prod.</multiple>     </term>     <term name="script-writer" form="short">-      <single>writ.</single>-      <multiple>writs.</multiple>+      <single>scen.</single>+      <multiple>scen.</multiple>     </term>     <term name="series-creator" form="short">-      <single>cre.</single>-      <multiple>cres.</multiple>+      <single>aut. d. serie</single>+      <multiple>aut. d. serie</multiple>     </term>     <term name="director" form="short">-      <single>dir.</single>-      <multiple>dir.</multiple>+      <single>reg.</single>+      <multiple>reg.</multiple>     </term>     <term name="editor" form="short">       <single>a c. di</single>       <multiple>a c. di</multiple>     </term>     <term name="editorial-director" form="short">-      <single>ed.</single>-      <multiple>ed.</multiple>+      <single>dir. ed.</single>+      <multiple>dir. ed.</multiple>     </term>     <term name="illustrator" form="short">       <single>ill.</single>@@ -547,28 +545,28 @@       <multiple>trad.</multiple>     </term>     <term name="editortranslator" form="short">-      <single>a c. di e trad. da</single>-      <multiple>a c. di e trad. da</multiple>+      <single>cur. e trad.</single>+      <multiple>cur. e trad.</multiple>     </term>      <!-- VERB ROLE FORMS -->-    <term name="chair" form="verb">chaired by</term>-    <term name="compiler" form="verb">compiled by</term>-    <term name="contributor" form="verb">with</term>-    <term name="curator" form="verb">curated by</term>-    <term name="executive-producer" form="verb">executive produced by</term>-    <term name="guest" form="verb">with guest</term>-    <term name="host" form="verb">hosted by</term>-    <term name="narrator" form="verb">narrated by</term>-    <term name="organizer" form="verb">organized by</term>-    <term name="performer" form="verb">performed by</term>-    <term name="producer" form="verb">produced by</term>-    <term name="script-writer" form="verb">written by</term>-    <term name="series-creator" form="verb">created by</term>+    <term name="chair" form="verb">presieduto da</term>+    <term name="compiler" form="verb">compilato da</term>+    <term name="contributor" form="verb">con un contributo di</term>+    <term name="curator" form="verb">a cura di</term>+    <term name="executive-producer" form="verb">produzione esecutiva di</term>+    <term name="guest" form="verb">con ospite</term>+    <term name="host" form="verb">condotto da</term>+    <term name="narrator" form="verb">narrato da</term>+    <term name="organizer" form="verb">organizzato da</term>+    <term name="performer" form="verb">esecuzione di</term>+    <term name="producer" form="verb">prodotto da</term>+    <term name="script-writer" form="verb">scritto da</term>+    <term name="series-creator" form="verb">creato da</term>     <term name="container-author" form="verb">di</term>     <term name="director" form="verb">diretto da</term>     <term name="editor" form="verb">a cura di</term>-    <term name="editorial-director" form="verb">edited by</term>+    <term name="editorial-director" form="verb">direzione editoriale di</term>     <term name="illustrator" form="verb">illustrato da</term>     <term name="interviewer" form="verb">intervista di</term>     <term name="recipient" form="verb">a</term>@@ -577,21 +575,21 @@     <term name="editortranslator" form="verb">a cura di e tradotto da</term>      <!-- SHORT VERB ROLE FORMS -->-    <term name="compiler" form="verb-short">comp. by</term>-    <term name="contributor" form="verb-short">w.</term>-    <term name="curator" form="verb-short">cur. by</term>-    <term name="executive-producer" form="verb-short">exec. prod. by</term>-    <term name="guest" form="verb-short">w. guest</term>-    <term name="host" form="verb-short">hosted by</term>-    <term name="narrator" form="verb-short">narr. by</term>-    <term name="organizer" form="verb-short">org. by</term>-    <term name="performer" form="verb-short">perf. by</term>-    <term name="producer" form="verb-short">prod. by</term>-    <term name="script-writer" form="verb-short">writ. by</term>-    <term name="series-creator" form="verb-short">cre. by</term>+    <term name="compiler" form="verb-short">comp. da</term>+    <term name="contributor" form="verb-short">con un contrib. di</term>+    <term name="curator" form="verb-short">a c. di</term>+    <term name="executive-producer" form="verb-short">prod. esec. di</term>+    <term name="guest" form="verb-short">con osp.</term>+    <term name="host" form="verb-short">cond. da</term>+    <term name="narrator" form="verb-short">narr. da</term>+    <term name="organizer" form="verb-short">org. da</term>+    <term name="performer" form="verb-short">esec. di</term>+    <term name="producer" form="verb-short">prod. da</term>+    <term name="script-writer" form="verb-short">scr. da</term>+    <term name="series-creator" form="verb-short">cre. da</term>     <term name="director" form="verb-short">dir. da</term>     <term name="editor" form="verb-short">a c. di</term>-    <term name="editorial-director" form="verb-short">ed.</term>+    <term name="editorial-director" form="verb-short">dir. ed. di</term>     <term name="illustrator" form="verb-short">ill. da</term>     <term name="translator" form="verb-short">trad. da</term>     <term name="editortranslator" form="verb-short">a c. di e trad. da</term>
locales/nb-NO.xml view
@@ -152,10 +152,10 @@     <term name="song" form="short">audio rec.</term>      <!-- HISTORICAL ERA TERMS -->-    <term name="ad">fvt.</term>-    <term name="bc">evt.</term>-    <term name="bce">BCE</term>-    <term name="ce">CE</term>+    <term name="ad">e.Kr.</term>+    <term name="bc">f.Kr.</term>+    <term name="bce">fvt.</term>+    <term name="ce">evt.</term>      <!-- PUNCTUATION -->     <term name="open-quote">«</term>
locales/nn-NO.xml view
@@ -152,10 +152,10 @@     <term name="song" form="short">audio rec.</term>      <!-- HISTORICAL ERA TERMS -->-    <term name="ad">fvt.</term>-    <term name="bc">evt.</term>-    <term name="bce">BCE</term>-    <term name="ce">CE</term>+    <term name="ad">e.Kr.</term>+    <term name="bc">f.Kr.</term>+    <term name="bce">fvt.</term>+    <term name="ce">evt.</term>      <!-- PUNCTUATION -->     <term name="open-quote">«</term>
locales/pt-PT.xml view
@@ -21,30 +21,30 @@   <terms>     <term name="advance-online-publication">advance online publication</term>     <term name="album">album</term>-    <term name="audio-recording">audio recording</term>-    <term name="film">film</term>+    <term name="audio-recording">gravação áudio</term>+    <term name="film">filme</term>     <term name="henceforth">henceforth</term>     <term name="loc-cit">loc. cit.</term> <!-- like ibid., the abbreviated form is the regular form  -->-    <term name="no-place">no place</term>-    <term name="no-place" form="short">n.p.</term>-    <term name="no-publisher">no publisher</term> <!-- sine nomine -->-    <term name="no-publisher" form="short">n.p.</term>-    <term name="on">on</term>+    <term name="no-place">sem local</term>+    <term name="no-place" form="short">s.l.</term>+    <term name="no-publisher">sem editor</term> <!-- sine nomine -->+    <term name="no-publisher" form="short">s.e.</term>+    <term name="on">em</term>     <term name="op-cit">op. cit.</term> <!-- like ibid., the abbreviated form is the regular form  -->-    <term name="original-work-published">original work published</term>+    <term name="original-work-published">trabalho original publicado</term>     <term name="personal-communication">comunicação pessoal</term>     <term name="podcast">podcast</term>-    <term name="podcast-episode">podcast episode</term>-    <term name="preprint">preprint</term>-    <term name="radio-broadcast">radio broadcast</term>-    <term name="radio-series">radio series</term>+    <term name="podcast-episode">episódio podcast</term>+    <term name="preprint">pré-impressão</term>+    <term name="radio-broadcast">transmissão de rádio</term>+    <term name="radio-series">série de rádio</term>     <term name="radio-series-episode">radio series episode</term>     <term name="special-issue">special issue</term>     <term name="special-section">special section</term>-    <term name="television-broadcast">television broadcast</term>+    <term name="television-broadcast">transmissão televisiva</term>     <term name="television-series">television series</term>     <term name="television-series-episode">television series episode</term>-    <term name="video">video</term>+    <term name="video">vídeo</term>     <term name="working-paper">working paper</term>     <term name="accessed">acedido</term>     <term name="and">e</term>@@ -84,54 +84,54 @@       <multiple>refs.</multiple>     </term>     <term name="retrieved">obtido</term>-    <term name="scale">scale</term>+    <term name="scale">escala</term>     <term name="version">versão</term>      <!-- LONG ITEM TYPE FORMS -->-    <term name="article">preprint</term>-    <term name="article-journal">journal article</term>-    <term name="article-magazine">magazine article</term>-    <term name="article-newspaper">newspaper article</term>+    <term name="article">pré-impressão</term>+    <term name="article-journal">article journal</term>+    <term name="article-magazine">artigo de revista</term>+    <term name="article-newspaper">artigo de jornal</term>     <term name="bill">bill</term>-    <term name="book">book</term>-    <term name="broadcast">broadcast</term>-    <term name="chapter">book chapter</term>-    <term name="classic">classic</term>-    <term name="collection">collection</term>+    <term name="book">livro</term>+    <term name="broadcast">transmissão</term>+    <term name="chapter">capítulo de livro</term>+    <term name="classic">clássico</term>+    <term name="collection">coleção</term>     <term name="dataset">dataset</term>-    <term name="document">document</term>+    <term name="document">documento</term>     <term name="entry">entry</term>-    <term name="entry-dictionary">dictionary entry</term>-    <term name="entry-encyclopedia">encyclopedia entry</term>-    <term name="event">event</term>+    <term name="entry-dictionary">entrada de dicionário</term>+    <term name="entry-encyclopedia">entrada de enciclopédia</term>+    <term name="event">evento</term>     <!-- figure is in the list of locator terms -->-    <term name="graphic">graphic</term>-    <term name="hearing">hearing</term>-    <term name="interview">interview</term>+    <term name="graphic">gráfico</term>+    <term name="hearing">audiência</term>+    <term name="interview">entrevista</term>     <term name="legal_case">legal case</term>-    <term name="legislation">legislation</term>-    <term name="manuscript">manuscript</term>-    <term name="map">map</term>-    <term name="motion_picture">video recording</term>+    <term name="legislation">legislação</term>+    <term name="manuscript">manuscrito</term>+    <term name="map">mapa</term>+    <term name="motion_picture">gravação de vídeo</term>     <term name="musical_score">musical score</term>-    <term name="pamphlet">pamphlet</term>+    <term name="pamphlet">panfleto</term>     <term name="paper-conference">conference paper</term>-    <term name="patent">patent</term>+    <term name="patent">patente</term>     <term name="performance">performance</term>-    <term name="periodical">periodical</term>+    <term name="periodical">periódico</term>     <term name="personal_communication">comunicação pessoal</term>     <term name="post">post</term>     <term name="post-weblog">blog post</term>-    <term name="regulation">regulation</term>-    <term name="report">report</term>+    <term name="regulation">regulamento</term>+    <term name="report">relatório</term>     <term name="review">review</term>     <term name="review-book">book review</term>     <term name="software">software</term>-    <term name="song">audio recording</term>-    <term name="speech">presentation</term>-    <term name="standard">standard</term>-    <term name="thesis">thesis</term>-    <term name="treaty">treaty</term>+    <term name="song">gravação áudio</term>+    <term name="speech">discurso</term>+    <term name="standard">padrão</term>+    <term name="thesis">tése</term>+    <term name="treaty">tratado</term>     <term name="webpage">webpage</term>      <!-- SHORT ITEM TYPE FORMS -->@@ -142,20 +142,20 @@     <term name="chapter" form="short">bk. chap.</term>     <term name="document" form="short">doc.</term>     <!-- figure is in the list of locator terms -->-    <term name="graphic" form="short">graph.</term>-    <term name="interview" form="short">interv.</term>+    <term name="graphic" form="short">gráf.</term>+    <term name="interview" form="short">entrev.</term>     <term name="manuscript" form="short">MS</term>-    <term name="motion_picture" form="short">video rec.</term>-    <term name="report" form="short">rep.</term>+    <term name="motion_picture" form="short">transm. vídeo</term>+    <term name="report" form="short">rel.</term>     <term name="review" form="short">rev.</term>     <term name="review-book" form="short">bk. rev.</term>-    <term name="song" form="short">audio rec.</term>+    <term name="song" form="short">grav. áudio</term>      <!-- HISTORICAL ERA TERMS -->     <term name="ad">AD</term>-    <term name="bc">BC</term>-    <term name="bce">BCE</term>-    <term name="ce">CE</term>+    <term name="bc">AC</term>+    <term name="bce">AEC</term>+    <term name="ce">EC</term>      <!-- PUNCTUATION -->     <term name="open-quote">«</term>@@ -195,48 +195,48 @@      <!-- LONG LOCATOR FORMS -->     <term name="act">			 -      <single>act</single>-      <multiple>acts</multiple>						 +      <single>ata</single>+      <multiple>atas</multiple>						      </term>     <term name="appendix">			 -      <single>appendix</single>-      <multiple>appendices</multiple>						 +      <single>apêndice</single>+      <multiple>apêndices</multiple>						      </term>     <term name="article-locator">			 -      <single>article</single>-      <multiple>articles</multiple>						 +      <single>artigo</single>+      <multiple>artigos</multiple>						      </term>     <term name="canon">			        <single>canon</single>       <multiple>canons</multiple>						      </term>     <term name="elocation">			 -      <single>location</single>-      <multiple>locations</multiple>						 +      <single>localização</single>+      <multiple>localizações</multiple>						      </term>     <term name="equation">			 -      <single>equation</single>-      <multiple>equations</multiple>						 +      <single>equação</single>+      <multiple>equações</multiple>						      </term>     <term name="rule">			 -      <single>rule</single>-      <multiple>rules</multiple>						 +      <single>regra</single>+      <multiple>regras</multiple>						      </term>     <term name="scene">			 -      <single>scene</single>-      <multiple>scenes</multiple>						 +      <single>cena</single>+      <multiple>cenas</multiple>						      </term>     <term name="table">			 -      <single>table</single>-      <multiple>tables</multiple>						 +      <single>tabela</single>+      <multiple>tabelas</multiple>						      </term>     <term name="timestamp"> <!-- generally blank -->       <single></single>       <multiple></multiple>						      </term>     <term name="title-locator">			 -      <single>title</single>-      <multiple>titles</multiple>						 +      <single>título</single>+      <multiple>títulos</multiple>						      </term>     <term name="book">       <single>livro</single>@@ -341,15 +341,15 @@       <multiple></multiple>						      </term>     <term name="title-locator">			 -      <single>tit.</single>-      <multiple>tits.</multiple>+      <single>tít.</single>+      <multiple>títs.</multiple>     </term>     <term name="book" form="short">liv.</term>     <term name="chapter" form="short">cap.</term>     <term name="column" form="short">col.</term>     <term name="figure" form="short">fig.</term>     <term name="folio" form="short">f.</term>-    <term name="issue" form="short">n.</term>+    <term name="issue" form="short">n.º</term>     <term name="line" form="short">l.</term>     <term name="note" form="short">n.</term>     <term name="opus" form="short">op.</term>@@ -389,68 +389,68 @@      <!-- LONG ROLE FORMS -->     <term name="chair">-      <single>chair</single>-      <multiple>chairs</multiple>+      <single>cadeira</single>+      <multiple>cadeiras</multiple>     </term>     <term name="compiler">-      <single>compiler</single>-      <multiple>compilers</multiple>+      <single>compilador</single>+      <multiple>compiladores</multiple>     </term>     <term name="contributor">-      <single>contributor</single>-      <multiple>contributors</multiple>+      <single>contribuinte</single>+      <multiple>contribuintes</multiple>     </term>     <term name="curator">-      <single>curator</single>-      <multiple>curators</multiple>+      <single>curador</single>+      <multiple>curadores</multiple>     </term>     <term name="executive-producer">-      <single>executive producer</single>-      <multiple>executive producers</multiple>+      <single>produtor executivo</single>+      <multiple>produtores executivos</multiple>     </term>     <term name="guest">-      <single>guest</single>-      <multiple>guests</multiple>+      <single>convidado</single>+      <multiple>convidados</multiple>     </term>     <term name="host">-      <single>host</single>-      <multiple>hosts</multiple>+      <single>anfitrião</single>+      <multiple>anfitriões</multiple>     </term>     <term name="narrator">-      <single>narrator</single>-      <multiple>narrators</multiple>+      <single>narrador</single>+      <multiple>narradores</multiple>     </term>     <term name="organizer">-      <single>organizer</single>-      <multiple>organizers</multiple>+      <single>organizador</single>+      <multiple>organizadores</multiple>     </term>     <term name="performer">-      <single>performer</single>-      <multiple>performers</multiple>+      <single>ator</single>+      <multiple>atores</multiple>     </term>     <term name="producer">-      <single>producer</single>-      <multiple>producers</multiple>+      <single>produtor</single>+      <multiple>produtores</multiple>     </term>     <term name="script-writer">-      <single>writer</single>-      <multiple>writers</multiple>+      <single>escritor</single>+      <multiple>escritores</multiple>     </term>     <term name="series-creator">-      <single>series creator</single>-      <multiple>series creators</multiple>+      <single>criador de séries</single>+      <multiple>criadores de séries</multiple>     </term>     <term name="director">-      <single>director</single>-      <multiple>directores</multiple>+      <single>diretor</single>+      <multiple>diretores</multiple>     </term>     <term name="editor">       <single>editor</single>       <multiple>editores</multiple>     </term>     <term name="editorial-director">-      <single>editor</single>-      <multiple>editores</multiple>+      <single>diretor editorial</single>+      <multiple>diretores editoriais</multiple>     </term>     <term name="illustrator">       <single>ilustrador</single>@@ -461,8 +461,8 @@       <multiple>tradutores</multiple>     </term>     <term name="editortranslator">-      <single>editor &amp; tradutor</single>-      <multiple>editores &amp; tradutores</multiple>+      <single>editor e tradutor</single>+      <multiple>editores e tradutores</multiple>     </term>      <!-- SHORT ROLE FORMS -->@@ -479,8 +479,8 @@       <multiple>curs.</multiple>     </term>     <term name="executive-producer" form="short">-      <single>exec. prod.</single>-      <multiple>exec. prods.</multiple>+      <single>prod. exec.</single>+      <multiple>prods. exec.</multiple>     </term>     <term name="narrator" form="short">       <single>narr.</single>@@ -532,19 +532,19 @@     </term>      <!-- VERB ROLE FORMS -->-    <term name="chair" form="verb">chaired by</term>-    <term name="compiler" form="verb">compiled by</term>-    <term name="contributor" form="verb">with</term>-    <term name="curator" form="verb">curated by</term>+    <term name="chair" form="verb">presidido por</term>+    <term name="compiler" form="verb">compilado por</term>+    <term name="contributor" form="verb">com</term>+    <term name="curator" form="verb">curado por</term>     <term name="executive-producer" form="verb">executive produced by</term>-    <term name="guest" form="verb">with guest</term>+    <term name="guest" form="verb">com convidado</term>     <term name="host" form="verb">hosted by</term>-    <term name="narrator" form="verb">narrated by</term>-    <term name="organizer" form="verb">organized by</term>-    <term name="performer" form="verb">performed by</term>-    <term name="producer" form="verb">produced by</term>-    <term name="script-writer" form="verb">written by</term>-    <term name="series-creator" form="verb">created by</term>+    <term name="narrator" form="verb">narrado por</term>+    <term name="organizer" form="verb">organizado por</term>+    <term name="performer" form="verb">atuado por</term>+    <term name="producer" form="verb">produzido por</term>+    <term name="script-writer" form="verb">escrito por</term>+    <term name="series-creator" form="verb">criado por</term>     <term name="container-author" form="verb">por</term>     <term name="director" form="verb">dirigido por</term>     <term name="editor" form="verb">editado por</term>@@ -554,7 +554,7 @@     <term name="recipient" form="verb">para</term>     <term name="reviewed-author" form="verb">revisto por</term>     <term name="translator" form="verb">traduzido por</term>-    <term name="editortranslator" form="verb">editado &amp; traduzido por</term>+    <term name="editortranslator" form="verb">editado e traduzido por</term>      <!-- SHORT VERB ROLE FORMS -->     <term name="compiler" form="verb-short">comp. by</term>
src/Citeproc/Eval.hs view
@@ -29,11 +29,9 @@ import Data.Generics.Uniplate.Operations (universe, transform)  -- import Debug.Trace (trace)--- -- traceShowIdLabeled :: Show a => String -> a -> a -- traceShowIdLabeled label x = --   trace (label ++ ": " ++ show x) x--- -- import Text.Show.Pretty (ppShow) -- ppTrace :: Show a => a -> a -- ppTrace x = trace (ppShow x) x@@ -929,9 +927,19 @@       []     -> ([item], items)       (z:zs)         | getYears z == getYears item-          -> (z:zs ++ [x | x@(Tagged (TagYearSuffix _) _) <- universe item],-              items)+          -> (z:zs ++ [transform removeYear item], items)         | otherwise -> ([item], yearSuffixGroup useRanges (z:zs) : items)++  removeYear :: Output a -> Output a+  removeYear (Tagged (TagDate d) x) =+    Tagged (TagDate d) (extractYearSuffix x)+  removeYear x = x++  extractYearSuffix :: Output a -> Output a+  extractYearSuffix x =+    case [z | z@(Tagged (TagYearSuffix _) _) <- universe x] of+      (y:_) -> y+      _     -> NullOutput    isAdjacentCitationNumber :: Output a -> Output a -> Bool   isAdjacentCitationNumber
+ test/extra/issue_96.txt view
@@ -0,0 +1,166 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Dummy 2022a, p. 100, b, p. 6)+(Dummy 2022a, p. 100; Dummy 2022b, and a suffix)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[[ { "id":"a", "locator": "100", "label": "page" },+   { "id":"b", "locator": "6", "label": "page" } ]+,[ { "id":"a", "locator": "100", "label": "page" },+   { "id":"b", "suffix": ", and a suffix" } ]+]+<<===== CITATIONS =====<<+++++>>===== 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" default-locale="en-GB">+  <info>+    <title>Monographs of the Palaeontographical Society</title>+    <title-short>Monogr. Palaeontogr. Soc.</title-short>+    <id>http://www.zotero.org/styles/monographs-of-the-palaeontographical-society</id>+    <link href="http://www.zotero.org/styles/monographs-of-the-palaeontographical-society" rel="self"/>+    <link href="http://www.zotero.org/styles/palaeontology" rel="template"/>+    <link href="https://www.palaeosoc.org/site/page/for-authors/notes/" rel="documentation"/>+    <link href="https://www.tandfonline.com/action/authorSubmission?show=instructions&amp;journalCode=tmps20" rel="documentation"/>+    <author>+      <name>Benjamin Moon</name>+      <email>ben@bcmoon.uk</email>+      <uri>https://bcmoon.uk</uri>+    </author>+    <category citation-format="author-date"/>+    <category field="biology"/>+    <issn>0269-3445</issn>+    <eissn>2576-1900</eissn>+    <summary>Some bibliography entries may need plate numbers added or indications of translated titles. Separate formatting for Monographs can be achieved from Zotero by adding 'Publisher Place: London' into the Extra field; this is used as the key to identify these. Similarly 'Number Of Pages' may be added in the Extra field too.</summary>+    <updated>2021-12-16T16:15:06</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">+    <names variable="author">+      <name sort-separator=", " initialize-with=". " and="symbol" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" form="long">+        <name-part name="family" text-case="capitalize-first" font-variant="small-caps"/>+      </name>+      <substitute>+        <text macro="editor"/>+      </substitute>+    </names>+  </macro>+  <macro name="editor">+    <names variable="editor">+      <name sort-separator=", " initialize-with=". " and="symbol" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never">+        <name-part name="family" text-case="capitalize-first" font-variant="small-caps"/>+      </name>+      <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first"/>+    </names>+  </macro>+  <macro name="author-short">+    <names variable="author">+      <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>+      <et-al font-style="italic"/>+      <substitute>+        <names variable="editor"/>+        <names variable="translator"/>+      </substitute>+    </names>+  </macro>+  <macro name="year-date">+    <choose>+      <if variable="issued">+        <date variable="issued">+          <date-part name="year"/>+        </date>+      </if>+      <else>+        <text term="no date" form="short"/>+      </else>+    </choose>+    <text variable="year-suffix"/>+  </macro>+  <macro name="publisher">+    <group delimiter=", ">+      <text variable="publisher"/>+      <text variable="publisher-place"/>+    </group>+  </macro>+  <macro name="no-pages">+    <group delimiter=" ">+      <text variable="number-of-pages"/>+      <label variable="number-of-pages" form="short" plural="always"/>+    </group>+  </macro>+  <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="false" disambiguate-add-givenname="false" collapse="year-suffix" cite-group-delimiter=", " year-suffix-delimiter=", ">+    <sort>+      <key macro="author"/>+      <key variable="issued"/>+    </sort>+    <layout prefix="(" suffix=")" delimiter="; ">+      <group>+        <text macro="author-short" suffix=" "/>+        <text macro="year-date"/>+      </group>+      <group prefix=", " delimiter=" ">+        <label variable="locator" form="short"/>+        <text variable="locator"/>+      </group>+    </layout>+  </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+  {+    "author": [+      {+        "family": "Dummy",+        "given": "John"+      }+    ],+    "id": "a",+    "issued": {+      "date-parts": [+        [+          2022+        ]+      ]+    },+    "title": "A dummy article",+    "type": "article"+  },+  {+    "author": [+      {+        "family": "Dummy",+        "given": "John"+      }+    ],+    "id": "b",+    "issued": {+      "date-parts": [+        [+          2022+        ]+      ]+    },+    "title": "Another dummy article",+    "type": "article"+  }+]++<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<